▩ 제어문 - 반복문 for 문
- 반복 횟수가 지정되어 있는 경우
- for문은 내부에 초기화 코드를 가지고 있다.
- 조건식이 참이면 계속 실행한다.
for(초기화; 조건식; 재초기화){
ⓐ -------> ⓑ <-------- ⓓ
│ ↗
│ /
│ /
│ /
printf("★");
│ /
↓/
ⓒ
실행 문장;
}
1. 최초 처리순서
ⓐ --> ⓑ --> ⓒ --> ⓓ --> ⓔ --> ⓑ --> ⓒ
2. 반복 처리순서
ⓑ --> ⓒ --> ⓓ --> ⓔ --> ⓑ --> ⓒ
>>>>> 1부터 10까지 출력하는 프로그램
#include <stdio.h>
void main() {
int k;
for(k=1 ; k<=10 ; k++)
printf("%d을(를) 출력합니다.\n", k);
}
>>>>> 100부터 1까지 짝수만 출력하는 프로그램
#include <stdio.h>
void main() {
int i;
for(i=100; i>0; i=i-2)
printf("%d을(를) 출력합니다.\n", i);
}
>>>>> 1부터 10까지의 합계를 구하는 프로그램
#include <stdio.h>
void main() {
int i, sum=0;
for(i=1; i<=10; i++) {
printf("%d\n", i);
sum += i;
}
printf("합계는 %d입니다.\n", sum);
}
>>>>> 1부터 100까지 중에서 3의 배수의 개수와 합계를 구하는 프로그램
#include <stdio.h>
void main() {
int i, cnt=0;
long sum=0;
for(i=1; i<=100; i += 3) {
printf("%d\n", i);
sum += i;
cnt++;
}
printf("합계는 %ld입니다.\n", sum);
printf("개수는 %d개입니다.\n", cnt);
}
▷ 위의 프로그램을 for문은 for(i=0; i<=100; i++)로 변경하고 if문을 사용하여 같은 결과가 나오도록 수정하세요.
>>>>>> 구구단을 출력하는 중첩된 for 문
#include <stdio.h>
void main() {
int k, j, cnt=0;
long sum=0;
for(k=1 ; k<=9 ; k++) {
for(j=1; j<=9; j++) {
if(j!=9)
printf("%d*%d=%2d, ", k, j, k*j);
else
printf("%d*%d=%2d", k, j, k*j);
}
printf("\n");
}
}
▷ 구구단의 반복 횟수 및 합을 출력하는 프로그램으로 수정하세요.
>>>>> 출력하려는 구구단을 입력받는 프로그램
#include <stdio.h>
void main() {
int s, e, i, j;
printf("구구단의 시작수를 입력하세요 : ");
scanf("%d", &s);
printf("구구단의 끝수를 입력하세요 : ");
scanf("%d", &e);
for(i=s; i<=e; i++) {
for(j=1; j<=9; j++) {
if(j!=9)
printf("%d*%d=%2d, ", i, j, i*j);
else
printf("%d*%d=%2d", i, j, i*j);
}
printf("\n");
}
}