19.03.22 문자열 표현식 예제

개임개발/과제 2019. 3. 22. 22:18

*문자열 이란?*

 

문자열은 말 그대로 문자의 열, 즉 개별문자들이 열거된 자료형 입니다.

C#에서 문자열이라는 자료형은 결국 개별 문자들의 배열입니다.

개별 문자는 char 자료형으로 표현이 가능합니다. 즉 char배열이 곧 문자열이 됩니다.

 

예시)

string str = "홍길동";

Console.WriteLine(str[0].ToString() + str[1].ToString() + str[2].ToString());

 

콘솔에 출력되는 결과는 문자열('홍길동')이 그대로 출력이 됩니다.

이렇듯 string 키워드를 사용해 표현한 문자열을 배열 첨자를 이용해 각 개별 문자를 참조할 수 있습니다

결국 string 이라는 문자열은 char의 배열이라는 것을 알 수 있는 것이죠.

 

 

 

문자열은 String 객체로 표현됩니다

C#에서는 문자열을 위해 String 이라는 클래스를 미리 정의해 두었습니다

String 클래스는 문자열이라는 것을 추상화한 자료형인데요, 내부적으로 Char 배열로 문자열을 표현하며

문자열 연결, 검색, 삽입 등과 같은 문자열과 관련된 유용한 기능들을 제공해 줍니다

 

다음과 같이 String 객체를 생성할 수 있습니다

String str = new String(new char[]{'','',''});

Char 배열을 전달하여 String 클래스의 인스턴스를 생성하였습니다

 

그런데 이전의 예에서는 단순히 string str = "홍길동"의 형태로 문자열을 생성했는데 지금은 String 객체를 정의했습니다. 차이가 있을까요?

 

string 키워드는 String 클래스의 별칭입니다. 즉 문자열을 쉽게 다룰 수 있도록 string 키워드로 제공하는 것입니다.

따라서 String 객체로 문자열을 생성하나 string 키워드로 생성하나 동일한 것으로 보시면 되겠습니다

 

 

 

 

문자열 관련 링크

http://www.mkexdev.net/Article/Content.aspx?parentCategoryID=1&categoryID=5&ID=683

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/char

 

 

 

 

----------------------------------------------------------예제 문제--------------------------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            /*예제
             * 다음 문자("일,이,삼,사")를 char 배열에 넣고 그 값을 string 형식으로 변환시켜 화면에 출력하시오. */

 

 

            char[] problem = new char[4];
            problem[0] = '일';
            problem[1] = '이';
            problem[2] = '삼';
            problem[3] = '사';

       
            string b = new string(problem);


            Console.WriteLine("출력된 결과 값 = " + b + "");
 

 

 

        }
    }
}

'개임개발 > 과제' 카테고리의 다른 글

19.03.25 값 복사와 참조 복사  (0) 2019.03.25
19.03.22 오우거 잡기  (0) 2019.03.24
19.03.22 Stack 과 Heap  (0) 2019.03.24
19.03.22 과제 데이터 타입 예제  (0) 2019.03.22
19.03.22 과제 for문  (0) 2019.03.22
:

19.03.22 과제 데이터 타입 예제

개임개발/과제 2019. 3. 22. 21:34

*int의 정의*

 

 

* 부호 있는 정수 = 0보다 작은 정수(-정수)

* 부호 없는 정수 = 0보다 큰 정수(+정수)

 

int 정의 포스팅

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/int

http://www.csharpstudy.com/CSharp/CSharp-datatype.aspx

 

 

 

 

*리터럴이란?*

리터럴 정의 포스팅 링크

https://boycoding.tistory.com/155

 

 

 

 

*float 정의*

float 키워드는 32비트 부동 소수점 값을 저장하는 단순 형식을 나타냅니다.

다음 표에서는 float 형식의 전체 자릿수와 근사 범위를 보여 줍니다.

 

 

 

float 정의 포스팅

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/float

http://www.csharpstudy.com/CSharp/CSharp-datatype.aspx

 

 

 

 

*long의 정의*

 

long 포스팅 링크

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/long

http://www.csharpstudy.com/CSharp/CSharp-datatype.aspx

 

 

 

*double의 정의*

 

 

double 정의 포스팅 링크

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/double

http://www.csharpstudy.com/CSharp/CSharp-datatype.aspx

 

 

*char의 정의*

 

char 정의 포스팅 링크

https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/char

http://www.csharpstudy.com/CSharp/CSharp-datatype.aspx

 

 

 

*string의 정의*

-추가-

(1) 문자 등을 1차원적으로 나열한 것을 가리킨다.
(2) 하나의 계속되는 비트(bit), 문자(character), 레코드(record) 등을 나타낸다. 이들을 비트 스트링(bit string), 문자열(character string), 레코드 스트링(record string)이라고도 한다.

 

 

 

string 정의 포스팅 링크

https://docs.microsoft.com/ko-kr/dotnet/csharp/programming-guide/strings/

http://www.csharpstudy.com/CSharp/CSharp-datatype.aspx

https://terms.naver.com/entry.nhn?docId=838364&cid=42344&categoryId=42344

 

 

 

 

 

 

 

 

 

 

 

