• 검색 결과가 없습니다.

예제

N/A
N/A
Protected

Academic year: 2022

Share "예제"

Copied!
31
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

2015년 2학기 프로그래밍개론및 실습 과목으로 본 내 용은 강의 교재인 생능출판사, 두근두근 C 언어 수업,

천인국지음을 발췌 수정하였음

프로그래밍개론및 실습

(2)

CHAPTER 11

조건으로 반복하기

(3)

예제

#include <stdio.h>

int main(void) {

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

return 0;

}

“환영합니다”

start

end

“환영합니다”

“환영합니다”

“환영합니다”

“환영합니다”

(4)

순서도

“환영합니다”

start

i<=5

end

fsi0

ii+1

No

Yes

“환영합니다”

start

end

“환영합니다”

“환영합니다”

“환영합니다”

“환영합니다”

(5)

while 문

while 문은 어떤 조건을 정해놓고 반복을 하는 구조

(6)

while 문의 구조

(7)

기본 예제

#include <stdio.h>

int main(void) {

int i = 0;

while (i < 5) {

printf ("환영합니다. ");

i++;

}

return 0;

}

#include <stdio.h>

int main(void) {

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

printf("환영합니다. ");

return 0;

}

(8)

반복문

#include <stdio.h>

int main(void) {

int i = 0;

while (i < 5) {

printf ("환영합니다. ");

i++;

}

return 0;

}

“환영합니다”

start

i< 5

end

fsi0

ii+1

No

Yes

(9)

핵심 예제 : 0부터 9까지 출력

0, 1, 2, ..,, 9까지를 차례대로 화면에 출력하는 프로그램을 작성하여 보자.

(10)

예제 소스

#include <stdio.h>

int main(void) {

int i = 0;

while (i < 10) {

printf ("%d ", i);

i++;

}

printf(“\n”);

return 0;

}

(11)

핵심 예제 : (1+2+...+9+10) 계산

(1+2+...+9+10)의 값을 계산하는 프로그램을 작성하여 보자.

(12)

예제 소스

#include <stdio.h>

int main(void) {

int i = 1;

int sum = 0;

while (i <= 10) {

sum = sum + i;

i++;

}

printf("합계=%d\n", sum);

return 0;

}

(13)

핵심 예제 : 팩토리얼 계산

팩토리얼을 계산하는 프로그램을 작성하여 보자. 팩토리얼 n!은 1부 터 n까지의 정수를 모두 곱한 것을 의미한다.

(14)

예제 소스

#include <stdio.h>

int main(void) {

int i = 1;

int factorial = 1;

while (i <= 10) {

factorial = factorial * i;

i++;

}

printf ("10!은 %d입니다. \n", factorial);

return 0;

}

(15)

핵심 예제 : 구구단 출력

구구단 중에서 3단을 반복문을 이용하여 출력하여 보자. 3*1, 3*2, 3*3, .., 3*9까지 9번 반복시키면 출력하면 될 것이다.

(16)

예제 소스

#include <stdio.h>

int main(void) {

int i = 1;

while (i <= 9) {

printf("3*%d = %d\n", i, 3*i);

i++;

}

return 0;

}

(17)

핵심 예제 : 최소값 구하기

사용자로부터 받은 정수 중에서 최소값이나 최대값을 찾아 보자.

(18)

예제 소스

#include <stdio.h>

#include <limits.h>

int main(void) {

int number, min_value = INT_MAX;

printf("정수를 입력하시오(종료는 Ctrl+z)\n");

while(scanf("%d", &number) != EOF) {

if( number < min_value )

min_value = number;

}

printf("최소값은 %d \n", min_value);

return 0;

}

(19)

핵심 예제 : 카운트 다운 프로그램

5->4->3->2->1과 같이 카운트를 하고 카운트가 0이 되면 “발사”라고 화면에 출력한다.

(20)

예제 소스

#include <stdio.h>

