
연습문제
#include <stdio.h>
int main() {
int a = 120, b = 45;
while (a != b) {
if (a > b) a -= b; // a = 75 b = 45, a = 30 b = 45, a = 30 b = 15, a = 15 b = 15
else b =- a;
}
printf("%d", a); // 15
}
반복문 옵션
(1) continue : 더이상 아래 문장을 실행하지 않고, 반복문 처음으로 돌아감
(2) break: 반복문을 빠져나감
#include <stdio.h>
int main() {
int i, sum = 0;
for (i = 1; i <= 10; i +=2) { // 1, 3, 5, 7, 9 중에
if (i % 2 && i % 3) continue;
sum += i; // 12
}
printf("%d", sum); // 12
return 0;
}
for (int i = 0; i < 2; i++) {
for (j = 0; j < 2; j++) {
printf("i: %d, j: %d", i, j);
}
}
// 0 0
// 0 1
// 1 0
// 1 1
// 반복문 밖에 저장되어 있는 i,j 는 모두 2
for (i = 0; i < 3; i++) {
if(i == 1) continue;
sum++;
}
// sum = 2
// i = 3
for (i = 0; i < 3; i++) {
if(i == 1) break;
sum++;
}
// sum = 1;
// i = 1
연습문제 ( 주의! )
#include <stdio.h>
void main() {
int i, j, sum = 0;
for (i = 1; i < 10; i++) {
for(j = 1; j < 10; j++) {
if (j % 3 == 0) continue; // (9 - 3) * 7 = 42
if (i % 4 == 0) break;
sum++;
}
}
printf("%d", sum); // 42
}
// continue와 break는 포함되어 있는 반복문 하나만 빠져나온다, 이중 반복문을 모두 빠져나오는게 아니다
'정보처리기사' 카테고리의 다른 글
[정보처리기사] C언어 특강 23~28강 정리(포인터) (0) | 2024.10.04 |
---|---|
[정보처리기사] C언어 특강 21~22강 정리(배열) (0) | 2024.10.04 |
[정보처리기사] C언어 특강 13 ~ 17강 정리(삼항연산자, 제어문, 반복문) (0) | 2024.10.01 |
[정보처리기사] C언어 특강 12강 정리(메크로, 비트연산) (0) | 2024.09.28 |
[정보처리기사] C언어 특강 11강 정리 (0) | 2024.09.26 |