------------------------------------------------------------------------예제문제-------------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {

            /*문제
             * 다음의 숫자와 문자들을 변수와 지정한 데이터 타입 형식을 사용하여 화면에 출력되도록 표현하시오.
             * a) 12월 30일 (int 사용)
             * b) pi=3.14 (float 사용)
             * c) 크리티컬 데미지 200000000 (long 사용)
             * d) 나의 레벨 230 (double 사용)
             *
             * e)   오 (char 사용)
             *      픈 (char 사용)
             *      월 (char 사용)
             *      드 (char 사용)
             *   
             * f) 데이터베이스 (string 사용)
             *
             */


            int problem_a1 = 12;
            int problem_a2 = 30;

            float problema_b = 3.14F;


            long problema_c = 200000000;

            double problema_d = 230;
       
            char[] problema_e = new char[4];
            problema_e[0] = '오';
            problema_e[1] = '픈';
            problema_e[2] = '월';
            problema_e[3] = '드';

            string problema_f = "데이터베이스";


            Console.WriteLine(+problem_a1 + "월" + problem_a2 + "일");
            Console.WriteLine("pi="  +problema_b+ "");
            Console.WriteLine("크리티컬 데미지" + problema_c + "");
            Console.WriteLine("나의 레벨" + problema_d + "");

            foreach (char c in problema_e)
            {
            Console.WriteLine(c+" ");
            }

            Console.WriteLine(""+problema_f+"");

 

 


        }
    }
}

'개임개발 > 과제' 카테고리의 다른 글

19.03.25 값 복사와 참조 복사  (0) 2019.03.25
19.03.22 오우거 잡기  (0) 2019.03.24
19.03.22 Stack 과 Heap  (0) 2019.03.24
19.03.22 문자열 표현식 예제  (0) 2019.03.22
19.03.22 과제 for문  (0) 2019.03.22
:

19.03.22 과제 for문

개임개발/과제 2019. 3. 22. 20:26
   
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApp1
{
    class Program
    {
        static void Main(string[] args)
        {
            
            
            for(int i = 4; i <= 5; i++)
            {
                Console.WriteLine(i);
            }
            
            /* i의 값은 4이다.
           * 4는 5보다 작거나 같다
           * 비교연산자 결과 값이 true 이므로 본문으로 이동한다.
           * i의 값은 4이다
           * 4를 출력한다.
           * 반복으로 이동한다.
           * i의 값은 4이다
           * 증가연산자에 의해서 i의 값이 5가 된다.
           * i의 값 5는 5와 작거나 같다.
           * 비교연산자 결과 값이 true 이므로 본문으로 이동한다.
           * i의 값은 5이다.
           * 5를 출력한다.
           * 반복으로 이동한다.
           * 증가연산자에 의해서 i의 값이 6이 된다.
           * i의 값은 6이다.
           * i의 값 6은 5와 작거나 같다.
           * 비교연산자 결과 값이 false 이므로 반복문이 중단된다.
           * 출력된 결과값 4,5                                  */
 
 
        }
    }
}
 
cs

 

 

 

 

 

*for문 이란?*

for 문은 지정된 부울 식이 true로 계산되는 동안 문 또는 문 블록을 실행합니다.for 문 블록 내 원하는 지점에서 break 문을 사용하여 루프를 중단하거나 continue 문을 사용하여 루프의 다음 반복을 한 단계 실행할 수 있습니다 goto, return 또는 throw 문으로 for 루프를 종료할 수도 있습니다.

 

 

 

for문 포스팅 링크

 https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/keywords/for 

 https://ko.wikipedia.org/wiki/For_%EB%A3%A8%ED%94%84

 https://blog.naver.com/sasayakki/221366956434

 

 

 

 

for문 유튜브 강의 

https://youtu.be/zr57ueefhHA

'개임개발 > 과제' 카테고리의 다른 글

19.03.25 값 복사와 참조 복사  (0) 2019.03.25
19.03.22 오우거 잡기  (0) 2019.03.24
19.03.22 Stack 과 Heap  (0) 2019.03.24
19.03.22 문자열 표현식 예제  (0) 2019.03.22
19.03.22 과제 데이터 타입 예제  (0) 2019.03.22
:

0322 프로그래밍

개임개발/수업내용 2019. 3. 22. 18:20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace study_00
{
class Test
{
public Test()
{
//몬스터의 이름은 오우거 입니다.
//몬스터의 체력은 100입니다
//몬스터는 사남고 무섭습니다.
//용사의 이름은 홍길동 입니다.
//용사의 체력은 80입니다.
//용사의 공격력은 4입니다.
//용사가 몬스터를 공격했습니다.
//몬스터의 체력은 96입니다.(96.44%)
string monster_name = "오우거";
int monster_phy = 100;
string soldier_name = "홍길동";
int soldier_phy = 80;
int soldier_power = 4;
int monster_phya = 96;
float a = 100.0F;
float b = 9644F;
float c = b / a;
Console.WriteLine("몬스터의 이름은"+monster_name+"입니다.");
Console.WriteLine("몬스터의 체력은" +monster_phy+ "/" + monster_phy + "입니다.");
Console.WriteLine("몬스터는 사납고 무섭습니다.");
Console.WriteLine("용사의 이름은" +soldier_name+ "입니다.");
Console.WriteLine("용사의 체력은" +soldier_phy+ "/" +soldier_phy+"입니다.");
Console.WriteLine("용사의 공격력은" +soldier_power+ "입니다.");
Console.WriteLine("용사가 몬스터를 공격했습니다.");
Console.WriteLine("몬스터의 체력은" + monster_phya + "/" + monster_phy+ "("+c+ "%)입니다.");
Console.WriteLine("공격을 더 하시겠습니까?");
Console.WriteLine("용사가 몬스터를 공격했습니다.");
Console.WriteLine("몬스터는 피해 (4)를 받았습니다.");
Console.WriteLine("몬스터의 체력은");
Console.WriteLine("공격을 더 하시겠습니까?");
Console.WriteLine("몬스터가 죽었습니다.");
}
}
}

 

: