" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 책 알려주는 남자 :: 쉽게 풀어쓴 C언어 Express 7장 Exercise

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;

}



블로그 이미지

얼음꿀차

책을 한 번 읽긴 읽어야겠는데 막상 읽자니 뭘 읽을지 고민되는 당신을 위해 읽을만한 책들을 알려드립니다!

,