文档库 最新最全的文档下载
当前位置:文档库 › 何玉结构体练习题作业

何玉结构体练习题作业


第九章 结构体作业


1.下面对结构变量的叙述中错误的是 A
A.相同类型的结构变量间可以相互赋值
B.通过结构变量,可以任意引用它的成员
C.结构变量中某个成员与这个成员类型相同的简单变量间可相互赋值
D.结构变量与简单变量间可以赋值


6.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是 D
struct stud
{ char num[6];
int s[4];
double ave;
} a;
A.22 B.18 C.14 D.28
7.设有以下说明语句struct ex{ int x ; D
float y;
char z ;} example;
则下面的叙述中不正确的是
A.struct ex是结构体类型 B.example是结构体类型名
C.x,y,z都是结构体成员名 D.struct是结构体类型的关键字

10.下列关于结构类型与结构变量的说法中,错误的是 D
A.结构类型与结构变量是两个不同的概念,其区别如同int类型与int型变量的区别一样。
B.“结构”可将不同数据类型、但相互关联的一组数据,组合成一个有机整体使用。
C.“结构类型名”和“数据项”的命名规则,与变量名相同。
D.结构类型中的成员名,不可以与程序中的变量同名。
11.能够逐个访问结构体成员的成员运算符是 A
A.“.” B.“,” C.“:” D.“;”

12.以下对结构体类型变量的定义中不正确的是 。C
#define STUDENT struct student B) struct student
STUDENT { int num;
{ int num; float age;
float age; }std1; }std1;
C) struct D) struct
{ int num; { int num;
float age; float age; } student;
}std1; struct student std1;
13.设有以下说明语句 B
struct stu
{ int a; float b; }stutype;
则下面的叙述不正确的是 。*
A)struct是结构体类型的关键字
b)struct stu是用户定义的结构体类型
C)stutype是用户定义的结构体类型名
D)a和b都是结构体成员名

14.C语言结构体类型变量在程序执行期间 。
所有成员一直驻留在内存中
只有一个成员主留在内存中
部分成员驻留在内存中
没有成员驻留在内存中
14.以下程序的运行结果是 D
# include
main( )
{ struct date
{ int year, month, day; }today;
printf(“%d\n”,sizeof(struct date)); }
A) 6 B) 8 C) 10 D)12
15.设有以下说明语句,则下面的叙述中不正确的是 D
。*struct ex {
int x ; float y; char z ;
} example;A) struct结构

体类型的关键字 B) example是结构体类型名C) x,y,z都是结构体成员名 D) struct ex是结构体类型
11.若程序中有下面的说明和定义:
struct stt
{ int x;
char b;
}
struct stt a1,a2;
则会发生的情况是
A)程序将顺利编译、连接、执行。
B)编译出错。
C)能顺利通过编译、连接,但不能执行。
D)能顺利通过编译,但连接出错。





编程题:

1:编写一个函数print,打印一个成绩数组,该数组有5个学生记录,每个记录包括num,name,score[3],用主函数输入这些记录,用print函数输出这些记录

#include
struct Student
{int num;
char name[20];
int score;};
struct Student stu[5]={{1011,"Xiao Ming",100.0},{1012,"Li Feng",98},{1013,"Wang Nan",95},
{1014,"Lu Hao",99},{1015,"Zhang Feng",90}};
int main()
{struct Student*p;
printf("Num Name Score\n");
for(p=stu;pprintf("%5d %12s %18d\n",(*p).num,(*p).name,(*p).score);
return 0;
}

2:编写一个程序输入10个学生的姓名,性别,总分,语文,数学,外语成绩,进行排序,从大到小,输出时给出排名还要进行打印相关学生信息!

例子:
名次 姓名 性别 语文 数学 外语 总分
1 wang m 88 102 110 300


#include
struct Student
{int num;
char name[50];
char sex;
int score[4];};
struct Student stu[10]={{1011,"Xiao Ming",'M',{100,101,103,304}},{1012,"Li Feng",'M',{98,120,130,358}},{1013,"Wang Nan",'F',
{95,99,112,307}},{1014,"Lu Hao",'M',{99,98,89,296}},{1015,"Zhang Feng",'M',{90,106,44,210}},{1016,"Li Li",'F',{99,130,140,369}},
{1017,"Li Fang",'F',{89,130,132,251}},{1018,"Wang Ming",'M',{88,100,100,288}},{1019,"Mu mu",'M',{123,132,145,400}},{1020,
"Xiao xiao",'F',{132,130,140,402}}};
int main()
{struct Student*p;
printf("Num Name sex 语文 数学 外语 总分\n");
for(p=stu;pprintf("%5d %12s %15c %6d %7d %7d %7d\n",(*p).num,(*p).name,(*p).sex,(*p).score[0],(*p).score[1],(*p).score[2],(*p).score[3]);
return 0;
}

struct Student max(struct student stu[])
{int i,m=0,t;
for(i=0;i<10;i++)
if(stu[i].score[3]>stu[m].score[3])
t=





相关文档