처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문.

Slides:



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

제6장 조건문.
프로그래밍1 및 실습 (C언어) - 3장 기본자료형 (3.6부터 끝까지) -
제 3 장 변수와 자료형.
쉽게 풀어쓴 C언어 Express 제11장 포인터 C Express.
제 1장 C 언어의 소개.
2014 ITA 8월 강의 C Programming -1주차- C언어 기초 정대진 ( )
제 7 장 문장 구조화 제어문 지정문 조건문 반복문 GOTO 문 비결정적문.
제3장 추가 실습 3장 관련 C 언어 프로그래밍 실습.
C 11장. 포인터의 활용 #include <stdio.h> int main(void) { int num;
쉽게 풀어쓴 C언어 Express 제17장 동적 메모리와 연결 리스트 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
제5장 제어명령
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
6장. printf와 scanf 함수에 대한 고찰
Chapter 13 문자 데이터와 문자열 문자 데이터 문자열.
7. while 문의 흐름 제어.
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express.
기초C언어 제3주 C프로그램 구성요소, 변수와 자료형 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
컴퓨터 프로그래밍 기초 - 2nd : scanf(), printf() 와 연산자 -
쉽게 풀어쓴 C언어 Express 제3장 C프로그램 구성요소 C Express.
쉽게 풀어쓴 C언어 Express 제14장 포인터 활용 C Express.
표준 출력 함수 printf 출력 데이터 서식화(formatting) 표준 입력 함수 scanf 입력 데이터 서식화
C언어 프로그래밍의 이해 Ch05. 명령문 Phylogenetic: 계통, 발생(학)의.
제 2 장 변수와 상수.
Chapter 3 Flow of Control
쉽게 풀어쓴 C언어 Express 제10장 배열 C Express.
Chapter 11 Strings.
6장 배열.
Chapter 13 변수 범위.
쉽게 풀어쓴 C언어 Express 제7장 반복문 C Express.
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
4장 제어문 선택문: if 문, if – else 문, switch 문
쉽게 풀어쓴 C언어 Express 제4장 변수와 자료형 C Express.
C 4장. 연산자 #include <stdio.h> int main(void) { int num;
개정판 누구나 즐기는 C언어 콘서트 제6장 반복문 출처: pixabay.
자전거를 배우려면 안장에 올라가 페달을 밟아라.
11장. 1차원 배열 IT응용시스템공학과 김 형 진 교수.
제어문 & 반복문 C스터디 2주차.
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
Java의 정석 제 4 장 조건문과 반복문 Java 정석 남궁성 강의
Chapter 11. 배열과 포인터.
포인터.
Fflush 사용이유 및 방법 [이유] 키보드에서 입력된 내용은 입력버퍼에 저장되었다가 Enter 키가 들어오면 프로그램으로 전달됨 이 때 입력버퍼에 있는 Enter 키도 프로그램으로 전달됨 그러므로 아래와 같은 프로그램에서 문자 하나를 입력해도 Enter키도 입력된 것으로.
6장 반복제어문 for 문 while 문 do while 문 기타 제어문.
C89(C++03) 프로그래밍 (Part 2) 7 배열 8 변수 범위 9 포인터 10 유도 자료형.
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)
GDB - GNU Debugger 김진용.
쉽게 풀어쓴 C언어 Express 제6장 조건문 C Express.
Chapter 08 조건문.
반복문의 기능 반복문 반복문 특정 영역을 특정 조건이 만족하는 동안에 반복 실행하기 위한 문장 while문
전류는 자계에서 힘을 받는다 기계공학교육 박지훈 황인석 한만혁 이덕균.
제5장 디버깅과 추적 문봉근.
실습과제 1번 생성된 파일 basic.txt를 프로젝트 폴더에서 메모장으로 열고 내용을 확인
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 프로그래밍은 매우 도전적인 작업이다. 도전의 이면에 철저한 준비와 체계적인 노력
어서와 C언어는 처음이지 제22장.
개정판 누구나 즐기는 C언어 콘서트 제12장 파일 입출력 출처: pixabay.
PHP 기초문법 PHP를 공부하는데 있어 가장 기초가 되는 PHP기초문법에 대해서 배워 봅니다.
배열.
⊙ 입출력 처리란? data를 입력장치로부터 program 내부로 읽어 들이거나
Presentation transcript:

처음으로 배우는 C 프로그래밍 제2부 기초 제5장 반복문

