do{
반복할 문장; // 반복할 문장은 중괄호로 묶어주며 들여쓰기 한다.
} while(조건식); // 세미콜론 붙는다!
예시문제1
- 1~n까지 전체 합 출력 프로그램 (do~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;
- 증가 후 사용
pre = ++a * 3; //++a : a의 값은 6으로 증가, 6*3=18
후위형 -> a++;
- 사용 후 증가
post = b++ * 3; //b++ : b의 값은 6으로 증가, 증가되기 전 값 5*3 15
예시문제6
- 별 개수 입력하고 출력하는 프로그램
for(i=0; i<3; i++)(
printf("안녕");
}
for문이 실행되는 순서
- 초기식을 수행한다. //i=0;
- 조건식을 검사한다. //i<3;
- 반복할 문장을 실행한다. //printf("안녕");
- 증감식을 수행한다. //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문은 반복문의 블록만을 벗어난다.(switch~case문은 예외)
continue는 반복문의 일부를 건너뛴다.
- continue문은 실행위치를 반복문의 블록 끝으로 이동시키므로 continue문 이후의 문장을 건너뛰는 용도로 사용된다.
예시문제13
- 계란 무게 측정 프로그램
잘 봤습니다. 좋은 글 감사합니다.