Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /home/toplistWyAc/toplist.tfvp.org/public_html/wp-includes/functions.php on line 6114
Top 19 쉽게 풀어 쓴 C 언어 Express 13 장 All Answers

Top 19 쉽게 풀어 쓴 C 언어 Express 13 장 All Answers

You are looking for information, articles, knowledge about the topic nail salons open on sunday near me 쉽게 풀어 쓴 c 언어 express 13 장 on Google, you do not find the information you need! Here are the best content compiled and compiled by the toplist.tfvp.org team, along with other related topics such as: 쉽게 풀어 쓴 c 언어 express 13 장 쉽게 풀어쓴 c언어 express 13장 pdf, 쉽게 풀어쓴 c언어 express 14장 pdf, 쉽게 풀어쓴 c언어 express 개정3판 12장 programming, 쉽게 풀어쓴 c언어 express 12장 programming, 쉽게 풀어 쓴 C언어 Express 행맨, 쉽게 풀어쓴 c언어 express 13장 summary, 쉽게 풀어쓴 c언어 express 14장, 쉽게 풀어쓴 c언어 express 답지


WEB3 – Express – 13. 에러처리
WEB3 – Express – 13. 에러처리

[su_youtube_advanced url=”https://www.youtube.com/watch?v=2UftvRY-J9A”]


쉽게 풀어쓴 C언어 express 연습문제 13장/ 17장(일부) : 네이버 블로그

  • Article author: blog.naver.com
  • Reviews from users: 35144 ⭐ Ratings
  • Top rated: 3.4 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 쉽게 풀어쓴 C언어 express 연습문제 13장/ 17장(일부) : 네이버 블로그 쉽게 풀어쓴 C언어 express 연습문제 13장/ 17장(일부) … (c). struct part{. char name[20];. int num;. int price;. } ​. 13-09. …
  • Most searched keywords: Whether you are looking for 쉽게 풀어쓴 C언어 express 연습문제 13장/ 17장(일부) : 네이버 블로그 쉽게 풀어쓴 C언어 express 연습문제 13장/ 17장(일부) … (c). struct part{. char name[20];. int num;. int price;. } ​. 13-09.
  • Table of Contents:

blog

악성코드가 포함되어 있는 파일입니다

작성자 이외의 방문자에게는 이용이 제한되었습니다

쉽게 풀어쓴 C언어 express 연습문제 13장/ 17장(일부) : 네이버 블로그
쉽게 풀어쓴 C언어 express 연습문제 13장/ 17장(일부) : 네이버 블로그

Read More

쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설

  • Article author: tistorysolution.tistory.com
  • Reviews from users: 9963 ⭐ Ratings
  • Top rated: 3.0 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설 쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설 쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설 1. (a) #include struct point { int … …
  • Most searched keywords: Whether you are looking for 쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설 쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설 쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설 1. (a) #include struct point { int … 쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설 쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설 1. (a) #include struct point { int x, y; } ; int equal(struct point p1, stru..
  • Table of Contents:

쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설

태그

관련글

댓글0

티스토리툴바

쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설
쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설

Read More

쉽게 풀어 쓴 c 언어 express 13 장

  • Article author: web.yonsei.ac.kr
  • Reviews from users: 39572 ⭐ Ratings
  • Top rated: 4.2 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 쉽게 풀어 쓴 c 언어 express 13 장 이번 장에서 학습할 내용. •구조체의 개념, 정의,. 초기화 방법. •구조체와 포인터와의. 관계. •공용체와 typedef. 구조체는 서로 다른. 데이터들을 하나로. …
  • Most searched keywords: Whether you are looking for 쉽게 풀어 쓴 c 언어 express 13 장 이번 장에서 학습할 내용. •구조체의 개념, 정의,. 초기화 방법. •구조체와 포인터와의. 관계. •공용체와 typedef. 구조체는 서로 다른. 데이터들을 하나로.
  • Table of Contents:
쉽게 풀어 쓴 c 언어 express 13 장
쉽게 풀어 쓴 c 언어 express 13 장

Read More

쉽게 풀어쓴 C언어 express 13장 구조체 연습문제 시험자료

  • Article author: www.happycampus.com
  • Reviews from users: 18878 ⭐ Ratings
  • Top rated: 4.5 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 쉽게 풀어쓴 C언어 express 13장 구조체 연습문제 시험자료 1번 /* #include #include struct book { int ; char title[100]; char author[20]; }aa; int main() { struct book aa; aa. = 1; … …
  • Most searched keywords: Whether you are looking for 쉽게 풀어쓴 C언어 express 13장 구조체 연습문제 시험자료 1번 /* #include #include struct book { int ; char title[100]; char author[20]; }aa; int main() { struct book aa; aa. = 1; … //1번 /* #include #include struct book { int id; char title[100]; char author[20]; }aa; int main() { struct book aa; aa.id = 1; strcpy_s(aa.title,100, “바람과 함께 사라지다”); strcpy_s(aa.author,20, “마가렛 미쉘”); printf(“{ %d, %s, %s }”, aa.id, aa.title, aa.author); return 0; } */ //2번 /* #include #include stru..C언어,구조체,쉽게풀어쓴c언어express,코드,연습문제
  • Table of Contents:

소개글

목차

본문내용

참고 자료

태그

자료후기(1)

자료문의

주의사항

이런 노하우도 있어요!더보기

찾던 자료가 아닌가요아래 자료들 중 찾던 자료가 있는지 확인해보세요

쉽게 풀어쓴 C언어 express 13장 구조체 연습문제 시험자료
쉽게 풀어쓴 C언어 express 13장 구조체 연습문제 시험자료

Read More

쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25) – ppt download

  • Article author: slidesplayer.org
  • Reviews from users: 35428 ⭐ Ratings
  • Top rated: 4.9 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25) – ppt download 구조체란? 기본자료형: char, int, float, double 등 자료형 파생자료형: 배열, 열거형, 구조체, 공용체 구조체: 서로 다른 자료형을 하나로 묶는 구조 구조체 vs 배열 … …
  • Most searched keywords: Whether you are looking for 쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25) – ppt download 구조체란? 기본자료형: char, int, float, double 등 자료형 파생자료형: 배열, 열거형, 구조체, 공용체 구조체: 서로 다른 자료형을 하나로 묶는 구조 구조체 vs 배열 … 구조체란? 기본자료형: char, int, float, double 등 자료형 파생자료형: 배열, 열거형, 구조체, 공용체 구조체: 서로 다른 자료형을 하나로 묶는 구조 구조체 vs 배열 Slide 2 (of 25)쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25)
  • Table of Contents:
쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25) -  ppt download
쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25) – ppt download

Read More

쉽게 풀어 쓴 c 언어 express 13 장

  • Article author: cs.kangwon.ac.kr
  • Reviews from users: 36886 ⭐ Ratings
  • Top rated: 3.1 ⭐
  • Lowest rated: 1 ⭐
  • Summary of article content: Articles about 쉽게 풀어 쓴 c 언어 express 13 장 쉽게 풀어쓴 C언어 Express. C Express. 제13장 구조체 … 13. 컴퓨터 프로그래밍 기초. 구조체 배열. 구조체 배열의 초기화. struct student {. int number;. …
  • Most searched keywords: Whether you are looking for 쉽게 풀어 쓴 c 언어 express 13 장 쉽게 풀어쓴 C언어 Express. C Express. 제13장 구조체 … 13. 컴퓨터 프로그래밍 기초. 구조체 배열. 구조체 배열의 초기화. struct student {. int number;.
  • Table of Contents:
쉽게 풀어 쓴 c 언어 express 13 장
쉽게 풀어 쓴 c 언어 express 13 장

Read More


See more articles in the same category here: 497+ tips for you.

쉽게 풀어쓴 C언어 express 연습문제 13장/ 17장(일부)

[Exercise]

13-01

struct Customer{

char name[20];

int num;

long mi;

}

struct Customer c1;

13-02

(a) F

(b) F

(c) T

(d) F

(e) T

13-03 (2)

13-04 (1), (3)

13-05 0, 3, 4, 5, 9

13-06 (1), (3), (6), (7), (8)

13-07 공용체에서는 모든 멤버를 한꺼번에 초기화할 수 없기 때문이다.

13-08

(a)

struct book{

char title[30];

int pub_date;

int pages;

int price;

}

(b)

struct friend{

char name[30];

int age;

double height;

}

(c)

struct part{

char name[20];

int num;

int price;

}

13-09

(a) enum primary_color { r, g, b };

(b) enum months { Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };

13-10

(a)

struct book b;

b.pages=512;

(b)

struct book{

char title[50];

int pages;

};

struct book abook = {“Data Structures”, 577};

(c) typedef enum color { red=1, green, blue };

(d)

struct fration {

int num;

int den;

} s = {3, 5};

struct fration p;

p=&s;

17-01 (3)

17-02

char *p;

p=(char *)malloc(100);

printf(“텍스트를 입력하시오: “);

gets(p);

printf(“입력된 텍스트는 %s입니다.

”, p);

17-03

(a) malloc(), free()

(b) void *

(c) size_t

17-04

(a)

int *pi;

pi = (int *)malloc(sizeof(int)*10);

(b)

char *pi;

pi = (char *)calloc(10, sizeof(char));

(c)

char *pc;

pc = (char *)malloc(10*sizeof(char));

17-05

(a)

double *p;

p=(double *)malloc(sizeof(double));

*p=3.14;

(b)

int *p;

p = (int *)malloc(sizeof(int)*5);

p[0] = 1;

p[1] = 2;

p[2] = 3;

p[3] = 4;

p[4] = 5;

[Programming]

문제 13-1) 책을 나타내는 구조체 book을 선언해서 사용해보자. 책은 id, title, author를 가지고 있다고 가정한다. {1, “바람과 함께 사라지다”, “마가렛 미첼”의 값을 가지는 구조체 변수를 생성했다가 다시 화면에 출력해보자.

#include

#include

typedef struct book {

int id;

char title[100];

char author[20];

}book;

int main() {

book b = { 1,”바람과 함께 사라지다”,”마가렛 미첼” };

printf(“{ %d, %s, %s }”, b.id, b.title, b.author);

}

문제 13-2) 은행계좌를 나타내는 구조체 account를 선언해서 사용해보자. 계좌는 계좌번호, 이름, 잔액 등의 정보를 가지고 있다고 하자. {1, “홍길동”, 100000}의 값을 가지는 구조체 변수를 생성했다가 다시 화면에 출력해보자.

#include

#include

typedef struct account {

int number;

char name[20];

int balance;

}account;

int main() {

account acc = { 1,”홍길동”,100000};

printf(“{ %d, %s, %d }”, acc.number, acc.name, acc.balance);

}

문제 13-3) 구조체를 이용하여 이메일을 표현할 수 있는 구조체를 정의하고, 적당한 초기값을 부여하고 출력하는 프로그램을 작성하라. 구조체의 멤버는 제목, 수신자, 발신자, 내용, 날짜, 우선순위 등으로 구성된다.

#include

#include

typedef struct email {

char title[20];

char receiver[30];

char sender[30];

char content[100];

char date[10];

int pri;

}email;

int main() {

email e = { “안부 메일”,”chulsoo@hankuk.ac.kr”,”hsh@hankuk.ac.kr”,”안녕하십니까? 별일 없으신지요?”

, “2010/9/1”,1 };

printf(“제목: %s

수신자: %s

발신자: %s

내용: %s

날짜: %s

우선순위: %d

“, e.title, e.receiver, e.sender, e.content, e.date, e.pri);

}

