【计算机类职业资格】国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷6及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷6及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(结构体、共用体、位运算及文件操作)模拟试卷6及答案解析.doc(12页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C 语言机试(结构体、共用体、位运算及文件操作)模拟试卷 6 及答案解析(总分:62.00,做题时间:90 分钟)一、选择题(总题数:31,分数:62.00)1.以下叙述中错误的是(分数:2.00)A.可以用 typedef 将已存在的类型用一个新的名字来代表B.可以通过 typedef 增加新的类型C.用 typedef 定义新的类型名后,原有类型名仍有效D.用 typedef 可以为各种类型起别名,但不能为变量起别名2.以下关于 typedef 的叙述错误的是(分数:2.00)A.typedef 只是将已存在的类型用一个新的名字来代表B.用 typedef 可以为各种类型说明一个
2、新名,但不能用来为变量说明一个新名C.用 typedef 可以增加新类型D.用 typedef 为类型说明一个新名,通常可以增加程序的可读性3.以下结构体类型说明和变量定义中正确的是(分数:2.00)A.typedef struct int n;char c;REC;REC t1,t2;B.struct REC;int n;char c;);REC t1,t2;C.typedef struct REC;int n=0;char c=A;)t1,t2;D.structint n;char c;REC;REC t1,t2;4.以下叙述中错误的是(分数:2.00)A.可以用 typedef 将已存在
3、的类型用一个新的名字来代表B.可以通过 typedef 增加新的类型C.用 typedef 定义新的类型名后,原有类型名仍有效D.用 typedef 可以为各种类型起别名,但不能为变量起别名5.若有定义 typedef int*T;T a10;则 a 的定义与下面哪个语句等价(分数:2.00)A.int*a10;B.int(*a)10;C.int*a;D.int a10;6.若有定义 typedef char T10;T*a;上述定义中 a 的类型与下面选项中完全相同的是(分数:2.00)A.char(*a)10;B.char*a;C.char a10;D.char*a10;7.以下结构体说明
4、和变量定义中,正确的是(分数:2.00)A.typedef struct abcint n;double m;ABC;ABC x,y;B.struct abcint n;double m;struct abc x,y;C.struct ABCint n;double m;struct ABC x,y;D.struct abcint n;double m;abc x,y;8.以下叙述中正确的是(分数:2.00)A.使用 typedef 说明新类型名时,其格式是:typedef 新类型名原类型名B.使用 typedef 说明新类型名时,后面不能加分号C.在程序中,允许用 typedef 来说明一种
5、新的类型名D.在使用 typedef 改变原类型的名称后,只能使用新的类型名9.以下叙述中错误的是(分数:2.00)A.typedef 的作用是用一个新的标识符来代表已存在的类型名B.typedef 说明的新类型名必须使用大写字母,否则会出编译错误C.可以用 typedef 说明的新类型名来定义变量D.用 typedef 可以说明一种新的类型名10.有以下程序段 Typedef struct NODE int num;struct NODE*next; OLD;以下叙述中正确的是(分数:2.00)A.以上的说明形式非法B.NODE 是一个结构体类型C.OLD 是一个结构型类型D.OLD 是一个
6、结构变量11.下面结构体的定义语句中,错误的是(分数:2.00)A.struct ordint x;int y;int z;struct ord a;B.struct ordint x;int y;int z;struct ord a;C.struct ordint x;int y;int z;a;D.structint x;int y;int z;a;12.有以下程序 #includestdioh typedef structint b,p;A; void f(A c)*注意:c 是结构变量名* intj; cb+=1;cp+=2; main()i;A a=1,2; f(a); printf
7、(“d,dn“,ab,ap);程序运行后的输出结果是(分数:2.00)A.2,4B.1,2C.1,4D.2,313.有以下程序 struct Sint a,b;data2=10,100,20,200; main() struct S P=data1;printf(“dn“,+(pa);程序运行后的输出结果是(分数:2.00)A.11B.20C.21D.1014.设有定义: struct complexint real,unreal; datal=1,8,data2;则以下赋值语句中错误的是(分数:2.00)A.data2=(2,6);B.data2=datal;C.data2real=data
8、1real;D.data2real=data1unreal;15.有以下程序 struct Sint n;int a20; voidf(structS *p) int i,j,t; for(i=0;ipn1;i+) for(j=i+1;jpn;j+) if(paipaj)t=pai;pai=Paj;paj=t; main() int i; struct S s=10,2,3,1,6,8,7,5,4,10,9; f(&s); for(i=0;isn;i+)printf(“d,“,sai); (分数:2.00)A.10,9,8,7,6,5,4,3,2,1,B.2,3,1,6,8,7,5,4,10,
9、9,C.10,9,8,7,6,1,2,3,4,5,D.1,2,3,4,5,6,7,8,9,10,16.有以下程序 #includestdioh #includestringh typedef structchar name9;char sex;int score2;STU; STU f(STU a) STU b=“Zhao“,m,85,90; int i; strcpy(aname,bname); asex=bsex; for(i=0;i2;i+)ascorei=bscorei; return a; main() STU c=“Qian“,f,95,92,d; d=f(c); printf(“
10、s,c,d,d,“,dname,dsex,dscore0,dscore1); printf(“s,c,d,d,“,cname,csex,cscore0,cscore1); (分数:2.00)A.Zhao,m,85,90,Zhao,m,85,90B.Qian,f,95,92,Qian,f,95,92C.Zhao,m,85,90,Qian,f,95,92D.Qian,f,95,92,Zhao,m,85,9017.程序中已构成如下图所示的不带头结点的单向链表结构,指针变量 s、p、q 均已正确定义,并用于指向链表结点,指针变量 s 总是作为头指针指向链表的第一个结点。 (分数:2.00)A.尾结点成
11、为首结点B.首结点成为尾结点C.删除首结点D.删除尾结点18.有以下结构体说明、变量定义和赋值语句 struct STDchar name10;int age;char sex;s5,*ps;ps=&s0;则以下 scanf 函数调用语句有错误的是(分数:2.00)A.scanf(“d“,&s0age);B.scanf(“c“,&(pssex);C.scanf(“s“,s0name);D.scanf(“d“,psage);19.若有以下语句 typedef struct S int g;char h;T;以下叙述中正确的是(分数:2.00)A.可用 S 定义结构体变量B.S 是 struct
12、类型的变量C.T 是 struct S 类型的变量D.可用 T 定义结构体变量20.有以下程序 #includestdioh #includestringh Struct A int a;char b10;double c; struct A f(struct A t); main() struct A a=1001,“ZhangDa“,10980; a=f(a);printf(“d,s,61 fn“,aa,ab,ac); struct A f(Struct A t) ta=1002;strcpy(tb,“ChangRong“);tc=12020;return t;程序运行后的输出结果是(分数
13、:2.00)A.1002,ZhangDa,12020B.1 002,ChangRong,12020C.1001,ChangRong,10980D.1001,ZhangDa,1098021.设有以下语句 typedef struct TTchar c;int a4;)CIN;则下面叙述中正确的是(分数:2.00)A.TT 是 struct 类型的变量B.可以用 TT 定义结构体变量C.CIN 是 struct TT 类型的变量D.可以用 CIN 定义结构体变量22.有以下程序#include struct ordint x,y;)dt2=1,2,3,4;main()struct ord *p=d
14、t;printf(“d,“,+(px);printf(“dn“,+(py);程序运行后的输出结果是(分数:2.00)A.4,1B.2,3C.3,4D.1,223.有以下程序段 struct stint x;int*y;*pt; int a=1,2,b=3,4; struct st c2=10,a,20,b; pt=c;以下选项中表达式的值为 11 的是(分数:2.00)A.ptxB.*ptyC.+ptxD.(pt+)x24.有下列程序: struct Sint n;int a20; void f(int*a,int n) int i; for(i=0;in一 1;i+) ai+=i; main
15、() int i;struct S s=10,2,3,1,6,8,7,5,4,10,9; f(sa,sn); for(i=0;isn;i+)printf(“d,“,sai);程序运行后的输出结果是(分数:2.00)A.3,4,2,7,9,8,6,5,11,10,B.2,3,1,6,8,7,5,4,10,9,C.2,4,3,9,12,12,11,11,18,9,D.1,2,3,6,8,7,5,4,10,9,25.有下列程序: #includestdioh #includestringh typedef structchar name9;char sex;float score2;STU; STU
16、 f(STU a) STU b=“Zhao“,m,850,900;int i; strcpy(aname,bname); asex=bsex; for(i=0;i2;i+)ascorei=bscorei; return a; main() STU c=“Qian“,f,950,920,d; d=f(c);printf(“s,c,20f,20fn“,dneme,dsex,dscore0,dscore1); 程序的运行结果是(分数:2.00)A.Qian,m,85,90B.Zhao,f,9592C.Zhao,m,85,90D.Qian,f,95,9226.假定已建立以下链表结构,且指针 p 和 q
17、 己指向如图所示的节点: (分数:2.00)A.p=qnext;free(q);B.p=q;free(q);C.(*p)next=(*q)next;free(p);D.pnext=qnext;free(q);27.有以下程序 #includestdioh #includestringh struct A int a;char b10;double c; void f(struct A t); main() struct A a=1001,“ZhangDa“,10980; f(a);printf(“d,s,61 fn“,aa,ab,ac); void f(struct A t) ta=1002;
18、 strcpy(tb,“ChangRong“); tc=12020;程序运行后的输出结果是(分数:2.00)A.1002,ChangRong,12020B.1001,ChangRong,10980C.1001,ZhangDa,10980D.1002,ZhangDa1202028.有以下定义和语句: struct workers int num;char name20;char c; struct int day;int month;int year;s; struct workers w*pw; pw=&w;能给 w 中 year 成员赋 1980 的语句是(分数:2.00)A.wyear=1
19、980;B.pwyear=1980;C.wsyear=1980;D.*pwyear=1980;29.有以下程序 #includestdioh struct tt int x;struct tt*y;)*p; struct tt a4=20,a+1,15,a+2,30,a+3,17,a; main() int i; p=a; for(i=1;i=2;i+)printf(“d,“,px);p=py; 程序的运行结果是(分数:2.00)A.20,15,B.30,17C.15,30,D.20,30,30.有以下程序 #includestdioh #include“stringh“ typedef st
20、ructchar name9;char sex;float score2;STU; void f(STU a) STU b=“Zhao“,m,850,900; int i; strcpy(aname,bname); asex=bsex; for(i=0;i2;i+)ascorei=bscorei; 程序的运行结果是(分数:2.00)A.Qian,m,85,90B.Zhao,m,85,90C.Zhao,f,95,92D.Qian,f,95,9231.设有定义: struct char mark12;int num1;double num2;t1,t2;若变量均已正确赋初值,则以下语句中错误的是(
21、分数:2.00)A.t2num1=t1num1;B.t2mark=t1mark;C.t1=t2;D.t2num2=t1num2;国家二级 C 语言机试(结构体、共用体、位运算及文件操作)模拟试卷 6 答案解析(总分:62.00,做题时间:90 分钟)一、选择题(总题数:31,分数:62.00)1.以下叙述中错误的是(分数:2.00)A.可以用 typedef 将已存在的类型用一个新的名字来代表B.可以通过 typedef 增加新的类型 C.用 typedef 定义新的类型名后,原有类型名仍有效D.用 typedef 可以为各种类型起别名,但不能为变量起别名解析:解析:C 语言允许用 typed
22、ef 说明一种新类型名,说明新类型名的语句一般形式为:typedef 类型名 标识符:在此,“类型名”必须是在此语句之前已有定义的类型标识符。“标误符”是一个用户定义标识符,用作新的类型名。typedef 语句的作用仅仅是用“标识符”来代表已存在的“类型名”,并未产生新的数据类型,原有类型名依然有效。2.以下关于 typedef 的叙述错误的是(分数:2.00)A.typedef 只是将已存在的类型用一个新的名字来代表B.用 typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名C.用 typedef 可以增加新类型 D.用 typedef 为类型说明一个新名,通常可以增加程
23、序的可读性解析:解析:C 语言允许用 typedef 说明一种新的类型名,其一般形式为:typedef 类型名标识符;在此“类型名”必须是在此语句之前已有定义的类型标识符。“标识符”是一个用户定义标识符,用作新的类型名。Typedef 语句的作用仅仅是用“标识符”来代表己存在的“类型名”,并未产生新的数据类型,原来的类型名依然有效,这样可以增加程序的可读性。3.以下结构体类型说明和变量定义中正确的是(分数:2.00)A.typedef struct int n;char c;REC;REC t1,t2; B.struct REC;int n;char c;);REC t1,t2;C.typed
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 结构 共用 运算 文件 操作 模拟 试卷 答案 解析 DOC

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