프로그래밍 코드에는 다양한 코드 제어를 위한 제어문이 존재하며
그중 반복문은 제어문에 속합니다.
반복문의 종류로는 세 가지가 존재합니다.
- for문
- while문
- do/while문
하지만 여기서는 가장 많이 쓰이는 for문과 while문에 대해서만 알아보겠습니다.
1. for문의 기초 구조
#include <stdio.h>
int main()
{
int count=0; // 반복할 횟수 제어
printf("1부터 반복할 횟수를 입력하시오 : ");
scanf("%d", &count); // count의 값 설정
for(int i=1; i<=count; i++) // i=반복자 count까지 1부터 반복
printf("%d\n", i); // 출력후 i의값이 1씩 증가함
return 0;
}
>>> 10
1
2
3
4
5
6
7
8
9
10
for문의 형태는 아래와 같습니다.
for(초기화식; 조건식; 증감식) {
실행문장
}
초기화 식에는 반복을 제어할 iterator의 값을 초기화,
조건식에서는 반복을 제어할 조건식
증감식에서는 값의 크기변화를 제어할 증감식을 작성합니다.
위 코드에서는 i는 1로 초기화 되었고
count보다 작은 동안 1씩 증가하며 반복합니다.
2. 1부터 10까지 합 구하기
#include <stdio.h>
int main()
{
int sum=0;
for(int i=1; i<=10; i++)
sum+=i;
printf("%d", sum);
return 0;
}
>>> 55
위에서 해본 대로 역시 i의 값은 1부터 10까지 1씩 증가하며 10번 반복됩니다.
변수 sum에는 1부터 10까지의 합인 55가 담깁니다.
3. 구구단 출력 예제
#include <stdio.h>
int main()
{
int num=2;
for(int i=1; i<=9; i++)
printf("%d * %d = %d\n", num,i,num*i);
return 0;
}
>>>
2 * 1 = 2
2 * 2 = 4
2 * 3 = 6
2 * 4 = 8
2 * 5 = 10
2 * 6 = 12
2 * 7 = 14
2 * 8 = 16
2 * 9 = 18
코드를 반복하여 구구단을 출력할 수도 있습니다.
위 코드에서는 한단만 출력되었지만 전체 단을 출력할수도 있습니다.
4. 이중 for 문을 이용한 구구단 전체 출력
#include <stdio.h>
int main()
{
for(int i=2; i<=9; i++)
{
printf("----------%d단----------\n", i);
for(int j=1; j<=9; j++)
printf("%d * %d = %d\n", i, j, i*j);
}
return 0;
}
>>> 결과값은 생략
구구단을 전체 출력하는 방법은 이중 for문을 사용하면 됩니다.
이중 for문은 for문 안에 for문이 한번 더 존재하여 이중으로 반복하는 구조입니다.
5. 계단식 * 출력하기
#include <stdio.h>
int main()
{
for(int i=1; i<=5; i++)
{
for(int j=1; j<=i; j++)
printf("*");
printf("\n");
}
return 0;
}
>>>
*
**
***
****
*****
처음 프로그래밍 언어를 입문하는 사람들에게 절망을 안겨주는 계단식 *출력하기 예제입니다.
이 역시 이중 for문을 통해 출력할 수 있습니다.
6. while문 기초구조
#include <stdio.h>
int main()
{
int num=0;
int sum=0;
while(num<=10)
{
sum+=num;
num++;
}
printf("1부터 10까지의 합 : %d", sum);
return 0;
}
>>> 1부터 10까지의 합 : 55
while문은 for문과 동일한 반복 제어문입니다.
기초적인 구조는 아래와 같습니다.
while(조건식) {
실행문
}
위 예제 코드에서는 num이 Iterator(반복자)이며 10 이하일 경우 반복하며 1씩 증가합니다.
7. while문을 이용한 무한 반복문
#include <stdio.h>
int main()
{
int num=1;
while(1)
{
printf("%d\n", num);
num++;
if(num==30)
break;
}
return 0;
}
>>>
1
2
3
4
~
29
1이란 참(True) 값을 의미합니다.
while문의 조건이 참이 되면 무한히 반복하는 무한 반복문이 됩니다.
하지만 별도로 무한 반복문을 종료할 조건이 설정되어 있지 않다면
컴퓨터가 다운될 수도 있어서 보통 while문 내부에 if문을 통해 조건을 설정하여
무한 반복문이 조건 내에서만 반복할 수 있도록 설정합니다.
'개발&코딩 > C' 카테고리의 다른 글
배열 예제로 배우는 C언어 기초 strlen(), sizeof() (0) | 2020.09.10 |
---|---|
[C] 함수의 구조와 예제 모음 (0) | 2020.09.09 |
C언어 조건제어문 if문/else문 과 switch/case문 예제와 기초 (0) | 2020.09.09 |
C언어의 기초적인 구조와 자료형 그리고 입출력 (0) | 2020.09.09 |
[C] C 중급 2차원 배열과 포인터배열 예제 (0) | 2020.07.27 |
댓글