문제 13-4) 구조체를 이용하여 복소수를 다음과 같이 정의하고 복소수의 덧셈을 수행하는 함수를 작성하고 테스트하라.

#include

#include

typedef struct complex {

double real;

double imag;

}complex;

complex complex_add(complex c1, complex c2) {

complex c3;

c3.real = c1.real + c2.real;

c3.imag = c1.imag + c2.imag;

return c3;

}

int main() {

complex c1, c2, c3;

c1.real = 1;

c1.imag = 2;

c2.real = 2;

c2.imag = 3;

c3 = complex_add(c1, c2);

printf(“%lf+%lfi

“, c1.real, c1.imag);

printf(“%lf+%lfi

“, c2.real, c2.imag);

printf(“%lf+%lfi

“, c3.real, c3.imag);

}

문제 13-5) 2차원 평면에서 점은 (x,y) 좌표로 나타낼 수 있다. 따라서 하나의 점은 다음과 같은 point라는 구조체로 정의할 수 있다. 이 point 구조체를 받아서 두 점의 좌표가 일치하면 1을 반환하고 그렇지 않으면 0을 반환하는 함수 int equal(struct point p1, struct point p2)를 작성하고 테스트하라.

#include

#include

typedef struct point {

int x, y;

}point;

int equal(point p1, point p2) {

if (p1.x == p2.x && p1.y == p2.y)

return 1;

else return 0;

}

int main() {

int res;

point p1, p2;

p1.x = 1, p1.y = 2;

p2.x = 3, p2.y = 5;

res = equal(p1, p2);

if (res == 1)

printf(“(%d, %d) == (%d, %d)”, p1.x, p1.y, p2.x ,p2.y);

else

printf(“(%d, %d) != (%d, %d)”, p1.x, p1.y, p2.x, p2.y);

}

문제 13-6) 앞의 문제에서 equal()함수를 다음과 같이 구조체의 포인터를 받도록 변경하여서 작성하고 테스트하라.

#include

#include

typedef struct point {

int x, y;

}point;

int equal(point *p1, point *p2) {

if (p1->x == p2->x && p1->y == p2->y)

return 1;

else return 0;

}

int main() {

int res;

point pp1, pp2;

point *p1 = &pp1;

point *p2 = &pp2;

pp1.x = 1, pp1.y = 2;

pp2.x = 3, pp2.y = 5;

res = equal(p1, p2);

if (res == 1)

printf(“(%d, %d) == (%d, %d)”, p1->x, p1->y, p2->x ,p2->y);

else

printf(“(%d, %d) != (%d, %d)”, p1->x, p1->y, p2->x, p2->y);

}

문제 13-7) 2차원 공간에 있는 점의 좌표를 받아서 이 점이 속하는 사분면의 번호를 반환하는 함수 int quadrant(struct point p)를 작성하고 테스트하라. 앞의 point 구조체를 사용한다.

#include

#include

typedef struct point {

int x, y;

}point;

int quadrant(point p) {

if (p.x > 0 && p.y > 0) return 1;

else if (p.x < 0 && p.y > 0) return 2;

else if (p.x < 0 && p.y < 0) return 3; else if (p.x > 0 && p.y < 0) return 4; } int main() { int res; point p; p.x = -1, p.y = 2; res = quadrant(p); printf("(%d, %d)의 사분면 = %d", p.x, p.y, res); } ​ ​ 문제 13-8) 원의 중심을 나타내는데 point 구조체를 사용할 수 있다. 원을 나타내는 circle 구조체를 정의하라. 이 circle 구조체를 받아서 다음과 같은 기능을 하는 함수를 작성하고 테스트하라. ​ (a) 원의 면적을 계산하는 함수 double area(struct circle c) ​ (b) 원의 둘레를 계산하는 함수 double perimeter(struct circle c) ​ (c) typedef을 사용하여 struct circle을 CIRCLE로 정의한 후에 (a)와 (b)를 다시 작성해보자. ​ #include

#include

struct point {

int x, y;

};

struct circle {

struct point center;

double radius;

};

double area(struct circle c) {

return c.radius*c.radius*3.14;

}

double perimeter(struct circle c) {

return c.radius*2*3.14;

}

int main() {

struct circle c;

c.center = { 0,0 };

c.radius = 10;

printf(“원의 중심점: %d %d

“, c.center.x, c.center.y);

printf(“원의 반지름: %.0lf

“, c.radius);

printf(“원의 면적=%lf, 원의 둘레=%lf

“,area(c),perimeter(c));

}

#include

#include

struct point {

int x, y;

};

typedef struct circle {

struct point center;

double radius;

}CIRCLE;

double area(CIRCLE c) {

return c.radius*c.radius*3.14;

}

double perimeter(CIRCLE c) {

return c.radius*2*3.14;

}

int main() {

CIRCLE c;

c.center = { 0,0 };

c.radius = 10;

printf(“원의 중심점: %d %d

“, c.center.x, c.center.y);

printf(“원의 반지름: %.0lf

“, c.radius);

printf(“원의 면적=%lf, 원의 둘레=%lf

“,area(c),perimeter(c));

}

문제 13-9) 각각의 음식에 대하여 음식의 이름, 칼로리 정보를 구조체로 표현한다. 사용자가 하루 동안 먹은 음식들을 입력받아 구조체의 배열에 저장하고 하루 동안 먹은 음식의 칼로리를 계산하는 프로그램을 작성하라.

#include

#include

struct food {

char name[20];

int calories;

};

