티스토리 뷰

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언어 코딩도장 / 위키백과

댓글
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근에 올라온 글
글 보관함
Total
Today
Yesterday