제어문 조건문 반복문
제어문
순차
a = 1;
printf("%d", a);
선택 (조건문)
조건의 참(True)과 거짓(False) 에 따라 선택하여 실행
if(a >= 0)
printf("양수");
종류
- if(조건)
- if(조건) ~ else
- if(조건) ~ else if(조건) ~ else
- switch(변수) ~ case
- if(조건)
형식
if(조건) { }
특징
- 조건에 따라 선택하여 실행함
- 블록으로 그룹핑 함
- if(조건) ~ else
형식
if(조건){ }else{ }
특징
- 조건에 따라, 참인 경우와 거짓인 경우로 나누어 실행함
- 블록으로 그룹핑 함
#include <stdio.h>
int main(void){
double f, c;
printf("f를 입력:");
scanf("%lf", &f);
if(f > 32){
c = (f - 32) / 1.8;
printf("c = %lf \n", c);
}
else {
printf("f = %lf \n", f);
}
}
- if(조건) ~ else if(조건) ~ else
형식
if(조건 1){ }else if(조건 2){ } ... else{ }
특징
- 다중 조건에 따라 실행함
- 블록으로 그룹핑함
#include <stdio.h>
int main(void){
int score;
printf("2, 3의 배수 판독기 입니다. 숫자를 입력하세요: ");
scanf("%d", &score);
if (score % 2 == 0){
printf("2의 배수입니다. 입력값 %d \n",score);
} else if(score % 3 == 0) {
printf("3의 배수입니다. 입력값 %d \n",score);
} else {
printf("etc \n");
}
}
#include <stdio.h>
int main(void){
char ch;
printf("알파벳을 입력하세요 :");
scanf("%c", &ch);
if (ch >= 'a' && ch <= 'z'){
printf("소문자 입니다. \n");
}
else if (ch >= 'A' && ch <= 'Z'){
printf("대문자 입니다 \n");
}
else {
printf("알파벳이 아닙니다. \n");
}
}
- switch(변수) ~ case
형식
switch(변수){ case ~ : ... }
특징
- 다중 조건에 따라 실행함
- 블록으로 그룹핑 함
- case의 조건에는 문자 변수, 정수 변수만 기재 가능함 (문자열, 실수, 식을 조건에 표기시 오류)
#include <stdio.h>
int main(void){
char op;
int num1, num2;
printf("숫자를 입력해 주세요: \n");
scanf("%d%d", &num1, &num2);
printf("계산할 부호를 입력해 주세요: \n");
scanf(" %c", &op);
switch (op) {
case '+':
printf("%d + %d = %d \n", num1, num2, num1 + num2);
break;
case '-':
printf("%d - %d = %d \n", num1, num2, num1 - num2);
break;
case '*':
printf("%d x %d = %d \n", num1, num2, num1 * num2);
break;
case '/':
printf("%d / %d = %f \n", num1, num2, (float)num1 / num2);
break;
default:
printf("계산할 수 없는 식 입니다. \n");
break;
}
}