【计算机类职业资格】国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷7及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷7及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷7及答案解析.doc(10页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C 语言机试(结构体、共用体、位运算及文件操作)模拟试卷 7 及答案解析(总分:52.00,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.有以下程序 struct Aint a;char b10; double c; void f(struct A t); main()structA a=1001,“ZhangDa“,10980; f(a); printf(“d,s,61 fn“,aa,ab,ac); void f(struct A t)ta=1002; strcpy(tb,“ChangRong“); tc=12020;)程序运行后的输出结果是(分数:2.00
2、)A.1002,ChangRong,12020B.1001,ZhangDa,10980C.1001,ChangRong,10980D.1002,ZhangDa,120202.若有以下程序 struct stuchar*name,gender;int score; main()struct stu a=NULL,m,290,b; aname=(char*)malloc(10); strcpy(aname,“Zhao“); b=a;bgender=f;bscore=350; strcpy(bname,“Qian“); printf(“s,c,d,“,aname,agender,ascore); p
3、rintf(“s,c,dn“,bname,bgender,bscore);则程序的输出结果是(分数:2.00)A.Zhao,m,290,Qian,f,350B.Qian,f,350,Qian,f,350C.Zhao,m,290,Zhao,f,350D.Qian,m,290,Qian,f,3503.若有以下程序 typedef struct stuchar*name,gender;int score;STU; void f(char*p)P=(char*)malloc(10);strcpy(p,“Qian“); main()STU a=NULL,m,290,b; aname=(char*)mal
4、loc(10); strcpy(aname,“Zhao“); b=a;f(bname); bgender=f;bscore=350; printf(“s,c,d,“,aname,agender,ascore); printf(“s,c,dn“,bname,bgender,bscore);则程序的输出结果是(分数:2.00)A.Zhao,m,290,Qian,f,350B.Qian,f,350,Qian,f,350C.Qian,m,290,Qian,f,350D.Zhao,m,290,Zhao,f,3504.若有以下程序 typedef struct stuchar name10,gender;
5、int score;STU; void f(STU a,STU b) b=a; printf(“s,c,d,“,bname,bgende,bscore); main()STU a=“Zhao“,m,290,b=“Qian“,f,350; f(a,b); printf(“s,c,dn“,bname,bgender,bscore);则程序的输出结果是(分数:2.00)A.Zhao,m,290,Zhao,m,290B.Zhao,m,290,Qian,f,350C.Qian,f,350,Qian,f,350D.Zhao,m,290,Zhao,f,3505.若有以下程序 typedef struct s
6、tuchar name10,gender;int score;)STU; void f(char*P)strcpy(P,“Qian“); main()STU a=“Zhao“,m,290,b; b=a;f(bname); bgender=f;bscore=350; printf(“s,c,d,“,aname,agender,ascore); printf(“s,c,dn“,bname,bgender,bscore);则程序的输出结果是(分数:2.00)A.Zhao,m,290,Zhao,m,290B.Qian,f,350,Qian,f,350C.Zhao,m,290,Qian,f,350D.Z
7、hao,m,290,Zhao,f,3506.为了建立如图所示的存储结构(即每个结点含两个域,data 是数据域,next 是指向结点的指针域),则在_处应填入的选项是 Struct linkchar data;_node; (分数:2.00)A.struct link*next;B.link next;C.link*next;D.struct link next;7.若有以下程序段 struct stint n;struct st*next; struct st a3=5,&a1,7,&a2,9,0,*p; P=a0;则以下选项中值为 6 的表达式是(分数:2.00)A.+(pn)B.(*p)
8、nC.pn+D.Pn8.以下叙述中正确的是(分数:2.00)A.结构体类型中的成分只能是 C 语言中预先定义的基本数据类型B.在定义结构体类型时,编译程序就为它分配了内存空间C.结构体类型中各个成分的类型必须是一致的D.一个结构体类型可以由多个称为成员(或域)的成分组成9.以下叙述中正确的是(分数:2.00)A.结构体类型中的各个成分均不能是数组或指针B.结构体类型的变量,不能在声明结构体类型组成时一起定义C.使用 typedef 定义新类型名后,新类型名与原类型名实际上是等价的D.元素为结构体类型的数组,只能在声明过结构体类型之后,单独进行定义10.以下叙述中正确的是(分数:2.00)A.函
9、数的返回值不能是结构体类型B.函数的返回值不能是结构体指针类型C.在调用函数时,可以将结构体变量作为实参传给函数D.结构体数组不能作为参数传给函数11.以下叙述中正确的是(分数:2.00)A.结构体变量的地址不能作为实参传给函数B.结构体数组名不能作为实参传给函数C.即使是同类型的结构体变量,也不能进行整体赋值D.结构体中可以含有指向本结构体的指针成员12.设有如下的说明和定义 structint a;char*s;)x,*p=&x;xa=4;xs=“hello“;则以下叙述中正确的是(分数:2.00)A.语句+pa;的效果是使 P 增 1B.(p+)a 与 p+a 都是合语法的表达式,但二者
10、不等价C.语句*ps+;等价于(*p)s+;D.语句+pa;的效果是使成员 a 增 113.有以下程序 struct Sint a;int b; main()struct S a,*p=&a; aa=99; printf(“dn“,_);程序要求输出结构体中成员 a 的数据,以下不能填入横线处的内容是(分数:2.00)A.aaB.*paC.paD.(*p)a14.若已建立以下链表结构,指针 p、s 分别指向如图所示结点 (分数:2.00)A.snext=0;p=pnext;pnext=s;B.p=pnext;snext=p;pnext=s;C.p=pnext;snext=pnext;pnext
11、=s;D.p=(*p)next;(*s)next=(*p)next;(*p)next=s;15.有以下程序 #includestdioh struct STUchar name9;char sex;int score2; void f(struct STU a) struct STU b=“zhao“ ,m,85,90; a1=b; main() struct STU c2=“Qian“,f,95,92),“Sun“,mv,98,99; f(c); printf(“s,c,d,d,“,c0name,c0sex,c0score0,c0score1); printf(“s,c,d,dn,“,c1n
12、ame,c1sex,c1score0,c1score1); 程序运行后输出结果是(分数:2.00)A.Qian,f,95,92,Sun,m,98,99B.Zhao,m,85,90,Sun,m,98,99C.Qian,f,95,92,Zhao,m,85,90D.Zhao,m,85,90,Qian,f,95,9216.以下叙述中错误的是(分数:2.00)A.函数的返回值类型不能是结构体类型,只能是简单类型B.只要类型相同,结构体变量之间可以整体赋值C.可以通过指针变量来访问结构体变量的任何成员D.函数可以返回指向结构体变量的指针17.有以下程序 main()unsigned char a=8,c;
13、 C=a3: printf(“dn“,c);程序运行后的输出结果是(分数:2.00)A.16B.32C.1D.018.有以下程序 main()unsigned char a=2,b=4,c=5,d; d=ab;d&=c; printf(“dn“,d);程序运行后的输出结果是(分数:2.00)A.3B.5C.4D.619.下面选项中关于位运算的叙述正确的是(分数:2.00)A.位运算符都需要两个操作数B.左移运算的结果总是原操作数据 2 倍C.右移运算时,高位总是补 0D.位运算的对象只能是整形或字符型数据20.变量 a 中的数据用二进制表示的形式是 01011101,变量 b 中的数据用二进制
14、表示的形式是11110000若要求将 a 的高 4 位取反,低 4 位不变,所要执行的运算是(分数:2.00)A.abB.abC.a&bD.a421.若有以下程序段 int r=8: printf(“dn“,r1);输出结果是(分数:2.00)A.8B.4C.16D.222.有以下程序 main()int a=1,b=2,c=3,x; x=(ab)c; printf(“dn“,x);程序的运行结果是(分数:2.00)A.1B.2C.3D.023.有以下程序 #includestdioh main() int a=2,b; b=a2;printf(“dn“,b);(分数:2.00)A.4B.6C
15、.8D.224.有以下程序 #includestdioh main() char a=4; printf(“dn“,a=a1);(分数:2.00)A.8B.16C.40D.425.有以下程序 #includestdioh main() int a=5,b=1,t; t=(a2)b;printf(“dn“,t); (分数:2.00)A.11B.6C.21D.126.若变量已正确定义,则以下语句的输出结果是 s=32; s=32: printf(“d“,s);(分数:2.00)A.1B.1C.32D.0国家二级 C 语言机试(结构体、共用体、位运算及文件操作)模拟试卷 7 答案解析(总分:52.0
16、0,做题时间:90 分钟)一、选择题(总题数:26,分数:52.00)1.有以下程序 struct Aint a;char b10; double c; void f(struct A t); main()structA a=1001,“ZhangDa“,10980; f(a); printf(“d,s,61 fn“,aa,ab,ac); void f(struct A t)ta=1002; strcpy(tb,“ChangRong“); tc=12020;)程序运行后的输出结果是(分数:2.00)A.1002,ChangRong,12020B.1001,ZhangDa,10980 C.100
17、1,ChangRong,10980D.1002,ZhangDa,12020解析:解析:在主函数中定义结构体 A 的变量 a,并对其赋初值,再调用函数 f(a),形参 t 接收实参的数据,在函数 f(t)中对结构体变量 t 的各个成员进行了赋值操作,需要注意的,形参和实参之间是数据传递,因此对形参的操作对实参不产生影响,因此在主函数输出仍然输出变量 a 的数据。2.若有以下程序 struct stuchar*name,gender;int score; main()struct stu a=NULL,m,290,b; aname=(char*)malloc(10); strcpy(aname,“
18、Zhao“); b=a;bgender=f;bscore=350; strcpy(bname,“Qian“); printf(“s,c,d,“,aname,agender,ascore); printf(“s,c,dn“,bname,bgender,bscore);则程序的输出结果是(分数:2.00)A.Zhao,m,290,Qian,f,350B.Qian,f,350,Qian,f,350C.Zhao,m,290,Zhao,f,350D.Qian,m,290,Qian,f,350 解析:解析:主函数中定义结构体类型 struct stu,有三个成员,第一个成员为字符指针变量。主函数中为 st
19、u 类型变量 a 赋值,首先为 aname 成员分配存储空间,存入数据。b=a;语句执行完毕以后,a和 b 的各个成员值相同,需要注意的是 bname 和 aname 成员都保存了同一段内存的地址,凼此当为变量 b 赋值的时候,同样更改了 a 的 name 成员,而其他成员由于有单独的存储空间而不会发生改变。3.若有以下程序 typedef struct stuchar*name,gender;int score;STU; void f(char*p)P=(char*)malloc(10);strcpy(p,“Qian“); main()STU a=NULL,m,290,b; aname=(c
20、har*)malloc(10); strcpy(aname,“Zhao“); b=a;f(bname); bgender=f;bscore=350; printf(“s,c,d,“,aname,agender,ascore); printf(“s,c,dn“,bname,bgender,bscore);则程序的输出结果是(分数:2.00)A.Zhao,m,290,Qian,f,350B.Qian,f,350,Qian,f,350C.Qian,m,290,Qian,f,350D.Zhao,m,290,Zhao,f,350 解析:解析:函数 f(char*p)的主要功能申请字符串的存储空间,然后存
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 结构 共用 运算 文件 操作 模拟 试卷 答案 解析 DOC

链接地址:http://www.mydoc123.com/p-1332366.html