본문 바로가기

프로그래밍 언어/C언어

누구나 쉽게 즐기는 c언어 콘서트 개정판 11장 연습문제 풀이

SMALL

누구나 쉽게 즐기는 c언어 콘서트 개정판 11장 연습문제 풀이

1. Employee 구조체로 정의된 변수 e에는 salary라는 필드가 있다. 이 필드를 올바르게 참조한 것은?

답 : 2

 

2. 포인터 pEmployee 구조체로 정의o된 변수 e를 가리킨다. Employee 구조체는 salary라는 필드르 가진다. p를 이용하여 salary를 올바르게 참조한 것을 모두 고르시오.

답 : 1, 3

 

3. 설명에 맞는 항목을 서로 연결하시오.

답 :

여러 개의 변수가 메모리 공간을 공유하는 것 -> 공용체

서로 다른 자료형의 변수들을 묶은 것 -> 구조체

여러 개의 기호 상수를 정의한 것 -> 열거형

사용자 정의 자료형을 정의하는 키워드 -> typedef

 

4. 다음 중 올바르게 정의된 구조체는?

답 : 4

 

5. 구조체 foo의 변수를 올바르게 선언한 것은?

답 : 2

 

6. 다음의 열거형의 정의를 보고 각 식별자의 정수값을 예측하여 보시오.

답 : 0, 3, 4, 5, 9

 

7. 다음과 같은 데이터들을 가지는 구조체를 정의하고, c1이라는 이름의 구조체 변수를 정의하여 보라.

답 :

struct Customer{

char name[20];

int zip_code;

long mileage;

};

struct Customer c1;

 

8. 다음의 구조체 배열은 직원들의 정보를 저장하고 있다. 배열의 인덱스 1번 요소에 {“철수”,300}값을 저장하는 문장을 작성하라.

답 :

emp[1].name=“철수”;

emp[1].salary=300;

 

9. 구조체 배열의 인덱스 2번 요소에 사용자가 입력한 직원 정보를 저장하는 문장을 작성해보자.

답 :

scanf(“%s”,&emp[2].name);

scanf(“%d”,&emp[2].salary);

 

10. 2차원 평면에서 점은 (x,y) 좌표로 나타낼 수 있다. 따라서 하나의 점은 다음과 같은 point라는 구조체로 정의할 수 있다. point 구조체를 받아서 다음과 같은 기능을 하는 함수를 작성하고 테스트하라.

답 : 

(a) int equal(struct point p1, struct point p2){if(p1.x==p2.x && p1.y==p2.y) return 1;

else return ;

}

(b) int quadrant(struct pointk p){

if(p.x>0){

if(p.y>0){return 1;}

else return 4;

}

else if(p.y>0){return 2;}

else return 3;

}

 

LIST