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; }