1. 제어문의 이해
가. 제어구조
1) 제어문(Control Statement)
문장들이 실행되는 순서를 제어하는 문장
2) 구조적인 프로그래밍(structured Programming)
순차구조, 선택구조, 반복구조로만 작성된 프로그램
goto 문을 사용하지 않는 프로그램
https://ko.wikipedia.org/wiki/구조적_프로그래밍
구조적 프로그래밍 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전. 구조적 프로그래밍(structured programming)은 구조화 프로그래밍으로도 불리며 프로그래밍 패러다임의 일종인 절차적 프로그래밍의 하위 개념으로 볼 수 있다. GOTO
ko.wikipedia.org
3) 순차구조(Sequence)
위에서 아래로 순서대로 실행하는 구조
4) 선택구조(Selection)
조건에 따라 둘 중 하나의 명령을 선택하여 실행하는 구조
5) 반복구조(Iteration)
조건이 만족하는 동안 일정 처리 과정을 반복 실행하는 구조
6) 제어구조 순서도
2. IF 문(조건문)
가. IF 문의 개념
1) 기본 문법
if ( 조건식 )
명령문; // 조건식이 참인 경우에 실행
2) 조건식
수식으로 표현
관계 수식이나 논리 수식
3) 조건식의 예
관계 수식의 예
point >= 50
age < 18
gender == 'm'
논리 수식의 예
(score1 >= 50) || (score2 >= 60)
(count > 0) && (count <= 10)
4) IF 문의 예
if (num > 0)
printf("양수입니다.\n");
printf("%d점입니다.\n", score);
if (score < 60)
printf("낙제입니다.\n");
#include <stdio.h>
int main(void) {
int num;
printf("정수 입력 :");
scanf("%d", &num);
if (num > 0)
printf("양수입니다. ");
printf("입력된 값은 %d입니다.", num);
return 0;
}
나. 복합문(블록)
1) 복합문(Compound statement)
중괄호를 사용하여 문장들을 그룹핑하는 것
블록(block)
단일문 대신 들어 갈 수 있음.
2) 기본 문법
if ( 조건식 )
{
명령문1;
명령문2;
명령문3;
}
3) 복합문의 예
if (score >= 90)
{
printf("합격입니다.\n");
printf("장학금 대상자입니다.\n");
printf("축하합니다.\n");
}
다. 참과 거짓
1) 참과 거짓의 판정
0이 아니면 참
0이면 거짓
2) 표준적 표현
if ( 변수 != 0 )
printf("변수 값은 참입니다.");
if ( 변수 == 0 )
printf("변수 값은 거짓입니다.");
3) 간략한 표현
if ( 변수 )
printf("변수 값은 참입니다.");
if ( !변수 )
printf("변수 값은 거짓입니다.");
4) 사용 시 주의사항
if 문 조건식 뒤에는 세미콜론(;)을 쓰지 않음.
조건식에서 대등연산자(==)와 대입연산자(=) 혼동 주의
조건식의 괄호는 생략 불가
3. IF-ELSE 문
가. 기본 문법
if ( 조건식 )
명령문1; // 조건식이 참인 경우에 실행
else
명령문2; // 조건식이 거짓인 경우에 실행
나. 사용 예
if (num > 0)
printf("양수입니다.\n");
else
printf("0이거나 음수입니다.\n");
다. 조건 연산자
if (score >= 70)
printf("합격");
else
printf("불합격");
(score >= 70) ? printf("합격") : printf("불합격");
4. else if 문
가. 기본 문법
if ( 조건식1)
명령문1;
else if ( 조건식2 )
명령문2;
else
명령문3;
명령문4;
나. 사용 예
if (num > 0)
printf("양수입니다.");
else if (num < 0)
printf("음수입니다.");
else
printf("0입니다.");
다. 다른 코드 같은 실행
if (age <= 7)
fee = 0;
else {
if (age >= 60)
fee = 10000;
else
fee = 25000;
}
if (age > 7) {
if (age >= 60)
fee = 10000;
else
fee = 25000;
}
else
fee = 0;
if (age <= 7)
fee = 0;
else if (age >= 60)
fee = 10000;
else
fee = 25000;