int main() {

int sum = 0;

struct food food_array[3];

food_array[0] = { “피자”,1000 };

food_array[1] = { “치킨”,500 };

food_array[2] = { “떡볶이”,600 };

for (int i = 0; i < 3; i++) { sum += food_array[i].calories; } printf("총 칼로리=%d", sum); } ​ ​ ​ 문제 13-10) 직원을 나타내는 구조체 employee가 사번, 이름, 전화번호, 나이 등으로 구성된다. 구조체의 배열을 선언하고 10명의 데이터로 초기화하라. 이중에서 나이가 20이상 30이하인 직원을 찾아서 출력하도록 하라. typedef을 사용하여서 구조체 타입을 정의해서 사용하라. #include

#include

typedef struct employee {

int n;

char name[20];

char phone[20];

int age;

}employee;

int main() {

employee e[10];

e[0] = { 1,”홍길동1″,”111″,20 };

e[1] = { 2,”홍길동2″,”112″,21};

e[2] = { 3,”홍길동3″,”113″,32 };

e[3] = { 4,”홍길동4″,”114″,23 };

e[4] = { 5,”홍길동5″,”115″,34 };

e[5] = { 6,”홍길동6″,”116″,25 };

e[6] = { 7,”홍길동7″,”117″,26 };

e[7] = { 8,”홍길동8″,”118″,37 };

e[8] = { 9,”홍길동9″,”119″,28 };

e[9] = { 10,”홍길동10″,”110″,39 };

for (int i = 0; i < 10; i++) { if (e[i].age >= 20 && e[i].age <= 30) { printf("이름=%s 나이=%d ", e[i].name, e[i].age); } } } ​ ​ 문제 13-11) 전화번호부를 구성하기 위하여 이름, 전화번호, 휴대폰 번호로 구성되는 구조체를 정의한 후에 이 구조체의 배열을 선언하여 전화번호부를 구성한다. 3명의 데이터를 사용자로부터 받아서 저장하여 보라. 사용자로부터 이름을 입력받아서 전화번호를 검색하는 프로그램을 작성하라. ​ #include

#include

#include

typedef struct phbook {

char name[20];

char num1[20];

char num2[20];

}phbook;

int main() {

char ch[20];

phbook ph[3];

for (int i = 0; i < 3; i++) { printf("이름을 입력하시오: "); scanf("%s", &ph[i].name); printf("집전화번호를 입력하시오: "); scanf("%s", &ph[i].num1); printf("휴대폰번호를 입력하시오: "); scanf("%s", &ph[i].num2); } printf("검색할 이름을 입력하시오: "); getchar(); gets_s(ch, 20); for (int i = 0; i < 3; i++) { if(strcmp(ch,ph[i].name)==0) printf("집전화번호: %s 휴대폰번호: %s",ph[i].num1,ph[i].num2); } } ​ ​ ​ 문제 13-12) 포커 게임에 사용되는 카드를 구조체 card로 정의하고 52개의 카드를 구조체의 배열로 나타내라. 52개의 카드를 적절한 값으로 초기화하고 값들을 출력하는 프로그램을 작성하라. card 구조체는 다음과 같은 멤버값을 가진다고 가정하라. 먼저 카드의 수는 정수로 표현되며 멤버의 이름은 value라고 하라. value는 1부터 13까지의 값을 가질 수 있다. 카드의 타입은 하나의 문자로 표현되며 멤버의 이름은 suit라고 하라. suit는 ‘c’, ‘d’, ‘h’, ‘s’의 값을 가질 수 있다. ​ #include

#include

#include

typedef struct card {

int value;

char suit;

}card;

int main() {

card c[52];

for (int i = 0; i < 13; i++) { c[i].suit = 'c'; c[i].value = i + 1; } for (int i = 0; i < 13; i++) { c[i+13].suit = 'd'; c[i+13].value = i + 1; } for (int i = 0; i < 13; i++) { c[i + 26].suit = 'h'; c[i + 26].value = i + 1; } for (int i = 0; i < 13; i++) { c[i + 39].suit = 's'; c[i + 39].value = i + 1; } for (int i = 0; i < 52; i++) { printf("%d:%c ", c[i].value, c[i].suit); } } ​ ​ ​ ​ 문제 17-1) 동적 메모리 할당을 이용하여서 사용자로부터 양의 정수들의 합을 구하는 프로그램을 작성하라 사용자로부터 먼저 정수의 개수를 입력받도록 하라. ​ #include

#include

int main() {

int n;

int *k, sum = 0;

printf(“정수의 개수: “);

scanf(“%d”, &n);

k = (int *)malloc(sizeof(int)*n);

for (int i = 0; i < n; i++) { printf("양의 정수를 입력하시오: "); scanf("%d", &k[i]); sum += k[i]; } printf("합은 %d입니다.", sum); } ​ ​ ​ ​ 문제 17-2) 길이가 100인 n개의 문자열을 저장하는데 필요한 동적 메모리를 할당해보자. ​ #include

#include

int main() {

int n;

printf(“문자열의 개수: “);

scanf(“%d”, &n);

char **A = NULL;

printf(“[ “);

if ((A = (char **)malloc(n * sizeof(char *))) != NULL) {

for (int i = 0; i < n; i++) { A[i] = (char *)malloc(100); printf("\"문자열%d\" ", i); } } printf("] "); } ​ ​ ​ ​ 문제 17-3) 동적 메모리 할당을 이용하여서 사용자로부터 받은 주소록을 저장하고 출력하는 프로그램을 작성하라. 사용자로부터 먼저 주소의 개수를 입력받도록 하라. 주소의 많은 정보 중에서 이름과 휴대폰 번호만을 저장하도록 하자. ​ #include

#include

typedef struct Address {

char name[20];

char phone[20];

}Address;

