티스토리 뷰
2021.02.09.화
for문
for(초기식; 조건식; 증감식) { 명령문; }
✔ 초기식 : for문 내부에서 사용할 변수를 선언 및 초기화
✔ 조건식 : 조건이 참(true)인 경우 for문 내부의 명령문이 실행
✔ 증감식 : 명령문이 실행된 후, 증감식이 진행
✔ 하나의 for문에서 여러 변수를 사용할 수 있는데, 필요하다면 조건식과 증감식도 추가할 수 있다. [참고 링크] C언어 코딩 도장
✔ 초기식, 조건식, 변화식을 모두 생략하면 무한루프가 가능하다 (예) for(;;) {명령문;}
✔ for문 내부에서 초기식을 선언과 초기화를 함께 하는 것은 C99 방식 (GCC는 C99가 기본 설정이 아니므로 에러 발생)
✔ for문 외부에서 초기식을 선언하는 것은 C99 이전의 방식
✔ 컴파일 방식에 따라서 에러가 발생할 수 있다. [참고 링크] C언어 코딩 도장
for(int i=0; i<5; i++){
print("*");
}
✔ 위의 for문의 실행 순서는 아래와 같다.
i=0 i<5(참) printf("*") i++
i=1 i<5(참) printf("*") i++
i=2 i<5(참) printf("*") i++
i=3 i<5(참) printf("*") i++
i=4 i<5(참) printf("*") i++
i=5 i<5(거짓) for문 종료
while문
초기식;
while(조건식){
명령문;
증감식;
}
✔ for문과 마찬가지로 while문의 조건식이 참인 경우 while문의 명령문이 실행된다.
✔ 조건식이 false인 경우 반복이 종료된다.
int i=0;
while(i<5){
printf("*");
i++;
}
✔ 위의 while문의 실행 순서는 아래와 같다.
i=0 i<5(참) printf("*") i++
i=1 i<5(참) printf("*") i++
i=2 i<5(참) printf("*") i++
i=3 i<5(참) printf("*") i++
i=4 i<5(참) printf("*") i++
i=5 i<5(거짓) while문 종료
무한 루프문
✔ while문의 조건이 항상 참(1)이라면 무한 루프가 발생하며, 이를 이용해 아래와 같은 간단한 프로그램을 만들 수 있다
#include <stdio.h>
int main(void){
int select;
while(1){
printf("================================\n");
printf("1. 메뉴 출력\t2.프로그램 종료\n");
printf("================================\n");
scanf("%d",&select);
if(select==1){
printf(">오늘 메뉴는 김치찌개입니다\n\n");
}else if(select==2){
printf(">프로그램을 종료합니다\n");
break;
}else{
printf(">잘못된 입력입니다. 다시 입력하세요.\n\n");
}
}
}
do-while문
do{
명령문;
증감식;
} while(조건식);
✔ 모든 실행에 앞서 조건을 먼저 확인하는 for문, while문과 달리, do-while문은 먼저 실행 후 조건을 확인한다.
✔ 그렇기 때문에 do-while문은 최소 1번은 무조건 실행된다.
int i=0;
do{
printf("*");
i++;
}while(i<5);
✔ 위의 while문의 실행 순서는 아래와 같다.
i=0 조건 확인 x printf("*") i++
i=1 i<5(참) printf("*") i++
i=2 i<5(참) printf("*") i++
i=3 i<5(참) printf("*") i++
i=4 i<5(참) printf("*") i++
i=5 i<5(거짓) do-while문 종료
[참고] 한빛미디어-혼자 공부하는 C언어 유튜브 강의 / 엘리스 트랙-혼자 공부하는 C언어 / 길벗-C언어 코딩도장 / 위키백과
'BackEnd > C' 카테고리의 다른 글
[5일차] 2. 함수 (0) | 2021.02.14 |
---|---|
[5일차] 1. 중첩 반복문/break문/continue문 (0) | 2021.02.14 |
[4일차] 1. if문/switch문 (0) | 2021.02.13 |
[3일차] 3. 조건/비트 연산자/연산 순서 (0) | 2021.02.13 |
[3일차] 2. sizeof()/복합대입/콤마연산자 (0) | 2021.02.13 |