[6-1] while

2024. 9. 5. 17:23·📚 STUDY/🔥 C

- while문은 C언어의 반복문 중에서 가장 간단하면서, 중요한 구문임.

- while문은 다음과 같은 구조를 가짐.

while (  expression  )  statement
  • 괄호 내의 표현식이 제어식이고, 괄호 이후 나오는 구문이 루프 본문임.
  • while문이 실행되면, 우선 제어식이 평가됨.
  • 제어식 값이 0이 아니라면(참) ➡ 루프 본문이 실행된 다음 제어식을 평가함.
  • 이런 방식으로, 우선 제어식을 확인하고 루프 본문으로 넘어가는 방식이 제어식의 값이 0이 될 때까지 반복됨.

 

예제) 어떤 수 n보다 크거나 같은 수 중, 가장 작은 2의 제곱수를 찾아보자.

          n의 값이 10이라고 가정할 때, while문이 실제로 어떻게 동작하는지 논리를 따라가보자.

i = 1;
while (i < n)
    i = i * 2;

  • 제어식 (i < n)이 참이면, 루프는 계속해서 돌아감.
  • 식이 거짓이 될 때 루프는 종료되며, i의 값은 우리가 의도했던 것처럼 n보다 크거나 작을 것임.

 

예제) 카운트다운

i = 10;
while (i > 0) {
    printf("T 빼기 %d, 세는 중\n", i);
    --i;
}

 

- 이 예제를 통해 알아보는 while문의 특징

  • 제어식이 거짓이면 while문의 루프가 종료된다. 그러므로 루프가 제어식 i > 0에 의해 종료되었다는 것은 i가 반드시 0보다 작거나 같아야한다. (그렇지 않다면 루프는 종료되지 않고 계속해서 실행될 것이다!)
  • while문의 루프 본문이 아예 실행되지 않을 수도 있다. 제어식이 루프 본문이 실행되기 이전에 판별되므로 루프 본문이 단 한 번도 실행되지 않을 수도 있다. 만약 카운트다운 루프에서 i의 값이 음수나 0이였다면 루프는 아무 것도 하지 않을 것이다.
  • while문은 다양한 방식으로 작성될 수 있다. 예를 들어 카운트다운 루프를 다음과 같이 i를 printf 함수의 호출 내에서 감소시켜주어 루프의 길이를 압축시킬 수 있다.

 

📌 무한루프

- 제어식이 언제나 0이 아닌 값을 갖는다면, while문은 종료되지 않음.

- 많은 C언어 프로그래머들은 0이 아닌 상수를 제어식으로 사용해 무한루프를 의도적으로 만들어냄.

 

 

🌐 [프로그래밍] 제곱표 출력하기

🌐 square.c

/* while문을 활용해 제곱수 표를 출력하라 */

#include <stdio.h>

int main(void)
{
    int i;
    int n;

    printf("본 프로그램은 제곱수 표를 출력합니다.\n");
    printf("본 표의 크기를 결정해주세요:  ");
    scanf("%d", &n);

    i = 1;
    while (i <= n) {
        printf("%10d%10d\n", i, i * i);
        ++i;
    }

    return 0;
}

 

 

 

🌐 [프로그래밍] 수열의 합 구하기

🌐 sum.c

/* 수열의 합을 구한다 */

#include <stdio.h>

int main(void)
{
    int n;
    int sum = 0;

    printf("본 프로그램은 정수열의 합을 출력한다.\n");
    printf("정수 여러 개를 입력하라 (수열을 끝내려면 0을 입력하라): ");

    scanf("%d", &n);
    while (n != 0) {
        sum += n;
        scanf("%d", &n);
    }
    printf("정수열의 합: %d", sum);

    return 0;
}

 

 

 

 

💡 본 내용은 K.N.King의 C Programming: A Modern Approach 책을 참고하였습니다.

저작자표시 (새창열림)

'📚 STUDY > 🔥 C' 카테고리의 다른 글

[6-3] for문  (1) 2024.09.05
[6-2] do문  (0) 2024.09.05
Q&A (들여쓰기 방식, switch 문 작성 방식)  (0) 2024.09.05
[5-3] switch문  (1) 2024.09.05
[5-2] if문  (3) 2024.09.05
'📚 STUDY/🔥 C' 카테고리의 다른 글
  • [6-3] for문
  • [6-2] do문
  • Q&A (들여쓰기 방식, switch 문 작성 방식)
  • [5-3] switch문
엄지잉
엄지잉
공부하는거 올림
  • 엄지잉
    엄지잉의 이것저것
    엄지잉
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • 🏫 학교 (2)
        • 👩‍🏫 교직 (1)
        • 🏢 USG (1)
      • 🌱 탐구 (17)
        • 📷 SLAM (7)
        • 💡 연구 (8)
        • 🌐 BOJ (2)
      • 📚 STUDY (47)
        • 🔥 C (32)
        • 📈 알고리즘 (9)
        • 👀 컴퓨터비전 (5)
        • 🔆 UNITY (1)
      • 🏆 자격증 (23)
        • ⚡ 정처기 (17)
        • 🔠 TOEIC (6)
      • 🎈 활동 (4)
        • 🎁 CJ 리모트 인턴십 (2)
        • 😶 기타 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
  • 공지사항

  • 인기 글

  • 태그

    2021년
    실기
    RC
    프언 활용
    정보처리기사
    DB 구축
    컴퓨터비전
    2022년
    식별자
    SW 개발
    C++
    정처기
    Remote Internship
    C언어
    Azure Kinect
    c기초
    mocopi
    SW 설계
    BOJ
    Slam
    C
    알고리즘
    토익
    opencv
    모션캡처
    정보시스템 구축관리
    azurekinect
    Body Tracking
    필기
    Unity
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
엄지잉
[6-1] while
상단으로

티스토리툴바