[KnockOn] Linux/Ubuntu C언어 조건문, 반복문

2024. 11. 15. 00:42· KnockOn
목차
  1. 프롤로그
  2. 조건문
  3. (1) if문
  4. (2) if-else문
  5. (3) if-else if - else 문
  6. 조건문 실습
  7. 반복문
  8. (1) for문
  9. (2) while문
  10. (3) do-while문
728x90
반응형

프롤로그

ELITE HACKER Bootcamp 3rd 2주차 수업 공부 내용

aws 우분투 서버 하나 파서 연습

조건문 if, else if, else, switch/case문

 

 

조건문

조건문은 프로그램의 흐름을 제어하는 데 사용된다.. 조건문은 특정 조건이 참(true)인지 거짓(false)인지에 따라 코드 블록을 실행하거나 건너뛴다.

 

(1) if문

가장 기본적인 조건문

if (조건식) {
    // 조건식이 참일 때 실행되는 코드
}

이렇게 사용한다.

예시를 들면

#include <stdio.h>

int main(){
    int score = 95;
    
    if (score >=90) {
        printf("A\n");
    }
}

A가 95 이상이기 때문에 A라는 것이 출력이 된다. 그러나, A값을 90 미만으로 바꾸게 되면 아무것도 출력되지 않는다.

 

(2) if-else문

참일때는 if문을 실행하고, 거짓이면 else문을 실행한다.

if (조건식) {
    // 조건식이 참일 때 실행되는 코드
} else {
    // 조건식이 거짓일 때 실행되는 코드
}

이렇게 사용한다.

#include <stdio.h>

int main(){
    int score = 30;
    
    if (score >=90) {
        printf("A\n");
    }
    else{
    	printf("F\n");
    }
}

 

거짓이기에, F가 출력된다.

 

(3) if-else if - else 문

여러 조건을 검사할 때 사용된다. 조건이 순차적으로 평가되며, 첫 번째로 참인 조건의 코드 블록이 실행된다.

if (조건식1) {
    // 조건식1이 참일 때 실행되는 코드
} else if (조건식2) {
    // 조건식2가 참일 때 실행되는 코드
} else {
    // 모든 조건이 거짓일 때 실행되는 코드
}

이렇게 사용되며, 

#include <stdio.h>

int main(){
    int score = 86;
    
    if (score >=90) {
        printf("A\n");
    }
    else if(score >=80){
        printf("B\n");
    }
    else if(score >=70){
        printf("C\n");
    }
    else {
        printf("D\n");
    }
}

이 코드를 실행시키면

첫번째로 만족하는 score >=80 부분에서 끝나버린다.

 

이 if문들은 중첩해서도 사용이 가능하다!

 

(4) switch-case 문

하나의 변수 값에 따라 여러 분기 중 하나를 선택하여 실행한다. 즉 하나의 변수값이 나온case를 실행한다 라는 의미이다.

문제는 해당 case로 가서 밑에 쭉 실행하기 때문에 break문이 없으면 밑에 있는 모든 case들을 다 실행하기에 break가 꼭 있어야한다.

switch (표현식) {
    case 값1:
        // 값1에 해당하는 코드
        break;
    case 값2:
        // 값2에 해당하는 코드
        break;
    // 필요한 경우 다른 case 문 추가
    default:
        // 모든 case에 해당하지 않을 때 실행되는 코드
}

실행 예시를 보면

#include <stdio.h>

int main() {
    int choice = 2;

    switch (choice) {
        case 1:
            printf("선택은 1입니다.\n");
            break;
        case 2:
            printf("선택은 2입니다.\n");
            break;
        case 3:
            printf("선택은 3입니다.\n");
            break;
        default:
            printf("유효하지 않은 선택입니다.\n");
    }

    return 0;
}

이렇게 2로 넘어간다. 근데 만약에 break를 빼버린다면?

#include <stdio.h>

int main() {
    int choice = 2;

    switch (choice) {
        case 1:
            printf("선택은 1입니다.\n");

        case 2:
            printf("선택은 2입니다.\n");

        case 3:
            printf("선택은 3입니다.\n");

        default:
            printf("유효하지 않은 선택입니다.\n");
    }

    return 0;
}

이게 break문이 꼭 있어야한다라는 의미이다.

 

조건문 실습

