728x90
728x90
반복
: 같은 처리 과정을 여러 번 되풀이하는 것
while 문
: 주어진 조건이 만족되는 동안 문장들을 반복 실행
while (조건식) {
문장; // 조건식이 참이면 문장 반복 실행
...
}
📢 while 문 사용 시 종료조건이 명확히 있어야 한다. (안그러면 무한 루프 돌게 됨)
#include <stdio.h>
int main(void)
{
int i = 0;
while (i < 5)
{
printf("Hello world! \n");
i++;
}
return 0;
}
if 문과 while 문의 차이
- if 문 : 조건이 만족되면 한번만 실행
- while 문 : 조건이 만족 되는 동안 여러번 반복 실행
while 문에서 주의사항
- 변수의 증감
int x = 1;
while (x < 10)
{
printf("while loop\n");
x--; //변수의 증가가 아닌 감소
}
- 반복 루프 내에 증감조건 포함
int x = 0;
while (x < 3)
printf("while loop\n");
x++; // 반복 루프 내에 포함되어 있지 않음
- while 문의 syntax 구조 정확히 파악
int x = 0;
while (x < 3); // 조건식 뒤에 세미콜론(;) - syntax error
{
printf("while loop\n");
x++;
}
- 센티널(sentinel) 값(보초값)
: 입력되는 데이터의 끝을 알리는 특수 값
#include <stdio.h>
int main(void)
{
int grade, n;
float sum, average;
n = 0;
sum = 0;
grade = 0;
printf("종료 시 음수를 입력하시오.\n");
while (grade >= 0) // 센티널 값이 음수가 됨
{
printf("성적을 입력하시오. : ");
scanf("%d", &grade);
sum += grade;
n++;
}
sum -= grade;
n--;
average = sum / n;
printf("성적의 평균은 %f 입니다.\n", average);
return 0;
}
do-while 문
: ( while 문과 달리 )적어도 한 번 반복문장을 실행한다.
do {
문장1; // 조건문의 참/거짓에 상관없이 무조건 실행
문장2;
...
} while (조건); // 조건이 참이면 반복 실행
📢 do-while 문은 보통 입력을 반복문에서 처리할 때 입력의 조건을 처리하고자 할때 이용한다.
#include <stdio.h>
int main()
{
int n=0;
do {
printf("100이하의 정수를 입력하시오: ");
scanf("%d", &n);
} while (n>100);
return 0;
}
for 문
: 정해진 횟수만큼 반복하는 구조
for (초기식; 조건식; 증감식){
문장; // 조건식이 참이면 문장 반복 실행
...
}
#include <stdio.h>
int main(void)
{
int i;
for (i = 0; i < 5; i++)
printf("Hello World!\n");
return 0;
}
for 문의 다양한 형태
- 무한 반복 루프
for (;;)
printf("Hello World!\n");
- 초기식, 조건식, 증감식 생략 가능
for (; n < 10; n++)
printf("Hello World!\n");
- 2개 이상 변수 초기화
for (n = 0, k = 0; n < 10; n++)
printf("Hello World!\n");
- 어떤 수식도 가능
for (printf("for loop"), n = 0; n < 10; n++)
printf("Hello World!\n");
🌟for 문 syntax 주의!
[초기식; 조건식; 증감식] 의 구분으로 세미콜론(;) 을 꼭 함께 붙여야한다.
while 문과 for 문의 비교
중첩 반복문
: 반복문 안에 다른 반복분이 위치
반복문 중단
break 문
: 반복 루프를 빠져 나올때 사용
goto 문
: 반복문에서 특정 위치로 이동하고자 할때 사용
- 키보드입력을 통한 중단점 설정
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i, j;
for (j = 1; j < 1000; j++)
{
for (i = 1; i < 50; i++)
{
if (kbhit()) goto OUT;
printf("*");
}
printf("\n");
}
OUT:
return 0;
}
💡
- kbhit() 함수
: 키보드의 입력이 있는지 확인
키보드 입력 발생 시 true 값 반환 - getch() 함수
: 키보드의 입력이 있을 때까지 대기
키보드 입력 발생 시 키 값 반환
<conio.h> 헤더파일 내에 구현 되어있다.
continue 문
: 현재의 반복을 중단하고 다음 반복 실행
아래 노션 페이지에 C 공부 내용에 대해 업로드 합니다!
수정사항이나 질문사항의 경우 노션 댓글로 남겨주세요!(*•̀ᴗ•́*)و ̑̑
개발 환경
작성 플랫폼
728x90
'🧑💻 Language > C·C++' 카테고리의 다른 글
[C 이론] 9. 함수와 변수 (0) | 2021.05.13 |
---|---|
[C 이론] 8. 함수 (0) | 2021.05.06 |
[C 이론] 6. 조건문 (0) | 2021.05.03 |
[C 이론] 5. 수식과 연산자 (0) | 2021.05.03 |
[C 이론] 4. 변수와 자료형 (0) | 2021.05.03 |