본문 바로가기

2021 정보처리기사/참고자료: 정보처리기사

[C언어 기초] C언어 반복문, 제어문

728x90
반응형

#제어문

분기문

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

 

 

 

 

 

자료출처: 유튜브 주간컴공TV

728x90