반복문은 특정한 조건에 맞게 반복 실행되는 것을 말한다
for, while, do~while 문이 있다.
for문
for(초기화; 비교문; 증감문;)
for 동작순서 -> 초기화 -> 비교문 -> 내용 -> 증감문)
for (i = 5; i > 0; --i)
printf("%d ", i);
//중괄호가 없으면 다음 한 줄만 반복됨
printf("\n");
기본적으로 다음과 같은 구조를 가지고 있다.
for문에는 여러 특징이 있는데
for (i = 0, j = 2; i < 10; i += 3, ++j)
{
printf("%d %d ", i,j);
if (j > 3)break;
}
printf("\n");
이렇게 초기화, 증감문을 여러개를 둘 수도 있고
i = 0;
for (;;) //초기화, 비교문, 증감문 셋다 생략이 가능하다
{
printf("%d ", i);
++i;
//탈출문(Escape)
if (i >= 5) break;
}
printf("\n");
이렇게 초기화, 비교문, 증감문 모두 생략이 가능하다.
*단 이렇게 구성할 경우 무한 루프에 빠질 가능성이 있으니 조심해야 한다.
for (i = 2; i < 10; ++i)
{
for (j = 1; j < 10; ++j) {
printf("%d * %d = %d ", i, j, i * j);
}
printf("\n");
}
다음과 같이 for문 안에 for문을 돌릴 수도 있다(이를 2중 for문 이라고 한다)
while문
while(조건) { 내용 }
i = 0;
printf("while: ");
while (i < 5) {
printf("%d ", ++i);
}
printf("\n");
조건식이 참 인동안 반복한다
* 0이면 돌아가지 않는다(거짓 false 이기 때문)
do~while문
do{ 내용 }
while(조건) { 내용 }
우선 1번 실행 후 조건을 검사함 반복이 되지 않더라도 1번은 실행이 된다.
i = 3;
do
{
printf("do~while: %d\n", i);
++i;
} while (i > 5);
번외편
반복문을 이용한 피라미드 만들기
*
**
***
****
다음과 같이 점차 증가하는 피라미드를 반복문을 통해 만들 수 있다.
그 외에도 여러 모양의 피라미드를 반복문을 잘 활용하면 만들 수 있는데
//변수 선언
int i=0;
int j=0;
for (i = 1; i < 6; ++i)
{
for (j = 0; j < i; ++j)
{
//j가 i보다 작을때 * 문자를 찍음
printf("*");
}
//j와 i가 같아졌을때 줄을 바꿈
printf("\n");
}
기본적으론 이렇게 이중for문을 이용해서 만들지만
#include<stdio.h>
void main()
{
//변수 선언
int i = 0;
int j = 1;
for (i=0;j<5;)
{
//피라미드 모양 *
printf("*");
i++;
// i와 j가 같을때 실행
if (i == j)
{
//j값을 1 올린 후 i를 0으로 초기화
printf("\n");
++j;
i = 0;
}
//1부터 시작하여 j의 숫자만큼 *을 찍고 다음 줄로 넘어가는 직각 삼각형 형태의 피라미드 코드 완성
}
}
이렇게 1개의 for문만을 활용해서 만들 수도 있긴하다
'프로그래밍 언어 > C' 카테고리의 다른 글
포인터(Pointer) (0) | 2024.08.13 |
---|---|
배열(Array) (0) | 2024.08.12 |
조건문 (0) | 2024.08.09 |
비교 연산자와 논리 연산자 (0) | 2024.08.09 |
연산자(Operators) 와 형변환 (0) | 2024.08.08 |