【计算机类职业资格】国家二级C语言机试(结构体、共同体、位运算及文件操作)模拟试卷13及答案解析.doc
《【计算机类职业资格】国家二级C语言机试(结构体、共同体、位运算及文件操作)模拟试卷13及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级C语言机试(结构体、共同体、位运算及文件操作)模拟试卷13及答案解析.doc(9页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C 语言机试(结构体、共同体、位运算及文件操作)模拟试卷 13 及答案解析(总分:50.00,做题时间:90 分钟)一、选择题(总题数:25,分数:50.00)1.下列说法正确的是( )。(分数:2.00)A.使用 typedef 可以定义新的数据类型B.使用 struct 可以定义新的数据类型C.使用 typedef 可以对现有类型起别名,但不能定义数据类型D.使用 new 关键字可以定义新的数据类型2.以下说法正确的是( )。(分数:2.00)A.typedef 和 struct 可以联合使用来定义新数据类型B.typedef 只能单独使用C.struct 只能单独使用D.以上说
2、法都不正确3.若 typedef char T3;T*a;上述定义中 a 的类型与下面选项中完全相同的是( )。(分数:2.00)A.char(*A)3;B.char*a;C.char a3;D.char*a3;4.关于 typedef 的叙述中正确的是( )。(分数:2.00)A.在使用 typedef 改变原类型的名称后,只能使用新的类型名B.使用 typedef 说明新类型名时,后面不能加分号C.在程序中,允许用 typedef 来说明一种新的类型名D.使用 typedef 说明新类型名时,其格式是:typedef 新类型名原类型名5.对以下程序段的叙述中正确的是( )。typedef
3、struct NODEint num;struct NODE*next;mynode;(分数:2.00)A.以上的说明形式非法B.NODE 是一个结构体类型C.mynode 是一个结构体类型D.mynode 是一个结构体变量6.以下程序的输出结果是( )。struct STRint a,b;data2=10,100,20,200;main()struct STR p=data1;printf(dn,+(pa);(分数:2.00)A.11B.20C.21D.107.以下程序的输出结果是( )。 struct STRint n;int a20; void f(struct STR*p) int i
4、,j,t; for(i=0;i 一 1;i+) for(j=i+1;jn;j+) if(p 一aip 一aj)t=p 一ai;p一ai=p 一aj;p 一aj=t; l main() int i;struct STR 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.10,9,8,7,6,1,2,3,4,5,C.2,3,1,6,8,7,5,4,10,9,D.1,2,3,4,5,6,7,8,9,10,8.设 struct STRchar name10;
5、int age;char sex;s5,*ps;ps=&s0;则以下 scanf 函数调用语句有错误的是( )。(分数:2.00)A.scanf(c,&(ps 一sex);B.scan(d,&s0age);C.scanf(s,s0name);D.scanf(d,ps 一age);9.以下程序的输出结果是( )。 #include #include struet A int a;char b10;double c; struet A f(struet A t); main() struct A a=1001,Bob,10980; a=f(a);printf(d,s,61fn,aa,ab,ac);
6、 struct A f(struct A t) ta=1002;strcpy(tb,Mike);tc=12020;return t;(分数:2.00)A.1002,Bob,12020B.1002,Mike,12020C.1001,Mike,10980D.1001,Bob,1098010.以下程序的输出结果是( )。 #includestruct STRint x,y;dt2=1,2,3,4;main()struct STR*p=dt; printf(d,+(p 一x);printf(dn,+(p 一y);(分数:2.00)A.1,2B.2,3C.3,4D.4,111.有下列程序的输出结果是(
7、)。struct Sint n;int a20;void f(int*a,int n)int i;for(i=0;in 一 1;i+)ai+=i;main()int i;struet S s=10,1,2,3,4,5,6,7,8,9,10;f(sa,sn);for(i=0;is13;i+)printf(d,sai);(分数:2.00)A.2,4,6,8,10,12,14,16,18,10B.2,3,1,6,8,7,5,4,10,9,C.1,3,5,7,9,1 l,13,15,17,10,D.1,2,3,6,8,7,5,4,10,9,12.关于结构体类型的叙述中正确的是( )。(分数:2.00)
8、A.结构体类型中的成员不能是数组或指针B.结构体类型的变量,不能在声明结构体类型组成时一起定义C.使用 typedef 定义新类型名后,新类型名与原类型名实际上是等价的D.元素为结构体类型的数组,只能在声明过结构体类型之后,单独进行定义13.关于结构体函数的叙述中正确的是( )。(分数:2.00)A.即使是同类型的结构体变量。也不能进行整体赋值B.结构体数组名不能作为实参传给函数C.结构体变量的地址不能作为实参传给函数D.结构体中可以含有指向本结构体的指针成员14.以下程序的输出结果是( )。main()unsigned char a=2,b=4,c=5,d;d=ab;d&=c;printf(
9、dn,d);(分数:2.00)A.0B.2C.4D.815.变量 a=01011101,变量 b=11110000,若要求将 a 的高 4 位取反,低 4 位不变,所要执行的运算是( )。(分数:2.00)A.a bB.a&bC.a2D.a416.以下程序的输出结果是( )。 main()int a=l,b=2,c=3,x; x=(a b)&c; printf(dn,x);(分数:2.00)A.0B.1C.3D.217.以下程序的输出结果是( )。 #include main() char a=4; printf(d,a=a1);(分数:2.00)A.8B.16C.64D.418.以下程序段的
10、输出结果是( )。 s=32; s =32: printf(d,s);(分数:2.00)A.32B.一 1C.1D.019.以下程序的输出结果是( )。main()int c;c=1315;printf(dn,c); (分数:2.00)A.18B.5C.13D.820.关于文件操作的叙述中正确的是( )。(分数:2.00)A.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据B.C 语言中的文件是流式文件,因此只能顺序存取数据C.打开一个已存在的文件并进行写操作后,原有文件中的全部数据必定被覆盖D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数
11、据丢失21.关于 C 语言文件指针的叙述正确的是( )。(分数:2.00)A.文件指针就是文件位置指针,表示当前读写数据的位置B.文件指针指向文件在计算机中的存储位置C.文件指针是程序中用 FILE 定义的指针变量D.文件指针就是 scanf 函数返回的值22.不能用于向文件中写人数据的 C 语言函数是( )。(分数:2.00)A.fprintfB.fputcC.ftellD.fwrite23.C 语言中的 dread(buffer,size,count,fp);函数是用来读取二进制文件的,关于 buffer 的叙述正确的是( )。(分数:2.00)A.一个自定义变量B.一个内存块的首地址,代
12、表读人数据存放的地址C.一个文件指针,指向待读取的文件D.一个内存块的字节数24.关于文件操作中的标高符“EOF”的叙述中正确的是( )。(分数:2.00)A.EOF 即 NULLB.文本文件和二进制文件都可以用 EOF 作为文件结束标志C.EOF 是在库函数文件中定义的符号常量D.对于文本文件,fgetc 函数读入最后一个字符时,返回值是 EOF25.以下程序依次把从终端输入的字符存放到 file 文件中,用#作为结束输入的标志,则在横线处应填入的选项是( )。 #include main()FILE*cpoint; char ch; cpoint=fopen(file,w); while(
13、ch=getchar()!=#) fputc(_); fclose(cpoint); (分数:2.00)A.fpoint,chB.chC.ch,cpointD.ch,file国家二级 C 语言机试(结构体、共同体、位运算及文件操作)模拟试卷 13 答案解析(总分:50.00,做题时间:90 分钟)一、选择题(总题数:25,分数:50.00)1.下列说法正确的是( )。(分数:2.00)A.使用 typedef 可以定义新的数据类型B.使用 struct 可以定义新的数据类型C.使用 typedef 可以对现有类型起别名,但不能定义数据类型 D.使用 new 关键字可以定义新的数据类型解析:解析
14、:C 语言中只能通过 struct 关键字定义新的结构体,使用 typedef 对现有类型起别名,但不能定义新的数据类型,所以答案 C 正确。2.以下说法正确的是( )。(分数:2.00)A.typedef 和 struct 可以联合使用来定义新数据类型B.typedef 只能单独使用C.struct 只能单独使用D.以上说法都不正确 解析:解析:typedef 和 struct 可以联合使用来定义新的结构体,但不能定义新的数据类型。所以A,B,C 选项的说法均不正确。答案选 D 项。3.若 typedef char T3;T*a;上述定义中 a 的类型与下面选项中完全相同的是( )。(分数:
15、2.00)A.char(*A)3;B.char*a;C.char a3;D.char*a3; 解析:解析:C 语言允许用 typed 说明一种新类型名。题目中利用 typedef 定义了字符数组类型 T,而后定义了该类型的指针 a,因此 a 为指针数组。4.关于 typedef 的叙述中正确的是( )。(分数:2.00)A.在使用 typedef 改变原类型的名称后,只能使用新的类型名B.使用 typedef 说明新类型名时,后面不能加分号C.在程序中,允许用 typedef 来说明一种新的类型名 D.使用 typedef 说明新类型名时,其格式是:typedef 新类型名原类型名解析:解析:
16、C 语言允许用 typedef 说明一种新类型名。typedef 语句的作用仅仅是用“标识符”来代表已存在的“类型名”,并未产生新的数据类型,原有类型名依然有效。5.对以下程序段的叙述中正确的是( )。typedef struct NODEint num;struct NODE*next;mynode;(分数:2.00)A.以上的说明形式非法B.NODE 是一个结构体类型C.mynode 是一个结构体类型 D.mynode 是一个结构体变量解析:解析:本题考查结构体和 typedef 类型定义。本题的声明代码相当于两部分,首先定义 street NODE,然后是以 typedef 定义 myn
17、ode 类型,因此 mynode 是结构体类型 NODE 的别名或标识度。选项 C 正确,其他选项错误。6.以下程序的输出结果是( )。struct STRint a,b;data2=10,100,20,200;main()struct STR p=data1;printf(dn,+(pa);(分数:2.00)A.11B.20C.21 D.10解析:解析:在题目中定义了结构体 STR 类型的数组变量 data,并对其赋初值。在程序中定义了指向结构体 STR 类型的变量 p,并把数组 data 的第二个元素 data1的值赋给它,所以此时成员变量 pa 的值等于 20,在输出时分别加 1,所以输
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 结构 共同体 运算 文件 操作 模拟 试卷 13 答案 解析 DOC

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