- if문
- 예제
- if else if 문
- switch문
코드는 위에서 아래로 흐른다. 코드의 흐름을 제어할 수 있는 함수라하여 제어문이라고 부른다.
조건 제어문 : if, switch
반복 제어문 : for, while
1. if 문
조건문 - 조건식에 따라 코드의 실행 순서가 결정되는 제어문
if (조건식) {
조건식이 참이면 실행될 코드
}
조건식이 참이면 if 내부의 코드를 실행한 후 다음 코드를 진행
조건식이 거짓이면 if문 전체를 건더뛰고 다음 코드를 진행
*모든 제어문은 기본적으로 중괄호를 이용하여 실행될 코드를 분류
*실행될 코드가 한 줄이라면 중괄호를 사용하지 않아도 실행될 코드로 인식
int n1, n2;
printf("정수 두개 입력: "); scanf_s("%d %d",&n1,&n2);
if(n1 > n2)
printf("큰 수 : 첫번째 숫자 %d\n", n1);
printf("다음 문장 진행\n");
int su;
printf("숫자 입력 : "); scanf_s("%d",&su);
if(su % 2 == 0)
printf("입력한 숫자 : %d -> 짝수\n",su);
if(su % 2 != 0)
printf("입력한 숫자 : %d -> 홀수\n",su);
int su;
printf("숫자 입력"); scanf_s("%d",&su);
if(su>0 && su%2 ==0)
printf("%d : 양수 이면서 짝수\n",su);
2. 예제 - 숫자 세개를 입력 받아서 크기 비교하기
int s1, s2, s3;
printf("숫자 세개 입력:"); scanf_s("%d %d %d", &s1,&s2,&s3);
if(s1 >=1&& s2>=1 &&s3>=1 && s1>=s2 && s1>=s3)
printf("%d : 가장 큰 숫자\n",s1);
if(s1 >= 1&& s2>=1 &&s3>=1 && s2>s1 && s2>=s3)
printf("%d : 가장 큰 숫자\n",s2);
if(s1 >= 1&& s2>=1 &&s3>=1 && s3>s1 && s3>s2)
printf("%d : 가장 큰 숫자\n",s3);
* 겹치지 않게 범위 지정해야, 같은 수를 입력했을 때 정렬이 된다.
3. if~ else if문
if(조건식1) {
조건식 1 참일 때 동작
}
else if(조건식2) {
위의 조건이 거짓이고 조건식2가 참일 때 동작
}
else if(조건식3) {
위의 조건이 거짓이고 조건식3이 참일 때 동작
}
...
else{
모든 조건이 거짓일 때 동작(선택적으로 사용)
}
/*무한리필 고깃집 메뉴판을 참조하여 나이를 입력받아 지불할 요금 출력하는 코드 */
/*
<메뉴판>
0세 ~ 6세 : 무료
7세 ~ 13세 : 8,000원
14세 ~ 19세: 10,000원
20세 ~ : 16,500원
*/
int age;
printf("나이를 입력하세요:"); scanf_s("%d",&age);
if(age >=20)
puts("16,500원 입니다");
else if(age >=14)
puts("10,000원 입니다");
else if(age >=7)
puts("8,000원 입니다");
else if(age >=0)
puts("무료입니다");
else
puts("다시 입력하세요");
4. switch문
switch문에 입력된 값과 정확하게 매칭되는 case값을 찾아서
해당 case의 코드를 실행
switch문 조건식에 사용하는 값의 형태는 정수, 문자만 사용 가능
(실수, 문자열은 사용 X)
case에 사용되는 값은 상수만 가능(변수 사용 x)
switch(값){
case 상수값:
실행코드;
break;
case 상수값:
실행코드;
break;
default: //일치하는 case가 없을 경우 동작
실행코드;
기본예제 - 1~3 숫자 입력시 내용 출력하기
int val;
printf("1~3 중에 하나 입력: "); scanf_s("%d", &val);
puts("");
switch(val) {
case 1:
puts("1 - one");
break;
case 2:
puts("2 - two");
break;
case 3:
puts("3 - three");
break;
default:
printf("범위 밖의 숫자입니다");
}
*case 내부에 break가 없으면 다음 case로 이어진다 -> c, C 둘 중 무엇을 입력해도 C언어가 선택 됨.
char lang;
printf("C언어 : C, java : J\n 선택 -> "); lang=getchar();
puts("");
switch(lang){
case 'c':
case 'C':
puts("C언어 선택");
break;
case 'j':
case 'J':
puts("java 선택");
default:
puts("없는 과목입니다");
}
'language > C' 카테고리의 다른 글
반복 제어문 for (0) | 2022.09.07 |
---|---|
enum과 switch문 (0) | 2022.09.07 |
입력함수 (0) | 2022.09.05 |
연산자 II (0) | 2022.09.05 |
연산자 (0) | 2022.09.05 |