쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)

Slides:



Advertisements
Similar presentations
C 언어 컴퓨터학과 C 언어 ( STS ) (Chap5. Selection-Making Decisions ) C 언어.
Advertisements

누구나 즐기는 C언어 콘서트 제5장 조건문.
제6장 조건문.
데이터의 표현과 연산 (1) (Chapter 3)
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
쉽게 풀어쓴 C언어 Express 제5장 수식과 연산자 C Express Slide 1 (of 34)
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
제 1장 C 언어의 소개.
쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25)
구조체 활용 구조체 활용.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
제5장 제어명령
처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
누구나 즐기는 C언어 콘서트 제4장 수식과 연산자.
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
7. while 문의 흐름 제어.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
윤성우의 열혈 C 프로그래밍 윤성우 저 열혈강의 C 프로그래밍 개정판 Chapter 02. 프로그램의 기본구성.
C 9장. 구조체 #include <stdio.h> int main(void) { int num;
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
7장 배열 배열의 정의 배열의 초기화 1차원 배열 2차원 및 다차원 배열 문자 배열 배열과 구조.
표준 출력 함수 printf 출력 데이터 서식화(formatting) 표준 입력 함수 scanf 입력 데이터 서식화
Chapter 06. 선택문.
변수와 자료형.
C언어 프로그래밍의 이해 Ch05. 명령문 Phylogenetic: 계통, 발생(학)의.
Chapter 3 Flow of Control
쉽게 풀어쓴 C언어 Express 제10장 배열 C Express.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4장 제어문 선택문: if 문, if – else 문, switch 문
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
자전거를 배우려면 안장에 올라가 페달을 밟아라.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
컴퓨터 프로그래밍 기초 - 4th : 수식과 연산자 -
제어문 & 반복문 C스터디 2주차.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
컴퓨터 프로그래밍 기초 - 5th : 조건문(if, else if, else, switch-case) -
Chapter 11. 배열과 포인터.
[INA470] Java Programming Youn-Hee Han
Chapter 05. 입출력 함수.
실습과제 1(조건문, ) 표준입력으로 수축기 혈압을 입력 받아 그에 따른 적당한 표현을 화면에 출력하는 프로그램을 if-else 문을 이용하여 작성.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
-Part2- 제1장 1차원 배열이란 무엇인가.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
C언어 프로그래밍의 이해 Ch05. 명령문.
-Part1- 제7장 반복문이란 무엇인가.
-Part1- 제8장 조건문이란 무엇인가 (교재 199페이지 ~ 224페이지)
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express Slide 1 (of 25)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
Chapter 08 조건문.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
어서와 C언어는 처음이지 제16장.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
어서와 C언어는 처음이지 제22장.
11장. 1차원 배열.
Presentation transcript:

쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express Slide 1 (of 28)

일상 생활에서의 조건문의 예 만약 비가 오지 않으면 테니스를 친다. 만약 결석이 1/3이상이면 F학점을 받는다. 만약 시간이 없는 경우에는 택시를 탄다. 만약 날씨가 좋고 공휴일이면 공원에 산책을 간다. 점수가 60점 이상이면 합격이고 그렇지 않으면 불합격이다. 조건문은 프로그램의 흐름을 변경합니다. Slide 2 (of 28)

if문 조건에 따라서 결정을 내리는 경우에 사용 if( 조건식 ) 문장; 조건식이 참으로 계산되면 문장이 실행된다.       문장; 문장이 실행된다. Slide 3 (of 28)

if문 Slide 4 (of 28)

If문의 예 if( sales > 2000 ) bonus = 200; if( score >= 60 )       printf("합격입니다.\n"); if( height >= 130 && age >= 10 )                            printf("놀이기구를 탈 수 있습니다.\n"); bonus에 200을 대입한다. if 문이 끝나면 if 문 다음 문장이 실행된다. if ( temperature < 0 )   printf("현재 영하입니다.\n");           // 조건이 참일 때만 실행 printf("현재 온도는 %도 입니다.\n", temperature); // 항상 실행 Slide 5 (of 28)

