쉽게 풀어 쓴 C언어 Express 7장 Exercise 문제
1.
① 조건식의 값이 1일 때만 참으로 간주된다.-> 조건식의 값이 0이 아니면 참으로
간주된다. ③ do...while 문에서 조건식의 값이 거짓이면 한 번도 수행되지 않는다.-> 거짓이라고
하더라도 한번은 수행된다. ④ for 문에서 초기식, 조건식, 증감식이 전부 비어 있으면 안 된다.->비어 있어도 된다. 2. ① while( 1 ) {
}
③ for ( ; 1 ; ) {
}
④ for ( ; ; ) {
}
3. 한번도 출력되지 않는다. 4. (a)
0
3
6
9
(b)
0
3
6
9
(c)
0
2
4
6
8
(d)
0
3
6
9
(e)
*********
(f)
54321
5.
(a)
int i=10;
while(i>=0) {
printf("%d\n", i);
i--;
}
(b)
int i;
for (i=10;i>=0;i-=3) {
printf("%d\n",i);
}
6. (a) 11 (b) 10
7.
(a) i의 값이 변함이 없으므로 무한루프를 수행하게 된다.
int i = 0;
while( i < 10 ) {
printf("i의 값\n", i);
i++;
}
(b) while이 있는 줄의 끝에 있는 세미콜론(;
)을 제거하여야 한다.
int i = 0;
while( i++ < 10 ) {
printf("i의 값\n", i);
}
(c) 부등호의 방향을 바꾸어야 한다.
int i;
for ( i = 0; i < 10; i++ )
printf("i = %d\n", i);
(e) 부동 소수점 수는 오차를 가지고 있으므로 정확히 1.0이 되지 않아서 무한반복이 된다. 만약 1.0까지의 값을 보려 했던 소스라면 x!=1.0을 x<1.0 으로 수정하는 편이 좋다. float x;
for (x = 0.1; x < 1.0; x += 0.1)
printf("%f\n", i);
(e) 변수 i가 초기화되지 않았다.
int i;
for ( i=0 ; i < 10; i++)
printf("i = %d\n", i);
8.
(a)
int i;
for (i = 0; i < 5; i++) {
printf("%d\n", i);
}
(b)
int i;
for (i = 0; i < 10 ; i++) {
if( i != 5 )
printf("%d\n", i);
}
9. 다음의 수학식을 계산하는 코드를 작성하라.
(a)
int sum=0, i;
for (i = 1; i <= 30; i++)
sum += i*i+1;
(b)
int sum=0, i, j;
for (i = 10; i <= 30; i++)
for (j = 0; j <= 5; j++)
sum += i * j;
'IT > 프로그래밍' 카테고리의 다른 글
쉽게 풀어 쓴 C언어 Express 9장 Exercise 문제 (0) | 2020.12.06 |
---|---|
쉽게 풀어 쓴 C언어 Express 8장 Exercise 문제 (0) | 2020.12.06 |
쉽게 풀어 쓴 C언어 Express 6장 Exercise 문제 (0) | 2020.12.05 |
쉽게 풀어 쓴 C언어 Express 5장 Exercise 문제 (0) | 2020.12.05 |
쉽게 풀어 쓴 C언어 Express 4장 Exercise 문제 (0) | 2020.12.05 |
댓글