int main(void) {

int count;

printf("숫자를 입력하시오: ");

scanf("%d", &count);

while( count > 0 ) {

printf("%d \n", count);

count--;

}

printf("발사! \n");

return 0;

}

(21)

핵심 예제 : 배수의 합 계산

1부터 100사이의 모든 3의 배수의 합을 계산하여 출력하는 프로그램 을 반복 구조를 사용하여 작성하라.

(22)

예제 소스

#include <stdio.h>

int main(void) {

int number;

int sum = 0;

number = 1;

while( number <= 100 ) {

if( number %3 == 0 ) sum += number;

number++;

}

printf("%d입니다. \n", sum);

return 0;

}

(23)

do-while 문

반복 조건을 루프의 처음이 아니라 루프의 끝에서 검사한다는 것이 다르다.

(24)

핵심 예제 : 기본 예제

do-while 문을 사용하여서 “Hello 10“부터 ”Hello 1“까지를 출력하여 보자.

(25)

예제 소스

#include <stdio.h>

int main(void) {

int i = 0;

do{

printf("환영합니다. %d\n", i);

i = i +1;

} while (i < 5);

return 0;

}

“환영합니다”

start

i < 5

end

fsi0

ii+1

Yes No

(26)

반복문

#include <stdio.h>

int main(void) {

int i = 0;

while (i < 5) {

printf ("환영합니다. ");

i++;

}

return 0;

}

“환영합니다”

start

i< 5

end

fsi0

ii+1

No

Yes

(27)

반복문

“환영합니다”

start

i< 5

end

fsi5

ii+1

No

Yes

“환영합니다”

start

i < 5

end

fsi5

ii+1

Yes No

(28)

핵심 예제 : 0을 입력할 때까지 합계

사용자로부터 양수를 받아서 합계를 한다. 사용자가 0을 입력하면 반 복을 중단하고 이제까지의 합계를 화면에 출력한다.

(29)

예제 소스

#include <stdio.h>

int main(void) {

int x, sum = 0;

do {

printf("정수를 입력하시오(0이면 종료) : ");

scanf("%d", &x);

sum = sum + x;

} while (x != 0);

printf("정수의 합계 : %d \n", sum);

return 0;

}

(30)

핵심 예제 : 신호등 프로그램

예를 들어서 사용자가 신호등의 색상을 나타내는 문자인 ‘r’, ‘y’, ‘g’ 을 입력할 때까지 반복해보자.

(31)

예제 소스

#include <stdio.h>

int main (void)

{ char color;

do{

printf ("신호등 색상을 입력하세요(r, y, g): ");

scanf (" %c", &color);

} while (color!='r' && color!='y' && color!='g');

switch (color) {case 'r':

printf ("정지! \n");

break;

case 'y':

printf ("조심! \n");

break;

case 'g':

printf ("진행! \n");

break;

}return (0);

}

참조

관련 문서

Lab., Hanyang Univ.. Lab., Hanyang Univ.. Lab., Hanyang Univ.. Lab., Hanyang Univ.. Lab., Hanyang Univ.. Lab., Hanyang Univ.. Lab., Hanyang Univ.. Lab., Hanyang Univ..

Copyright© 2010 생능출판사 All

서비스 콘셉트 평가 및

언어 체계가 언어 사용에 의존한다면 화자가 특정 낱말이나 다른 종류의 구문과 마주치는 상대적인 빈도가 언어 체계의 본질에 영향을 미칠 것이란 결과.. -가장 고착화된

지수분포가 확률밀도함수임을

강의

이처럼 북한은 언어 도구관에 입각하여 주체적 언어 사상과 주체적 언어 이론을 정립하고 이의 추진을 위한 언어 정책을 시행하였는데,언어 정책의 궁극적인 목적은 다음

융합 수업에 대한 본 연구회의 문제의식은 본 연구회의 부족한 연구만으로 명쾌하게 해명될 수 있을 것은 아니나, 이 과정에 서 연구에 참여한 교원 개개인은 융합