#제어문
분기문
1. if
-조건식에 따라 선택적으로 명령 실행
-블록구조로 묶여있지 않으면 최초 하나의 명령만 실행
2. else
-if 문의 가장 마지막에 사용
-조건식이 '거짓'인 경우에 명령 실행
-else만 단독으로 실행 불가
-단순 할당 if문은 3항 연산자로 변환 가능
3. else if
-결과 문기가 셋 이상일 때 사용
-분기마다 새로운 조건식을 수립
#include <stdio.h>
int main()
{
int score = 70;
//score가 80이상이면 합격
if(score >= 80)
puts("합격입니다!");
//score가 70이상이면 재시험
else if(score >= 70)
puts("재시험 대상입니다");
//score가 70이상이 아니라면 불합격
else
puts("불합격입니다");
return 0;
}
if(a >= b) c = 20;
else c = 40;
// a가 b 이상이라면 변수 c에 20을 할당할 수 있고
// 아니라면 c에는 40을 할당한다
// 삼항 연산자를 이용하여 아래와 같이 한 줄로 표현할 수 있다
c = ( a >= b ) ? 20 : 40;
4. switch-case
-특정 데이터를 숫자, 문자 값으로 비교하여 명령 실행
-일치하는 영역부터 아래의 모든 코드를 실행
5. break
-break문 아래의 코드를 진행하지 않고 블록구조 종료
-자신이 속해 있는 블록 구조에만 해당
6. default
-일치하는 값이 없을 경우 실행
-단독으로 사용 불가
#include <stdio.h>
int main()
{
int month = 4;
switch(month)
{
//month 값이 2인 경우
case 2:
puts("28일 입니다");
break; //switch문 종료
//month 값이 1,3,5,7,8,10,12인 경우
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
puts("31일 입니다");
break; //switch문 종료
//motn 값이 2,3,5,7,8,10,12가 아닌경우
default:
puts("30일 입니다");
}
return 0;
}
반복문
1) for
-지정한 횟수만큼 코드 반복
-단순히 반복 횟수가 아닌 시작 값, 종료 분기, 증감 식 지정
-break 문 사용 가능
#include <stdio.h>
int main()
{
//반복용 변수, 합계용 변수 선언
int i, sum = 0;
//i가 1부터; 10이하일 때 까지; 1씩 증가하며 반복
for(i = 1; i <= 10; ++i)
//i값을 sum에 누적
sum += i;
//for문 종료 후 sun(합계) 출력
printf("%d", sum);
return 0;
}
2) while
- 지정한 조건을 만족할 때까지 코드 반복
- 조건을 먼저 판단한 다음 코드 반복
- 단 한 번도 실행이 안될 수 있음(do-while로 해결 가능)
- break 문 사용 가능
3) continue
- continue 아래의 코드를 무시하고 다음 단계 반복 진행
- break와 함께 모든 반복문에서 사용 가능
#include <stdio.h>
int main()
{
int input=0, sum=0; //초기화
while (input >= 0)
{
scanf("%d", &input);
//입력값이 짝수면 현재 단계 건너뛰기
if(input % 2 == 0)
continue;
sum = sum + input;
}
printf("%d", sum);
return 0;
}
4) do-while
-최소 한 번의 실행을 보장
-지정한 조건을 만족할 때까지 코드를 반복
-코드를 먼저 실행한 다음 조건 판단
-break문 사용 가능
#include <stdio.h>
int main()
{
int input, sum = 0;
do
{
//10진수를 입력받아 input에 할당
scanf("%d", &input);
//할당 된 input 값을 sum에 누적
sum = sum + input;
} while(input >= 0);
printf("%d", sum);
return 0;
}
'2021 정보처리기사 > 참고자료: 정보처리기사' 카테고리의 다른 글
[C언어 기초] 함수 (0) | 2021.05.01 |
---|---|
[C언어 기초] C언어 배열, 포인터 (0) | 2021.05.01 |
[C언어 기초] C언어 문자열, 표준 입출력 함수 (0) | 2021.04.30 |
[C언어 기초] C언어 특징과 작성 규칙, 상수와 변수 (0) | 2021.04.26 |
IPC(Inter-Process Communication)란? (0) | 2021.04.06 |