《C语言程序设计》结构体-知识点训练 2026版山东省软件与应用技术类专业 考纲百套卷 第13卷

2025-07-08
| 2份
| 18页
| 111人阅读
| 0人下载

资源信息

学段 中职
学科 职教专业课
课程 C语言程序设计
教材版本 -
年级 -
章节 -
类型 题集-专项训练
知识点 结构体和共用体
使用场景 中职复习
学年 2025-2026
地区(省份) 山东省
地区(市) -
地区(区县) -
文件格式 ZIP
文件大小 137 KB
发布时间 2025-07-08
更新时间 2025-07-08
作者 xkw_069767526
品牌系列 学易金卷·考纲百套卷
审核时间 2025-07-08
下载链接 https://m.zxxk.com/soft/52951623.html
价格 3.00储值(1储值=1元)
来源 学科网

内容正文:

编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第13卷,按知识模块1 C语言程序设计知识7.结构体的两点范围要求编写。其两点要求是: (1)了解结构体变量的定义及初始化。 (2)理解结构体变量的引用。 2026版山东省《软件与应用技术考纲百套卷》 第13卷 知识模块1 C语言程序设计知识 7.结构体 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 下面结构体的定义语句中,错误的是(  ) A. struct m{int i; int j; int k; }; struct m a; B. struct m{int i; int j; int k; }struct m a; C. struct m{int i; int j; int k; }a; D. struct{int i; int j; int k; }a; 2. 若有以下语句,以下叙述中正确的是 typedef struct s {int m;} T; A. 可用S定义结构体变量 B. 可用T定义结构体变量 C. S是struct类型的变量 D. T是struct S类型的变量 3. 以下叙述中错误的是(  ) A. 可用typedef声明的新类型名来定义变量 B. typedef声明的新类型名必须使用大写字母,否则会出现编译错误 C. 用typedef可以为基本数据类型说明一个新名称 D. 用typedef说明新类型的作用是用一个新的标识符来代表已存在的类型名称 4. 设有以下说明语句: struct ex{ int x; float y; char z;S }example; 则下面的叙述中不正确的是( ) A.struct式结构体类型的关键字 B.example是结构体类型名 C.x,y,z都是结构体成员名 D.struct ex是结构体类型名 5. 以下程序的输出结果是(  ) main( ) {struct s {int x; float f; }a[3]; printf("%d", sizeof(a)); } A. 8 B. 12 C. 24 D. 6 6. 下列哪个操作符用于对结构体变量进行取地址操作?( ) A. & B. * C. -> D. . 7. 设有以下说明语句: typedef struct data{ int n; char ch[8]; }PER; 则下面的叙述中正确的是( ) A.struct data是结构体变量名 B.PER是结构体类型名 C.typedef struct是结构体类型 D.struct是结构体类型名 8. C语言结构体变量在程序运行期间( ) A. 所有成员一直驻留内存 B. 只有一个成员一直驻留内存 C. 没有成员驻留内存 D. 部分成员驻留内存 9. 以下对结构体类型变量的定义中,不正确的是( ) 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 stu1; D.struct {int n;float m; }stu1; 10. 下列哪个关键字用于定义类类型?( ) A. struct B. union C. enum D. class 11. 已知学生记录描述为: struct student { char no[8],name[10],sex[3]; struct {int day,month,year;}birth; }; struct student s; 设变量s中的“生日”应是2005年8月18日,下列对“生日”的赋值方式中正确的是( ) A.day=18; month=8; B.s.day=18; s.month=2005; C.s.birth.day=18; s.birth.month=8; s.birth.year=2005; D.birth.day=18; birth.month=8; birth.year=2005; 12. 给定以下结构体数组和初始化: struct { int num; char name[10]; } x[3] = {1, "china", 2, "USA", 3, "England"}; 语句 `printf("n%d,%s", x[1].num, x[2].name)` 的输出结果为( ) A. 2,USA B. 3,England C. 1,china D. 2,England 13. 给定以下结构体类型和变量定义: struct xyz { int a; char c; } d1 = {1, 'a'}; 若定义 `d2` 并赋值 `{6, 'k'}`,以下语句正确的是(  ) A. `struct xyz d2 = {6, 'k'};` B. `xyz d2 = {6, 'k'};` C. `struct d2 = {6, 'k'};` D. `d2 = {6, 'k}';` 14. 以下程序的输出结果为(  ) #include <stdio.h> #include <conio.h> main() { struct person { char name[20]; int age; }; struct person pers[10] = {"xiaoming", 17, "wanghua", 19, "zhang", 18}; printf("%c", pers[1].name[0]); } A. w B. x C. z D. a 15. 以下程序的输出结果为(  ) #include <stdio.h> struct abc { int a, b, c; }; main() { struct abc s[2] = {{1, 2, 3}, {4, 5, 6}}; int d; d = s[0].a + s[1].b; printf("%d", d); } A. 5 B. 6 C. 7 D. 8 16. 当定义一个结构体变量时系统分配给他的内存是( ) A. 各成员所需内存量的总和 B. 成员中占内存量最大者所需的容量 C. 结构中第一个成员所需的内存量 D. 结构中最后一个成员所需的内存量 17.以下定义结构体类型变量ss的语句中,不正确的是( ) A.typedef struct student {char num[8]; int age;}STU; STU ss; B.struct student {dloat num, age;}ss; C,struct {char num[8]; int gae; }ss; D.struct student {char num[8]; int age; }struct student ss; 18. 若有以下语句,以下叙述中正确的是( ) typedef struct M{int g;char h;}N; A.可用M定义结构体变量 B.可用N定义结构体变量 C.M是struct类型的变量 D.N是struct类型的变量 19. 在C语言中,用于访问结构体成员的操作符是(  ) A. . B. -> C. * D. & 20. 在C语言中,用于定义结构体类型的关键字是(  ) A. struct B. union C. enum D. class 二、简答题(本大题共5小题,每题6分,共30分) 1. 什么是C语言中的结构体? 2. 如何定义一个结构体? 3. 如何创建结构体变量? 4. 如何访问结构体成员? 5. 结构体变量的定义方法有哪些? 三、编程题(本大题共1小题,共10分) 1.定义结构体变量,用来记录年月日,输入年月日,输出日期是本年的第几天。 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$ 编写说明:2026版《软件与应用技术考纲百套卷》依据2026版山东省《软件与应用技术类专业知识考试标准》编写,本套试卷共100份,分为三个部分,第一部分是知识点训练卷,每个知识点2份试卷共76份,第二部分是常考题训练卷,每个知识模块2份训练卷共12份,第三个部分是专业综合训练卷,参考历年软件与应用技术类专业真题试卷,编写了12份。 本试卷是2026版《软件与应用技术考纲百套卷》的第13卷,按知识模块1 C语言程序设计知识7.结构体的两点范围要求编写。其两点要求是: (1)了解结构体变量的定义及初始化。 (2)理解结构体变量的引用。 2026版山东省《软件与应用技术考纲百套卷》 第13卷 知识模块1 C语言程序设计知识 7.结构体 知识点训练卷 一、单项选择题(本大题共20小题,每题3分,共60分) 1. 下面结构体的定义语句中,错误的是(  ) A. struct m{int i; int j; int k; }; struct m a; B. struct m{int i; int j; int k; }struct m a; C. struct m{int i; int j; int k; }a; D. struct{int i; int j; int k; }a; 【答案】B 2. 若有以下语句,以下叙述中正确的是 typedef struct s {int m;} T; A. 可用S定义结构体变量 B. 可用T定义结构体变量 C. S是struct类型的变量 D. T是struct S类型的变量 【答案】B 3. 以下叙述中错误的是(  ) A. 可用typedef声明的新类型名来定义变量 B. typedef声明的新类型名必须使用大写字母,否则会出现编译错误 C. 用typedef可以为基本数据类型说明一个新名称 D. 用typedef说明新类型的作用是用一个新的标识符来代表已存在的类型名称 【答案】B 4. 设有以下说明语句: struct ex{ int x; float y; char z;S }example; 则下面的叙述中不正确的是( ) A.struct式结构体类型的关键字 B.example是结构体类型名 C.x,y,z都是结构体成员名 D.struct ex是结构体类型名 【答案】B 5. 以下程序的输出结果是(  ) main( ) {struct s {int x; float f; }a[3]; printf("%d", sizeof(a)); } A. 8 B. 12 C. 24 D. 6 【答案】C 6. 下列哪个操作符用于对结构体变量进行取地址操作?( ) A. & B. * C. -> D. . 【答案】A 7. 设有以下说明语句: typedef struct data{ int n; char ch[8]; }PER; 则下面的叙述中正确的是( ) A.struct data是结构体变量名 B.PER是结构体类型名 C.typedef struct是结构体类型 D.struct是结构体类型名 【答案】B 8. C语言结构体变量在程序运行期间( ) A. 所有成员一直驻留内存 B. 只有一个成员一直驻留内存 C. 没有成员驻留内存 D. 部分成员驻留内存 【答案】A 9. 以下对结构体类型变量的定义中,不正确的是( ) 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 stu1; D.struct {int n;float m; }stu1; 【答案】C 10. 下列哪个关键字用于定义类类型?( ) A. struct B. union C. enum D. class 【答案】D 11. 已知学生记录描述为: struct student { char no[8],name[10],sex[3]; struct {int day,month,year;}birth; }; struct student s; 设变量s中的“生日”应是2005年8月18日,下列对“生日”的赋值方式中正确的是( ) A.day=18; month=8; B.s.day=18; s.month=2005; C.s.birth.day=18; s.birth.month=8; s.birth.year=2005; D.birth.day=18; birth.month=8; birth.year=2005; 【答案】C 12. 给定以下结构体数组和初始化: struct { int num; char name[10]; } x[3] = {1, "china", 2, "USA", 3, "England"}; 语句 `printf("n%d,%s", x[1].num, x[2].name)` 的输出结果为( ) A. 2,USA B. 3,England C. 1,china D. 2,England 【答案】D 13. 给定以下结构体类型和变量定义: struct xyz { int a; char c; } d1 = {1, 'a'}; 若定义 `d2` 并赋值 `{6, 'k'}`,以下语句正确的是(  ) A. `struct xyz d2 = {6, 'k'};` B. `xyz d2 = {6, 'k'};` C. `struct d2 = {6, 'k'};` D. `d2 = {6, 'k}';` 【答案】A 14. 以下程序的输出结果为(  ) #include <stdio.h> #include <conio.h> main() { struct person { char name[20]; int age; }; struct person pers[10] = {"xiaoming", 17, "wanghua", 19, "zhang", 18}; printf("%c", pers[1].name[0]); } A. w B. x C. z D. a 【答案】A 15. 以下程序的输出结果为(  ) #include <stdio.h> struct abc { int a, b, c; }; main() { struct abc s[2] = {{1, 2, 3}, {4, 5, 6}}; int d; d = s[0].a + s[1].b; printf("%d", d); } A. 5 B. 6 C. 7 D. 8 【答案】B 16. 当定义一个结构体变量时系统分配给他的内存是( ) A. 各成员所需内存量的总和 B. 成员中占内存量最大者所需的容量 C. 结构中第一个成员所需的内存量 D. 结构中最后一个成员所需的内存量 【答案】A 17.以下定义结构体类型变量ss的语句中,不正确的是( ) A.typedef struct student {char num[8]; int age;}STU; STU ss; B.struct student {dloat num, age;}ss; C,struct {char num[8]; int gae; }ss; D.struct student {char num[8]; int age; }struct student ss; 【答案】D 18. 若有以下语句,以下叙述中正确的是( ) typedef struct M{int g;char h;}N; A.可用M定义结构体变量 B.可用N定义结构体变量 C.M是struct类型的变量 D.N是struct类型的变量 【答案】B 19. 在C语言中,用于访问结构体成员的操作符是(  ) A. . B. -> C. * D. & 【答案】A 20. 在C语言中,用于定义结构体类型的关键字是(  ) A. struct B. union C. enum D. class 【答案】A 二、简答题(本大题共5小题,每题6分,共30分) 1. 什么是C语言中的结构体? 【答案】结构体是C语言中一种用户自定义的数据类型,允许将不同类型的数据组合在一起。它由一系列称为成员(或字段)的数据项组成,每个成员可以是不同的数据类型。 2. 如何定义一个结构体? 【答案】使用`struct`关键字来定义结构体。例如: struct Person { char name[50]; int age; float height; }; 3. 如何创建结构体变量? 【答案】一旦定义了结构体,就可以像声明其他类型的变量一样声明结构体变量。例如: struct Person person1; 4. 如何访问结构体成员? 【答案】使用点操作符`.`来访问结构体的成员。例如,给定一个`Person`类型的变量`person1`,可以这样访问其成员: strcpy(person1.name, "Alice"); person1.age = 30; person1.height = 165.5; 5. 结构体变量的定义方法有哪些? 【答案】(1)先定义类型,后定义变量 (2)结构体类型和变量同时定义 (3)直接定义变量 (4)使用用户自定义类型定义结构变量 三、编程题(本大题共1小题,共10分) 1.定义结构体变量,用来记录年月日,输入年月日,输出日期是本年的第几天。 【答案】 #include<stdio.h> main(){ int i; struct{ int year,month,day; }s; scanf("%d%d%d",&s.year,&s.month,&s.day); for(i=1;i<s.month;i++){ if(i==4||i==6||i==9||i==11) s.day+=30; else if(i==2){ if(s.year%4==0&&s.year%100!=0||s.year%400==0) s.day+=29; else s.day+=28; } else s.day+=31; } printf("本年%d田",s.day); } 原创精品资源学科网独家享有版权,侵权必究! 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

《C语言程序设计》结构体-知识点训练 2026版山东省软件与应用技术类专业 考纲百套卷 第13卷
1
《C语言程序设计》结构体-知识点训练 2026版山东省软件与应用技术类专业 考纲百套卷 第13卷
2
《C语言程序设计》结构体-知识点训练 2026版山东省软件与应用技术类专业 考纲百套卷 第13卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。