01. 연산자 (2)
논리 연산자들은 주로 반복문이나 분기문 등의 조건에 사용됩니다.
01-a. 복수 연산자의 사용법
주의점은, 연산자는 1개 항씩 적용해야 합니다. 예를들자면
while ( a>0 && a<10)
이것은 바른 사용법이지만, 이것을
while (0<a<10)
이렇게는 사용할 수 없습니다.
또한 연산의 우선순위를 설정하기 위해 괄호를 사용할 경우, 반드시 일반 괄호만 사용합니다. 수학책에선 괄호 다음 중괄호 ( {} ) 대괄호 ( [] ) 순으로 사용합니다만, C언어에서의 중괄호 대괄호는 사용처가 따로 정해져 있기 때문에, 괄호를 여러개 쓰더라도 소괄호만을 사용합니다.
int a= (((20+12) * (40/2))*3)%5; ::20+12값과 40/2값을 곱한후 이에 3을 곱하고 5로 나눈 나머지
괄호 중첩시 괄호 수에 실수가 없도록 체크를 잘 해야 합니다.
02.Scanf문
Scanf문은 다음과 같이 사용합니다.
Scanf_s ( "%d" , &value )
명령어 입력받을 형식 , 입력받은 데이터가 저장될 장소
위와 같이 scanf문은
- 어떤 형식의 입력을 받을 것인가
- 입력받은 데이터를 어디에 저장할 것인가
03. Switch문
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | int trigger; switch (trigger) { case 1 : printf("현재 변수값은 1입니다"); break; case 17 : printf("현재 변수값은 17입니다)"; break; case 255 : printf("현재 변수값은 255입니다)"; break; default : printf("현재 변수값을 알 수 없습니다 )"; break; } | cs |
switch문은 분기문의 일종으로, 인수로 넣은 변수의 현재 값을 기준으로 분기를 나누게 됩니다. 앞에서 배웠던 if문의 경우 분기의 "조건"을 설정해준 반면, switch문은 분기의 기준이 "변수의 값 그자체"라는 점이 다릅니다.
switch문의 사용 방법은 다음과 같습니다.
switch (변수) {
case 변수값 :
분기 내용
break;
case 변수값 :
분기 내용
break;
default :
분기 내용
break;
}
변수 내부의 값에 따라서 여러 개의 분기를 설정할 수 있습니다. 위의 예문을 기준으로 보자면,
- int형 변수 trigger를 switch문에 인수로 넣었습니다. 이제 switch문은 trigger변수의 값에 따라 분기를 실행시킬 것입니다.
- 만약 trigger의 값이 1이라면, case 1 의 분기가 실행되어 화면에 다음과 같이 표시될 것입니다.
현재 변수값은 1입니다
C. 만약 trigger값이 255라면, case 255의 분기가 실행되어 화면에 다음과 같이 표시될 것입니다.
현재 변수값은 255입니다
D. 만약 trigger값이 3이라면, default 분기가 실행됩니다. default분기는 if문의 else 분기와 같이 "어떤것도 해당사항이 없을 경우 기본으로 실행되는 분기"의 성격을 가집니다. 따라서 화면에 다음과 같이 표시될 것입니다.
현재 변수값을 알 수 없습니다
주의할 점은, 각 분기가 종료될 때 반드시 break 명령을 사용하여 끊어줘야 한다는 점입니다.
break명령은 현재 진행중인 함수를 종료하고 빠져나간다는 의미의 명령입니다. switch문에서 break명령을 사용해야 하는 이유는 다음과 같습니다.
컴퓨터가 코드를 읽을때, 함수는 함수의 시작지점에 있는 중괄호 { 에서 시작하여 별도의 조작이 없으면 함수의 종료지점에 있는 닫히는 중괄호 } 에서 종료하는것으로 판단합니다
if문과 달리 switch문은 하나의 중괄호 안에 여러개의 분기가 들어가게 됩니다. 따라서 break문으로 끊어 주지 않으면 다음과 같이 진행하게 됩니다.
IF문의 경우
<색깔 범위가 각 분기문 진입시 실행되는 범위입니다>
Break를 안 쓴 Switch문의 경우
다음과 같이 중괄호가 닫힐때까지 내려갑니다. 즉 위 예시에서 value가 1이라면
- case : 1 로 진입하여 "1"을 화면에 띄우고
- 아래로 내려가 case 2 : 로 진입하여 "2"를 또 띄우고
- 아래로 내려가 case 10 : 으로 진입하여 "10"을 또 띄우고
- 아래로 내려가 case 255 : 로 진입하여 "255"를 또 띄우고
- 아래로 내려가 default로 진입하여 "unknown Number"까지 화면에 띄워버립니다
다음과 같이 원하는 결과가 나오게 됩니다.
04. 소스 파일
'Programming > C - 학습노트' 카테고리의 다른 글
[작성예정]20180129. 포인터 (0) | 2018.01.29 |
---|---|
20180126. 1차원 배열. rand() 함수. (0) | 2018.01.29 |
20180117. 변수형, 연산기호, for문 if문 while문 (0) | 2018.01.18 |
20180116.헤더 파일, int형 변수, printf() 명령 (0) | 2018.01.18 |
20180115. C의 기본 문법,변수,함수의 개념 (0) | 2018.01.18 |