본문 바로가기

정보처리기사[실기]

[6과목_프로그래밍 언어 활용] 아스키코드 ASCII

[문제1]

int B = 65;
printf("%d %d %c %c", 'A', B, 'A', B);
더보기

정답 : 65, 65, A, A

 

* 자료형 %d는 10진수 정수(Integer)를 출력

1. 'A' = 'A'의 아스키코드인 65 출력

2. B = 65로 초기화 되어 있었기 때문에 65 출력

 

* 자료형 %c는 문자(Character)를 출력

3. 'A' = 문자 그대로 출력

4. B = 65로 초기화 되어있기 때문에 65의 아스키코드인 A 출력

%c 자료형은 ' ' 가 없는 경우 아스키코드로 인식해서 아스키코드가 출력됨

 

[문제2]

char x = 65;
printf("%c", ++x);
더보기

정답 : B

 

++x 증감연산자를 통해 66의 값을 출력

아스키코드 66은 B 이므로 B 출력

 

[문제3]

char A = 'B';
printf("%d", A - 'A');
더보기

정답 : 1

 

A 는 'B'로 할당되어 있기 때문에 'B' - 'A' 를 하면 됨

66-65 = 1

 

[문제4]

char s[] = "ABC";
printf("%d", s[0]);
printf("%d", s[1]);
printf("%d", s[2]);
printf("%d", s[3]);
더보기

정답 : 6566670

 

s[0] = A → 65

s[1] = B → 66

s[2] = C → 67

s[3] = 0

* 문자열의 끝을 나타내기 위해 널 문자 \0가 자동으로 추가됨

   s[3] = '\0' (아스키 값: 0)

 

[문제5]

char s[] = "";

if(s[0]) {
	printf("A");
} else {
	printf("B");
}
더보기

정답 : B

 

s[]이 ""로 초기화되어 있기 때문에 널 문자 \0 만 들어가있는 상태

s[0] = \0

 

if문에서는 null, \0 = false 라서 else 절이 실행

B 출력