제 1 절 while 문 while 문의 일반적인 형태 while 문의 예 while (expression) statement; 먼저 수식을 검사하여 거짓이면 while 문 탈출, 참이면 statement를 실행하고 다시 수식 검사, 반복 while 문의 예 count = 1; /* 수식에 쓰이는 카운트 변수 초기화 */ while (count <= 10) { /* 카운트 변수 검사 */ printf(“%d ”, count); count++; /* 수식에 쓰이는 카운트 변수 변경 */ }

제 2 절 while 반복문 내의 scanf() 수를 입력 받아 그 수를 출력하는 예제 프로그램 count = 1; /* count를 1로 초기화하지 않으면? */ while (count <= 4) { printf(“\nEnter a number: “); scanf(“%f”, &num); printf(“The number entered is %f”, num); ++count; /* count를 1증가 시키지 않으면? */ }

제 2 절 while 반복문 내의 scanf() 입력 받은 수들의 합과 평균을 구하는 예제 프로그램 count = 1; total = 0; /* total을 0으로 초기화 시키지 않으면? */ while (count <= 4) { printf(“\nEnter a number: “); scanf(“%f”, &num); total = total + num; ++count; } --count; /* 왜 count을 1 감소시키는가? */ average = total / count; printf(“\nThe total is %f, average is %f”, total, average);

제 2 절 while 반복문 내의 scanf() 자료 끝 표시(sentinels) 입력될 자료의 개수를 알 수 없을 때 자료 입력의 끝을 나타내는 특수 데이터 입력되는 자료들 값의 범위와 충돌하지 않도록 선택 성적 입력 시, 성적은 0 부터 100까지 이므로 이 범위 밖의 값을 선택 C언어에서 제공되는 EOF(End Of File) 운영체제마다 틀리지만 어떤 문자에도 사용되지 않는 코드 값이 할당, 유닉스: Control-D, 도스: Control-Z 입력 시, 이런 코드 조합을 발견하면 자신만의 EOF로 변환 EOF 상수는 stdio.h에 정의

제 2 절 while 반복문 내의 scanf() break 문과 continue 문 printf(“Enter a grade: “); while (scanf(“%f”, &grade) != EOF) { total = total + grade; } scanf입력 시 Control-D(유닉스)나 Control-Z(도스)를 입력하면 scanf는 EOF를 반환한다 break 문과 continue 문 break문은 switch, while, for, do-while 문으로부터 탈출, 비정상적인 조건이 검출되었을 때 반복문으로부터 벗어나는 데 유용

제 2 절 while 반복문 내의 scanf() while (…) { ... if (num > 76) break; } continue 문은 while, do-while, for 등의 반복문에만 적용, 반복문의 다음 반복을 즉시 시작, 반복문 내에서 처리되어서는 안될 데이터를 건너 뛰는데 유용 if (grade < 0 || grade > 100) continue;

제 2 절 while 반복문 내의 scanf() 널 문장(null statement) 세미콜론만으로 이루어진 문장 ; 문장이 요구되고 아무런 수행도 일어나지 않는 곳에 사용되는 아무 일도 아지 않는 문장 for 문과 널 문장을 이용한 시간 지연 for (i = 0; i <= 1000; i++);

제 3 절 for 문 for 문의 일반적인 형태 for (initializing list; expression; altering list) statement; for 문 내의 각각의 항목은 생략될 수 있지만 세미콜론은 필수 초기화 리스트는 한번만 수행, 나머지 부분은 while 문과 동일 동등한 while 구조 initializing list; while (expression) { statement; altering list; }

제 3 절 for 문 for 문, 그리고 그와 동등한 while 문 for 문의 구성 요소가 일부 생략된 for 문 for (count = 1; count <= 100; ++count) printf(“%d “, count); 동등한 while 문 count = 1; while (count <= 100) { printf(“%d “, count); ++count; } for 문의 구성 요소가 일부 생략된 for 문 for(; count <= 100; ) 유효한 for 문

제 3 절 for 문 생략된 초기화 리스트나 변경 리스트는 프로그래머가 적당한 위치에 제공해야만 함 count = 2; /* 초기화 리스트 */ for (; count <= 20; count = count + 2) 초기화 리스트, 변경 리스트가 생략된 for 문 for (; count <= 20; ) { printf(“%d “, count); count = count + 2; /* 변경 리스트 */ } 수식을 생략하면 무한 루프에 빠질 수 있음

