[정답] 22. 정리하기 (형식 개요)

1. 다음 코드를 수행했을 때 출력 값이 다른 하나를 고르시오.

#include <stdio.h>

int main()

{

    char a=0;

    printf("%d\n",97);

    printf("%d\n",0x61);

    printf("%d\n",'a');

    printf("%d\n",a);

    return 0;

}

a. printf(“%d\n”,97);               b. printf(“%d\n”,0x61);       c. printf(“%d\n”,’a’);               d. printf(“%d\n”,a);

답: d

a.b.c 은 모두 97을 출력합니다. 97과 0x61, ‘a’는 모두 97을 의미합니다.

d는 변수 a의 값인 0을 출력합니다.

2. 다음의 출력 결과를 예측하시오.

printf(“%d %c \n”, ‘a’, 97);

답:

97 a

‘a’의 아스키 코드 값은 97입니다.

%d 포멧으로 ‘a’를 출력하면 아스키 코드 값인 97을 출력합니다.

%c 포멧으로 97을 출력하면 아스키 코드 문자인 a를 출력합니다.

3. 다음의 출력 결과를 예측하시오.

printf(“%X \n”, 0x80000000 – 1 );

답: 7FFFFFFF

4. 다음 중 정확한 수를 표현할 수 없는 형식은 무엇인가?

a. int            b. short        c. char         d. float

답: d

정수 형식은 표현 범위 내에서 정확한 수를 표현할 수 있습니다.

실수 형식은 표현 범위 내에서 오차 범위가 있는 근사치를 표현할 수 있습니다.

5. 다음 중 형식 명으로 사용할 수 없는 것들을 고르시오.

register, printf, IAke_aicD, typedef, int, hello, __Yahoo, 2IeudE, Iaue23DI7, Ya aSA,

답:

register, typedef, int, 21eudE, Ya aSA

참고로 printf는 라이브러리 함수 이름이며 예약어는 아닙니다.

다음과 같은 코드를 작성해서 오류가 있는지 확인해 보세요.

#include <stdio.h>

struct printf

{

    int i;

};

int main(void)

{

    struct printf hel;

    hel.i = 3;

    printf("%d\n",hel.i);

    return 0;

}