[C언어] 반복문

이가영·2023년 8월 18일
0

C언어

목록 보기
7/16

반복문의 구성과 종류

  • 같은 작업을 반복적으로 수행할 필요가 있을 때 반복문을 사용
  • 반복문은 반복할 문장과 반복 조건으로 구성된다.
  • 반복문에는 do~while, while, for문이 있다.

do~while문

  • 일단 반복할 문장을 수행한 후에 조건을 검사
do{
	반복할 문장;  // 반복할 문장은 중괄호로 묶어주며 들여쓰기 한다.
} while(조건식);  // 세미콜론 붙는다!

예시문제1

  • 1~n까지 전체 합 출력 프로그램 (do~while 사용)

while문

  • 반복조건을 먼저 확인하여 조건을 만족하는 경우에 반복
while(조건식){    //조건식이 참이면 반복을 계속하지만 거짓이면 블록을 벗어난다.
	반복할 문장;  //반복할 문장을 모두 실행하면 조건식으로 돌아간다.
}
  • 조건을 만족하지 않으면 반복할 문장을 한 번도 수행되지 않는다.

▶ 조건식이 반복문 중간에 있다면?
반복되는 규칙을 관찰하여 조건식이 가장 먼저 수행되도록 반복되는 부분을 결정하고 while문으로 작성한다.

▶ 몇 번을 반복할 것인가?

  • 특정 문장을 일정 횟수 반복할 때는 반복제어 변수 사용
i=0;                 //초기식
while(i<3){          //조건식
	printf("안녕");  
    i+=1;            //증감식
}
  • 반복 횟수는 초기식, 조건식, 증감식이 결정

▶ 제어변수의 활용

  • 제어변수의 값을 반복문 안에서 활용하는 경우는 초기식, 조건식, 증감식을 적절하게 수정한다.
    -제어변수를 활용하여 구구단을 출력하는 예
i=1;
while(i<=9){
	printf("2 * %d = %d\n", i, 2*i);
    i+=1;
}

예시문제2

  • 입력값 반복하여 누적하는 프로그램

예시문제3

  • 홀수들의 합 계산하는 프로그램

예시문제4

  • 홀수의 합 or 짝수의 합 구하는 프로그램

예시문제5

  • 구구단_한 개의 단 출력하는 프로그램

증감연산자

  • 반복문의 증감식은 주로 증감연산자를 사용하여 간단히 표현
  • 증감연산자에는 증가연산자(++)와 감소연산자(--)가 있다.
증가연산자 ++ -> 피연산자의 값을 하나 증가시킨다
감소연산자 -- -> 피연산자 값을 하나 감소시킨다
  • 증감연산자의 피연산자는 변수가 와야 한다.
++a; -> a += 1;
--a; -> a -= 1;
  • 증감식이 단독으로 사용될 때는 전위형과 후위형의 차이는 없으나 다른 연산자와 함께 쓰일 때는 다른 결과값이 달라진다.
    -변수 a의 값이 5, b의 값이 6일 때

전위형 -> ++a;

  • 증가 후 사용
pre = ++a * 3; //++a : a의 값은 6으로 증가, 6*3=18

후위형 -> a++;

  • 사용 후 증가
post = b++ * 3; //b++ : b의 값은 6으로 증가, 증가되기 전 값 5*3 15
  • 증감식이 단독으로 사용될 때는 전위형과 후위형의 차이는 없으나 다른 연산자와 함께 쓰일 때는 다른 결과값이 달라진다.
    -변수 a의 값이 5, b의 값이 6일 때

예시문제6

  • 별 개수 입력하고 출력하는 프로그램

for문

  • while문의 초기식, 조건식, 증감식을 한곳에 모아 놓은 것
for(i=0; i<3; i++)(
	printf("안녕");
}

for문이 실행되는 순서

  1. 초기식을 수행한다. //i=0;
  2. 조건식을 검사한다. //i<3;
  3. 반복할 문장을 실행한다. //printf("안녕");
  4. 증감식을 수행한다. //i++

복합대입연산자

  • 두 값을 연산한 결과를 다시 변수에 대입하는 경우에 복합대입연산자를 사용
sum = sum + i; -> sum += i;  //더하기
sum = sum - i; -> sum -= i;  //빼기
sum = sum * i; -> sum *= i;  //곱하기
sum = sum / i; -> sum /= i;  //나누기
sum = sum % i; -> sum %= i;  //나눈 후 나머지
  • 사칙연산자와 나머지 연산자는 모두 복합대입연산자로 사용할 수 있다.

예시문제7

  • 5명의 평균 나이 구하는 프로그램

예시문제8

  • y = 2x + 1

예시문제9

  • 7단 출력 프로그램

다중 반복문

  • 반복문안에 실행할 문장이 반복문인 경우

예시문제10

  • 거꾸로 별 찍는 프로그램

예시문제11

  • 구구단 2,5,8단 출력 프로그램

예시문제12

  • 랜덤 구구단 프로그램

무한 반복문

  • 무한 반복문은 조건식이 항상 참이 되도록 작성한다.
#while문 사용
while(1){
	printf("무한반복문\n");
}

#for문 사용
for(;;){
	printf("무한반복문\n");
}

반복문 제어

  • 반복문 중간에서 조건에 따라 반복을 종료할 때 break를 사용

break문을 사용할 때 주의할 점

  • break문은 반복문이 중첩되어 있을 때 하나만 빠져나간다.
  • break문은 반복문의 블록만을 벗어난다.(switch~case문은 예외)

continue는 반복문의 일부를 건너뛴다.

  • continue문은 실행위치를 반복문의 블록 끝으로 이동시키므로 continue문 이후의 문장을 건너뛰는 용도로 사용된다.

예시문제13

  • 계란 무게 측정 프로그램
profile
gy’s portfolio

1개의 댓글

comment-user-thumbnail
2023년 8월 18일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기