int main() {

int n;

Address *add;

printf(“주소의 개수: “);

scanf(“%d”, &n);

getchar();

add = (Address *)malloc(sizeof(Address)*n);

for (int i = 0; i < n; i++) { printf("이름을 입력하시오: "); gets_s(add[i].name,20); printf("휴대폰 번호를 입력하시오: "); gets_s(add[i].phone, 20); } printf("============================== "); printf("이름 휴대폰 번호 "); printf("============================== "); for (int i = 0; i < n; i++) { printf("%s %s", add[i].name, add[i].phone); } } ​ ​ ​ 문제 17-4) 사용자로부터 단어를 입력받는 공간을 동적 메모리로 할당받아 보자. 단어의 최대 크기는 50이라고 가정한다. 단어의 주소를 반환하는 함수 char *get_word()를 작성하고 테스트한다. ​ #include

#include

char *get_word() {

char *s = (char *)malloc(sizeof(char)*50);

if (s == NULL) {

printf(“메모리 할당 오류

“);

exit(1);

}

printf(“단어를 입력하시오(최대 50글자): “);

scanf(“%s”, s);

return s;

}

int main() {

char *c = get_word();

printf(“동적 메모리에 저장된 단어는 %s 입니다.”, c);

}

쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설

반응형

728×170

쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설

쉽게 풀어 쓴 C언어 Express 13장 프로그래밍 문제 해설

1.

(a)

#include struct point { int x, y; } ; int equal(struct point p1, struct point p2); int main(void) { struct point p1= { 1, 2 } ; struct point p2= { 3, 5 } ; printf(“일치 여부 = %d

“, equal(p1, p2)); return 0; } int equal(struct point p1, struct point p2) { if( p1.x == p2.x && p1.y == p2.y ) return 1; else return 0; }

(b)

#include struct point { int x, y; } ; int quadrant(struct point p); int main(void) { struct point p= { -1, 2 } ; printf(“사분면 = %d

“, quadrant(p)); return 0; } int quadrant(struct point p) { if( p.x > 0 && p.y > 0 ) return 1; else if( p.x < 0 && p.y > 0 ) return 2; else if( p.x < 0 && p.y < 0 ) return 3; else return 4; } 2. (a) #include struct point { int x, y; } ; int equal(struct point *p1, struct point *p2); int main(void) { struct point p1= { 1, 2 } ; struct point p2= { 3, 5 } ; printf(“일치 여부 = %d

“, equal(&p1, &p2)); return 0; } int equal(struct point *p1, struct point *p2) { if( p1->x == p2->x && p1->y == p2->y ) return 1; else return 0; }

(b)

#include struct point { int x, y; } ; int quadrant(struct point *p); int main(void) { struct point p= { -1, 2 } ; printf(“사분면 = %d

“, quadrant(&p)); return 0; } int quadrant(struct point *p) { if( p->x > 0 && p->y > 0 ) return 1; else if( p->x < 0 && p->y > 0 ) return 2; else if( p->x < 0 && p->y < 0 ) return 3; else return 4; } 3. #include #include struct point { int x, y; } ; struct rectangle { struct point a, b; // a는 오른쪽 상단, b는 왼쪽 하단을 나타낸다. } ; int area(struct rectangle r); int perimeter(struct rectangle r); int is_square(struct rectangle r); int main(void) { struct point p1= { 1, 1 } ; struct point p2= { 2, 2 } ; struct rectangle r; r.a = p1; r.b = p2; printf(“%d

“, area(r)); printf(“%d

“, perimeter(r)); printf(“%d

“, is_square(r)); return 0; } int area(struct rectangle r) { return abs(r.a.x-r.b.x)*abs(r.a.y-r.b.y); } int perimeter(struct rectangle r) { return 2*(abs(r.a.x-r.b.x)+abs(r.a.y-r.b.y)); } int is_square(struct rectangle r) { return abs(r.a.x-r.b.x)==abs(r.a.y-r.b.y); }

4.

#include struct complex { double real; double imag; } ; struct complex add(struct complex c1, struct complex c2) { struct complex result; result.real = c1.real+c2.real; result.imag = c1.imag+c2.imag; return result; } struct complex sub(struct complex c1, struct complex c2) { struct complex result; result.real = c1.real+c2.real; result.imag = c1.imag+c2.imag; return result; } struct complex mul(struct complex c1, struct complex c2) { struct complex result; result.real = c1.real*c2.real-c1.imag*c2.imag; result.imag = c1.real*c2.imag+c1.imag*c2.real; return result; } void print(struct complex c) { printf(“%f+%fi

“, c.real,c.imag); } int main(void) { struct complex c1= { 1.0, 2.0 } ; struct complex c2= { 2.0, 3.0 } ; struct complex c3; c3= add(c1, c2); print(c3); return 1; }

5.

#include #include struct vector { double x; double y; } ; struct vector vector_add(struct vector v1, struct vector v2) { struct vector r; r.x = v1.x + v2.x; r.y = v1.y + v2.y; return r; } void vector_print(struct vector v) { printf(“(%f, %f)

“, v.x, v.y); } int main(void) { struct vector v1= { 1.0, 2.0 } ; struct vector v2= { 2.0, 3.0 } ; struct vector v3; v3 = vector_add(v1, v2); vector_print(v3); return 0; }

6.

#include #include struct email { char title[100]; char receiver[50]; char sender[50]; char content[1000]; char date[100]; int priority; } ; int main(void) { struct email e; strcpy(e.title, “안부 메일”); strcpy(e.receiver, “chulsoo@hankuk.ac.kr”); strcpy(e.sender, “hsh@hankuk.ac.kr”); strcpy(e.content, “안녕하십니까? 별일 없으신지요?”); strcpy(e.date, “2010/9/1”); e.priority = 1; return 0; }

7.

#include #include struct food { char name[100]; int calories; } ; int calc_total_calroies(struct food array[], int size); int main(void) { struct food food_array[3]= { { “hambuger”, 900 } , { “bulgogi”, 500 } , { “sushi”, 700 } } ; int total = calc_total_calroies(food_array, 3); printf(“%d

