Taek

5. Exercises 본문

C언어/문제 정리

5. Exercises

Taeky 2018. 7. 12. 12:09

1.

    a) 1.

k = (i * j == 6);으로 바뀌어 동등한지 판단한 후 1이 반환된다.

b) 1

비교 연산자끼리니 왼쪽부터 차례대로 계산된다.

(k > i) < j;이니 0<10이므로 1이 반환된다.

c) 1

비교 연산자끼리 계산하면 0 == 0이다. 따라서 1이 반환됨.

d) 0

( (i % j) + i ) < k이다. 따라서 0.


2.

a) 1

i < j 는 0이지만 !(NOT) 연산자로 인해 1이 반환됨.

b) 1

!!i는 1, !j는 0이 된다. 따라서 1

c) 1

0 || k이므로 1이 반환된다.

d) 1

1 || k이므로 1이 반환된다.


3. &&, || 연산자는 'short-circuit' 계산 방식을 사용한다. 

   따라서 왼쪽을 연산하고 true값(&&은 false값)이 반환되는 경우, 오른쪽은 계산하지 않는다.


a) 1 3 4 5

1 || 이니 1이 반환되고, 나머지는 생략.

b) 0 7 8 9

0 && 이니 0, 나머지는 생략.

c) 1 8 8 9

8 || -> 1 반환, 나머지는 생략.

d) 1 2 1 1

2 || -> 1, 나머지는 생략


4. 간단한 단일 표현식 작성하기.

조건 ) i가 j보다 작으면 -1, 같으면 0, i가 크면 1

(i > j) - (j < i);


5. 논리적 오류가 생기는 문장. n>=1이 어떤 값이던 간에 <= 10을 계산해 항상 true값을 내놓는다. 따라서 0이어도 항상 1을 반환한다.


6. n == -9로 바뀐다. 따라서 n = 5인 경우엔 false값이 반환된다.


7. 17일 경우에 17>=0에 의해 1이 반환되어 i값인 17을 반환한다.

   -17일 경우에 -17 >= 0에 의해 0이 반환된다. 따라서 -i값을 반환하는데, -(-17)이라 17을 반환한다.


8. ( (13 <= age && age <= 19) ? teenager = true : teenager = false );

   아니면 teenager = (13 <= age && age <= 19);


9. 같다.

if문은 위에서부터 계산한다. 따라서 score에 90점을 할당할 경우, 왼쪽은 A, 오른쪽은 F를 놓는다.


10. one

i % 3은 1을 반환한다. switch문에서 case 1에 해당한다.


11. switch 표현식 작성하기.

switch(area_code){

case 229: printf("Albany\n"); break;

case 404: case 470: case 678: case 770:

printf("Atlanta\n"); break;


case 478: printf("Macon\n"); break;

case 706: case 762: printf("Columbus\n"); break;


case 912: printf("Savannah\n"); break;


default: printf("Area code not recognized.\n"); break;

}

'C언어 > 문제 정리' 카테고리의 다른 글

6. Exercises  (0) 2018.08.05
5. Programming Projects  (0) 2018.08.04
4. Programming Projects  (0) 2018.07.12
4. Exercises  (0) 2018.07.11
3. Programming Projects  (0) 2018.07.11