7장 Exercise
1.
①조건식의 값이 1일 때만 참으로 간주한다.
-> 조건식이 0이 아닌 양의 정수는 모두 참이다.
②반복루프가 중첩된 경우, break는 하나의 반복루프만 벗어날 수 있다(O)
③do..while문에서 조건식의 값이 거짓이면 한 번도 수행되지 않는다.
-> 무조건 한 번은 실행하고 조건을 검사한다.
④for 문에서 초기식, 조건식, 증감식이 전부 비어 있으면 안 된다.
-> 있을 수는 있으나 무한루프가 발생된다.
⑤for 문 안에 다른 for 문이 들어갈 수 있다(O)
2. ①, ③, ④
3. 0번
break문이 printf문보다 앞서기 때문에 출력하기 전에 루프에서 빠져나와서 한 번도 출력되지 않는다. 만약 printf문이 break문보다 앞선다면 x=5일 때, 한 번 출력되고 루프에서 빠져나온다.
4.
(a) (b) (c) (d) (e) ********* (f) 54321
0 0 0 10
3 3 2 9
6 6 4 8
9 9 6 ...
8 2
1
0
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) 기초식, 조건식, 증감식 중 증감식이 빠져있다. 증감식이 빠지면 무한루프가 발생한다. %d를 추가해야한다.
(b) 조건식과 증감식이 합쳐져 있다. 합쳐진 증감식은 조건식과 합쳐도 되고 그렇지 않아도 괜찮다. %d를 추가해야한다. while 구문에 ;를 삭제해야한다.
(c) i-- 를 i++ 로 바꾸어야 한다.
(d) 없음
(e) 기초식을 지정해주어야 무한루프가 발생하지 않는다.
8.
(a)
#include <stdio.h>
int main()
{
int i, sum;
for(i=1; i<=30; i++)
sum = sum + i*i +1;
printf("%d\n", sum);
return 0;
}
(b)
#include <stdio.h>
int main()
{
int i, j, sum;
for(i=10; i<=30; i++)
{
for(j=0; j<=5; j++)
sum = sum + i*j;
}
printf("%d\n", sum);
return 0;
}
'프로그래밍 > 쉽게 풀어쓴 C언어 Express' 카테고리의 다른 글
쉽게 풀어쓴 C언어 Express 8장 Summary (0) | 2018.10.05 |
---|---|
쉽게 풀어쓴 C언어 Express 7장 Programming (2) | 2018.09.28 |
쉽게 풀어쓴 C언어 Express 6장 Programming (0) | 2018.09.20 |
쉽게 풀어쓴 C언어 Express 6장 Exercise (1) | 2018.09.20 |
쉽게 풀어쓴 C언어 Express 5장 Programming (0) | 2018.09.09 |