본문 바로가기
IT/프로그래밍

쉽게 풀어 쓴 C언어 Express 13장 Exercise 문제

by nutrient 2020. 12. 7.
728x90
728x170

 

쉽게 풀어 쓴 C언어 Express 13장 Exercise 문제

1.

struct customer {

char name[20];

// 이름

int zip_code;

// 주소

long mileage;

// 마일리지 정보

}

;

struct customer c1;

 

2.

(a) 구조체를 선언하면 자동으로 변수가 생성된다. -> 거짓

(b) typedef은 변수를 선언하는 키워드이다. -> 거짓

(c) 구조체는 == 연산자를 사용하여 비교할 수 있다.-> 거짓

(d) 구조체를 함수로 전달하면 원본이 전달된다. -> 거짓

(e) 구조체 변수는 =연산자를 이용하여 대입될 수 있다.-> 참 

3. (2)

 

4. (1), (3)

 

5.

enum colors {

white, red=3, blue, green, black=9

}

;

식별자 white red blue green black

값 0 3 4 5 9

 

6. (1), (3), (6), (7), (8)

 

7. 공용체에서는 모든 멤버를 동시에 초기화할 수 없다.

 

8.

(a)

struct book {

char author[30];

int pub_date;

int pages;

int price;

};

 

(b)

struct friend {

char name[30];

int age;

double height;

};

(c)

struct part {

char name[10];

int num;

int price;

};

 

9.

(a)

enum primary_color {

RED, GREEN, BLUE

};

 

(b)

enum months {

Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec

};

10.

(a)

struct book {

char title[50];

int pages;

};

book.pages = 512;

→book.pages 가 아니라 구조체변수명.pages 가 되어야 옳다.

 

(b)

struct book {

char title[50] = "Data Structures in C";

int pages = 577;

}

abook;

→

struct book {

char title[50];

int pages;

}

abook = {

"Data Structures in C", 577

}

;

 

(c)

typedef enum {

red, green, blue

}

color;

color.red = 1;

->

typedef enum {

red, green, blue

}

color;

color c;

c=red;

 

(d)

struct fraction {

int num;

int den;

}

*p;

*p.num = 3;

*p.den = 5;

→

컴파일 오류, p는 구조체를 가리키는 포인터로 선언된다. p가 초기화가 안되어 있다.

 

728x90
그리드형

댓글