제 3 절 for 문 열림 중괄호의 위치 첫번째 스타일 두번째 스타일: 많은 프로그래머들이 사용 for (expression) { } 중괄호 쌍을 찾기 쉬움 두번째 스타일: 많은 프로그래머들이 사용 for (expression) { 라인 수를 줄일 수 있음 어느 것을 사용해도 무방하나 섞어 쓰지는 않는다

제 3 절 for 문 한 문장으로 표현되는 for 문 for 반복문 내의 scanf() for (count = 2; count <= 20; printf(“%d “, count), count = count + 2); 초기화 리스트나 변경 리스트에 두개 이상의 요소가 쓰일 경우 콤마(,)로 구분 for 반복문 내의 scanf() total = 0.0; for (count = 0; count < 5; ++count) { printf(“\nEnter a number: “); scanf(“%f”, &num); total = total + num; }

제 3 절 for 문 중첩 반복문(nested loop) 또 다른 반복문을 포함하는 반복문 for (i = 1; i <= 5; ++i) { /* 바깥 반복문 */ printf(“\ni is now %d\n”, i); for (j = 1; j <= 4; ++j) /* 안쪽 반복문 */ printf(“ j = %d”, j); } printf(“\ni is now %d\n”, i); 문장은 총 5번 수행 printf(“ j = %d”, j); 문장은 총 20(5X4)번 수행

제 3 절 for 문 for 문, while 문 어떤 것을 사용할 것인가? C언어에서 for 문과 while 문 동등하기 때문에 서로 바꿔 쓸 수 있다 for 문은 주로 고정 카운트 반복에 쓰이고(반복 횟수가 고정된 경우) while 문은 주로 변수 조건 반복에 쓰인다(반복 횟수가 가변적인 경우)

제 4 절 do-while 문 do-while 문의 일반적인 형태 유효성 검사 do statement; while (expression); 수식 평가를 반복문의 끝에서 수행 statement는 적어도 한번은 수행 do-while 문은 동등한 while 문이나 for 문으로 다시 작성 가능 유효성 검사 do-while 문은 사용자 입력을 걸러내고 데이터 유효성 검사를 제공하는 데 유용

제 4 절 do-while 문 do-while 문을 이용한 유효성 검사의 예 do { printf(“\nEnter an identification number(1000<=id<=1999): “); scanf(“%f”, &id_num); } while (id_num < 1000 || id_num > 1999); 1000<=id<=1999인 id가 입력될 때 까지 계속 반복된다.

제 5 절 일반적인 프로그래밍 오류 수식 내에서 동등 연산자, ==, 대신 대입 연산자, =, 를 부주의하게 사용하는 것 부동 소수점과 배정밀도 수를 검사할 때 동등 연산자를 사용하는 것 for 문의 괄호의 끝에 세미콜론을 찍는 것 for (count = 1; count <= 10; ++count); sum += count; for 문 내에 분리자 세미콜론 대신 콤마를 사용하는 것 do-while 문에서 while뒤에 세미콜론을 생략하는 것

제 6 절 요약 while, for, do-while 문은 반복문을 생성한다. 수식의 값에 기초하여 계속 반복을 행하거나 탈출한다. while 문은 제일 먼저 수식을 검사한다. 수식에 사용되는 변수는 while 문 전에 나타나야 하며 while 문 내에서 그 변수를 변경하는 문장이 있어야한다 for 문은 그 반복 횟수가 정해진 경우 유용하다. 초기화, 검사 수식, 검사 수식에 영향을 주는 수식들이 for 문 내에 모두 포함될 수 있다. do-while 문은 반복문의 끝에서 수식을 검사한다. 따라서 몸체는 적어도 한 번 이상 수행된다.

제 7 절 문자 지향 그래픽 문자 지향 그래픽: C가 인식하는 영숫자나 문자를 이용하여 그림을 표현하는 것 동시 문자 출력 display 함수 의사코드 인자로써 반복횟수와 출력할 문자 심볼을 받는다 for 반복횟수만큼 문자를 출력한다 for 끝

제 7 절 문자 지향 그래픽 display() 실제 C 함수 삼각형 모양을 출력하는 의사코드 void display(int howmany, char symbol) { int i; for ( i = 1; i <= howmany; i++) printf(“%c”, symbol); } 삼각형 모양을 출력하는 의사코드 for line number equal 1 to 5 display(6 - line number, ‘ ‘) display(2 * line number - 1, ‘*’) end for