04. 조건문

PearLine_Zero·2023년 12월 2일

C

목록 보기
4/10
post-thumbnail

4.1 조건에 따라 분기

✅ if-else문

  • 프로그램을 샐행하는 중에 조건에 따른 분기가 필요할 때 사용.
  • if 문 안에 정의된 조건을 만족하면(참) if 문의 중괄호 영역을, 만족하지 않으면(거짓) else문의 중괄호 영역을 실행.
if (조건) {
	//조건을 만족할 때 수행할 문장
} else {
	//조건을 만족할 때 수행할 문장
    }
  • 조건문은 프로그램을 실행하는 중에 조건에 따른 분기가 필요할 때 사용.
  • if문은 else 없이 단독으로 사용 가능.

✅ if-else if-else문

  • 프로그램을 실행하는 중 분기 조건이 다양할때 사용.
  • if문의 조건이 참이면 if문의 중괄호 역활을 실행.
  • 거짓이면 else if 문의 조건을 다시 확인, else if 문 조건 중 하나라도 참이라면 해당 조건의 중괄호 영역을 실행하고나서 조건문 전체를 빠져나옴.
  • 모든 조건이 거짓이면 else문을 실행.
if (조건) {
	//조건을 만족할 때 수행할 문장
} else if (조건){
	//조건을 만족할 때 수행할 문장
} else if (조건){
	//조건을 만족할 때 수행할 문장
} else {
	// 조건을 만족할 때 수행할 문장
}
  • if문과 else 문 사이에는 else if문을 여러개 사용할 수 있음.

✅ AND 연산자와 OR 연산자

  • AND 연산자(&&)는 2개 이상의 조건을 모두 만족하는지 확인할 때 사용.
  • 두 조건이 모두 참이면 참
  • OR 연산자 (||)는 2개 이상의 조건 중 하나라도 만족하는지 확인할 때 사용.
  • 두 조건 중 하나라도 참이면 참.

4.2 실행 중단

✅ break문

  • 반복문이나 switch문을 탈출할 때 사용.
  • break 문을 만나면 이후 문장들은 실행하지 않고 반복문 또는 switch문 전체를 빠져나옴.
int main(void) {
	for(int i =  1; i <=30; i++) {
    	if(i >=6) {
        	printf("나머지 학생은 집에 가세요.\n");
            break;
           }
           printf("%d번 학생은 조별 발표를 준비하세요.\n", i);
       } 
       return 0;
   }
  • 예시 코드를 보면 if문에 해당하는 조건문이 실행되고 만약 6보다 크거나 같은 조건을 만족하면 '나머지 학생은 집에 가세요.'를 출력하며 뒤에 오는 break문을 만나서 더 이상 반복문 실행을 안 하고 for문으로 바로 탈출해 프로그램을 종료.

✅ continue문

  • 반복문에서 해당 반복을 건너뛰고 다음 반복으로 넘어갈 때 사용.
  • continue 문을 만나면 이후 문장들을 실행하지 않고 다음 반복으로 넘어감.
int main(void) {
	for(int i =  1; i <=30; i++) {
    	if(i >=6 && i <= 10) {
        	printf("%d번 학생은 결석 입니다.\n");
            continue;
           }
           printf("%d번 학생은 조별 발표를 준비하세요.\n", i);
       } 
       return 0;
   }
  • 예시 코드 처럼 continue를 쓸 경우 i가 '7번 학생은 결석입니다'를 출력하고 continue문을 만나면 바깥쪽 if 문에 속하는 printf() 문을 수행하지 않고 i++를 수행하여 반복으로 넘어감.
  • 즉 continue 없이 조건문을 실행하면 '7번 학생은 결석 입니다.'와 '7번 학생은 조별 발표를 준비하세요.'가 실행문이 겹처서 나옴.

4.3 여러 방향으로 분기

✅ 난수 생성

#include<time.h>
#include<stdlib.h>
#include<stdio.h>
  • time.h : 시간 관련 함수를 모아 놓은 헤더파일.
  • stdlib.h : 난수 생성과 문자열 변환 등을 수행하는 함수들을 모아 놓은 헤더파일.
  • 프로그램에서 난수 rand()를 만들 때 다음과 같은 형식을 사용.
    rand () % 어떤 수;
  • 여기서 어떤 수는 내가 뽑고 싶은 숫자의 범위를 지정하는 역할.
  • 난수를 뽑을 때 항상 초기화는 필수. 초기화를 하지 않으면 난수가 제대로 나오지 않음.
  • 초기화 코드는 난수를 뽑는 코드 위쪽에 다음과 같이 작성.
    srand(time(NULL)); // 난수 초기화

✅ switch문

  • if-else문과 마찬가지로 프로그램을 실행하는 중 조건에 따른 분기가 필요할 때 사용.
switch(조건) {
case 값1 : 
	// 수행할 문장
    break;
case 값2 : 
	// 수행할 문장
    break;   
case 값3 : 
	// 수행할 문장
    break;    
default :
	// 어떤 값도 해당하지 않을 때 수행할 문장
}
  • 조건의 값과 일치하는 case 문을 실행하고 break문을 만나면 switch문을 탈출.
  • 조건의 값과 일치하는 case 문이 없다면 default문을 실행.
profile
https://baesaa0304.tistory.com 블로그 이사합니다~

0개의 댓글