215p
Exercise
1. 다음 중 틀린 문장을 지적하고 올바르게 수정하여라.
① 조건식의 값이 0이 아니면 무조건 참으로 간주된다. |
참 |
② while 문에서 반복되는 문장은 하나만 가능하다. |
거짓 - 중첩 반복문은 가능하다. |
③ while 문은 적어도 한 번은 수행된다. |
거짓 - 조건이 거짓이면 한번도 실행되지 않는다. |
④ 반복 루프에서 break 문은 하나만 가능하다. |
참 - 여러개를 사용할 수 없다. |
⑤ 반복 루프가 중첩되어 있는 경우, break는 하나의 루프만 벗어날 수 있다. |
참 |
⑥ do...while 문은 적어도 한번은 수행된다. |
참 |
⑦ for 문에서 초기식,조건식,증감식이 전부 비어 있는 경우도 있다. |
참 |
⑧ for 문 안에 다른 for 문이 들어갈 수 있다. |
참 |
⑨ continue 문은 반복 루프를 벗어나기 위하여 사용한다. |
거짓 - 진행중이던 반복문을 중지하고 다음 반복문을 시작하기 위함이다. |
⑩ break 문은 for 루프에서는 사용할 수 없다. |
거짓 - 사용할수 있다. |
2. 다음 프로그램의 결과를 써라.
(a) 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); |
10 9 8 7 6 |
(c) i = 10 do { printf("%d\n",i); I++; } while(i < 5); |
10 |
3. 다음의 코드에서 잘못된 점이 있으면 지적하고 올바르게 수정하여라. 논리적인 오류도 포함된다.
(a) int i = 0; while(i < 10) { printf("%d\n", i); } |
i 가 10미만일경우 반복문이 실행되는데, 반복문 안에 i의 증감식이 없으므로 무한반복이 되므로 printf("%d\n", i); i++; 가 되어야한다 |
(b) int i = 0; while(i++ < 10) ; { printf("%d\n", i); } |
while 문의 조건문에는 ; 를 쓰지않는다. while(i++ < 10) |
(c) for(i = 0; i< 10; i++); { printf("i = %d\n", i); } |
for문의 마지막에 ; 를 쓰지않는다 for(i = 0; i 10;i++) |
(d) for(i = 0; i < 10; i++) { coutinue; printf("%d\n", i); } | for(i = 0; i < 10; i++) { printf("%d\n", i); } |
(e) float i; for(i = 0.1; i != 1.0; i += 0.1) printf("%f\n", i); | float나 double 형은 제한된 비트 수 때문에 정확한 실수값을 저장할 수 없다. 따라서 반복 루프에서는 사용하지 않는것이 좋다. |
'Solution > C언어 콘서트' 카테고리의 다른 글
C언어 콘서트 - 제6장: 반복문 연습문제 (3/5) (5) | 2014.06.10 |
---|---|
C언어 콘서트 - 제6장: 반복문 연습문제 (2/5) (10) | 2014.06.09 |
C언어 콘서트 - 제5장: 조건문 연습문제 (4/4) (1) | 2014.06.03 |
C언어 콘서트 - 제5장: 조건문 연습문제 (3/4) (4) | 2014.05.30 |
C언어 콘서트 - 제5장: 조건문 연습문제 (2/4) (0) | 2014.05.29 |