13장 Exercise
1. 구조체를 정의하고 c1이라는 이름의 구조체 변수를 정의하시오.
struct customer {
char name;
int post_num;
long mileage;
};
struct customer c1;
2. T/F
(a) 구조체를 선언하면 자동으로 변수가 생성된다. F
(b) typedef은 변수를 선언하는 키워드이다. F, 변수가 아니라 자료형이다
(c) 구조체는 ==연산자를 사용하여 비교할 수 있다. T
(d) 구조체를 함수로 전달하면 원본이 전달된다. F, 복사본이 전달된다
(e) 구조체 변수는 =연산자를 이용하여 대입될 수 있다. T
비고) 대입의 경우 p1=p2나 p1.x=p2.x, p1.y=p2.y 모두 가능하다. 하지만 비교의 경우 p1==p2는 불가능하고 p1.x==p2.x && p1.y==p2.y 가 가능하다
3. Employee 구조체로 정의된 변수 e에는 salary라는 필드가 있다. 이 필드를 올바르게 참조한 것은?
②e.salary
4. 포인터 p는 Employee 구조체로 정의된 변수 e를 가리킨다. 올바르게 참조한것은?
① p->salary ③ (*p).salary
5. 다음 열거형의 정의를 보고 각 식별자의 정수값을 예측하여 보라.
enum colors {white, red=3, blue, green, black=9 };
식별자 |
white |
red |
blue |
green |
black |
값 |
0 |
3 |
4 |
5 |
9 |
비고) 0부터 혹은 지정된 값으로부터 자동적으로 1씩 증가한다.
6. 다음과 같은 구조체 정의가 있는 경우에 올바른 문장을 모두 골라라
struct STU{ char name[30]; } s; |
①②③⑤⑦⑧⑥
7. 잠시 컴파일러가 되어보자. 다음 코드에서 오류가 있는 것은?
union id{ char name[4]; long number; } var={"Tom", 1}; |
초기화 할 시 한 번에 하나의 멤버만 사용이 되기 때문에 첫 번째 멤버만 초기화된다. 따라서 var={"Tom"}; 으로 바꾸어야 한다.
8. 다음의 설명에 부합하는 구조체를 정의하여 보라.
(a) char title[30]과 int pub_date, pages, price를 포함하는 구조체 book
struct book{
char title[30];
int pub_date;
int pages;
int price;
};
(b) char name[30], int age, double height를 포함하는 구조체 friend
struct friend{
char name[30];
int age;
double height;
};
(c) 이름, 수량, 가격으로 부품 재고를 표현하는 구조체 part 정의
struct part{
char name[20];
int ea;
int price;
};
9. 다음의 설명에 부합하는 열거형을 정의하여 보라
(a) 빛의 3원색을 표현하는 열거형 primary_color
enum primary_color { RED, GREEN, BLUE };
(b) 12달을 표현하는 열거형 months 정의
enum months { JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC};
(a) struct book{ char title[50]; }; book.pages = 512; |
struct book{ char title[50]; }; book; book.pages = 512; |
(b) struct book{ char title[50]="Data Structures"; } abook; |
struct book{ char title[50]; }; abook = {"Data Structures", 577}; |
(c) typedef enum { red, green, blue } color; color.red = 1; |
typedef enum color { red=1, green, blue }; |
(d) struct fraction { int num; } *p; *p->num = 3; |
struct fration { int num; } s = {3, 5}; struct fration p; p=&s; |
'프로그래밍 > 쉽게 풀어쓴 C언어 Express' 카테고리의 다른 글
쉽게 풀어쓴 C언어 Express 13장 Programming (5) | 2018.11.27 |
---|---|
쉽게 풀어쓴 C언어 Express 13장 Summary (0) | 2018.11.26 |
쉽게 풀어쓴 C언어 Express 12장 Programming (0) | 2018.11.17 |
쉽게 풀어쓴 C언어 Express 12장 Exercise (0) | 2018.11.16 |
쉽게 풀어쓴 C언어 Express 12장 Summary (2) | 2018.11.14 |