2021-2022学年高二下学期(中职)C语言程序设计案例教程章节练习题+答案(七).wps

上传人:春哥&#****71; 文档编号:90567810 上传时间:2023-05-15 格式:WPS 页数:7 大小:71.50KB
返回 下载 相关 举报
2021-2022学年高二下学期(中职)C语言程序设计案例教程章节练习题+答案(七).wps_第1页
第1页 / 共7页
2021-2022学年高二下学期(中职)C语言程序设计案例教程章节练习题+答案(七).wps_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《2021-2022学年高二下学期(中职)C语言程序设计案例教程章节练习题+答案(七).wps》由会员分享,可在线阅读,更多相关《2021-2022学年高二下学期(中职)C语言程序设计案例教程章节练习题+答案(七).wps(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、(中职)C 语言程序设计案例教程章节练习题+答案(七)一、填空题。1结构体是 构造 类型数据,它与数组的区别在于其中的成员 可以不是 同一种数据类型。2声明一个结构体类型的一般形式为:struct 结构体名数据类型 成员 1 的名字;数据类型 成员 2 的名字;数据类型 成员 3 的名字;3若有struct Stuint num;/*学号为整型*/char name20;/*姓名为字符串*/char sex;/*性别为字符型*/int age;/*年龄为整型*/float score;/*成绩为实型*/stu1;变量 stu1 占 33 个字节。4若定义结构体数据 Stu 类型变量 stu1

2、的同时,对 stu1 进行初始化为“2018001,Peter,M,18,85”;则该语句写为 struct Stu stu1=2018001,Peter,M,18,85”。5 引用结构体变量使用_引用_运算符(也称“圆点运算符”),引用结构体变量 Stu的成员 age 的一般形式为 _Stu.age_。6若该班有 30 个学生,则这 30 个学生的信息都可以用结构体变量来表示,它们具有相同的数据类型,可以用_结构体数组_存储这 30 个学生的信息。7若定义指向结构体变量的指针变量*stu1,可以用 stu1_-_age 表示 stu1 所指向结构体变量的成员 age。8若有“stuct St

3、u S1;”定义结构体变量 S1,语句“stuct Stu*p=&S1;”的作用是_指针 p 指向结构体变量 S1。9若定义了如下的共用体类型变量 x 和结构类型变量 y,union stu1 int num;char name5;char s;x;struct stu2int num;char name5;char s;y;则 x 和 y 所占用的内存字节数分别为_5 字节_和_10 字节_。10结构体数组 s30的前 3 个元素进行初始化,其他未被指定初始化的数值型数组元素成员被系统初始化为_0_,字符型数组元素成员被系统初始化为_ 0 _,指针型数组元素成员被系统初始化为_NULL_。1

4、1将不同类型的数据组织在一起共同占用同一段内存的构造数据类型为_共用体_。声明这种构造类型数据的关键字_ union _。二、选择题。1若有struct Stuint num=2018001;char name20=Peter;char sex=M;int age=18;float score=85;S1;下列说法正确的是(A )A.错误 B.以上程序段为结构体变量进行了初始化C.Stu 是结构体变量 D.以上说法都成立2若有结构体变量 S1 和 S2,下列说法正确的是(A)A.结构体变量不能作为整体进行输入和输出。B.printf(“%d%s%c%d%d”,S1);输出 S1 的值。C.以上

5、说法都不对。D.S2=S1 表示的是 S2 和 S1 相等。3若有结构体类型 Score 和 Student struct Scorefloat Chinese;float English;float maths;struct Studentint num;char name20;struct Score score;student;下列说法正确的是(B )A.student.English 是正确的 B.student.score.English 是正确的C.score.English 是正确的 D.以上说法都不对4设有 p 是一个指向结构体变量 S1 的指针,以下语句是给结构体变量 S1

6、中的 num 成员赋值 2018001 的不是(D)。A.s1.num=2018001;B.(*p).num=2018001;C.p-num=2018001;D.以上都不对5下列说法正确的是(A )。A.由于成员运算符“.”比指针运算符“*”优先级高,因此,*p 必须使用括号括起来。B.成员运算符“.”和指针运算符“*”一起使用,不用区分什么C.由于指针运算符“*”比成员运算符“.”优先级高,因此,*p 不需要用括号括起来。D.以上都不对6设有如下定义:struct stru1int a;float b;c2,*p;若有 p=&c2;则对 c 中的成员 a 的正确引用是(B)。A.(*p).c

7、2.a B.(*p).a C.p-c2.a D.p.c2.a 7若有“stuct Stu S1;”,定义结构体变量 S1。“stuct Stu*p=&S1;”的含义是(A)。A.定义指针变量 p,指向结构体变量 S1B.定义指针变量 p,将结构体变量 S1 的值赋给指针变量 pC.定义指针变量 p,将结构体变量 S1 的值按位与指针变量 pD.以上都不对8若有结构体数组和指向结构体对象的指针变量,可使结构体指针 p 指向结构体数组的首地址的是(B )A.struct Stu*s3,p=&s;B.struct Stu s3,*p;p=s;C.struct Stu s3,p;p=s;D.struc

8、t Stu*s3,p=s;9用结构体变量成员作函数参数。将实参值传给形参,这种传递方式是(B )。A.值传递 B.地址传递 C.混合传递 D.以上都不是10用指向结构体变量(或数组元素)的指针作函数实参,其实质是(A )。A向函数传递结构体的地址 B向函数传递结构体的值C向函数传递结构体的名称 D以上都不对11共用体的所有成员共同占用一段内存,共用体变量所占内存空间大小取决于(C)A.其所有成员占内存空间之和 B.其成员中占内存空间最少的那个成员变量C.其成员中占内存空间最多的那个成员变量D.以上都不是12若有定义枚举类型 weekday,“enum weekdaysun,mon,tue,we

9、d,thu,fri,sat;”各成员的值依次是(B)A.1 2 3 4 5 6 7 B.0 1 2 3 4 5 6 C.1 3 5 7 9 11 13 D.以上都不对13若有“typedef int Integer;”,以下说法正确的是(A)Aint 数据类型的新名字是 IntegerBInteger 是整型变量Ctypedef 不是 C 语言关键字D以上都错误三、程序填空题。1下列程序的执行结果是平均分为:86.3_。#include#include struct Stuint num;/*学号为整型*/char name20;/*姓名为字符串*/char sex;/*性别为字符型*/int

10、 age;/*年龄为整型*/float score;/*成绩为实型*/;void main()int i;float sum=0.0;struct Stu s30=2018001,Peter,M,18,85,201702,Jack,M,19,91,201703,Lily,F,18,83;/*对结构体数组进行初始化*/for(i=0;i3;i+)sum=sum+si.score;/*计算 3 位同学的成绩总和*/printf(平均分为:%5.1fn,sum/3.0);/*输出平均分*/2下列程序的执行结果是_所占内存字节为:4_。#include union UNshort s;char c;f

11、loat f;void main()int a;union UN u1=2;a=sizeof(u1);printf(所占内存字节为:%dn,a);3下列程序执行时从键盘输入 0,结果是_星期日_。#include void main()int a;enum weekdaysun=0,mon=1,tue,wed,thu,fri,sat;printf(请输入一个数字:);scanf(%d,&a);switch(a)case mon:printf(星期一n);break;case tue:printf(星期二n);break;case wed:printf(星期三n);break;case thu:

12、printf(星期四n);break;case fri:printf(星期五n);break;case sat:printf(星期六n);break;case sun:printf(星期日n);break;default:printf(错误!n);break;四、编程题。1编写程序,用结构体类型数据存储下面表格中的数据,并输出每一条记录的值。numnameScore1Score2Score32018001Peter8590842018002Jack8680782018003Lily757270#include#include struct Stuint num;char name20;int

13、score1;int score2;int score3;void main()int i;float sum=0.0;struct Stu s3=2018001,Peter,85,90,84,2018002,Jack,86,80,78,2018003,Lily,75,72,70;printf(numtnametScore1tScore2tScore3n);for(i=0;i3;i+)printf(%dt%st%dt%dt%dn,si.num,si.name,si.score1,si.score2,si.score3);2编写程序,通过指向结构体变量的指针变量输出结构体变量中成员的信息。学号:

14、2018001 姓名:Peter 性别:M 年龄:18 成绩 85#include#include struct Stuint num;char name20;char sex;int age;int score;void main()struct Stu s=2018001,Peter,M,18,85,*p;p=s;printf(%dt%st%ct%dt%dn,p-num,p-name,p-sex,p-age,p-score);3编写程序,在 main 函数中定义结构体变量并赋初始值,然后在 main 函数中调用自定义函数 print()将结构体变量的成员逐一输出,用指针实现。#includ

15、e#include struct Stuint num;char name20;char sex;int age;int score;void print(struct Stu*p,struct Stu s)p=s;printf(%dt%st%ct%dt%dn,p-num,p-name,p-sex,p-age,p-score);void main()struct Stu s=2018001,Peter,M,18,85,*p;p=s;print(p,s);4编写程序,定义枚举类型数据 month,从键盘输入 112 之间的整数,输出每个月的英文表示。#include void main()int

16、 a;enum monthJan=1,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec;printf(请输入一个数字:);scanf(%d,&a);switch(a)case Jan:printf(Jann);break;case Feb:printf(Febn);break;case Mar:printf(Marn);break;case Apr:printf(Aprn);break;case May:printf(Mayn);break;case Jun:printf(Junn);break;case Jul:printf(Juln);break;case Aug:printf(Augn);break;case Sep:printf(Sepn);break;case Oct:printf(Octn);break;case Nov:printf(Novn);break;case Dec:printf(Decn);break;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