윈도우즈프로그래밍#5
LeeMir, 25 March 2021
문장
배정문
- 값을 변수에 저장하는데 사용
- 형태
remainder = dividend % divisor;
i = j = k = 0;
// 오른쪽에서 왼쪽으로 배정이 진행됨var op = exp;
- 형 변환
- 묵시적 형 변환 : 컴파일러에 의해 자동
- 오른쪽 변수의 형보다 왼쪽 변수의 형이 더 클 경우 발생
- 왼쪽 변수의 형이 더 작을 경우 오류 발생
- 명시적 형 변환 : 프로그래머가 캐스트(cast) 연산자
- 묵시적 형 변환 : 컴파일러에 의해 자동
혼합문
- 여러 문장을 한데 묶어 하나의 문장으로 나타냄
- 주로 문장의 범위를 표시
- 형태
if(a > b) a--; b++;
if(a > b) { a--; b++; }
- 지역변수(Local Variable)
- 블록{ }의 내부에서 선언된 변수
- 선언된 블록 안에서만 참조 가능
- 밖(상위)에 있는 블록에서 선언된 지역변수와 같은 이름의 지역변수를 선언하면 오류 발생
- 메쏘드 밖(클래스)에 있는 변수와 메쏘드 안에 있는 변수의 이름은 같아도 됨
- ClassName.value로 접근하면 되기 때문
- 메쏘드 밖(클래스)에 있는 변수와 메쏘드 안에 있는 변수의 이름은 같아도 됨
제어문
- 프로그램의 실행 순서를 바꾸는 데 사용
- 조건문
- if 문
- 조건에 따라 실행되는 부분이 다를 때 사용
- 조건식의 연산결과 : 논리형(true or false)
- 내포된 if 문
- if 문 안에서 if 문이 반복
- switch 문
- 조건에 따라 여러 경우로 처리해야 되는 경우 사용
- case 뒤에는 상수식이 와야함
- default의 의미는 otherwise
- break 문을 사용하여 탈출
- 각 case마다 break는 필수로 사용해야하며, goto를 사용할 시 break를 쓰지 않아도 됨
- 해당하는 case로 점프를 하기 때문에 if-else보다 효율적임
- if 문
- 반복문
- 정해진 횟수만큼 일련의 문장을 반복
- for 문
for(<식1>;<식2>;<식3>)
- <식1> : 제어 변수 초기화 식1>
- <식2> : 제어 변수를 검사하는 조건식 식2>
- <식3> : 제어 변수의 값을 수정 식3>
- <식1> => <식2> => <실행문> => <식3> => <식2> 순서로 실행 식2>식3>실행문>식2>식1>
- 무한루프 :
for(;;)
- 내포된 for 문
- for 문 안에 또 다른 for 문
- 주로 다차원 배열을 다룰 때 사용
- while 문
while(<조건식>) <문장>
- <조건식> => <문장> => <조건식> 순서로 실행 조건식>문장>조건식>
- do-while 문
do <문장> while(<조건식>)
- 반복되는 문장을 먼저 실행한 후에 조건식을 검사
- foreach 문
foreach(자료형 변수명 in 데이터의 집합)
- 데이터의 집합에 대한 반복을 수행
- 분기문
- break 문
break;
- 블록 밖으로 제어를 옮기는 역할
- 가장 가까운 반복문에 대해 탈출함
- continue 문
continue;
- 다음 반복이 시작되는 곳으로 제어를 옮기는 기능
- while문에서 사용시 <조건식>으로 이동하고, for문에서 사용시 <식3>으로 이동식3>조건식>
- goto 문
goto label;
goto case constant-expression;
goto default;
- 지정된 위치로 제어 흐름을 이동
- goto 문이 분기할 수 없는 경우
- 외부에서 복합문 안으로 분기
- 메소드 내에서 외부로 분기
- finally 블록에서 블록 밖으로 분기
- 오버플로 검사문
- checked 문
checked { }
- 오버플로를 명시적으로 검사하는 문장
- System 네임스페이스에 있는 OverflowException 예외가 발생
- 오버플로를 의도적으로 검사하지 않을 경우 unchecked 문을 사용함
- checked 문
- break 문
표준 입출력
- 입출력 장치가 미리 정해진 입출력을 의미
- C# 언어의 기본 네임스페이스인 System으로부터 제공
- 표준 입력 메소드
Console.Read()
- 키보드로부터 한 개의 문자를 읽어 그 문자의 코드값(유니코드)을 정수형으로 반환하는 기능
Console.ReadLine()
- 한 라인을 읽어 string형으로 반환하는 기능
- 숫자 값으로 바꿔야 하는데 정수인 경우
int.Parse()
사용
- 표준 출력 메소드
Console.Write()
- 화면에 매개 변수의 값을 출력
Console.WriteLine()
- 화면에 매개 변수의 값을 출력한 후 다음 라인으로 출력 위치를 이동
- 형식화된 출력
- 출력하려는 값에 포맷을 명시하여 원하는 형태로 출력
- 출력 포맷의 형태
{N[,W][:formatCharacter]}
- N : 매개변수를 위치적으로 지칭하는 정수(0부터 시작)
- W : 출력될 자릿수의 폭을 나타내며 선택으로 명시
- ’-‘ 기호를 붙이면 좌측정렬로 출력
- formatCharacter : 한 문자로 이루어진 형식 지정 문자를 의미