38. 정리하기(연산자 29~ 37)

(정답 바로가기)

1. 다음 리터럴 상수로 초기값을 설정하는 선언문 중에서 오류가 있는 것을 고르시오.

a. char c = “hello”;   b. int i = ‘a’;      c. char c = 38;      d. char c = 0xC;

2. 다음 코드를 수행했을 때 출력 결과를 예측하시오.
printf(“%d\n”, 8^8);

3. 다음 코드를 수행했을 때 출력 결과를 예측하시오.
printf(“%d\n”, 2<1<3);

4. 다음 코드는 부호없는 정수 형식의 변수 a의 상위 2바이트의 값을 변수 b에 대입하는 구문으로 밑줄 친 곳에 채우시오.
b = a ___16;

5. 다음 코드에서 문법적 오류를 찾고 이유를 설명하시오.

#include <stdio.h>
int main()
{
    int i = 0;
    int num = 0;
    printf("정수를 입력:");
    scanf("%d",&num);
    fflush(stdin);
    i + 3 = num;
    printf("i:%d num:%d \n",i, num);
    return 0;
}