“, total); return 0; } int calc_total_calroies(struct food array[], int size) { int i, total=0; for (i=0;i #include // 직원 struct employee { int number; // 사번 char name[20]; // 이름 int age; // 나이 char tel[20]; // 전화번호 } ; int main(void) { struct employee e[10] = { { 1, “홍길동1”, 20, “111-1111” } , { 2, “홍길동2”, 25, “111-1112” } , { 3, “홍길동3”, 60, “111-1113” } , { 4, “홍길동4”, 40, “111-1114” } , { 5, “홍길동5”, 50, “111-1115” } , { 6, “홍길동6”, 45, “111-1116” } , { 7, “홍길동7”, 32, “111-1117” } , { 8, “홍길동8”, 23, “111-1118” } , { 9, “홍길동9”, 29, “111-1119” } , { 10, “홍길동10”, 62, “111-1120” } } ; int i; for (i=0;i<10;i++) if( e[i].age >= 20 && e[i].age <= 30 ) printf("%s ", e[i].name); return 0; } 9. #include #include struct contact { char name[100]; char home_phone[100]; char cell_phone[100]; } ; int main(void) { struct contact list[5]; int i; char name[100]; for (i=0;i<5;i++) { printf("이름을 입력하시오:"); scanf("%s", list[i].name); printf("집전화번호를 입력하시오:"); scanf("%s", list[i].home_phone); printf("휴대폰번호를 입력하시오:"); scanf("%s", list[i].cell_phone); } printf("검색할 이름을 입력하시오:"); scanf("%s", name); for (i=0;i<5;i++) { if( strcmp(name, list[i].name)==0 ) { printf("집전화번호: %s ", list[i].home_phone); printf("휴대폰번호: %s ", list[i].cell_phone); return 0; } } printf("검색이 실패하였슴 "); return 0; } 10. #include #include struct card { int value; char suit; } ; int main(void) { struct card cards[52]; int i; for (i=0;i<13;i++) { cards[i].value=i%13+1; cards[i].suit='c'; } for (i=0;i<13;i++) { cards[i+13].value=i%13+1; cards[i+13].suit='d'; } for (i=0;i<13;i++) { cards[i+26].value=i%13+1; cards[i+26].suit='h'; } for (i=0;i<13;i++) { cards[i+39].value=i%13+1; cards[i+39].suit='s'; } for (i=0;i<52;i++) { printf("%d:%c ", cards[i].value, cards[i].suit); } return 0; } 15. #include #include enum shape_type { TRIANGLE, RECTANGLE, CIRCLE } ; struct shape { int type; union { struct { int base, height; } tri; struct { int width, height; } rect; struct { int radius; } circ; } p; } ; int main(void) { struct shape s; enum shpae_type type; printf(“도형의 타입을 입력하시오(0, 1, 2): “); scanf(“%d”, &type); switch(type) { case TRIANGLE: printf(“밑변과 반지름을 입력하시오(예를 들어서 100 200): “); scanf(“%d %d”, &s.p.tri.base, &s.p.tri.height); printf(“면적은 %d

“, (int)(0.5*s.p.tri.base*s.p.tri.height)); break; case RECTANGLE: printf(“가로와 세로의 길이를 입력하시오(예를 들어서 100 200):”); scanf(“%d %d”, &s.p.rect.width, &s.p.rect.height); printf(“면적은 %d

“, (int)(s.p.rect.width*s.p.rect.height)); break; case CIRCLE: printf(“반지름을 입력하시오(예를 들어서 100): “); scanf(“%d”, &s.p.circ.radius); printf(“면적은 %d

“, (int)(3.14*s.p.circ.radius*s.p.circ.radius)); break; } return 0; }

18.

#include #include #define TITLE_SIZE 50 #define NAME_SIZE 50 #define LOCATION_SIZE 50 enum music_type { KPOP, POP, CLASSIC, SCREEN_MUSIC } ; typedef struct music { char title[TITLE_SIZE]; char singer[NAME_SIZE]; char location[LOCATION_SIZE]; enum music_type genre; } MUSIC; void add_record(MUSIC library[], int count); void menu(); int get_input(); void search_record(MUSIC library[], int count); void print_record(MUSIC library[], int count); int main(void) { int num, count = 0; MUSIC library[30] = { ‘\0’ } ; while(1) { menu(); num = get_input(); switch(num) { case 1: add_record(library, count); count++; continue; case 2: print_record(library, count); continue; case 3: search_record(library, count); continue; case 4: return -1; } return 0; } } void add_record(MUSIC library[], int count) { int type; fflush(stdin); printf(“제목:”); gets(library[count].title); printf(“가수:”); gets(library[count].singer); printf(“위치:”); gets(library[count].location); printf(“장르(0: 가요, 1: 팝, 2: 클래식, 3: 영화음악)”); scanf(“%d”,&type); if(type >= KPOP && type <= SCREEN_MUSIC) library[count].genre = type; else library[count].genre = KPOP; } void menu() { printf("==================== "); printf(" 1. 추가 "); printf(" 2. 출력 "); printf(" 3. 검색 "); printf(" 4. 종료 "); printf("==================== "); } int get_input() { int num; printf("정수값을 입력하시오 : "); scanf("%d",&num); return num; } void search_record(MUSIC library[], int count) { int i; char title[TITLE_SIZE]; fflush(stdin); printf("제목: "); gets(title); for (i = 0; i < count; i++) { if(strcmp(title,library[i].title) == 0) { printf("저장된 위치는 %s ",library[i].location); return; } } printf("찾는 음악이 테이블에 없습니다. "); } void print_record(MUSIC library[], int count) { int i; fflush(stdin); for (i = 0; i < count; i++) { printf("제목 : %s ",library[i].title); printf("가수 : %s ",library[i].singer); printf("위치 : %s ",library[i].location); if(library[i].genre == 0) printf("장르 : 가요 "); else if(library[i].genre == 1) printf("장르 : 팝 "); else if(library[i].genre == 2) printf("장르 : 클래식 "); else if(library[i].genre == 3) printf("장르 : 영화음악 "); } } 반응형 그리드형

쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25)

Presentation on theme: “쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25)”— Presentation transcript:

1 쉽게 풀어쓴 C언어 Express 제13장 구조체 C Express Slide 1 (of 25)

2 구조체란? 기본자료형: char, int, float, double 등 자료형 파생자료형: 배열, 열거형, 구조체, 공용체

구조체: 서로 다른 자료형을 하나로 묶는 구조 구조체 vs 배열 Slide 2 (of 25)

3 구조체의 선언 (예)학생에 대한 데이터 구조체 선언 형식 구조체 선언은 변수 선언은 아님 struct 구조체_태그_이름 {

자료형 멤버_이름; … }; 구조체 선언은 변수 선언은 아님 Slide 3 (of 25)

4 구조체 선언의 예 // x값과 y값으로 이루어지는 화면의 좌표 struct point { int x; // x 좌표

int y; // y 좌표 }; // 사각형 struct rect { int x; int y; int width; int height; }; // 복소수 struct complex { double real; // 실수부 double imag; // 허수부 }; // 직원 struct employee { char name[20]; // 이름 int age; // 나이 int gender; // 성별 int salary; // 월급 }; // 날짜 struct date { int month; int day; int year; }; Slide 4 (of 25)

5 구조체 변수 선언 구조체 정의와 구조체 변수 선언은 다르다. Slide 5 (of 25)

6 구조체의 초기화 중괄호를 이용하여 초기값을 나열한다. struct student { int number;

char name[10]; double height; }; struct student s1 = { 24, “Kim”, }; Slide 6 (of 25)

7 .기호는 구조체에서 멤버를 참조할 때 사용하는 연산자입니다.

구조체 멤버 참조 구조체 멤버를 참조하려면 다음과 같이 .연산자를 사용한다. s1.number = 26; // 정수 멤버 strcpy(s1.name, “Kim”); // 문자열 멤버 s1.height = 183.2; // 실수 멤버 .기호는 구조체에서 멤버를 참조할 때 사용하는 연산자입니다. . Slide 7 (of 25)

8 구조체를 멤버로 가지는 구조체 struct date { // 구조체 선언 int year; int month; int day;

}; struct student { // 구조체 선언 int number; char name[10]; struct date dob; // 구조체 안에 구조체 포함 double height; }; struct student s1; // 구조체 변수 선언 s1.dob.year = 1983; // 멤버 참조 s1.dob.month = 03; s1.dob.day = 29; Slide 8 (of 25)

9 예제 #1 구조체 선언 구조체 변수 선언 구조체 멤버 참조 #include

#include struct student { int number; char name[10]; double height; }; int main(void) { struct student s; s.number = ; strcpy(s.name,”홍길동”); s.height = 180.2; printf(“학번: %d

“, s.number); printf(“이름: %s

“, s.name); printf(“신장: %f

“, s.height); return 0; } 구조체 선언 구조체 변수 선언 구조체 멤버 참조 학번: 이름: 홍길동 신장: Slide 9 (of 25)

10 예제 #2 struct student { int number; char name[10]; double height; };

int main(void) { struct student s; printf(“학번을 입력하시오: “); scanf(“%d”, &s.number); printf(“이름을 입력하시오: “); scanf(“%s”, s.name); printf(“신장을 입력하시오(실수): “); scanf(“%lf”, &s.height); printf(“학번: %d

“, s.number); printf(“이름: %s

“, s.name); printf(“신장: %f

“, s.height); return 0; } 학번을 입력하시오: 이름을 입력하시오: 홍길동 신장을 입력하시오(실수): 180.2 학번: 이름: 홍길동 신장: Slide 10 (of 25)

