[CS50] C 언어 - 조건문과 루프

TIL

변수

Scratch에서 블록으로 표현했던 조건문과 루프를 C로 구현해보자.

 

Scratch에서 counter 변수를 생성하고 0을 저장하는 블록은 다음과 같다.

int counter = 0;

int는 변수가 정수(integer)라는 것을 알려주고, counter는 변수 이름, 0은 초기값이다.

 

변수를 1씩 증가시키는 방법은 여러 가지다.

counter = counter + 1;
counter += 1;
counter++;

세 가지 모두 같은 기능을 수행한다.

 

조건문

if (x < y)
{
    printf("x is less than y\n");
}

if (조건) 괄호 안에 검사할 조건을 넣고, { } 안에 조건이 참일 때 수행할 작업을 넣는다.
else를 사용하면 조건이 거짓일 때의 동작을 정의할 수 있다.

 

if (x < y)
{
    printf("x is less than y\n");
}
else
{
    printf("x is not less than y\n");
}

 

else if로 조건을 추가할 수 있다.

if (x < y)
{
    printf("x is less than y\n");
}
else if (x > y)
{
    printf("x is greater than y\n");
}
else if (x == y)
{
    printf("x is equal to y\n");
}

==는 일치 연산자로 같다는 의미다.


x가 y보다 작지도 크지도 않다면 남은 유일한 가능성은 "같다"이므로 마지막 조건을 제거할 수 있다.

if (x < y)
{
    printf("x is less than y\n");
}
else if (x > y)
{
    printf("x is greater than y\n");
}
else
{
    printf("x is equal to y\n");
}

이렇게 효율적으로 코딩하고 적은 메모리와 CPU를 사용하는 것이 중요하다.

 

루프 (Loop)

while 문

while (조건) 괄호 안의 조건이 참인 동안 { } 안의 작업을 반복한다. true는 항상 참이므로 무한히 반복된다.

while (true)
{
    printf("hello, world\n");
}


특정 횟수만큼 반복하려면 다음과 같이 한다.

int i = 0;
while (i < 50)
{
    printf("hello, world\n");
    i++;
}

변수 i를 0으로 초기화하고, i < 50 조건이 참인 동안 반복한다. 매번 i를 1씩 증가시켜 총 50번 실행된다.

 

진행 순서:

  1. i를 0으로 설정
  2. i가 50보다 작은가? → 참
  3. "hello, world" 출력
  4. i를 1 증가
  5. i가 50보다 작은가? → 참 (반복)
  6. i가 50보다 작은가? → 거짓 → 종료

 

for 문

for 문을 사용하면 더 간결하게 표현할 수 있다.

 

for (초기화; 조건; 증가) 형태로 세 가지를 한 줄에 작성한다. while 문보다 훨씬 간결하다.

for (int i = 0; i < 50; i++)
{
    printf("hello, world\n");
}

 

연습 문제

Q. "개발공부는 재미있다!"를 10번 출력하는 코드를 작성해보자

#include <stdio.h>

int main(void)
{
    for (int i = 0; i < 10; i++)
    {
        printf("개발공부는 재미있다!\n");
    }
}

'TIL' 카테고리의 다른 글

[CS50] C 언어 - 사용자 정의 함수와 중첩루프  (0) 2025.11.05
[CS50] C 언어 - 자료형과 연산자  (0) 2025.11.05
[CS50] C 언어 - 문자열  (0) 2025.11.05
[CS50] C 기초  (0) 2025.11.05
[TS] 조건부 타입과 infer를 활용한 타입 추론 연습  (0) 2025.11.05
'TIL' 카테고리의 다른 글
  • [CS50] C 언어 - 사용자 정의 함수와 중첩루프
  • [CS50] C 언어 - 자료형과 연산자
  • [CS50] C 언어 - 문자열
  • [CS50] C 기초
고견
고견
개발 자국 남기기
  • 고견
    개발자국
    고견
  • 전체
    오늘
    어제
    • 분류 전체보기 (157) N
      • Frontend (29)
        • Next.js (16)
        • JavaScript (7)
      • CS (19) N
        • 자료구조 (9)
        • 알고리즘 (5)
        • 운영체제 (4) N
        • 네트워크 (1) N
      • TIL (93)
      • Dev Log (16)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    Next.js
    알고리즘
    트러블 슈팅
    ai 감성 일기장
    emotion diary
    인터페이스
    C
    바닐라 자바스크립트
    javascript
    제네릭
    배열
    문자열
    Trouble Shooting
    함수 타입
    typescript
    클래스
    타입 좁히기
    algorithm
    페이지 라우터
    Pages Router
    자료구조
    react
    CS
    useState
    Spa
    cs50
    앱 라우터
    App Router
    memory
    generic
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
고견
[CS50] C 언어 - 조건문과 루프
상단으로

티스토리툴바