【计算机类职业资格】国家二级(C语言)机试模拟试卷142及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷142及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷142及答案解析.doc(15页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 142及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列关于循环队列的叙述中正确的是( )。(分数:2.00)A.循环队列有队头和队尾两个指针,因此,循环队列是非线性结构B.循环队列中元素的个数是由队头指针和队尾指针共同决定的C.在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D.在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况2.设有一个初始状态为空的栈。现将元素 A、B、C、1、2、3 依次入栈,然后再依次出栈,则出栈后的元素顺序为以下哪一项?( )(分数:2.00)A.123A
2、BCB.CBA321C.ABC123D.321CBA3.在长度为 m的有序线性表中进行二分查找,最坏情况下需要比较的次数是( )。(分数:2.00)A.O(m)B.O(m 2 )C.O(1og 2 m )D.O(mlog 2 m )4.下列叙述中正确的是( )。(分数:2.00)A.顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的B.顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C.顺序存储结构能存储有序表,链式存储结构不能存储有序表D.链式存储结构比顺序存储结构节省存储空间5.数据流图中带有箭头的线段表示的是( )。(分数:2.00)A.控制流B.事件驱动C.模
3、块调用D.数据流6.在软件开发的需求分析阶段,可以使用下列哪种工具?( )(分数:2.00)A.NS图B.DFD图C.PAD图D.程序流程图7.计算机语言中常说的面向对象中,“对象”基本特点一般不包括( )。(分数:2.00)A.多态性B.封装性C.一致性D.标识唯一性8.一间学生宿舍可住至少一个学生,则宿舍和学生之间的对应关系是( )。(分数:2.00)A.一对多B.一对一C.多对一D.多对多9.在数据管理技术发展的三个阶段中,数据共享最好的一个阶段是( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.数据库系统阶段D.三个阶段相同10.有三个关系 R、S 和 T如下: (分数:2
4、.00)A.笛卡尔积B.交C.并D.自然连接11.在以下选项中,按照 C语言规定,不能出现在标识符中的是( )。(分数:2.00)A.大写字母B.下划线C.数字字符D.连接符12.在以下选项中,能用作 C语言数据常量的是( )。(分数:2.00)A.10LB.083C.05e12D.o30F13.下列叙述中错误的是( )。(分数:2.00)A.一个 C语言程序只能实现一种算法B.C语言程序可以由多个程序文件组成C.C语言程序可以由一个或多个函数组成D.一个 C语言函数可以单独作为一个 C语言程序文件存在14.假如下列选项中的变量已正确定义并成功赋值,其中正确的表达式是( )。(分数:2.00)
5、A.int(2212)B.n=y+m+5,+yC.x=y*3=x+kD.x=217015.设在 C语言程序中已经定义了整型变量 int x=2;,以下表达式中,值不为 6的是( )。(分数:2.00)A.2*x,x+=2B.x+,2*xC.x*=(1+x)D.x*=x+116.有以下 C语言程序: #inelude void main() int x,y,z; x=y=1; z=x+,y+,+y; printf(d,d,dn,x,y,z); 程序运行后的输出结果是( )。(分数:2.00)A.2,3,3B.2,3,2C.2,2,1D.2,3,117.设 x,y已经成功定义并赋值,则与表达式(x
6、y)?(x+):(y+)中的条件表达式(x 一 y)等价的是( )。(分数:2.00)A.(xy0)B.(x一 y0x 一 y0)C.(xy0)D.(x一 y=0)18.有以下 C语言程序: #include void main() char ch1,ch2; ch1=R+5一2; ch2=R+5一13; printf(c,dn,ch1,ch2); 已知字母 R的 ASC码为 82,程序运行后的输出结果是( )。(分数:2.00)A.U,84B.T,83C.U,TD.T,U19.有以下程序: #include void main() int x=2,y=3; if(!x)y+=3; else
7、if(x=0) if(x)y+=2; else y+; printf(dn,y); 程序运行后的输出结果是( )。(分数:2.00)A.3B.2C.1D.020.在 C语言中定义下列变量并赋值:double x=1333;int a=3,b=2,c=1;则下列选项中正确的switch语句是( )。(分数:2.00)A.switch(a+b) casel:printf(*n); case2+l:printf(*n);B.switch(int)x); ease1:printf(*n); case2:printf(*n);C.switch(x) case1333:printf(*n); case 2
8、0:printf(*n);D.switch(a+b) case 1:printf(*n); case c:printf(*n);21.有以下程序: #include void main() int i=15; for(;i0;i 一一) if(i5=0)printf(d,一一 i); 程序运行后的输出结果是( )。(分数:2.00)A.1494B.15105C.151005D.14090422.有以下程序: #include void main() int i,j,m=1; for(i=1;i3;i+) for(j=3;j0;j一一) if(i*j3)break; m*=i*j; printf
9、(m=dn,m); 程序运行后的输出结果是( )。(分数:2.00)A.m=4B.m=2C.m=6D.m=523.有以下程序:includestdiohint fun(int x,int y)if(x!=y)return(x+y)2);else return(x);void main()int a=3,b=5,c=6;printf(dn,fun(fun(b,c),2*a);程序运行后的输出结果是( )。(分数:2.00)A.6B.5C.8D.1224.下列选项中,定义 C语言数组的正确语句是( )。(分数:2.00)A.int N=10;int xN;int xN;B.#define N 10
10、 int xNC.int x010;D.int x;25.有以下程序:#includestdioh void main()int i,*p=NULL;*p=&i;printf(Inputi:);scanf(d,&p);printf(outputi:);printf(dn,p);该程序试图通过指针 p为变量 i读入数据并输出,但程序有多处错误,以下语句正确的是( )。(分数:2.00)A.*p=&i;B.int i,*p=NULL;C.scanf(d,&p)D.printf(dn,p);26.有以下程序: #include int add(int x,int y)return(x+y); voi
11、d main() int s,(*pf)(),a=1,b=2; pf=add; 则以下函数调用语句错误的是( )。(分数:2.00)A.s=pf(a,b);B.s=add(a,b);C.s=(*pf)(a,b);D.s=*pf(a,b);27.有以下程序: #include void main() int a:7,8,9,10,i; for(i=0;i4;i+) switch(i3) case 0:switch(ai3) case 0:ai+;break; case 1:ai; break; case 1:ai=0; for(i=0;i4;i+)printf(d,ai);printf(n);
12、程序运行后的输出结果是( )。(分数:2.00)A.0696B.6010C.0906D.609928.有以下程序: #include void main() int a33=0,1,2,0,1,2,0,1,2,i,j,s=10; for(i=0;i3;i+) for(j=1;j=i;j+) s+=aiaji/; printf(dn,s); 程序运行后的输出结果是( )。(分数:2.00)A.12B.13C.11D.1529.以下语句中存在语法错误的是( )。(分数:2.00)A.char ss620;ss1=right?;B.char ss20=fight;C.char*ss6;ss1=rig
13、ht?;D.char*ss=right?;30.以下不能将 s所指字符串正确复制到 t所指存储空间的是( )。(分数:2.00)A.do*t+=*s+;while(*s);B.for(i=0;ti=si;i+);C.while(*t=*s)t+;s+;D.for(i=0,j=0;ti+=sj+;);31.有以下程序: #include void swap(char*ch1,char*ch2) char ch; ch=*ch1;*ch1=*ch2;*ch2=ch; void main() char*str1=xyz,*str2=abc; swap(str1,str2);printf(s,sn,s
14、tr1,str2); 程序执行后的输出结果是( )。(分数:2.00)A.xyz,cbaB.xyz,abcC.ayz,xbcD.abc,xyz32.有以下函数:int fun(char*x,char*y)int m=0;while(*x=*y)&*x!=0)x+;y+;m+;return m;函数的功能是( )。(分数:2.00)A.将 y所指字符串赋给 x所指存储空间B.统计 x和 y所指字符串中最前面连续相同的字符个数C.查找 x和 y所指字符串中是否有0D.统计 x和 y所指字符串中相同的字符个数33.有以下程序: #lnclude int fun() static int i=1; i
15、*=3; retum i; void main() int k,s=1; for(k=1;k=3;k+)s*=fun(); printf(dn,s); 程序运行后的输出结果是( )。(分数:2.00)A.729B.27C.81D.24334.在 C语言源文件中定义的全局变量的作用域为( )。(分数:2.00)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern说明来决定范围35.以下叙述中不正确的是( )。(分数:2.00)A.用 typedef可以为各种类型起别名,但不能为变量起别名B.可以用 typedef将已存在的类型用一个新的名字来代表C
16、.用 typedef定义新的类型名后,原有类型名仍有效D.可以通过 typedef增加新的类型36.有以下程序: #include struct S int x,y;data2=1,2,10,12; void main() struct s p=data1; printf(dn,+(px); 程序运行后的输出结果是( )。(分数:2.00)A.10B.11C.20D.2137.有以下程序: #include #define pi 314 #define S(r)pi*r*r void main() int i=1,j=2;printf(42fn,S(i+j); 程序运行后的输出结果是( )。(
17、分数:2.00)A.714B.2826C.628D.94238.有以下程序: #include void main() unsigned char a=1,b=3,c=5,d; d=ab;d&=c;printf(dn,d); 程序运行后的输出结果是( )。(分数:2.00)A.1B.3C.4D.539.C语言的文件操作过程中,以下描述中正确的是( )。(分数:2.00)A.C语言中的文件是流式文件,因此只能顺序存取数据B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1个数据D.当对文件的读(
18、写)操作完成之后。必须将它关闭:否则可能导致数据丢失40.有以下程序: #include #include void main( ) int*a,*b,*c; a=b=c=malloc(sizeof(int); a=0;*b=1;*c=2: a=b; printf(d,d,dn,*a,*b,*c); 程序运行后的输出结果是( )。(分数:2.00)A.出错B.2,2,3C.1,2,3D.2,2,2二、程序填空题(总题数:1,分数:2.00)41.下列给定程序中,函数 fun的功能是进行数字字符转换。若形参 ch中是数字字符0到9,则将0转换成9,1转换成8,2转换成7,9转换成0;若是其他字符
19、则保持不变;并将转换后的结果作为函数值返回。 请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。 注意:部分源程序在文件 BLANKlC 中。不得增行或删行,也不得更改程序的结构! #inelude *found* 【1】fun(char ch) *found* if(ch=0&【2】) *found* return9一(ch 一【3】); return ch; main() char c1,c2; c1=1; c2=fun(c1) printf(c,c,c1,c2); (分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.给定程序 modilc 的主函数中
20、,将 a、b、c 三个节点链成一个单向链表,并给各节点的数据域赋值,函数 fun()的作用是:累加链表节点数据域中的数据作为函数值返回。请改正函数 fun中指定部位的错误,使它能得出正确的结果。注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构。试题程序:#includestdiohtypedef struct listint data;struct list*next;LIST;int fun(LIST*h)LIST*P;*found*int t:p=h;*found*while(*p)*found*t=t+pdata;p=(*p)next;return t:main()LI
21、ST a,b,c,*h;adata=34;bdata=51;cdata=87;enext=0;h=&a;anext=&b;bnext=&c;printf(总和=dn,fun(h);(分数:2.00)_四、程序设计题(总题数:1,分数:2.00)43.规定输入的字符串中只包含字母和#号。请编写函数 fun,其功能是:将字符串尾部的#号全部删除,前面和中间的#号不动。例如,字符串中的内容为:“#AB#CD#EF”,删除后,字符串中的内容应当是:“#AB#CD#EF”。在编写函数时,不得使用 C语言提供的字符串函数。注意:部分源程序在文件 PROC1C中。请勿改动主函数 main和其他函数中的任何内
22、容,仅在函数 fun的花括号中填入你编写的若干语句。#includestdioh void fun(char*a)main()char s81;void NONO();printf(Enter a string:n);gets(s);fun(s);printf(The string after deleted:n);puts(s);NONO();void NONO()*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*FILE*in,*out;int i;char s81;in=fopen(indat,r);out=fopen(outdat,W);for(i=0;i10;i+)fs
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 142 答案 解析 DOC
