Professional Documents
Culture Documents
할 키워드는 ________ 이다 .
A. 직접적으로는 불가능 .
문자열을 정수로 변환시키는 함수 사용하면 가능 .
혹은 다음과 같이 strcmp() 함수를 사용하여 if-else 구문을 사
용한다 .
if(strcmp(string, “apple”)==0){
…
}else if(strcmp(string, “orange”)==0){
조건문 Q&A
chapter 07.
반복문
• 반복 작업은 컴퓨터를 통해 누릴 수 있는 가장 큰 해택 .
• 같은 작업을 반복적으로 수행할 필요가 있을 때 반복문을 사용한다 .
do{
height=height+55; // 한 번 올라갈 때마다 55cm 씩 증가한다 .
days=days+1; // 한 번 반복될 때마다 하루씩 증가한다 .
} while(height<300); // 아직 우물을 탈출하지 못했으면 계속 반복한다 .
printf(“ 달팽이가 우물을 올라가는 데 걸린 일 수 : %d\n”, days);
do{
height=height+55; // 한 번 올라갈 때마다 55cm 씩 증가한다 .
days=days+1; // 한 번 반복될 때마다 하루씩 증가한다 .
} while(height<300); // 아직 우물을 탈출하지 못했으면 계속 반복한다 .
printf(“ 달팽이가 우물을 올라가는 데 걸린 일 수 : %d\n”, days);
한빛미디어㈜ - 10 - ehanbit.net
▶ 조건식이 반복문 중간에 있다면 ? IT COOKBOOK
한빛미디어㈜ - 11 - ehanbit.net
▶ 몇 번을 반복할 것인가 ? IT COOKBOOK
한빛미디어㈜ - 12 - ehanbit.net
▶ 제어변수의 활용 IT COOKBOOK
한빛미디어㈜ - 13 - ehanbit.net
증감연산자 IT COOKBOOK
• 반복문의 증감식은 주로 증감연산자를 사용하여 간단히 표현한다 .
한빛미디어㈜ - 15 - ehanbit.net
▶ 증감연산자의 사용 예 IT COOKBOOK
#include <stdio.h>
int main()
{
int a=0, b=0;
++a; // a 의 값은 0 에서 1 로 증가
b++; // b 의 값도 0 에서 1 로 증가
printf("a=%d, b=%d\n", a, b); // a=1, b=1 출력
b=a++; // a 의 증가되기 전의 값이 b 에 대입
printf("a=%d, b=%d\n", a, b); // a=2, b=1 출력
b=++a; // 증가된 a 의 값이 b 에 대입
printf("a=%d, b=%d\n", a, b); // a=3, b=3 출력
return 0;
}
한빛미디어㈜ - 16 - ehanbit.net
for 문 IT COOKBOOK
• while 문의 초기식 , 조건식 , 증감식을 한곳에 모아 놓은 것이다 .
• 특정 횟수를 반복하는 경우 사용하기 편하다 .
• for 문이 실행되는 순서
한빛미디어㈜ - 17 - ehanbit.net
▶ 1 부터 10 까지의 합을 구하는 예 IT COOKBOOK
#include <stdio.h>
int main()
{
int i; // 반복제어변수로 사용한 변수
int sum=0; // 합을 누적시킬 변수
// i{가 1 부터 10 까지 변하면서 10 번 반복 for(i=1, sum=0; i<=10; i
for(i=1; i<=10; i++)
sum=sum+i; // i 의 값을 누적시킨다 .
}
printf("1 부터 10 까지의 합은 : %d\n", sum);
return 0;
}
한빛미디어㈜ - 18 - ehanbit.net
▶ 복합대입연산자 IT COOKBOOK
양수를 입력하세요 : 10 ( 엔터 )
1 부터 10 까지의 합은 : 55
양수를 입력하세요 : 60 ( 엔터 )
1 부터 65 까지의 합은 : 2145
양수를 입력하세요 : -1 ( 엔터 ) // 음수가 입력되면 프로그램 종
료
한빛미디어㈜ - 20 - ehanbit.net
▶ 1 부터 n 까지의 합을 반복하는 프로그램 IT COOKBOOK
#include <stdio.h>
int main()
{
int n; // 양수를 입력 받을 변수
int i; // 반복제어변수
int sum; // 1 부터 n 까지의 합을 누적할 변수
while(n>0){ // 양수일 때만 반복
sum=0; // 누적변수 초기화 : 새로운 양수값이 입력될 때마다 새롭게
for(i=1; i<=n; i++){ 누적되어야 함으로
sum+=i; // i 는 1 부터 n 까지 반복하면서 n 번 반복
} // i 의 값을 sum 에 누적
printf("1 부터 %d 까지의 합은 : %d\n", n, sum);
printf(" 양수를 입력하세요 : "); // 누적된 값 출력
scanf("%d", &n);
} // 반복을 위해 다시 양수를 입력 받는다 .
return 0;
}
한빛미디어㈜ - 21 - ehanbit.net
▶ 2 중 for 문을 사용한 구구단 출력 예 IT COOKBOOK
• 8 개의 단 (2 단 ~9 단 ) 을 모두 출력하기 위해 2 중 반복문을 사
용한다 .
for(i=2; i<=9; i++){ // i 의 값이 2 부터 9 까지 변하면서 8 번 반복
for(j=1; j<=9; j++){
printf(“%d * %d = %d\n”, i, j, // 반복 제어변수 i 와 j 를 활용한다 .
i*j);
}
i 가 2 일 때 j 는 1 부터 9 까지 변하면서 2 단을 출력
}
i 가 3 일 때 j 는 1 부터 9 까지 변하면서 3 단을 출력
…
i 가 9 일 때 j 는 1 부터 9 까지 변하면서 9 단을 출력
한빛미디어㈜ - 22 - ehanbit.net
무한 반복문 IT COOKBOOK
for( ; ; ){
printf(“ 뇌를 자극하는 C 프로그래밍… \n”);
한빛미디어㈜ - 23 - ehanbit.net
반복문 제어 IT COOKBOOK
int main()
{
int sum=0;
int n;
한빛미디어㈜ - 24 - ehanbit.net
▶ break 문을 사용할 때 주의할 점 IT COOKBOOK
• break 문은 자신을 포함하는 가장 가까운 반복문 하나만 빠져나간다 .
• break 문은 반복문이 중첩되어 있을 때 하나만 빠져나간다 .
int i, j, cnt=0;
for(i=1; i<=10; i++){ // i 는 1 부터 10 까지 10 번 반복
for(j=1; j<=10; j++){ // j 는 1 부터 10 까지 10 번 반복
cnt++; // cnt 의 값을 하나씩 증가
if(i+j==12) break;
} for 문 하나만 탈출한다 !
}
한빛미디어㈜ - 25 - ehanbit.net
▶ continue 는 반복문의 일부를 건너뛴다 . IT COOKBOOK
한빛미디어㈜ - 26 - ehanbit.net