본문 바로가기
PROGRAMMING/C

[POSTECH MOOC] 컴퓨터공학 입문Ⅱ - 2

by 안녕나는현서 2021. 4. 6.
728x90

본 내용은 POSTECH '청년 AI · Big Data 아카데미 온라인 기초과정'을 수강하며 정리한 내용입니다.

Ⅵ 반복문

 

<반복문(for)>

 

- 제어문(Control Statement) : 프로그램의 흐름 제어

  • 순차(Sequence) : 위에서 아래로 한 문장씩 순차적으로 수행
  • 선택(Selection) : 조건에 따라 흐름 제어, 조건문
    • if, if-else
    • switch-case
  • 반복(Repetition) : 조건에 따라 반복 수행, 반복문
    • for
    • while, do-while
  • 분기(Jump) : 정해진 위치로 이동, 분기문
    • goto, return, break, continue

- 반복문의 종류

  • for  : 일정한 반복 횟수를 이용하는 반복문에 적합
for (초기화; 조건검사; 증감연산)
{
    for문 몸체(body);
}
  • while : 구문이 간단하며, 검사 부분이 처음에 있음
while (조건검사)
{
    while문 몸체(body);
}
  • do while : 반복 몸체를 1번은 실행하며, 검사 부분이 뒤에 있음
do
{
    do while문 몸체(body);
} while(조건검사);

 

- 반복문(for)

  • 조건의 결과(참 또는 거짓)에 따라 특정 부분의 처리를 반복 실행하는 제어 문장
  • 조건을 만족하는 동안 특정 작업을 반복하여 처리하는 문장으로, 일반적으로 반복 횟수가 정해진 경우 사용
for (expression1; expression2; expression3)
for (초기화; 조건검사; 증감연산)
{
    statement1;
}
next_statement;

 

- for 예제 : 문자 5줄 찍기

#include <stdio.h>

int main(void)
{
	int i;
	
	printf("printf 5줄 실행예시 \n");
	printf("******* \n");
	printf("******* \n");
	printf("******* \n");
	printf("******* \n");
	printf("******* \n");
	
	printf("for 5번 실행예시 \n");
	
	for (i=0; i<5; i++)    /* ++ -> 1을 증가시키는 증감연산자 */
	{
		printf("******* \n");
	}
	
	return 0;
}

  • 증감연산자 : 변수의 값을 하나 증가, 감소시키는 연산자
    • ++i, i++  :  i = i+1
    • --i, i--  :  i = i-1

- for 예제 : 1부터 777까지의 합 구하기

#include <stdio.h>

int main(void)
{
	int i, sum=0;
	
	for(i=1; i<=777; i++)
	{
		sum += i;     /* sum = sum +i */
	}
	
	printf("1부터 777까지의 합 : %d \n", sum);
	 
	return 0;
}

- for 예제 : 성적 처리

#include <stdio.h>

int main(void)
{
	int num, i, stuID, score;
	float sum=0;
	char grade;
	
	printf("*** 컴퓨터공학입문 성적 *** \n");
	printf("수강인원을 입력하세요 : ");
	scanf("%d", &num);
	
	for (i=0; i<num; i++)
	{
		printf("학번과 점수를 순서대로 입력하세요 : ");
		scanf("%d %d", &stuID, &score);
		
		sum += 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", stuID, grade);
	}
	
	printf("과목평균 : %5.2f \n", sum/num);
	return 0;
}

 

<반복문(while, do-while)>

 

- 반복문(while)

초기화;
while(조건검사)
{
    statement1;
    증감연산;
}
next_statement;

 

- while 예제 : 문자 5줄 찍기

#include <stdio.h>

int main(void)
{
	printf("5줄 실행예시 \n");
	printf("******* \n"); 
	printf("******* \n");
	printf("******* \n");
	printf("******* \n");
	printf("******* \n");
	
	printf("while 5번 반복 실행예시 \n");
	
	int i=0;
	
	while(i<5)
	{
		printf("******* \n");
		i++;
	}
	
	return 0;
}

- while 예제 : 1부터 888까지의 합 구하기

#include <stdio.h>

int main(void)
{
	int i=1, sum=0;
	
	while (i<=888)
	{
		sum += i;
		i++;
	}
	
	printf("1부터 888까지의 합 : %d \n", sum);
	
	return 0;
}

- 반복문(do-while)

do
    statement1;
while (expression);

 

- do-while 예제 : 1부터 999까지의 합 구하기

#include <stdio.h>

int main(void)
{
	int i=1, sum=0;
	
	do
	{
		sum +=i;
		i++;
	}
	while (i<=999);
			
	printf("1부터 999까지의 합 : %d \n", sum);
	
	return 0;
}

 

728x90

댓글