while 반복문
#include <stdio.h>
int main(void)
{
int num=0;
while (num<5) // 중괄호 내 반복
{
printf("Hello World! %d \n", num);
num++;
}
return 0;
}
/* Output
Hello World! 0
Hello World! 1
Hello World! 2
Hello World! 3
Hello World! 4
*/
위 예시와 같이 while문을 사용하는 경우에 while 옆의 조건(num<5)을 만족할때까지 중괄호 안의 내용을 반복해서 실행하게 된다.
(반복해서 실행하게 되는 내용을 한 문장으로 적을 수 있는 경우에는 중괄호의 생략이 가능하다.)
while 문을 사용해서 무한히 실행되는 '무한 루프'도 생성이 가능한데, 이는 조건을 '1'로 설정하면 생성할 수 있다(1==True)
`while (1) ...실행문...`
do ~ while
do
{
// 실행문
} while(condition);
의 형태로 구성되는 문법이며 위의 코드로 유추할 수 있듯이, 실행문을 가장 먼저 수행하고 while 반복문에 들어가는 구조이므로
일반적인 while문과 다르게 조건에 맞지 않더라도 무조건 1회 이상은 실행문이 수행된다.
for 반복문
for문도 while문과 마찬가지의 원리로 조건하에서 실행문을 반복시키는 문법이지만, while문과 그 형식에서의 차이가 존재한다.
/*
for (초기식; 조건식; 증감식)
{
실행문
}
*/
int main(void)
{
int num;
for(num=0; num<3; num++)
printf("Hi"):
}
위와 같이 [초기식, 조건식, 증감식]을 명시해주는 것이 정석이지만, 굳이 명시할 필요가 없는 경우에는 생략도 가능하다.
int main(void)
{
double total=0.0;
double input=0.0;
int num=0;
for( ; input>=0.0; )
{
total+=input;
printf("실수 입력(minus to quit): ");
scanf("%lf", &input);
num++;
}
printf("평균: %f \n", total/(num-1));
return 0;
}
/*
실수 입력(minus to quit): 3.2323
실수 입력(minus to quit): 5.1891
실수 입력(minus to quit): 2.9297
실수 입력(minus to quit): -1
평균: 3.783700
*/
예제
1. 왼쪽 정렬된 별 찍기
/* output
*
**
***
****
*****
*/
#include <stdio.h>
int main(void)
{
int n_line;
printf("Number of line ? ");
scanf("%d", &n_line);
for (int num=1;num<=n_line;num++)
{
for (int n_star=1;n_star<=num;n_star++)
printf("*");
printf("\n");
}
return 0;
}
2. 피라미드(사이 사이 공간 O)
/* output
Number of line ? 5
*
* *
* * *
* * * *
* * * * *
*/
#include <stdio.h>
int main(void)
{
int n_line;
int n_star=1;
printf("Number of line ? ");
scanf("%d", &n_line);
for(int line=1;line<=n_line;line++)
{
for(int n_space=1; n_space<=n_line-n_star; n_space++)
printf(" ");
for(int num=1; num<=n_star; num++)
printf("* ");
printf("\n");
n_star++;
}
return 0;
}
'공부 > C언어' 카테고리의 다른 글
C언어 - (7) : 조건문 (1) | 2024.10.09 |
---|---|
C언어 TIL (241007) (0) | 2024.10.07 |
C언어 - (5) : printf / scanf (3) | 2024.10.06 |
C언어 - (4) : 자료형/형 변환 (3) | 2024.10.03 |
C언어 - (3) : 자료형 별 데이터의 표현 방식 / 비트 연산자 (2) | 2024.09.11 |