728x90
반응형

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언어 창시자는 누구인지 한글로 자성하세요.

데니스 리치 
728x90
반응형

+ Recent posts