【计算机类职业资格】国家二级(C语言)机试模拟试卷143及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷143及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷143及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 143及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(分数:2.00)A.栈B.循环队列C.队列D.二叉树2.下列数据结构中,属于非线性结构的是( )。(分数:2.00)A.顺序队列B.带链队列C.顺序栈D.二叉树3.在循环队列数据结构中,下列叙述中正确的是( )。(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针可以大于队尾指针,也可以小于队尾指针D.队头指针一定小于队尾指针4.计算机术语中算法的空间复杂度是指(
2、)。(分数:2.00)A.算法在执行过程中所需要的临时工作单元数B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的计算机存储空间5.计算机软件设计过程中,符合划分模块的准则的选项是( )。(分数:2.00)A.低内聚低耦合B.高内聚高耦合C.低内聚高耦合D.高内聚低耦合6.计算机程序设计过程中,不属于结构化程序设计原则的是( )。(分数:2.00)A.可封装B.模块化C.自顶向下D.逐步求精7.软件详细设计生产的图如下图: (分数:2.00)A.N一 S图B.PAD图C.程序流程图D.E一 R图8.计算机数据库管理系统是( )。(分数:2.00)A.操作系统的一部
3、分B.一种操作系统C.一种编译系统D.在操作系统支持下的系统软件9.在 E一 R图中,用来表示属性的图形是( )。(分数:2.00)A.椭圆形B.矩形C.菱形D.三角形10.有三个关系表 R、S 和 T,其内容如下: (分数:2.00)A.选择B.求差C.求交D.并11.以下关于 C程序叙述中正确的是( )。(分数:2.00)A.程序的执行总是从程序的第一个函数开始,在 main函数结束B.程序的执行总是从 main函数开始,在程序的最后一个函数中结束C.程序的执行总是从 main函数开始D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束12.以下关于结构化程序设计的叙述中正
4、确的是( )。(分数:2.00)A.在 C语言中,程序的模块化是利用函数实现的B.结构化程序使用 goto语句会很便捷C.一个结构化程序必须同时由顺序、分支、循环三种结构组成D.由三种基本结构构成的程序只能解决小规模的问题13.若 a是数值类型,则逻辑表达式 a=1)(a!=1)的值是( )。(分数:2.00)A.0B.1C.2D.不知道 a的值,不能确定14.以下定义语句中正确的是( )。(分数:2.00)A.int x=y=2;B.char A=65 b=b;C.float a=1,*b=&a,*c=&b;D.double a=00+1,b=11:15.以下选项中符合 C语言语法的是( )
5、。(分数:2.00)A.x+1=yB.x+,y=xC.x=x+10=x+yD.float(x)1016.在 C程序中已经定义三个整型变量 x,y,z,要通过语句:scanf(d,d,d,&x,&y,&z);给 x赋值 1、给 y赋值 2、给 z赋值 3,以下输入形式中错误的是( )。(注:口代表一个空格符)(分数:2.00)A.1,2,3回车B.口口口 1,2,3回车C.1,口口口 2,口口口 3回车D.1口 2口 3回车17.若要打印出字符 A,以下语句不正确的是( )。(注:字符 A的 ASC码值为 65,字符 a的 ASC码值为97)(分数:2.00)A.printf(cn,a一 32)
6、;B.printf(cn,B1);C.printf(cn,65);D.printf(dn,A);18.C语言的合法常量是( )。(分数:2.00)A.3,100B.25E50C.D.00219.设有定义:int a=1,b=2,c=3;以下语句中执行效果与其他三个不同的是( )。(分数:2.00)A.if(ab) c=a;a=b;b=c;B.if(ab)e=a,a=b,b=c;C.if(ab)c=a,a=b,b=c;D.if(ab)c=a;a=b,b=c;20.有以下程序: #include void main() int y=1; while(y);y;printf(y=dn,y); 程序执
7、行后的输出结果是( )。(分数:2.00)A.y=0B.y=一 1C.y=1D.while构成无限循环21.有以下程序: #include void main() int i,j; for(i=1;i3;i+) for(j=i;j3;j+)printf(d*d=d,i,j,i*j); printf(n); (分数:2.00)A.1*1=1 1*2=2 2*2=4B.1*1=1 1*2=2 2*1=2 2*2=4C.1*1=1 1*2=2 2*2=4D.1*1=1 1=1 2*1=2 2*2=422.有以下程序: #include void main() int i=7; do if(i3=1)
8、 if(i5=2) printf(*d,i);break; i+: while(i!=0); printf(n); 程序运行后的输出结果是( )。(分数:2.00)A.*7B.*3,*5C.*5*3D.*7*823.有以下程序: #include float f(float x); void main() float a=0; for(int i=2;i5;i+)a+=f(float)i); printf(30fn,A); float f(float x) return x*x+1; 程序运行后的输出结果是( )。(分数:2.00)A.32B.29C.33D.2824.对函数 int fun(
9、float x10,int*n)声明正确语句是( )。(分数:2.00)A.int fun(float,int);B.int fun(float*,int*);C.int fun(float*x,int n);D.int fun(float x,int*n);25.有以下程序: #nclude void main() int x=1,y=2,*p=&x,*q=&y,*r; r=p;p=q;q=r; printf(d,d,d,dn,x,y,*P,*q); 程序运行后的输出结果是( )。(分数:2.00)A.2,1,1,2B.1,2,1,2C.1,2,2,1D.2,1,2,126.若有以下定义:i
10、nt a10,*pt=x;则对 a数组元素的正确引用是( )。(分数:2.00)A.pt+4B.*&a10C.*(pt+10)D.*(a+5)27.有以下程序: #nclude void main() int i,s=0,t=1,2,3,4,5,6,7,8,9; for(i=0;i9;i+=2)s+=*(t+i); printf(dn,s); 程序执行后的输出结果是( )。(分数:2.00)A.25B.20C.40D.3628.有以下程序: #include #define N 4 void fun(int aN,int b) int i; for(i=0;iN;i+)bi=aii; void
11、 main() int xN=1,2,3,4,3,5,6,7,8,9,10,11,yN,i; fun(x,y); for(i=0;iN;i+)printf(d,yi); printf(n); 程序运行后的输出结果是( )。(分数:2.00)A.1,3,5,9,B.1,2,3,4,C.1,3,7,0,D.3,4,8,1029.C语言中定义了字符指针,char*c,则将 c指向一个字符串的是( )。(分数:2.00)A.char ss=text;c=ss;B.scanf(s,c);C.c=getchar();D.*c=text;30.若有定义语句:char str8=abcdef00;则 strl
12、en(str)的值是( )。(分数:2.00)A.6B.7C.8D.931.有以下程序: #include #include void main() char s115=a,b,c,d,s2=abcd,s3=abcde; strcat(s1,s3);strcpy(s1+strlen(s2),s2); printf(dn,strlen(s1); 程序运行后的输出结果是( )。(分数:2.00)A.6B.7C.8D.932.有以下程序(说明:字母 A的 ASC码值是 65): #include void fun(char*s) while(*s) if(*s2)printf(c,*s); s+;
13、void main() char a=BYTE; fun(a); printf(n); 程序运行后的输出结果是( )。(分数:2.00)A.BYTEB.YTC.YED.BY33.有以下程序: #include int fun() static int x=2; return x+=1: void main() int i,s=0; for(i=1;i=5;i+)s+=fun(); printf(dn,s); 程序运行后的输出结果是( )。(分数:2.00)A.25B.11C.15D.2034.有以下程序: #include void fun2(char a,char b) printf(cc,
14、a,b); char a=1,b=2; void funl() a=3;b=4; void main() funl(); printf(cc,a,b);fun2(5,6); 程序运行后的输出结果是( )。(分数:2.00)A.1234B.3456C.1212D.343435.关于 C语言中的 typedef的叙述不正确的是( )。(分数:2.00)A.用 typedef为类型说明一个新名,通常可以增加程序的可读性B.typedef只是将已存在的类型用一个新的名字来代替C.用 typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名D.用 typedef可以增加新类型36.程序中已
15、构成如下图所示的不带头节点的单向链表结构,指针变量 s,p,q 均已正确定义,并用于指向链表节点,指针变量 S总是作为指针指向链表的第一个节点。 (分数:2.00)A.首节点成为尾节点B.删除首节点C.尾节点成为首节点D.删除尾节点37.有以下程序: #include #define S(x)2*(x)*x+1 void main() int k=1,j=3; printf(dn,S(k+j); 程序运行后的输出结果是( )。(分数:2.00)A.12B.33C.31D.2138.有以下程序:#includestdiohvoid main()FILE*pf;char*sl=Mystring,*
16、s2=Text;pf=fopen(fdat,wb+);fwrite(sl,8,1,pf);rewind(pf);*文件位置指针回到文件开头*fwrite(s2,4,1,pf);fclose(pf);以上程序执行后 fdat 文件的内容是( )。(分数:2.00)A.MystringB.TextC.MystringTextD.Textring39.若有以下程序段:int x=10:printf(dn,x2);程序运行后的输出结果是( )。(分数:2.00)A.16B.8C.4D.240.以下说法不正确的是( )。(分数:2.00)A.gets函数用于从终端读入字符串B.getchar函数用于从终
17、端读入字符C.fputs函数用于把字符串输出到终端D.fwrite函数用于以二进制形式输出数据到文件二、程序填空题(总题数:1,分数:2.00)41.给定程序中,函数 fun的作用是:不断从终端读入整数,由变量 a统计大于 10的个数,用变量 c来统计小于 10的个数,当输入 0时结束输入,并通过形参 pa和 pb把统计的数据传回主函数进行输出。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在BLANK1C 中。不得增行或删行,也不得更改程序的结构! 试题程序: #include void fun(int*px,int*py) *found* int
18、【1】; scanf(d,&k); *found* while【2】 if(k10)a+; if(k10)b+; *found* 【3】; *px=a;*py=b: main() int x,y; fun(&x,&y); printf(x=d y=dn,x,y); (分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.下列给定程序中,函数 fun的功能是:逐个比较 p、q 所指两个字符串对应位置上的字符,并把 ASC值小或相等的字符依次存放到 c所指的数组中,形成一个新的字符串。例如,若主函数中 a字符串为“aBCDeFgH”,b 字符串为“Abcd”,则 c中的字符串应为“A
19、BCDeFgH”。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MOD11C 中,不得增行或删行,也不得更改程序的结构!#includestdioh #includestringhvoid fun(char*P,char*q,char*c)*found*int k=l;*found*while(*P!=*q)if(*p*q)ck=*q;else ck=*p;if(*P)p+;if(*q)q+; k+;main() char a10=aBCDeFgH,b10=ABcd,c80=0;fun(a,b,c);printf(The string a:);puts(a);printf(
20、The string b:);puts(b);printf(The result:);puts(c);(分数:2.00)_四、程序设计题(总题数:1,分数:2.00)43.请编写函数 fun,其功能是:判断 t所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于 2)。例如字符串:uvwxyz 满足要求;而字符串:uvxwyz 不满足要求。注意:部分源程序存放在PROC1C 中,请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun指定的部位填入所编写的若干语句。试题程序:#includestdioh#includestringhvoid NONO();int fun(c
21、har*t)main() char s26;printf(请输入一个字母组成的字符串:);gets(s);if(fun(s)printf(s 是由连续字母组成的字符串n,s);else printf(s 不是由连续字母组成的字符串!n,s);NONO();void NONO()*本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。*FILE*fp,*wf;int i; char s26,*p;fp=fopen(indat,r);wf=fopen(outdat,w);for(i=0;i10;i+)fgets(s,26,fp);p=strehr(s,n);if(p)*p=0;if(fun(
22、s)fprintf(wf,sn,s+2);else fprintf(wf,sn,strrev(s);fclose(fp);fclose(wf); (分数:2.00)_国家二级(C 语言)机试模拟试卷 143答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(分数:2.00)A.栈 B.循环队列C.队列D.二叉树解析:解析:栈是先进后出原则存取数据的;队列是先进先出原则。2.下列数据结构中,属于非线性结构的是( )。(分数:2.00)A.顺序队列B.带链队列C.顺序栈D.二叉树 解析:解析
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 143 答案 解析 DOC
