- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计基础(人民邮电出版社)答案第9章__结构体.doc
一、选择题
1. 根据下面的定义,能打印出字母M的语句是( D )。
struct person{char name[9];
int age; };
struct person class[10]={John,17,Paul,19,Mary,18,Adam,16};
A.printf(%c\n,class[3].name);
B.printf(%c\n,class[3].name[1]);
C.printf(%c\n,class[2].name[1]);
D.printf(%c\n,class[2].name[0]);
2. 若有以结构体定义:
struct example
{int x1;
int y1;
};
A.struct example.x1=100; B.struct example xy;xy.x1=100;
C.struct xy;xy.x1=100; D.struct example xy={100};
3. 下面结构体数组的定义,错误的是( D )。
A.struct student
{ int num;
char name[10];
float score;
};
struct student stu[30];
struct
{ int num;
char name[10];
float score;
}stu[30];
struct student
{ int num;
char name[10];
float score;
}stu[30];
struct stu[30]
{ int num;
char name[10];
float score;
};
二、写出以下程序的运行结果
(1)
#include stdio.h
void main()
{ struct cmplx{ int x;
int y;
} cnum[2]={1,3,2,7};
printf(%d\n,cnum[0].y/cnum[0].x*cnum[1].x);
}
答案:6
(2)
#includestdio.h
void main()
{ struct date
{ int year,month,dat;
} today;
printf(%d\n,sizeof(struct date));
}
答案:6
(3)
#includestdio.h
void main()
{ struct MING
{ struct{ int x;
int y;
}in;
int a;
int b;
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf(%d,%d,e.in.x,e.in.y);
}
答案:2,3
(4)
#include stdio.h
void main()
{
struct abc
{ int a,b,c; };
struct abc s[2]={{1,2,3},{4,5,6}};
int t;
t=s[0].a+s[1].b;
printf(%d\n,t);
}
答案:6
(5)
#includestdio.h
#includestring.h
struct student
{char name[9];
char sex;
float score[2];
};
struct student f(struct student a)
{
struct student b={Zhao,m,85.0,90.0}; int i;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i2;i++) a.score[i]=b.score[i];
return a;
}
void main()
{
struct student c={Qian,f,95.0,92.0},d;
d=f(c);
printf(%s,%c,%2.0f,%2.0f\n,d.name,d.sex,d.score[0], d.score[1]);
}
答案: Zhao,m,85,90
改错题
定义一个二维平面上的点结构体,从键盘输入一个点的坐标并输出到屏幕上。请找出以下程序的错误并修改。
#include stdio.h
struct point//声明点的结构体point
{
int x;//x坐标
int y;//y坐标
}
文档评论(0)