2024. 5. 24. 01:54ㆍ코딩과 프로그래밍/C언어
C언어 기초교육 5장까지 배웠던 내용을 복습할 겸 퀴즈를 내볼테니 맞춰보자.
정답은 글의 맨 아래에 있다.
1. 다음 중 정수형 변수를 선언하고 초기화하는 올바른 방법은 무엇입니까?
- a) int num = "42";
- b) int num = 42;
- c) float num = 42;
- d) char num = 42;
2. 다음 중 실수형 데이터를 저장할 수 있는 변수 타입은 무엇입니까?
a) int
b) char
c) float
d) double
3. 다음 코드의 출력 결과는?
#include <stdio.h>
int main() {
int num = 42;
printf("%d\n", num);
return 0;
}
a) 42
b) %d
c) num
d) Error
4. 다음 코드의 출력 결과는?
#include <stdio.h>
int main() {
int num = 5;
if (num > 3) {
printf("num은 3보다 큽니다.\n");
} else {
printf("num은 3보다 작거나 같습니다.\n");
}
return 0;
}
a) num은 3보다 큽니다.
b) num은 3보다 작거나 같습니다.
c) num은 5입니다.
d) Error
5. switch 문에 대해 설명한 것 중 틀린 것은 무엇입니까?
a) switch 문은 변수의 값을 평가하고, 일치하는 case 블록을 실행합니다.
b) break 문을 사용하지 않으면 다음 case 블록이 연속적으로 실행됩니다.
c) default 블록은 필수입니다.
d) switch 문은 반복문을 종료할 수 없습니다.
6. 다음 코드의 출력 결과는?
#include <stdio.h>
int main() {
int num = 3;
switch (num) {
case 1:
printf("num은 1입니다.\n");
break;
case 2:
printf("num은 2입니다.\n");
break;
case 3:
printf("num은 3입니다.\n");
break;
default:
printf("num은 1, 2, 3 중 하나가 아닙니다.\n");
}
return 0;
}
a) num은 1입니다.
b) num은 2입니다.
c) num은 3입니다.
d) num은 1, 2, 3 중 하나가 아닙니다.
[정답]
1번 문제 - B
해설)
int num = 42;
위 코드를 해석하면 정수형(int) 변수인 num(변수명)을 선언.
이때 num = 42;란 뜻은 num에게 42란 값을 할당(초기화) 한다는 뜻이다.
2번 문제 - C
해설)
int는 정수형 데이터를 저장할 수 있는 변수 타입이며 char는 문자형
float는 실수형, double은 배정밀도 실수형이다.
3번 문제 - A
해설) 3번 문제의 코드를 해석하면 정수형 변수인 num을 선언.
num에게 42라는 값을 할당(초기화) 이후 printf 문으로 num의 값인 42를 출력하는 코드란 걸 알 수 있다.
4번 문제 - A
해설) 해당 코드를 해석하면 정수형 변수인 num을 선언. 이후 num에 5이라는 값을 할당(초기화).
이후 if 문에선 num > 3 이라 되있는데. 여기서 >은 C언어에서 사용되는 비교 연산자로 좌우에 있는 두 값을 비교하여 관계를 나타내는데 사용된다고 전에 이미 설명했다. 특히 > 연산자는 Greater than이라고 하여 왼쪽 피연산자가 오른쪽 피연산자보다 큰지를 비교한다. 즉, 크면 참. 틀리면 거짓인데. num은 3보다 크므로 참이기 때문에 if 문에 작성된 printf문인 'num은 3보다 큽니다'를 실행한다.
5번 문제 - C
default 블록은 필수가 아니다.
6번 문제 - C
해당 문제의 코드를 해석하면 정수형 변수인 num을 선언
num에 3이라는 값을 할당(초기화) 이후 switch 문을 작성하고 case를 3까지 만들었는데.
num의 값은 3이기 때문에 case 3에 적힌 printf문이 출력된다.
'코딩과 프로그래밍 > C언어' 카테고리의 다른 글
C언어 기초교육(5/10) (0) | 2024.05.18 |
---|---|
C언어 기초교육(4/10) (0) | 2024.05.17 |
C언어 기초교육(3/10) (0) | 2024.05.16 |
C언어 기초교육(2/10) (0) | 2024.05.16 |
C언어 기초교육(1/10) (0) | 2024.05.15 |