제어문(Control Statement) - 프로그램의 실행 흐름을 제어하는 문법
조건문 : 예외 사항에 대처하기 위한 문법
반복문 : 반복 행위를 효과적으로 표현하기 위한 문법
조건 수식의 결과 값이 참일때 하나의 단일 명령문만 수행한다.
int data = 5;
if(data > 3) print("data는 3보다 큰 수입니다 \n");
printf("작업 종료 \n");
조건 수식의 결과 값이 참일 때 {}로 모아 놓은 명령문들을 모두 수행한다.
int score = 92;
char grade;
if(score >= 90 ) {
grade = 'A';
printf("점수는 %d이고 등급은 %c입니다. \n", score, grade);
}
printf("작업 종료 \n");
int data = 5;
if(data > 3) printf("data는 3보다 큰 수입니다. \n");
else printf("data는 3보다 작거나 같은 수입니다. \n");
int score ;
char grade;
printf("점수를 입력하세요 : ");
scanf("%d", &score);
if(score >= 90 ){
grade = 'A';
printf("점수는 %d이고 등급은 %c입니다. \n", score, grade);
}
else{
grade = 'B';
printf("점수는 %d이고 등급은 %c입니다.", score, grade);
}
조건 수식 연산자(Conditional-expression Operator)는 조건문과 달리 명령을 처리하고 나면 결과 값을 반환하는 형태로 되어 있다.
조건 수식의 결과 값이 참이면 수식1의 결과 값을 사용하고 거짓이면 수식2의 결과 값을 사용한다.
결과 값 = (조건 수식) ? 수식1 : 수식2 ;
point = (value >= 10000) ? value * 0.1 : value * 0.05;
int year = 2015, month = 12, day = 31;
day++;
if(day > 31){
month++;
day = 1;
if(month > 12) {
year++;
month = 1;
}
}
printf("Date: %d년 %d월 %d일 \n", year, month, day);
int score = 86;
char grade;
if(score >= 90) grade = 'A';
else if(score >= 80) grade = 'B';
else if(score >= 70) grade = 'C';
else if(score >= 60) grade = 'D';
else grade = 'F';
printf("당신의 점수는 %d점이고 등급은 %c입니다. \n", score, grade);
정해진 상수와 조건 비교를 하는 경우엔 if ~ else if ~ else 조건문보다 switch 조건문이 더 효율적이다.
변수 값이 이미 정해져 있는 상수들과 비교할 때는 switch 조건문이 유리하다.
break문은 현재 수행되는 case문의 작업을 중단하겠다는 뜻이다.
int score = 86;
char grades;
switch(score / 10){
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
case 6:
grade = 'D';
break;
default:
grade = 'F';
break;
}
printf("당신의 점수는 %d점이고 등급은 %c 입니다. ", score, grade);
홀짝판별기
- 숫자를 하나 입력받는다.
- 해당 숫자가 홀수인지, 짝수인지 출력한다.
ex)
숫자 하나를 입력해주세요 : 1111은 홀수입니다 :)
#include <stdio.h>
int main(){
int num;
printf("숫자 하나를 입력해주세요 : ");
scanf("%d", &num);
if(num % 2 == 0){
printf("%d 는 짝수입니다.", num);
}
else{
printf("%d 는 홀수입니다.", num);
}
}