복합문 복합문(compound statement) 중괄호를 사용하여 문장들을 그룹핑하는 것, 블록(block)이라고도 한다. 단일문 대신 들어 갈 수 있다. if( score >= 60 )          {       printf("합격입니다.\n");       printf("장학금도 받을 수 있습니다.\n");   } 조건식이 참이면 2개의 문장이 묶여서 실행된다. Slide 6 (of 28)

if-else 문 if( 조건식 ) 문장1; else 문장2; 날씨가 좋은가? 테니스를 친다. 공부를 한다. 거짓 참       문장1; else         문장2; 조건식이 참이면 실행된다. 조건식이 거짓이면 실행된다. Slide 7 (of 28)

if-else 문 if ( score >= 60 ) printf("합격입니다.\n"); else {       printf("합격입니다.\n");       printf("장학금도 받을 수 있습니다.\n"); } else       printf("불합격입니다.\n");       printf("공부하세요.\n"); score가 60이상이면 실행 score가 60미만이면 실행 Slide 8 (of 28)

예제 #3 // 윤년 판단 프로그램 #include <stdio.h> int main(void) {         int year;                  printf("연도를 입력하시오: ");         scanf("%d", &year);         if((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)                 printf("%d년은 윤년입니다.\n", year);         else                 printf("%d년은 윤년이 아닙니다.\n", year);         return 0; } 연도를 입력하시오: 2005 2005년은 윤년이 아닙니다. Slide 9 (of 28)

중첩 if if 문에 다시 if 문이 포함 if( 조건식1 )       if( 조건식2 )               문장; Slide 10 (of 28)

If 문안의 문장자리에 if-else 문이 들어간 경우 if( score > 80 ) if( score > 90 ) printf("당신의 학점은 A입니다.\n"); If 문안의 문장자리에 if문이 들어간 경우 if( score > 80 ) if( score > 90 ) printf("당신의 학점은 A입니다.\n"); else printf("당신의 학점은 B입니다.\n"); If 문안의 문장자리에 if-else 문이 들어간 경우 Slide 11 (of 28)

만약 다른 if절과 else 절을 매치시키려면 중괄호를 사용하여 블록으로 묶는다. else 절은 가장 가까운 if절과 매치된다. if(score > 80) if( score > 90) printf(“당신의 학점은 A입니다\n”); else printf(“당신의 학점은 B입니다\n”) O X if( score > 80 ) {    if( score > 90 )       printf("당신의 학점은 A입니다.\n"); } else    printf("당신의 학점은 A나 B가 아닙니다.\n"); 만약 다른 if절과 else 절을 매치시키려면 중괄호를 사용하여 블록으로 묶는다. Slide 12 (of 28)

