1. 다음 중 변수 선언이 잘못된 것은?
1) short Var14;
2) long ArtGame;
▶3) char 21Star;
4) bool Point_Var_21;
2. 10진수 37을 2진수, 16진수로 변환하세요
[2진수] 100101
[16진수] 25
3. 16진수 7FD9를 2진수로 변환하세요.
0111 1111 1101 1001
4. short형으로 20개의 가변 메모리를 할당하고 해제 하세요. (변수명은 ptr)
ans)
short* ptr;
ptr = new short[20];
delete[] ptr;
5. typedef를 이용한 구조체의 기본형을 만드세요 (구조체명은 STRU)
ans)
typedef struct tagSTRU
{
} STRU, *PSTRU, *LPSTRU;
6. 비트 논리 연산의 결과값을 작성하세요.
A & B | 답
--------|----
0 0 | 0
0 1 | 0
1 0 | 0
1 1 | 1
A | B | 답
--------|----
0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 1
A ^ B | 답
-------------
0 0 | 0
0 1 | 1
1 0 | 1
1 1 | 0
7. 서로 다른 함수선언의 기본형(원형)을 아는데로 기술하세요
(함수이름은 Func)
ans)
1) void Func(void);
2) void Func(int a, int b);
3) int Func(void);
4) int Func(int a);
5) void Func(int* a);
6) int* Func(void);
7) int* Func(int* a);
8) void* Func(void* a);
8. 다음 문법식이 성립하도록 프로그램을 자세히 기술하세요.
(구조체 선언, 메모리 확보)
* Ptr ->Z = 20;
typedef struct STRU
{
int* Z;
}STRU;
STRU* Ptr;
Ptr = new STRU;
Ptr -> Z = new int; >>
* Ptr -> Z = 20;
delete Ptr -> Z;
delete Ptr;
9. 다음 문장 중 틀린 문장을 모두 고르세요.
[보기]
▶1)&Var = Ptr;
▶2) Arr[10] = +(Ptr + 0);
▶3) Ptr = Var;
4) Var = Arr[4] + *(Ptr + 9);
5) Arr[Var] = *(Ptr + Var);
[예시]
short Var, Arr[10], * Ptr;
Var = 8;
Ptr = new short[10];
10. long Arr[10][15]; 일때
Arr[8][10]의 Offset은 얼마입니까?
130
11. sizeof와 strlen()에 대하여 각각 설명하세요.
ans)
sizeof : 할당된 크기 알려주는 구문
strlen() : 문자길이값을 알려주는 구문
12. int a = 3, b = 4; 일때
데이터 교환 프로그램을 작성하세요.
int t;
t = a;
a = b;
b = t;
13. explicit 키워드에 대하여 설명하세요.
묵시적 형변환을 할 수 없게 만들고 명시적인 형변환만 가능하도록 만드는 것
14. float ff = 6.25f;
ff를 2진수로 표현하세요.
답) 110.010
소수점 앞은 2의 제곱으로 내려오고
소주점 뒤는 2의 마이너스 제곱으로 올라간다.
15. 가로 4칸 , 세로 3칸의 메모리를 확보하고 해제하는 프로그램을 작성하세요.
int** ptr;
ptr = new int[3]; // 세로 먼저 확보
for (int i = 0; i < 3; i++)
{
ptr[i] = new int[4];
}
// 중가에서 사용
for (int i = 0; i < 3; i++)
{
delete[] ptr[i];
}
delete[] ptr;
16. 함수 func01이 있을때, func02를 호출하여 func01이 실행될 수 있도록
코드를 작성하세요
void func01(int a, int b)
{
}
코드작성 부분) 함수 포인터를 작성하세요
func02(10, 20);
답)
void f1()
{
printf("gggg");
}
int main()
{
void(*f2)() = f1; // 함수포인트 불러오는법
f2();
}
17. 2개의 숫자중에 큰 숫자를 선택해주는 프로그램을
#define으로 작성(정의)하세요 define 이름은 MYMAX)
ex) MYMAX(10, 20);
18. 4K byte는 몇 byte 인지 계산하세요.
4096 byte
19. 출력 결과 20개를 적으세요
for (int a = 0; a < 20; a++)
{
printf("%d \n", !(a & (a - 1)));
}
답) 1110 1000 1000 0000 1000
20. c언어 창시자는 누구인지 한글로 자성하세요.
데니스 리치
'Education > Edu | .net' 카테고리의 다른 글
# 5.2) [Win32API] Win32API 기본 설명 (0) | 2021.01.11 |
---|---|
# 5.1) [C/C++] bmp파일 메모리할당 (0) | 2021.01.11 |
# 3.2) [C/C++] JSF 확장자 파일 입출력 (bmp 이미지 출력) (0) | 2021.01.07 |
# 3.1) [C/C++] JSF파일에서 바이너리로 이미지 파일 입출력 (0) | 2021.01.06 |
# 2.9) [Win32API] 도형그리기, 색 채우기 (0) | 2021.01.04 |