1. 다음 프로그램의 결과를 써라.
(a)
int i = 1;
while(i<5)
{
printf("%d\n", i);
i++;
}
출력결과
1
2
3
4
(b)
int i;
for(i=10; i>5; i--)
printf("%d\n", i);
printf("최종 i의 값=%d\n", i);
출력결과
10
9
8
7
6
최종 I의 값=5
(c)
int i = 10;
do{
printf("%d\n", i);
i++;
}
while(i<5);
10
(d)
int x, y;
for(x=0; x<3; x++)
for(y=0; y<5; y++)
printf("*");
출력결과
***************
2. 다음 코드에서 잘못된 점이 있으면 지적하고 올바르게 수정하여라. 논리적인 오류도 포함된다.
(a)
int i=0;
while(i<10)
{
printf("%d\n", i);
i++;
}
I값의 증감이 없어서 while문이 끝나지 않는다.
(b)
int i = 0;
for(i=0; i<10; i++)
{
printf("i=%d\n", i);
}
for문에서 I값을 초기화하므로 선언할 때 초기화 할 필요가 없다.
3. 다음의 while 루프는 for루프로 for루프는 while 루프로 변경하여라.
(a)
int i=0;
while(i<10)
{
printf("%d\n", i);
i++;
}
int i;
for(i=0; i<10; i++)
printf("%d\n", i);
(b)
int i;
for(i=1; i<=20; i++)
{
printf("%d\n", i);
}
int i=1;
while(i<=20)
{
printf("%d\n", i);
i++;
}
4. 다음 프로그램의 결과를 써라.
int x, y;
for(x=0; x<3; x++)
{
for(y=0; y<=2; y++)
printf("x=%d, y=%d\n", x, y);
printf(\n");
}
출력결과
x=0, y=0
x=0, y=1
x=0, y=2
x=1, y=0
x=1, y=1
x=1, y=2
x=2, y=0
x=2, y=1
x=2, y=2
5. 다음 프로그램의 결과를 써라.
#include <stdio.h>
int main(void){
int i = 0;
while(1)
{
if(i>3)
break;
printf("%d\n", i);
i++;
}
}
출력결과
0
1
2
3
6. for문의 초기식에서 여러 개의 변수를 초기화시킬때는 콤마 연산자(,)를 사용한다. 콤마 연산자는 수식을 순차적으로 실행한다 예를 들어 x=0, y=0은 x=0을 먼저 실행하고 이어서 y=0을 실행한다. 다음과 같은 문장들이 어떤 의미인지를 설명하여라.
(a) for(x=0, sum=0; x<10; x++)
x를 0으로 초기화하고 sum을 0으로 초기화하고 x가 10보다 작으면 x를 증가시키면서 반복한다.
(b) for(x=0, y=0; x<10 && y<10; x++, y++)
x를 0으로 초기화하고 y를 0으로 초기화한다. x가 10보다 작고 y가 10보다 작으면 x와 y를 증가시키면서 반복한다.
7. for반복문을 이용하여 다음의 값을 출력하는 코드를 작성하여라
(a) 1, 2, 3, 4, 5, 6, 7, 8, 9
#include <stdio.h> int main(void){ int i; for(i=1; i<10; i++) printf("%d ", i); return 0; }(b) 1, 3, 5, 7, 9
#include <stdio.h> int main(void){ int i; for(i=1; i<10; i++) if(i%2!=0) printf("%d ", i); return 0; }(c) 2, 4, 6, 8
#include <stdio.h> int main(void){ int i; for(i=1; i<10; i++) if(i%2==0) printf("%d ", i); return 0; }(d), 9, 6, 3, 0
#include <stdio.h> int main(void){ int i; for(i=10; i>=0; i--) if(i%3==0) printf("%d ", i); return 0; }8. 다음의 코드가 실행을 완료하였을 때 변수 i의 값은 얼마인가?
(a)
int i = 0;
while(i<10)
{
i++
}
변수 i의 값
10
(b)
int i;
for(i=0; i<10; i+=3)
printf("i=%d\n", i);
'프로그래밍 > C언어' 카테고리의 다른 글
C언어콘서트 7장 Exercise/C언어콘서트 7장 연습문제 답 (2) | 2015.04.19 |
---|---|
C언어콘서트 6장 프로그래밍 답/c언어콘서트 솔루션 6장 (0) | 2015.04.18 |
C언어콘서트 5장 프로그래밍 답/c언어콘서트 솔루션 5장 (2) | 2015.03.14 |
C언어콘서트 5장 Exercise/C언어콘서트 5장 연습문제 답 (6) | 2015.03.11 |
C언어콘서트 4장 프로그래밍 답/c언어콘서트 솔루션 4장 (0) | 2015.03.10 |