If-else 절 안에 다른 if-else절이 포함될 수 있다. if( score > 80 ) {    if( score > 90 )       printf("당신의 학점은 A입니다.\n");   else        printf("당신의 학점은 B입니다.\n"); } else  {   if( score > 70 )       printf("당신의 학점은 C입니다.\n");       printf("당신의 학점은 D 또는 F입니다.\n"); If-else 절 안에 다른 if-else절이 포함될 수 있다. Slide 13 (of 28)

연속적인 if if( 조건식1 ) 문장1; else if( 조건식2 ) 문장2; else if( 조건식3 ) 문장3; else       문장1; else if( 조건식2 )       문장2; else if( 조건식3 )       문장3; else       문장4; Slide 14 (of 28)

score >= 80 && score < 90 연속적인 if 성적을 입력받아서 연속적인 if를 사용하여 학점을 매기는 코드 if (score >= 90)       printf("합격: 학점 A\n"); else if (score >= 80)      printf("합격: 학점 B\n"); else if (score >= 70)      printf("합격: 학점 C\n"); else if (score >= 60)      printf("합격: 학점 D\n"); else      printf("불합격: 학점 F\n"); score >= 80 && score < 90 와 같이 쓸 필요는 없음 Slide 15 (of 28)

문자 분류 예제 // 문자들을 분류하는 프로그램 #include <stdio.h> int main(void) {         char ch;                  printf("문자를 입력하시오: ");         scanf("%c", &ch);   if( ch >= 'A' && ch <= 'Z' )                        printf("%c는 대문자입니다.\n", ch);         else if( ch >= 'a' && ch <= 'z' )                   printf("%c는 소문자입니다.\n", ch);         else if( ch >= '0' && ch <= '9' )                   printf("%c는 숫자입니다.\n", ch);         else                 printf("%c는 기타문자입니다.\n", ch);   return 0; } 문자를 입력하시오: c c는 소문자입니다. Slide 16 (of 28)

switch 문 여러가지 경우 중에서 하나를 선택하는데 사용 switch(조건식) { case c1: 문장1; break;       문장1;       break;   case c2:       문장2;   ...   case cn:       문장n;   default:       문장d; } Slide 17 (of 28)

switch 문의 실행 순서 break는 문장의 실행을 끝내고 switch 문을 탈출하는데 사용합니다. Slide 18 (of 28)

예제 int main(void) { int number; printf("정수를 입력하시오:"); scanf("%d", &number); switch(number) { case 0: printf("없음\n"); break ; case 1: printf("하나\n"); case 2: printf("둘\n"); default: printf("많음\n"); break; } } 정수를 입력하시오: 1 하나 Slide 19 (of 28)

break가 생략되는 경우 break를 만날 때까지 계속 문장을 실행합니다. Slide 20 (of 28)

의도적인 break생략 2개의 경우를 하나로 묶어서 처리하기 위하여 이러한 기법을 사용 switch(number) { case 0: printf("없음\n"); break; case 1: printf("하나\n"); case 2: case 3: printf("두서너개\n"); default: printf("많음\n"); } 2개의 경우를 하나로 묶어서 처리하기 위하여 이러한 기법을 사용 Slide 21 (of 28)

default 문 어떤 case문과도 일치되지 않는 경우에 선택 Slide 22 (of 28)

switch 문과 if-else 문 int main(void) { int number; scanf("%d", &number);   if( number == 0 )       printf("없음\n");   else if( number == 1 )       printf("하나\n");   else if( number == 2 )       printf("둘\n");   else        printf("많음\n"); } switch(number)         {                 case 0:                         printf("없음\n");                         break;                 case 1:                         printf("하나\n");                 case 2:                         printf(“둘\n");                 default:                         printf("많음\n");         } Slide 23 (of 28)

예제 // 달의 일수를 계산하는 프로그램 #include <stdio.h> int main(void) { int month, days; printf("일수를 알고 싶은 달을 입력하시오: "); scanf("%d", &month); switch(month) { case 2: days = 28; break; case 4: case 6: case 9: case 11: days = 30; default: days = 31; } printf("%d월의 일수는 %d입니다.\n", month, days); return 0; } 일수를 알고 싶은 달을 입력하시오: 12 12월의 일수는 31입니다. Slide 24 (of 28)

예제 #include <stdio.h> int main(void) { char op; int x, y; printf("수식을 입력하시오: "); scanf("%d %c %d", &x, &op, &y); switch(op) { case '+': printf("%d %c %d = %d \n", x, op, y, x + y); break; case '-': printf("%d %c %d = %d \n", x, op, y, x - y); break ; case '*': printf("%d %c %d = %d \n", x, op, y, x * y); case '/': printf("%d %c %d = %d \n", x, op, y, x / y); case '%': printf("%d %c %d = %d \n", x, op, y, x % y); default: printf("지원되지 않는 연산자입니다. \n"); } return 0; } 수식을 입력하시오: 10 % 3 10 % 3 = 1 Slide 25 (of 28)

Goto문 조건없이 어떤 위치로 점프 사용하지 않는 것이 좋음 Slide 26 (of 28)

예제 // 구구단출력프로그램 #include <stdio.h> int main(void) { int i = 1; loop: printf("%d * %d = %d \n", 3, i, 3 * i); i++; if( i == 10 ) goto end; goto loop; end: return 0; } 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 3 * 4 = 12 3 * 5 = 15 3 * 6 = 18 3 * 7 = 21 3 * 8 = 24 3 * 9 = 27 Slide 27 (of 28)

Q & A Slide 28 (of 28)