Computer Science/Data Structure, Algorithm

DataStructure] C언어로 쉽게 풀어쓴 자료구조 3장 - 1

TwinParadox 2018. 5. 18. 00:02
728x90

1. C언어에서 배열에 대하여 다음 중 맞는 것은?

답 : (2) 배열의 이름은 포인터와 같은 역할을 한다.


오답노트

(1) 3차원 그 이상의 배열도 가능하다.

(3) 배열의 인덱스는 0에서 시작한다.

(4) 선언한 다음, 실행 도중에 크기를 변경하는 것은 불가능하다.



2. 다음 중 배열에 관한 문장 중 문법에 맞지 않는 것은?

답 : (4) char *pb[30]="I am a student";


해당 배열은 2차원 배열인데, 1차원 배열 초기화 방식을 사용하여 문제가 생긴 것.



3. float a[100]으로 선언되 배열의 시작 주소를 1000번지라고 할 때, 배열의 10번째 요소의 주소는 몇 번지인가?

답 : (4) 1040번지


1000+4*10



4. 구조체에 관한 내용 중 틀린 것은?

답 : (2) 구조체 변수에 대하여 비교 연산이나 산술 연산을 할 수 있다.


구조체 자체에 대해 비교 연산이나 산술 연산을 할 수 없다. 구조체의 멤버 간 비교, 산술 연산을 사용해야 한다.



5. int i=10; int *p; p=&i; *p=8;의 문장이 수행되면 i 값은 얼마인가?

답 : (4) 8



6. int i=10; int *p; p=&i; (*p)--;의 문장이 수행되면 i 값은 얼마인가?

답 : (3) 9



7. int a[10]; int *p; p=a; *p++=5;의 문장이 수행되면 변경되는 배열의 요소는?

답 : (1) a[0]



8. int a[10]; int *p; p=a; *++p=5;의 문장이 수행되면 변경되는 배열의 요소는?

답 : (2) a[1]



9. int a[10]; int *p; p=a; (*p)++의 문장이 수행되면 변경되는 배열의 요소는?

답 : (1) a[0]



10. int a[10]; int *p; p=a; ++*(p+1);의 문장이 수행되면 변경되는 배열의 요소는?

답 : (2) a[1]



11. int a[10]; int *p; p=a; (*(p+1))++;의 문장이 수행되면 변경되는 배열의 요소는?

답 : (2) a[1]



12. struct { int fa; int fb; } a; *p=&a;라고 할 때 fa를 수정하는 문장으로 맞는 것을 모두 선택하여라.

답 : (3)(*p).fa=10;  ,  (4)p[0].fa=10; 



13. 다음과 같은 문장을 수행하고 난 뒤의 a[0]의 값은?

void sub(int b[])

{ b[0] = 0; }

void main()

{ int a[]={1,2,3,4,5,6}; sub(a); }

답 : (1)0



14. 다음과 같은 문장을 수행하고 난 뒤의 a.field1의 값은?

struct test { int field1; };

void sub(struct test b)

{ b.field1 = 1; }

void main()

{ struct test a={ 0 }; sub(a); }

답 : (2)0



15. 다음과 같은 문장을 수행하고 난 뒤의 a.filed1의 값은?

struct test { int field1; };

void sub(struct test *b)

{ b->field1 = 1; }

void main()

{ struct test a={ 0 }; sub(&a); }

728x90
728x90