14
© 2015 천인국 All rights reserved 어서와 C언어는 처음이지 16

어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

어서와 C언어는 처음이지어서와 C언어는 처음이지

제16장

Page 2: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

break와 continue break와 continue 문을사용하면조건에따라일찍반복문을끝내거나정상적인경우보다더빨리반복문을다시반복할수있다.

Page 3: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

break 문 break가실행되면반복문을빠져나간다.

for (i = 0; i < 10; i++){

printf("%d ", i)if (i == 4){

break;}

}//프로그램의나머지부분이뒤따른다.

Page 4: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

// 완전 초보자 가이드 3판 16장 예제 #1// 파일 Chapter16ex1.c

/* 이 프로그램은 사용자에게 학생 25명의 시험 성적을 입력하게 한다.시험 성적의 평균을 계산한다.만약 25명보다 적은 학생이 시험을 봤다면 사용자는 성적으로 –1.0을 입력하고 반복반복문을 종료한다.지금까지 입력된 성적만 가지고 평균을 계산한다. */

#include <stdio.h>main(){

int numTest;float stTest, avg, total = 0.0;

Page 5: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

// 25명의 성적을 입력받는다.for (numTest = 0; numTest < 25; numTest++){

// 시험 성적이 –1이 아닌지를 검사한다.printf("다음 학생의 성적은? ");scanf(" %f", &stTest);

if (stTest < 0.0){

break;}total += stTest;

}

avg = total / numTest;printf("평균은 %.1f%%입니다.", avg);

return 0;}

Page 6: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

다음학생의성적은? 89.9다음학생의성적은? 92.5다음학생의성적은? 51.0다음학생의성적은? 86.4다음학생의성적은? 78.6다음학생의성적은? -1.0평균은 79.7%입니다.

Page 7: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

break 문

Page 8: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

continue 문 break가반복문을일찍탈출하게하는것과다르게 continue는반복문이다음반복을일찍시작하게한다.

Page 9: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

// 완전 초보자 가이드 3판 16장 예제 #1// 파일 Chapter16ex1.c

/* 이 프로그램은 10개의 숫자를 반복한다. 그리고 숫자가 홀수인지 짝수인지를출력한다. 만약 숫자가 홀수이면 메시지를 출력하고 다음 반복을 시작한다. 그렇지않으면 짝수 메시지를 출력한다. */

#include <stdio.h>main(){

int i;

// 1부터 10까지 반복한다.for (i = 1; i <= 10; i++){

if ((i % 2) == 1) // 홀수는 나머지로 1을 가진다.{

printf("홀수이군요...");// 반복문의 다음 반복으로 점프한다.continue;

}printf("짝수이군요!");

}

return 0;}

Page 10: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

홀수이군요...짝수이군요!홀수이군요...짝수이군요!홀수이군요...짝수이군요!홀수이군요...짝수이군요!홀수이군요...짝수이군요!

Page 11: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

Lab: 배수구하기 사용자로부터최대 n개의양수를입력받아서평균값을구하는프로그램을작성하여보자. 만약사용자가음수를입력하면반복을중단하고이제까지의평균값을출력하고프로그램을종료한다.

입력의개수: 101번째수: 102번째수: 203번째수: 304번째수: -1평균값=20.00

Page 12: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

# include <stdio.h>

main(){

float num, average, sum;int i, n;

sum = 0.0;printf("입력의 개수: ");scanf("%d", &n);

for (i = 1; i <= n; ++i){

printf("%d번째 수: ", i);scanf("%f", &num);if (num<0.0)

break;sum = sum + num;

}

average = sum / (i - 1);printf("평균값=%.2f ", average);

return 0;}

Page 13: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

학습정리

while, do-while, for 반복문을일찍종료하려면 break를사용한다. 반복문의새로운사이클을시작하려면 continue를사용한다. break나 continue의앞에는 if(조건식)이오는것이보통이다.

Page 14: 어서와C언어는처음이지 - gnu.ac.krrts.gnu.ac.kr/class/2016fall/prog_intro/week11/gnu-w11-c... · 2016-11-09 · © 2015 천인국All rights reserved 어서와C언어는처음이지

© 2015 천인국 All rights reserved

Q & A