11 구조체 변수의 대입과 비교 같은 구조체 변수까리 대입은 가능하지만 비교는 불가능하다. struct point { int x;

int y; }; int main(void) { struct point p1 = {10, 20}; struct point p2 = {30, 40}; p2 = p1; // 대입 가능 if( p1 == p2 ) // 비교 -> 컴파일 오류!! printf(“p1와 p2이 같습니다.”) if( (p1.x == p2.x) && (p1.y == p2.y) ) // 올바른 비교 } Slide 11 (of 25)

12 구조체 배열 구조체 배열의 선언 구조체 배열의 초기화 struct student { int number;

char name[20]; double height; }; int main(void) { struct student list[100]; // 구조체의 배열 선언 list[2].number = 27; strcpy(list[2].name, “홍길동”); list[2].height = 178.0; } 구조체 배열의 초기화 struct student list[3] = { { 1, “Park”, }, { 2, “Kim”, }, { 3, “Lee”, } }; Slide 12 (of 25)

13 구조체와 포인터 구조체를 가리키는 포인터 struct student *p;

struct student s = { , “홍길동”, }; p = &s; printf(“학번=%d 이름=%s 키=%f

“, s.number, s.name, s.height); printf(“학번=%d 이름=%s 키=%f

“, (*p).number,(*p).name,(*p).height); Slide 13 (of 25)

14 == -> 연산자 -> 연산자는 구조체 포인터로 구조체 멤버를 참조할 때 사용 struct student *p;

struct student s = { , “홍길동”, }; p = &s; printf(“학번=%d 이름=%s 키=%f

“, s.number, s.name, s.height); printf(“학번=%d 이름=%s 키=%f

“, (*p).number,(*p).name,(*p).height); printf(“학번=%d 이름=%s 키=%f

“, p->number, p->name, p->height); == Slide 14 (of 25)

15 자체 참조 구조체 struct student { int number; char name[10]; double height;

struct student *next; }; int main(void) { struct student s1 = { 30, “Kim”, 167.2, NULL }; struct student s2 = { 31, “Park”, 179.1, NULL }; struct student *first = NULL; struct student *current = NULL; first = &s1; s1.next = &s2; s2.next = NULL; current = first; while( current != NULL ) printf(“학생의 번호=%d 이름=%s, 키=%f

“, current->number, current->name, current->height); current = current->next; } 학생의 번호=30 이름=Kim, 키= 학생의 번호=31 이름=Park, 키= Slide 15 (of 25)

16 구조체와 함수 구조체를 함수의 인수로 전달하는 경우 구조체의 복사본이 함수로 전달되게 된다.

만약 구조체의 크기가 크면 그만큼 시간과 메모리가 소요된다. 구조체의 포인터를 함수의 인수로 전달하는 경우 시간과 공간을 절약할 수 있다. int equal(struct student s1, struct student s2) { if( strcmp(s1.name, s2.name) == 0 ) return 1; else return 0; } int equal(struct student const *p1, struct student const *p2) { if( strcmp(p1->name, p2->name) == 0 ) return 1; else return 0; } Slide 16 (of 25)

17 구조체를 반환하는 경우 복사본이 반환된다. struct student make_student(void) {

struct student s; printf(“나이:“); scanf(“%d”, &s.age); printf(“이름:“); scanf(“%s”, s.name); printf(“키:“); scanf(“%f”, &s.height); return s; } 구조체 s의 복사본이 반환된다. Slide 17 (of 25)

18 공용체 공용체(union) 같은 메모리 영역을 여러 개의 변수가 공유 공용체를 선언하고 사용하는 방법은 구조체와 아주 비슷

union example { char c; // 같은 기억 공간 공유 int i; // 같은 기억 공간 공유 }; Slide 18 (of 25)

19 예제 #include union example { int i; char c; }; 공용체 선언

int main(void) { union example v; v.c = ‘A’; printf(“v.c:%c v.i:%i

“, v.c, v.i ); v.i = 10000; printf(“v.c:%c v.i:%i

“, v.c, v.i); } 공용체 선언 공용체 변수 선언. char 형으로 참조. int 형으로 참조. v.c:A v.i:65 v.c:ꠕ v.i:10000 Slide 19 (of 25)

20 열거형 열거형(enumeration)이란 변수가 가질 수 있는 값들을 미리 열거해놓은 자료형

(예) 요일을 저장하고 있는 변수는 { 일요일, 월요일, 화요일, 수요일, 목요일, 금요일, 토요일 } 중의 하나의 값만 가질 수 있다. 열거형은 enum이라는 키워드를 사용하여 만들어진다. enum 태그_이름 { 값1, 값2, … }; enum days1 { MON, TUE, WED, THU, FRI, SAT, SUN }; enum days2 { MON=1, TUE, WED, THU, FRI, SAT, SUN }; enum days3 { MON=1, TUE=2, WED=3, THU=4, FRI=5, SAT=6, SUN=7 }; enum days4 { MON, TUE=2, WED=3, THU, FRI, SAT, SUN }; enum days1 d; d = WED; Slide 20 (of 25)

21 열거형의 예 enum days { SUN, MON, TUE, WED, THU, FRI, SAT };

enum colors { white, red, blue, green, black }; enum boolean { 0, 1 }; enum months { JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, DEC }; enum major { COMMUNICATION, COMPUTER, ELECTRIC, ELECTRONICS }; enum component { MAIN_BOARD, CPU, GRAPHIC_CARD, DISK, MEMORY }; enum levels { low = 1, medium, high }; enum CarOptions { SunRoof = 0x01, Spoiler = 0x02, FogLights = 0x04, TintedWindows = 0x08, } Slide 21 (of 25)

22 열거형과 다른 방법과의 비교 정수 사용 기호 상수 열거형 switch(code) { case 1:

printf(“LCD TV

“); break; case 2: printf(“PDP TV

“); } #define LCD 1 #define PDP 2 case LCD: case PDP: enum tvtype { LCD, PDP }; enum tvtype code; 컴퓨터는 알기 쉬우나 사람은 기억하기 어렵다. 기호 상수를 작성할 때 오류를 저지를 수 있다. 컴파일러가 중복이 일어나지 않도록 체크한다. Slide 22 (of 25)

23 typedef typedef은 새로운 자료형(type)을 정의(define) C의 기본 자료형을 확장시키는 역할

typedef old_type new_type; Slide 23 (of 25)

24 typedef의 예 기본자료형 재정의된 자료형 int INT32 short INT16 unsigned int UINT32

unsigned short UINT16 unsigned char UCHAR, BYTE char CHAR typedef int INT32; typedef unsigned int UINT32; INT32 i; // int i;와 같다. UINT32 k; // unsigned int k;와 같다. typedef struct point { int x; int y; } POINT; POINT p,q; typedef struct complex { double real; double imag; } COMPLEX; COMPLEX x, y; typedef enum { FALSE, TRUE } BOOL; BOOL condition; // enum { FALSE, TRUE } condition; typedef char * STRING_PTR; STRING_PTR p; // char *p; Slide 24 (of 25)

25 Q & A Slide 25 (of 25)

So you have finished reading the 쉽게 풀어 쓴 c 언어 express 13 장 topic article, if you find this article useful, please share it. Thank you very much. See more: 쉽게 풀어쓴 c언어 express 13장 pdf, 쉽게 풀어쓴 c언어 express 14장 pdf, 쉽게 풀어쓴 c언어 express 개정3판 12장 programming, 쉽게 풀어쓴 c언어 express 12장 programming, 쉽게 풀어 쓴 C언어 Express 행맨, 쉽게 풀어쓴 c언어 express 13장 summary, 쉽게 풀어쓴 c언어 express 14장, 쉽게 풀어쓴 c언어 express 답지

Leave a Comment