숫자를 하나 입력받고, 홀수인지 짝수인지 출력하시오.

#include <stdio.h>

int main(){
    int a ;
    scanf("%d", &a);

    if (a%2 == 0){
        printf("짝수입니다\n");
    }
    else{
        printf("홀수입니다\n");
    }

    return 0;
}

 

 

반복문

반복문은 특정 조건이 참일 때까지 코드 블록을 반복해서 실행하는 구조. 프로그램의 효율성을 높이고, 동일한 코드의 반복 작성을 줄이는 데 사용된다.

 

(1) for문

반복 횟수가 정해진 경우에 주로 사용된다. 초기화, 조건식, 증감식을 한 줄에 작성하여 실행시킨다.

for (초기화; 조건식; 증감식) {
    // 조건식이 참일 동안 반복 실행될 코드
}
#include <stdio.h>

int main() {
    for (int i = 0; i < 5; i++) {
        printf("i의 값: %d\n", i);
    }
    return 0;
}

0부터 4까지 0, 1, 2, 3, 4 총 5번 반복되어서 실행되었다.

 

 

(2) while문

참인 동안 코드 블록을 반복 실행한다.. 반복 횟수가 불확실하거나 입력에 따라 달라질 경우 주로 사용된다.

#include <stdio.h>

int main(){
    int count = 0;
    while(count <5){
        printf("%d\n", count);
        count++;
    }
    return 0;
}

초기화, 조건식, 증감식이 위에서는 int count = 0가 초기화, 조건식은 count<5, 증감식은 count ++에서 나온 것을 확인할 수 있다.

아 참고로 while(1) 을 하면 무한 루프이다.

 

(3) do-while문

아까 while문은 조건에 맞지 않다면 while문을 건너 뛰는데 do-while문은 무조건 한번은 실행한 후에, 조건 여부 결정한다.

#include <stdio.h>

int main(){
    int count = 0;
    do{
        printf("%d\n", count);
        count++;

    } while(count <5);
    return 0;
}

 

그리고 break,continue도 있는데, break는 반복문 아예 빠져나가기, continue는 이번차시는 건너뛰고 다음차시로 가기.

 

 

 

 

 

728x90
반응형
저작자표시 비영리 (새창열림)

'KnockOn' 카테고리의 다른 글

[KnockOn] Linux/Ubuntu C언어 함수 -1  (2) 2024.11.19
[KnockOn] Linux/Ubuntu C언어 배열  (0) 2024.11.17
[KnockOn] Linux/Ubuntu C언어 입출력함수  (1) 2024.11.14
[KnockOn] Linux/Ubuntu C언어 연산자  (0) 2024.11.13
[KnockOn] Linux/Ubuntu C언어 자료형  (0) 2024.11.12
  1. 프롤로그
  2. 조건문
  3. (1) if문
  4. (2) if-else문
  5. (3) if-else if - else 문
  6. 조건문 실습
  7. 반복문
  8. (1) for문
  9. (2) while문
  10. (3) do-while문
'KnockOn' 카테고리의 다른 글
  • [KnockOn] Linux/Ubuntu C언어 함수 -1
  • [KnockOn] Linux/Ubuntu C언어 배열
  • [KnockOn] Linux/Ubuntu C언어 입출력함수
  • [KnockOn] Linux/Ubuntu C언어 연산자
성밍쟁
성밍쟁
성밍쟁 공붕방
성밍쟁
너드인의 밤
성밍쟁
전체
오늘
어제
  • 분류 전체보기 (182)
    • 일상 (1)
    • 스펙업 (7)
      • 학회 (0)
      • 멋쟁이사자처럼 (2)
      • 2024 winter-study (5)
    • 코딩테스트 - 백준 (9)
    • 보안 스터디 (56)
      • 시스템 해킹 (10)
      • 리버스 엔지니어링 (0)
      • 웹 해킹 (38)
      • 암호학 (8)
    • bandit (15)
    • 웹 개발 (11)
    • 머신러닝 (0)
    • 데이터베이스 (9)
    • KnockOn (72)
    • DevOps (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 드림핵
  • /bin
  • 1074
  • 11656
  • 1193
  • 2563
  • 3Des
  • 9613
  • AES
  • Alias

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
성밍쟁
[KnockOn] Linux/Ubuntu C언어 조건문, 반복문
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.