4장 제어문 선택문: if 문, if – else 문, switch 문

Slides:



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

스택 스택 추상자료형 스택 스택의 구현 스택의 응용 한빛미디어(주).
제6장 조건문.
데이터의 표현과 연산 (1) (Chapter 3)
제 3 장 변수와 자료형.
슬라이드 1~21까지는 각자 복습! 슬라이드 22부터는 수업시간에 복습
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
제 1장 C 언어의 소개.
제 4장 문 장 배정문 혼합문 제어문 표준 입출력.
제 7 장 문장 구조화 제어문 지정문 조건문 반복문 GOTO 문 비결정적문.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
제5장 제어명령
C언어: 배열 (Arrays).
컴퓨터의 기초 제 4강 - 표준 입출력, 함수의 기초 2006년 4월 10일.
처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문.
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
7. while 문의 흐름 제어.
연산자 대입 연산자 산술 연산자 관계 연산자 논리 연산자 비트 연산자 콤마 연산자 축약 연산자 sizeof 연산자
C 7장. 배열과 문자열 #include <stdio.h> int main(void) { int num;
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
표준 출력 함수 printf 출력 데이터 서식화(formatting) 표준 입력 함수 scanf 입력 데이터 서식화
Chapter 06. 선택문.
C언어 프로그래밍의 이해 Ch05. 명령문 Phylogenetic: 계통, 발생(학)의.
내용 프로그래밍 언어(programming language) C 언어란?? C 언어 역사 C 언어 특징 C 프로그램의 구조
Chapter 3 Flow of Control
제 3 장 상수와 변수
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
2장 표준 입출력 표준 입출력 함수의 종류 형식화된 입출력 문자 입출력 문자열 입출력.
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
컴퓨터 개론 및 실습 Dept. Computer Eng. Hankuk University of Foreign Studies
컴퓨터의 기초 제 2강 - 변수와 자료형 , 연산자 2006년 3월 27일.
자전거를 배우려면 안장에 올라가 페달을 밟아라.
제2장 제어구조와 배열 if-else 문에 대하여 학습한다. 중첩 if-else 문에 대하여 학습한다.
제어문 & 반복문 C스터디 2주차.
4장 - PHP의 표현식과 흐름 제어-.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
컴퓨터 프로그램 제2,3장 간단한 C 프로그램 김 문 기.
Java의 정석 제 4 장 조건문과 반복문 Java 정석 남궁성 강의
[INA470] Java Programming Youn-Hee Han
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
Java 3장. 자바의 기본 구조 I : 변수, 자료형, 연산자 public class SumTest {
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 Slide 1 (of 28)
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
Chapter 08 조건문.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
9장. C 언어의 핵심! 함수. 9장. C 언어의 핵심! 함수 9-1 함수의 정의와 선언 main 함수 다시 보기 : 함수의 기본 형태 { } 그림 9-1.
3주차: Control Flow and Others
어서와 C언어는 처음이지 제16장.
C 13장. 입출력 라이브러리 #include <stdio.h> int main(void) { int num;
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
printf("Global Korea\n");
C 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
Chapter 09. 배열.
어서와 C언어는 처음이지 제22장.
개정판 누구나 즐기는 C언어 콘서트 제12장 파일 입출력 출처: pixabay.
배열.
Presentation transcript:

4장 제어문 선택문: if 문, if – else 문, switch 문 반복문: while 문, for 문, do – while 문 연산자: 관계 연산자와 논리 연산자, 증감연산자, 복합치환연산자, 컴마연산자 분기문: break, continue, goto

문장과 실행 순서 문장(statement) 문장의 실행 순서 단문(simple statement) 수식 ; (예) a = b + c; printf("Hello"); 제어문(control statement): 프로그램의 실행 순서를 제어함 선택문: if, if – else, switch 반복문: for, while, do – while 분기문: goto, break, continue 복합문(compound statement) { … 여러 개의 문장들로 이루어진 복합문은 문장; 문법적으로는 한 문장으로 취급. … 문장; } 문장의 실행 순서 기본적으로 순차적으로 수행 제어문을 사용하면 선택 실행 또는 반복 실행 가능 C 언어 프로그래밍

if 문 if 문 (예 4.1) 두 변수 중 큰 값 구하기 if (조건식) … 조건식이 참일 때만 문장 문장 실행 문장 문장 실행 if (score < 60) printf("You have failed.\n"); (예 4.1) 두 변수 중 큰 값 구하기 max = a; … a를 최대값 max라고 가정 if ( b > a ) … b가 a보다 크면 max = b; … b가 max가 된다. C 언어 프로그래밍

if 문 (2) 복합문을 사용한 if 문 예: 두 변수 a, b를 비교하여 큰 값을 a에 작은 값을 b에 넣기 문장 여러 개 이면 복합문 사용 문장 … } 예: 두 변수 a, b를 비교하여 큰 값을 a에 작은 값을 b에 넣기 if (a < b) { … a가 b보다 작으면 tmp = a; a와 b를 서로 교환함 a = b; b = tmp; a b tmp 1 2 3 C 언어 프로그래밍

관계 연산자 조건식과 연산자 관계 연산자 조건식은 대개 값들의 비교로 이루어짐 값의 비교에 관계 연산자와 논리 연산자가 주로 사용됨 관계 연산자 동등 연산자: ==, != C 언어 프로그래밍

C언어에서의 참, 거짓 C언어에서의 참, 거짓 관계 연산 수식의 값 조건식으로 임의의 수식을 사용할 수 있음 nonzero 수식  참 (True) zero 수식  거짓 (False) 관계 연산 수식의 값 참이면 1 거짓이면 0 printf("%d %d \n", 100 > 50, 100 < 50); … [출력] 1 0 조건식으로 임의의 수식을 사용할 수 있음 1. if ( a ) … a가 0이 아니면(참 이면) printf("non zero\n"); 출력 2. if (a = 5) … 수식 a=5의 값은 5이므로 항상 참 printf("a is five\n"); (잘못된 예: =는 ==으로 고쳐야 함) C 언어 프로그래밍

논리 연산자 논리 연산자 연산자 우선 순위 1. 괄호 2. 단항연산자 3. 곱셈, 나눗셈 4. 덧셈, 뺄셈 5. 관계연산자 > >= < <= 6. 동등연산자 == != 7. 논리곱 && 8. 논리합 | | 9. 치환연산자 C 언어 프로그래밍

예제 예제 (예 4.5) 문자 c가 영문자가 아니면 에러메시지 출력 a가 0이상, 100미만이다. a>=0 && a<100 a가 0미만이거나 100이상이다. a<0 || a>=100 x, y, z 중에서 x가 가장 작은 수이다. x <= y && x <= z a와 b의 합이 c와 d의 차보다 작다. a + b < c – d if (a >= 0 && a < 100) printf("a is between 0 and 100\n"); (예 4.5) 문자 c가 영문자가 아니면 에러메시지 출력 if ( ! ( c >= 'A' && c <= 'Z' | | c >= 'a' && c <= 'z' ) ) printf("c is not alphabet\n"); 또는 if ( ! ( c >= 'A' && c <= 'Z' ) && ! (c >= 'a' && c <= 'z' ) ) 드모르간 법칙 !(p && q)  !p || !q !(p || q)  !p && !q C 언어 프로그래밍

논리연산자의 단축 평가 * 논리 연산의 단축평가 나머지 수식의 결과에 관계없이 연산 결과를 알 수 있을 때에 나머지 수식의 평가를 하지 않는다. 수식1 && 수식2  수식1 이 거짓이면 연산결과가 거짓 (수식2를 평가하지 않음) 수식1 | | 수식2  수식1이 참이면 연산결과가 참 (수식2를 평가하지 않음) if ( a != 0 && b / a > 10 ) … a가 0이 아닐 때에만 계산함 C 언어 프로그래밍

if – else 문 if – else 문 (예 4.9) y를 x로 나눈 몫을 출력 if (조건식) 문장1 … 참일 때 수행 문장1 … 참일 때 수행 else 문장2 … 거짓일 때 수행 (예 4.9) y를 x로 나눈 몫을 출력 if (x == 0) printf("0으로 나눌 수 없습니다.\n"); printf("몫 = %d\n", y / x ); C 언어 프로그래밍

조건 연산자 조건 연산자: ? : 예: 두 수의 a, b의 최대값을 max에 저장 조건식 ? 수식1 : 수식2 조건 연산자: ? : 조건식 ? 수식1 : 수식2 3항 연산자: 피연산자가 3개 조건식: 참  수식값 = 수식1 조건식: 거짓  수식값 = 수식2 예: 두 수의 a, b의 최대값을 max에 저장 1. max = (a > b) ? a : b; 2. (a>b) ? (max=a) : (max=b); … 뒤의 두 괄호는 반드시 필요함 3. if ( a > b ) max = a; else max = b; C 언어 프로그래밍

예제 (연습 4.4-1) 연도를 입력 받아서 평년과 윤년을 판단하는 프로그램 윤년: (1) 4로 나누어지고 100으로 나누어지지 않는 연도 (2) 400으로 나누어지는 연도 flag 변수 사용: 이 프로그램은 조건식의 결과를 변수 isleap에 저장하고 if문의 조건식에 저장된 변수값을 사용함 C 언어 프로그래밍

중첩된 if문 중첩된 if 문 (예 4.11) 변수 a, b의 부호에 따라서 다음 표와 같이 출력 if와 else의 목표문으로 if 또는 if – else 문을 사용한 것 (예 4.11) 변수 a, b의 부호에 따라서 다음 표와 같이 출력 C 언어 프로그래밍

중첩된 if문 – 다단계 if문 다단계 if문 if (조건식1) 문장1 else if (조건식2) 문장2 … else if (조건식n) 문장n else 문장n+1 C 언어 프로그래밍

예제 (예 4.12) 점수에 따른 등급 부여 A: 90점이상, B: 80점대, C: 70점대, D: 60점대, F: 60점미만 int score; /* 점수 */ char grade; /* 등급 */ ... if (score >= 90) grade = 'A'; else if (score >= 80) grade = 'B'; else if (score >= 70) grade = 'C'; else if (score >= 60) grade = 'D'; else grade = 'F'; 위에서 80점대를 다음과 같이 작성하지 않도록 주의 else if (score >= 80 && score < 90) grade = 'B' score < 90 의미가 포함됨 C 언어 프로그래밍

switch 문 switch문 switch (정수식) { case 값1 : 문장1; … break; case 값n : 문장n; … break: switch문 종료 break; break가 없으면 다음 문장 실행 default : 문장n+1; … } 정수식 값에 해당하는 case의 문장부터 실행 해당하는 case가 없으면 default의 문장부터 실행 정수식? =값1 =값2 =값n 기타 문장들1 문장들2 문장들n 문장들 n+1 label C 언어 프로그래밍

예제 (예 4.14) 점수에 따른 등급 부여 switch ( score / 10 ) … 성적의 10자리를 얻는다. { case 10: … break가 없으므로 다음 문장을 실행 case 9: grade = 'A'; break; case 8: grade = 'B'; break; case 7: grade = 'C'; break; case 6: grade = 'D'; break; default: grade = 'F'; } C 언어 프로그래밍

예제 (예 4.43) 다음과 같이 소득에 따른 세금 계산 0 ~ 100 0.00 10 100 ~ 200 10.00 14 소득 (만원) 기본 세금 초과분에 대한 세율(%) 0 ~ 100 0.00 10 100 ~ 200 10.00 14 200 ~ 400 24.00 20 400 ~ 64.00 30 세금 계산식 소득(income) 세금(tax) 0 ~ 100 tax = income * 0.1 100 ~ 200 tax = 100*0.1 + (income-100)*0.14 200 ~ 400 tax = 100*0.1 + 100*0.14 + (income-200)*0.2 400 ~ tax = 100*0.1 + 100*0.14 + 200*0.2 + (income-400)*0.3 C 언어 프로그래밍

예제 C 언어 프로그래밍

while문 while문 (예 4.18) 음수 또는 0이 입력될 때까지의 입력된 정수의 합을 계산 문장 문장 반복 실행 while (조건식) { 문장 … } (예 4.18) 음수 또는 0이 입력될 때까지의 입력된 정수의 합을 계산 ... sum : 누계 C 언어 프로그래밍

반복제어 변수 (예 4.19) 1부터 10까지의 정수의 합 계산 sum = 1 + 2 + 3 + … + 10; sum = 0; sum = sum + 1; i=1~10 에 대해서 다음 문장 반복수행 sum = sum + 2; sum = sum + i … sum = sum + 10; sum = 0; … 합의 초기값은 0 i = 1; …초기화 while ( i <= 10 ) { …검사 sum = sum + i; i = i + 1; …갱신 } 변수 i가 반복제어변수 반복제어변수: - 반복할 때마다 값이 변화 - 변수 값에 따라서 반복수행 여부결정 C 언어 프로그래밍

예제 (예 4.21) 실수 r의 n제곱을 계산 (n은 정수) 곱의 초기값 = 1 (곱셈 항등원) 곱의 초기값 = 1 (곱셈 항등원) 반복제어: n을 초기값에서 시작하여 반복할 때마다 1씩 감소시켜서 n이 0이 될 때까지 반복하면 n의 초기값 횟수만큼 반복 수행 n번 반복하면 rn이 계산됨 C 언어 프로그래밍

for문 for문 예: N번 반복 실행 for (수식1; 수식2; 수식3) … 수식2가 참인 문장 동안 반복 문장 동안 반복 반복제어변수를 사용하는 경우에 적합 수식1: 초기화 수식2: 조건식 수식3: 갱신 예: N번 반복 실행 1. for (i = 1; i <=N; i = i+1 ) … 1부터 N까지 문장 2. for (i = 0; i < N; i = i+1 ) … 0부터 N-1까지 C 언어 프로그래밍

예제 (예 4.22) 1부터 10까지의 정수의 합 계산 (예 4.24-1) 수열 an = 2an-1 – 1 (a1=3)의 a10 구하기 (예 4.24-2) Fibonacci수열 Fn = Fn-2 + Fn-1 (F1=0, F2=1)의 F20 구하기 a b c 1 2 3 4 + = … a: Fn-2, b: Fn-1, c: Fn C 언어 프로그래밍

무한 루프와 공문 무한루프 공문(null statement): ; 만으로 이루어진 아무 동작도 하지 않는 문장 반복조건이 항상 참인 반복문 for ( ; ; ) … 수식2가 생략되면 참(true)으로 간주함 문장 while (1) … 조건식 1은 참(true)이다 무한 루프인 반복문은 내부에서 반복문을 종료할 수 있어야 함.  break 공문(null statement): ; 만으로 이루어진 아무 동작도 하지 않는 문장 while (조건식) ; while(조건식)  무한 루프 발생 가능 ; C 언어 프로그래밍

반복문 설계 반복 자료 입력을 종료 시키는 방법 (예 4.26) EOF를 만날 때 까지 정수를 입력하여 평균 계산 입력 자료 수를 먼저 입력하여 이 횟수 만큼 반복 입력 정상적으로 사용되지 않는 자료(보초)를 마지막에 입력 입력 함수의 파일 끝(EOF) 반환 기능 이용 (Ctrl-Z 또는 Ctrl-D 입력) (예 4.26) EOF를 만날 때 까지 정수를 입력하여 평균 계산 C 언어 프로그래밍

예제 네제곱표 만들기 #include <stdio.h> main() 출력 { 1 1 int a; 3 81 5 625 for (a=1; a<=13; a = a+2) printf("%d %d \n",a, a*a*a*a); } 문제점: 각 열이 나란하게 출력되지 않음  해결책: 출력의 각 필드 폭을 일정하게 함 출력 1 1 3 81 5 625 7 2401 9 6561 11 14641 13 28561 C 언어 프로그래밍

잘못된 입력 처리하기 * scanf() 함수의 반환값 정수가 아닌 입력에 대해서 반복 종료 (예 4.26)의 반복문 에서 EOF를 1로 바꾸면 파일 끝뿐만 아니라 정수가 아닌 입력에 대해서도 반복을 종료함 정수가 아닌 입력을 무시하고 계속 입력* scanf("%*s") 를 사용하면 잘못된 입력을 무시하고 다음 자료 입력 C 언어 프로그래밍

형식지정출력 - 예제 (예 4.27) 네제곱표 만들기 출력 1 1 3 81 5 625 7 2401 9 6561 11 14641 문제점: 각 열이 나란하게 출력되지 않음  해결책: 출력의 각 필드 폭을 일정하게 함 1 1 3 81 5 625 7 2401 9 6561 11 14641 13 28561 출력 C 언어 프로그래밍

형식지정 출력 필드 폭과 정렬: printf 함수의 형식지정자 C 언어 프로그래밍

예제 네제곱표 연월일을 2003/04/05 형식으로 출력 화씨,섭씨온도 환산표 (0도부터 100도까지 5도간격) 출력 printf("%2d %6d\n",a, a*a*a*a); 연월일을 2003/04/05 형식으로 출력 yr = 2003; mo = 4; day = 5; printf("%4d/%02d/%02d\n", yr, mo, day); 화씨,섭씨온도 환산표 (0도부터 100도까지 5도간격) printf("%4s %6s\n", "화씨", "섭씨"); … 환산표 헤더 for (f = 0; f <= 100; f = f + 5) { c = (f - 32.0) * 5.0 / 9.0; printf("%4d %6.1f\n", f, c); } 1 1 3 81 5 625 7 2401 9 6561 11 14641 13 28561 C 언어 프로그래밍

증감 연산자 증감 연산자 증감 연산 수식의 값 증가연산자: i++  i = i+1 감소연산자: i--  i = i-1 (예) i = 5; a = ++i; i++; a = i; 결과: i=6, a=6 a = i++; a = i; i++; 결과: i=6, a=5 C 언어 프로그래밍

복합 치환 연산자 복합 치환 연산자 (예 4.30) var op= 수식  var = var op 수식 치환연산자 사용 복합치환연산자 사용 a = a + 2 a += 2 count = count – 1 count –= 1 sum = sum + j sum += j d = d / 12 d /= 12 n = n * (k+1) n *= k+1 … 괄호 불필요 C 언어 프로그래밍

예제 (예 4.31) 다음과 같은 수열의 20항까지 출력, 20항까지의 합 출력 1 2 4 7 11 16 … 1 2 4 7 11 16 … 증가량이 1, 2, 3, …과 같이 1씩 증가함 C 언어 프로그래밍

실습 문제 while 반복문을 사용하여 십진수를 입력하면 그것을 ASCII 값으로 하는 문자를 출력하는 프로그램을 작성하라. (단, 끝날때는 999를 입력한다고 하자.) 자료의 개수를 입력하고, 그 개수 만큼의 자료를 입력하면 합과 평균을 구하는 프로그램을 작성하라. C 언어 프로그래밍

do – while문 do-while문 (예 4.32) 정상적인 메뉴 입력이 들어올 때까지 반복 입력 do 문장 … 조건에 관계없이 문장이 while (조건식); 적어도 한번은 실행됨 do { 문장; … } while (조건식); … 세미콜론(;)으로 끝남에 주의 (예 4.32) 정상적인 메뉴 입력이 들어올 때까지 반복 입력 C 언어 프로그래밍

중첩된 반복문 (예 4.33) 다음과 같은 구구단 표 출력 중첩된 반복문 2*1= 2 2*2= 4 2*3= 6 ... 2*6=12 2*7=14 2*8=16 2*9=18 3*1= 3 3*2= 6 3*3= 9 ... 3*6=18 3*7=21 3*8=24 3*9=27 ... 안쪽 반복문의 반복 횟수가 고정됨 중첩된 반복문 반복문 안에 반복문이 포함된 것 바깥 반복문과 안쪽 반복문은 가능한 한 같은 반복제어변수를 사용하지 않아야 함. C 언어 프로그래밍

예제 (예 4.34) 오른쪽과 같이 10줄을 출력 * ** *** **** ***** i번째 줄은 i개의 *를 출력함 안쪽 반복문의 반복 횟수가 바깥 반복문의 반복제어 변수에 의해서 정해짐. * ** *** **** ***** C 언어 프로그래밍

연습 문제 1. 다음과 같이 10줄을 출력하는 프로그램을 작성하시오. * ** *** **** ***** 2. 반복문을 사용하여 15+25+…+105 을 계산하는 프로그램을 작성하시오. 단 5제곱을 계산할때도 반복문을 사용하시오. C 언어 프로그래밍

break문 break문 switch 또는 반복문(while, for, do-while)의 실행을 종료함. 문장; … if (조건식2) break; … 무한루프에서는 반드시 사용 } C 언어 프로그래밍

