본문 바로가기
개발/c#(c++과 차이점 위주)

[c#강좌] 화면입출력, 자료형, 접미어

by BlueOcean&Shark 2019. 1. 20.


1) 출력

Console.WriteLine - 개행O

Console.Write - 개행X


Console.WriteLine(변수(상수));

Console.Write(변수(상수));

Console.WriteLine("{0}{1}{2}", 변수(상수), 변수(상수), 변수(상수));

             

WriteLine함수는 개행이 있으며 Write함수는 개행 없이 출력됩니다.

Console.Write(상수(상수)); / Console.WriteLine(변수(상수));  와같이 사용되며 여러 변수나 상수를 출력하고자 할때는 

Console.WriteLine("{0}{1}{2}", 변수(상수), 변수(상수), 변수(상수)); 와같이 사용합니다

변수(상수)를 5개 사용할때도 마찬가지고 

Console.WriteLine("{0}{1}{2}{3}{4}", 변수(상수), 변수(상수), 변수(상수), 변수(상수), 변수(상수));

와같이 사용합니다

             

c언어의 printf에 %d 대신 {0}{1}{2}{3}{4} 사용한다고 보면 됩니다.

ex)

int n = 100;

string str = "sting test";


Console.WriteLine(n);

Console.Write("hello");

Console.WriteLine("str : {0} / n : {1}", str, n);



2) 입력              

string str = Console.ReadLine();

int n = int.Parse(Console.ReadLine()); // string을 int형으로 형변환

double d = double.Parse(Console.ReadLine()); // string을 double형으로 형변환


Console.Read();와 Console.ReadLine();이 있지만

Console.Read();는 사용하기가 상당히 불편합니다. 입력시 한글자만 입력받아오며 

그것도 아스키코드로 받아와 제가 원하는 결과가 나오지 않기때문에   

Console.ReadLine();를 주로 사용합니다.

위와같이 string str = Console.ReadLine(); string 형으로 읽으며

다른 자료형으로 읽고 싶다면 Parse함수를 이용하면 쉽게 원하는 자료형으로 읽어 올 수 있습니다.         

ex)

string str = Console.ReadLine();

int n = int.Parse(Console.ReadLine());              






int, double, string 키워드로 데이터타입을 표시하며 이는 

System.Int32, System.Double, System.String(.NET의 클래스로 데이터 타입을 표현)

을 의미 합니다.

              

자료형은 c++과 c#의 차이가 조금 있습니다

일단 정수형의 sbyte는 signed 정수형, byte는 8비트 unsigned 정수형 을 의미 합니다.

실수형 에는 decimal(128비트)가 있으며

문자열에서 char은 8비트 아스키코드가아닌 16비트 유니코드 문자를 지원합니다.

               

1) 정수형

byte : 8비트 unsigned 정수형

sbyte : 8비트 signed 정수형           


2) 실수형             

decimal : 128비트 실수형(float, double보다 더 정밀한 소수를 다룸)

              

3) 문자열

char : 16비트 유니코드 문자

string : 유니코드 문자열




                   

- decimal의 접미어는 m입니다 d는 double형이므로 주의해야합니다.  

m : decimal            

ex)

double dou = 12.123456789123456789d;

decimal dec = 12.123456789123456789m;

Console.WriteLine(dou);

Console.WriteLine(dec);