
2주차에는 C# 기초 프로그래밍 주차이다!
새로운 팀과 함께 으쌰으쌰 공부 시작 ~.~

문자열 내에 특수한 문자를 포함시키기 위해 사용
| 이스케이프 시퀀스 | 설명 |
|---|---|
| \' | 작은 따옴표(') 삽입 |
| \" | 큰 따옴표(") 삽입 |
| \ | 역슬래시() 삽입 |
| \n | 줄바꿈 삽입 |
| \r | 현재 줄 맨 앞으로 이동 |
| \t | Tab 삽입 |
| \b | 백스페이스 삽입 |
예시

| 자료형 | .NET 데이터 타입 | 크기(바이트) | 범위 |
|---|---|---|---|
| int | System.Int32 | 4 | -2,147,483,648 ~ 2,147,483,647 |
| long | System.Int64 | 8 | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
| float | System.Single | 4 | ±1.5 × 10^-45 ~ ±3.4 × 10^38 |
| double | System.Double | 8 | ±5.0 × 10^-324 ~ ±1.7 × 10^308 |
| char | System.Char | 2 | 유니코드 문자 |
| string | System.String | 유니코드 문자열 | |
| bool | System.Boolean | 1 | true / false |
프로그램에서 직접 사용되는 상수 값. 소스 코드에 직접 기록되어 있는 값
C#에서 리터럴은 컴파일러에 의한 상수 값으로 처리되며, 변수나 상수에 할당되거나 연산에 사용
| 종류 | 예시 |
|---|---|
| 정수형 | 10(int) |
| 0x10 (16진수 int) | |
| 0b10 (2진수 int) | |
| 10L (long) | |
| 10UL (Unsigned long) | |
| 부동소수점형 | 3.14 (double) |
| 3.14f (float) | |
| 3.14m (decimal) | |
| 문자형 | 'A' (char) |
| '\n' (개행 문자) | |
| '\u0022' (유니코드 문자) | |
| 문자열 | "Hello, World!" (string) |
| "문자열 내 "따옴표" 사용" | |
| "문자열 내 개행문자\n 사용" |
int num = 10;
float f = 3.14f;
char c = 'A';
string str = "Hello, World!";
int num1 = 0x10;
int num2 = 0b1010;
자료형 변수이름;
int num;
num = 10;
int num2 = 100;
int num1 = 10;
long num2 = (long) num1;byte num1 = 10;
int num1 = num2;float result = 1;int num1 = 10;
float num2 = 3.14f;
float result = num1 + num2;var num = 10; // int
var name = "potato"; // string
var pi = 3.141592; //double
| 연산자 | 설명 |
|---|---|
| + | 덧셈 |
| - | 뺄셈 |
| * | 곱셈 |
| / | 나눗셈 |
| % | 나머지 |

| 연산자 | 설명 |
|---|---|
| == | 같음 |
| != | 다름 |
| > | 큼 |
| < | 작음 |
| >= | 크거나 같음 |
| <= | 작거나 같음 |

| 연산자 | 설명 |
|---|---|
| && | 논리곱(AND) |
| || | 논리합(OR) |
| ! | 논리부정(NOT) |

| 연산자 | 설명 |
|---|---|
| & (AND) | 두 비트 값이 모두 1일 때 1 반환 |
| | (OR) | 두 비트 값 중 하나라도 1이면 1 반환 |
| ^ (XOR) | 두 비트 값이 서로 다르면 1 반환 |
| ~ (NOT) | 비트 값의 보수(complement)를 반환 |
| << (왼쪽 시프트) | 비트를 왼쪽으로 이동 |
| >> (오른쪽 시프트) | 비트를 오른쪽으로 이동 |
int a = 0b1100; //12 (2진수)
int b = 0b1010; // 10 (2진수)
int and = a & b; // 0b1000 (8)
int or = a | b; // 0b1110 (14)
int xor = a ^ b; // 0b0110 (6)
int c = 0b1011; // 11 (2진수)
int leftShift = c << 2; // 0b101100 (44)
int rightShift = c >> 1; // 0b0101(5)
int d = 0b1100; // 12 (2진수)
int bit3 = (d >> 2) & 0b1; // 0 (3번째 비트)
d |= 0b1000; // 0b1100 | 0b1000 = 0b1100 (12)
| 연산자 | 예시 | 설명 |
|---|---|---|
| += | x += y; | x = x + y; |
| -= | x -= y; | x = x - y; |
| *= | x *= y; | x = x * y; |
| /= | x /= y; | x = x / y; |
| %= | x %= y; | x = x % y; |
| 연산자 | 설명 |
|---|---|
| ++ | 1 증가 |
| -- | 1 감소 |
문자열 생성
string str1 = "Hello, World!";
string str2 = new string('H', 5); // 문자 H 5개로 구성된 문자열 생성
연결
string str1 = "Hello";
string str2 = "World";
string str3 = str1 + str2;
분할
string str = "Hello, World!";
string[] words = str.Split(',');
검색
string str = "Hello, World!";
int index = str.IndexOf("World");
대체
string str = "Hello, World!";
string newStr = str.Replace("World", "Universe");
변환
// 문자열 -> 숫자
string str = "123";
int num = int.Parse(str);
// 숫자 -> 문자열
int num = 123;
string str = num.ToString();
비교
string str1 = "Hello";
string str2 = "World";
bool isEqual = str1 == str2;
// 사전상 뒤에 나올수록 큰 것
// str1 < str2 -> compare < 0
// str1 == str2 -> compare == 0
// str1 > str2 -> compare > 0
string str1 = "Apple";
string str2 = "Banana";
int compare = string.Compare(str1, str2);
포멧팅
string name = "potato";
int age = 100;
string message = string.Format("My name is {0} and I'm {1} years old.", name, age);
string message2 = $"My name is {name} and I'm {age} years old.";
실행 결과


static void Main(string[] args)
{
Console.Write("Enter your name and age: ");
string[] answer = Console.ReadLine().Split(' ');
string name = answer[0];
int age = int.Parse(answer[1]);
Console.WriteLine($"name: {name}, age: {age}");
}
static void Main(string[] args)
{
Console.Write("Enter your two numbers: ");
string[] answer = Console.ReadLine().Split(' ');
int num1 = int.Parse(answer[0]);
int num2 = int.Parse(answer[1]);
Console.WriteLine("{0} + {1} = {2}", num1, num2, num1 + num2);
Console.WriteLine("{0} - {1} = {2}", num1, num2, num1 - num2);
Console.WriteLine("{0} * {1} = {2}", num1, num2, num1 * num2);
Console.WriteLine("{0} / {1} = {2}", num1, num2, num1 / num2);
Console.WriteLine("{0} % {1} = {2}", num1, num2, num1 % num2);
}
static void Main(string[] args)
{
Console.Write("Enter Celsius degree: ");
int celcius = int.Parse(Console.ReadLine());
Console.WriteLine("Fahrenheit Degree is {0}", (celcius * 1.8) + 32);
}
static void Main(string[] args)
{
Console.Write("Enter your weight and height: ");
string[] answer = Console.ReadLine().Split(' ');
int weight = int.Parse(answer[0]);
int height = int.Parse(answer[1]);
Console.WriteLine("Your BMI is " + (weight / (height * height * 0.0001)).ToString("N2"));
}