본문 바로가기
코딩 이야기/C programming

08. 조건문

by 서른아이 2017. 8. 22.

if ~ else if ~else  조건문

scanf로 입력을 받아서 처리할 수 있도록 살짝 바꿔서 구현해보았다.


#include <stdio.h>


void main()

{

int score;

char grade;


printf("점수를 입력하세요.\n");


scanf("%d", &score);


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);



switch 조건문

"변수값이 이미 정해져 있는 상수들과 비교할 때는 switch 조건문이 유리하다.'


#include <stdio.h>


void main()

{

int score;

char grade;


printf("점수를 입력하세요.\n");


scanf("%d", &score);


switch (score / 10) {


case 10:

case 9:

grade = 'A';

break;

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입니다\n", score, grade);


}


switch 문으로 나열식으로 배열하다 보니 길어보인다.

하지만, 소스코드가 더 길다고 실제 프로그램의 실행 동작이 느려지진 않는다.

지금 같은 경우에는 switch 문이 더 연산이 적고 간결하여 기계어로 번역하면 더 좋은 코드가 나온다.

소스 코드가 간결하다고 기계어 코드까지 간결한 건 아니다.

'코딩 이야기 > C programming' 카테고리의 다른 글

12. 배열과 문자열  (0) 2017.09.04
09. 반복문  (0) 2017.09.03
06. 라이브러리  (0) 2017.08.19
05. 함수  (0) 2017.08.19
03.자료형  (0) 2017.08.19