第七章 结构体和共用体《编程语言基础-C语言》(高教版第五版)章节过关卷

2025-09-21
| 2份
| 12页
| 83人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 C语言程序设计高教版(第五版)全一册
年级 高一
章节 第7章 结构体和共用体
类型 作业-单元卷
知识点 结构体和共用体
使用场景 同步教学-单元练习
学年 2025-2026
地区(省份) 全国
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 247 KB
发布时间 2025-09-21
更新时间 2025-09-21
作者 xkw_069767526
品牌系列 学易金卷·阶段检测模拟卷
审核时间 2025-09-21
下载链接 https://m.zxxk.com/soft/54019949.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

《编程语言基础——C语言》高等教育出版社(第五版) 第七章 结构体和共用体 章节过关卷 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共15小题,每题4分,共60分) 1.设有以下说明语句: struct ex; {int x; float y; char z; }example; 则下面的叙述中不正确的是( ) A.struct式结构体类型的关键字 B.example是结构体类型名 C.x,y,z都是结构体成员名 D.struct ex是结构体类型名 2.设有以下说明语句: typedef struct data {int n; char ch[8]; }PER; 则下面的叙述中正确的是( ) A.struct data是结构体变量名 B.PER是结构体类型名 C.typedef struct是结构体类型 D.sruct是结构体类型名 3.若有如下定义 struct data {int i; char ch; double f;}b; 则结构体变量b占用内存的字节数是( ) A.13 B.3 C.8 D.11 4.设有如下定义: struct sk; {int a; float b; }data,*p; 若有p=&data,则对data中的成员a的正确引用是( ) A.(*p).data.a B.(*p).a C.p->data.a D.p.data.a 5.下对结构体变量stu1中成员age的非法引用的是( ) struct student {int age; int num; }stu1,*p=&stu1; A.stu1.age B.student.age C.p->age D.(*p).age 6.有以下说明和语句 struct worker {int no; char *name; }work,*p=&work;则以下引用方式不正确的是( ) A.work.no B.(*p).no C.p->no D.work->no 7.若有以下结构体和变量定义,则以下引用方式不正确的是( ) struct worker {int sno; char *name; }work,*p=&work; A.work.sno B.(*p).name C.p->sno D.work->sno 8.已知有如下定义: struct a {char x; double y; }data,*t;,若有t=&data,则对data中的成员的正确引用是( ) A.(*t).data.x B.(*t).x C.t->data.x D.t.data.x 9.下列程序的输出结果是( ) #include<stdio.h> struct abc {int a,b,c;}; main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d ",t);} A.5 B.6 C.7 D.8 10.下列程序的输出结果是( ) #include<stdio.h> main(){ struct cmplx {int x; int y; }cnum[2]={1,3,2,7}; printf("%d ",cnum[0].y/cnum[0].x*cnum[1].x);} A.0 B.1 C.3 D.6 11.有以下说明语句: struct ex{int x;float y;char z;};examplel; 则下面的叙述中不正确的是( ) A.struct是结构体类型的关键字 B.examplel是结构体类型名 C.x.y.z都是结构体成员名 D.struct cx是结构体类型 12.以下对结构体类型变量的定义中,不正确的是( ) A.typedef struct aa {int n;float m;}AA; B.#define AA struct aa AA{int n;float m;}stu1; C.struct {int n;float m;}aa;struct aa stu; D.struct {int n;float m;}stu1; 13.当定义一个结构体变量时系统分配给它的内存是( ) A.各成员所需内存量的总和 B.成员中占内存量最大者所需的容量 C.结构中第一个成员所需的内存量 D.结构中最后一个成员所需的内量 14.C语言结构体变量在程序运行期间( ) A.所有成员一直驻留内存 B.只有一个成员一直驻留内存 C.没有成员驻留内存 D.部分成员驻留内存 15.若程序中有下面说明和定义: struct abc{ int a; char b; }struct abc s1,s2; 则会发生的情况是( ) A.编译出错 B.能顺利编译、连接 C.能顺利编译、连接,但不能执行 D.能顺利通过编译,但出现连接错误 二、判断题(本题共5小题,每题4分,共20分) 16. ( )函数的返回值类型不能使结构体类型,只能是简单类型。 17. ( )函数可以返回指向结构体变量的指针。 18. ( )通过结构体变量的指针可以访问结构体变量的成员。 19.( )结构体的数目固定,类型相同或不同的若干有序变量的集合。 20. ( )结构体类型本身不占内存空间,结构体变量占用内存空间。 三、案例分析题(本题共2小题,共20分) 21.计算组合数,组合数公式如下: = 要求编写一个函数fun求n!,在主函数中输入两个整数,调用函数fun计算它们的组合数并输出。 22.编写一个函数,将两个两位数的正整数A和B合并形成一个整数C。合并的方式是:将A数的十位数和个位数依次放在C数的个位数和十位数上,B数的十位数和个位数依次放在C数的百位数和千位数上。例如:当A=16,B=35时,C=5361。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $ 《编程语言基础——C语言》高等教育出版社(第五版) 第七章 结构体和共用体 章节过关卷 考试时间:90分钟 满分:100分 姓名 班级 学号 1、 单项选择题(本题共15小题,每题4分,共60分) 1.设有以下说明语句: struct ex; {int x; float y; char z; }example; 则下面的叙述中不正确的是( ) A.struct式结构体类型的关键字 B.example是结构体类型名 C.x,y,z都是结构体成员名 D.struct ex是结构体类型名 答案:B 2.设有以下说明语句: typedef struct data {int n; char ch[8]; }PER; 则下面的叙述中正确的是( ) A.struct data是结构体变量名 B.PER是结构体类型名 C.typedef struct是结构体类型 D.sruct是结构体类型名 答案:B 3.若有如下定义 struct data {int i; char ch; double f;}b; 则结构体变量b占用内存的字节数是( ) A.13 B.3 C.8 D.11 答案:D 4.设有如下定义: struct sk; {int a; float b; }data,*p; 若有p=&data,则对data中的成员a的正确引用是( ) A.(*p).data.a B.(*p).a C.p->data.a D.p.data.a 答案:B 5.下对结构体变量stu1中成员age的非法引用的是( ) struct student {int age; int num; }stu1,*p=&stu1; A.stu1.age B.student.age C.p->age D.(*p).age 答案:B 6.有以下说明和语句 struct worker {int no; char *name; }work,*p=&work;则以下引用方式不正确的是( ) A.work.no B.(*p).no C.p->no D.work->no 答案:D 7.若有以下结构体和变量定义,则以下引用方式不正确的是( ) struct worker {int sno; char *name; }work,*p=&work; A.work.sno B.(*p).name C.p->sno D.work->sno 答案:D 8.已知有如下定义: struct a {char x; double y; }data,*t;,若有t=&data,则对data中的成员的正确引用是( ) A.(*t).data.x B.(*t).x C.t->data.x D.t.data.x 答案:B 9.下列程序的输出结果是( ) #include<stdio.h> struct abc {int a,b,c;}; main(){ struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0].a+s[1].b; printf("%d ",t);} A.5 B.6 C.7 D.8 答案:B 10.下列程序的输出结果是( ) #include<stdio.h> main(){ struct cmplx {int x; int y; }cnum[2]={1,3,2,7}; printf("%d ",cnum[0].y/cnum[0].x*cnum[1].x);} A.0 B.1 C.3 D.6 答案:D 11.有以下说明语句: struct ex{int x;float y;char z;};examplel; 则下面的叙述中不正确的是( ) A.struct是结构体类型的关键字 B.examplel是结构体类型名 C.x.y.z都是结构体成员名 D.struct cx是结构体类型 答案:B 12.以下对结构体类型变量的定义中,不正确的是( ) A.typedef struct aa {int n;float m;}AA; B.#define AA struct aa AA{int n;float m;}stu1; C.struct {int n;float m;}aa;struct aa stu; D.struct {int n;float m;}stu1; 答案:C 13.当定义一个结构体变量时系统分配给它的内存是( ) A.各成员所需内存量的总和 B.成员中占内存量最大者所需的容量 C.结构中第一个成员所需的内存量 D.结构中最后一个成员所需的内量 答案:A 14.C语言结构体变量在程序运行期间( ) A.所有成员一直驻留内存 B.只有一个成员一直驻留内存 C.没有成员驻留内存 D.部分成员驻留内存 答案:A 15.若程序中有下面说明和定义: struct abc{ int a; char b; }struct abc s1,s2; 则会发生的情况是( ) A.编译出错 B.能顺利编译、连接 C.能顺利编译、连接,但不能执行 D.能顺利通过编译,但出现连接错误 答案:A 二、判断题(本题共5小题,每题4分,共20分) 16. ( )函数的返回值类型不能使结构体类型,只能是简单类型。 答案:X 17. ( )函数可以返回指向结构体变量的指针。 答案:√ 18. ( )通过结构体变量的指针可以访问结构体变量的成员。 答案:√ 19.( )结构体的数目固定,类型相同或不同的若干有序变量的集合。 答案: √ 20. ( )结构体类型本身不占内存空间,结构体变量占用内存空间。 答案:√ 三、案例分析题(本题共2小题,共20分) 21.计算组合数,组合数公式如下: = 要求编写一个函数fun求n!,在主函数中输入两个整数,调用函数fun计算它们的组合数并输出。 【参考程序】#include <stdio.h> float fun(int n) { int i; float y = 1; for (i = 2; i <= n; i++) y *= i; return y; } main() { int m, n, t; float y; scanf("%d%d", &m, &n); if (m < n) { t = m; m = n; n = t; } y = fun(m) / fun(n) / fun(m - n); printf("c(m,n)=%.0f ", y); } 22.编写一个函数,将两个两位数的正整数A和B合并形成一个整数C。合并的方式是:将A数的十位数和个位数依次放在C数的个位数和十位数上,B数的十位数和个位数依次放在C数的百位数和千位数上。例如:当A=16,B=35时,C=5361。 【参考程序】#include <stdio.h> int fun(int x, int y) { int m, n; //m是a的十位,n是a的个位 int p, q; //p是b的十位,q是b的个位 int c; m = x / 10; n = x % 10; p = y / 10; q = y % 10; c = m + n * 10 + p * 100 + q * 1000; return c; } main() { int a, b; scanf("%d %d", &a, &b); printf("%d", fun(a, b)); } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 $

资源预览图

第七章  结构体和共用体《编程语言基础-C语言》(高教版第五版)章节过关卷
1
第七章  结构体和共用体《编程语言基础-C语言》(高教版第五版)章节过关卷
2
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。