While : ~ 할 때 동안 계속
조건식이 참(1)인 경우에 실행.
조건식이 거짓(0)인 경우에 종료.
#include <stdio.h>
int main(void)
{
int i = 1;
while ( i <= 10)
{
printf("%d\n", i);
i = i+1 ;
}
return 0;
}
while 중괄호가 끝나면 while로 계속 돌아가서 반복된다.
출력 값
1
2
3
4
5
6
7
8
9
10
-- 내림차순 출력
#include <stdio.h>
int main(void)
{
int i = 10;
while ( i > 0)
{
printf("%d\n", i);
i-- ;
}
return 0;
}
-- 구구단 만들기
#include <stdio.h>
int main(void)
{
int dan = 2;
int i = 1;
while ( i < 10)
{
printf("%d * %d = %d \n",dan, i,i*dan);
i++ ;
}
return 0;
}
실무에서는 while문 보다는 for문을 많이 사용한다.
<while문>
#include <stdio.h>
int main(void)
{
int i = 1;
while ( i <= 10)
{
printf("%d \n",i);
i++ ;
}
return 0;
}
<for문>
#include <stdio.h>
int main(void)
{
for (int i = 1; i <= 10; i++) // 증감식은 끝을 알릴 필요가 없기에 ;를 붙이지 않는다.
{
printf("%d \n",i);
}
return 0;
}
while문과 다른 점은
위의 int i = 1; 이 괄호 안으로 들어가고
아래에 i++; 도 괄호 안에 들어간다
참 거짓을 판별하는 조건 앞에 변수 선언, 조건 뒤에 증감식.
for문과 while문 비교
- for문 : 주로 반복 횟수가 정해져 있거나, 특정 범위 내에서 반복해야 할 때 쓰기 편하다.
- 구조 : for (변수초기화; 조건식; 증감식) {반복할 코드;}
- 장점 : 반복에 필요한 세 가지 요소(초기화, 조건식, 증감식)가 한 줄에 모여 있어서 코드를 한 눈에 파악하기 좋다.
- 예시 : "1부터 10까지 1씩 증가시키면서 출력하시오"
- for (int i = 1; i <= 10; i++) { printf("%d\n", i) ; }
- while문 : 주로 반복 횟수가 불명확하거나, 특정 '조건'이 만족하는 동안 계속 반복해야 할 때 쓰기 편하다.
- 구조 : while (조건식) { 반복할 코드; 증감식(선택적); }
- 장점 : '조건'에 집중해서 코드를 짤 수 있어서 복잡한 조건을 처리할 때 유용하다.
- 예시 : "사용자가 0을 입력할 때까지 숫자를 계속 더하시오.
횟수가 정해져 있으면 for문, 조건이 중요하고 횟수가 불명확하면 while문 을 사용하는게 좋다!
for문으로 구구단 만들기
#include <stdio.h>
int main(void)
{
int dan = 4;
for (int i = 1;
i < 10;
i++
)
{
printf("%d * %d = %d \n",dan,i,i*dan);
}
return 0;
}
#include <stdio.h>
int main(void)
{
for (int i = 1, dan = 4;
i < 10;
i++
)
{
printf("%d * %d = %d \n",dan,i,i*dan);
}
return 0;
}
for문을 이용한 방법은 이렇게 두 가지가 있다.
변수가 두가지인 경우에는 두 가지 변수를 다 반복해야 되는 경우가 아니라면 고정된 변수는 바깥에 미리 선언해주는게 깔끔하다.
만약 for 문 안에 두가지 변수를 선언하려면 세미콜론으로 변수를 나누는게 아니라 int i = 1, dan = 4 이렇게 자료형을 앞에 먼저 선언해주고 뒤에는 컴마로 이어준다.
for문 안에 두가지 자료형을 변수로 선언할 수 있을까?? -->> 불가능하다.
'C언어 공부' 카테고리의 다른 글
| C언어 기초 - 6-2. 중첩반복문 (0) | 2025.08.14 |
|---|---|
| C언어 기초 - 6-1. 반복문 심화문제 (0) | 2025.08.13 |
| C언어 기초 - 5. 증감연산자의 개념 (0) | 2025.08.13 |
| C언어 기초 - 4. 조건문의 개념 (0) | 2025.08.13 |
| C언어 기초 - 3. 자료형의 개념 (2) | 2025.08.13 |