예제 (예 4.35) 양수가 입력되는 동안 입력의 합 계산 sum = 0; scanf("%d", &number); while (number > 0) { sum = sum + number; } /* 예 4.18 */ while (1) { /* 무한 루프 */ if (number <= 0) break; } break를 사용 C 언어 프로그래밍

continue문 continue문 반복문에서 반복 문장의 현재 단계의 수행을 종료하고 다음 반복 시도 while (조건식1) { 문장; … if (조건식2) continue; } for (수식1; 조건식1; 수식3) { if (조건식2) continue; … for문의 continue는 while문과 문장; … 동작에 차이가 있다. C 언어 프로그래밍

goto문 분기문 goto문 실행순서를 원하는 곳으로 이동 (예) break, continue, goto goto label; … label: 문장 사용을 권장하지 않음 중첩된 반복문에서 안쪽 반복문에서 한번에 바깥 반복문을 빠져 나올 때 유용 바깥 반복문 안쪽 반복문 goto end; break end: 문장 C 언어 프로그래밍

내장 치환 내장 치환(embedded assignment) (예 4.39) 한 줄의 문자를 입력하여 소문자를 대문자로 변환 치환연산자가 보통 수식에 포함되어 사용되는 것 z = (x=6) + 7; (a = b+c ) != 5; 조건식에 내장 치환을 사용하면 프로그램이 간결해질 수 있음 (예 4.39) 한 줄의 문자를 입력하여 소문자를 대문자로 변환 c = getchar(); while (c != '\n') { if (c >= 'a' && c <= 'z') /* 소문자이면 */ c = c - 'a' + 'A'; /* 대문자로 변환 */ putchar(c); /* 문자 출력 */ c = getchar(); /* 다시 문자 입력 */ } /* 예 4.17 */ while ( (c = getchar() ) != '\n') { if (c >= 'a' && c <= 'z') c = c - 'a' + 'A'; putchar(c); } 조건식에 내장 치환 사용 C 언어 프로그래밍

컴마 연산자 컴마(comma) 연산자 , (예 4.40) 두 개의 반복제어변수를 사용하는 반복문 여러 개의 수식을 묶어서 하나의 수식으로 만드는 역할 { }를 사용하여 여러 개의 문장을 하나로 묶는 복합문의 역할과 유사 i = 0, j = 0 … 하나의 수식 수식의 값: 컴마 연산자로 결합된 마지막 수식의 값 a = 10, b = a + 20 ... 수식의 값 = b의 값 = 30 수식 위치에 여러 개의 수식을 넣어야 하는 경우에 유용함 (예) for문의 수식, 반복문의 조건식 등. 가장 우선 순위가 낮은 연산자 (예 4.40) 두 개의 반복제어변수를 사용하는 반복문 for (i=0, j=0; i+j <= 50; i++, j += 2) printf(" (%d, %d)\n", i, j); C 언어 프로그래밍

예제 0 또는 음수가 입력될 때까지의 입력된 정수의 합을 계산 (예 4.41 참고) sum = 0; scanf("%d", &number); while (number > 0) { sum = sum + number; } /* 예 4.18 */ 마지막에 있는 조건식의 결과가 컴마 수식의 수식의 값 sum = 0; while (scanf("%d", &number), number > 0) sum = sum + number; C 언어 프로그래밍

실습 문제 (선택문) 2차 방정식 의 세 계수 a, b, c를 입력 받아서 근을 구하는 프로그램 작성 단, C 언어 프로그래밍

실습 문제 (반복문) 무리수 e는 다음의 무한 급수로 표현된다. 프로그램의 결과를 수학함수를 사용한 결과 exp(1.0)과 비교하시오. C 언어 프로그래밍