" async="async"> ', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 책 알려주는 남자 :: 쉽게 풀어쓴 C언어 Express 13장 Exercise

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];
        int id;

    } 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};

  


10. 다음 코드가 오류를 가지고 있는지를 먼저 분석하고 오류가 있다면 어떤 오류인지 설명하라.

 (a) 

 struct book{

    char title[50];
    int pages;

 };

 book.pages = 512;


 struct book{ 

    char title[50];
    int pages;

 }; book;

 book.pages = 512;


 (b) 

 struct book{

     char title[50]="Data Structures";
     int pages = 577;

 } abook;

 struct book{

      char title[50];
      int pages;

 }; 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;
     int den;

  } *p;

  *p->num = 3;
  *p->den = 5;

 struct fration {

      int num;
      int den;

 } s = {3, 5};

 struct fration p;

 p=&s;



블로그 이미지

얼음꿀차

책을 한 번 읽긴 읽어야겠는데 막상 읽자니 뭘 읽을지 고민되는 당신을 위해 읽을만한 책들을 알려드립니다!

,