【计算机类职业资格】国家二级(C语言)机试模拟试卷128及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷128及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷128及答案解析.doc(14页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 128 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构2.下列关于线性链表的叙述中,正确的是( )。(分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上说法均不正确3.一棵二叉树共有 25
2、个结点,其中 5 个是叶子结点,则度为 1 的结点数为( )。(分数:2.00)A.16B.10C.6D.44.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。(分数:2.00)A.外模式B.内模式C.概念模式D.逻辑模式5.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(分数:2.00)A.栈B.循环队列C.队列D.二叉树6.下列数据结构中,属于非线性结构的是( )。(分数:2.00)A.顺序队列B.带链队列C.顺序栈D.二叉树7.在循环队列数据结构中,下列叙述中正确的是( )。(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针
3、可以大于队尾指针,也可以小于队尾指针D.队头指针一定小于队尾指针8.计算机术语中算法的空间复杂度是指( )。(分数:2.00)A.算法在执行过程中所需要的临时工作单元数B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的计算机存储空间9.计算机软件设计过程中,符合划分模块的准则的选项是( )。(分数:2.00)A.低内聚低耦合B.高内聚高耦合C.低内聚高耦合D.高内聚低耦合10.计算机程序设计过程中,不属于结构化程序设计原则的是( )。(分数:2.00)A.可封装B.模块化C.自顶向下D.逐步求精11.软件详细设计生产的图如下图: (分数:2.00)A.N 一 S
4、图B.PAD 图C.程序流程图D.E 一 R 图12.计算机数据库管理系统是( )。(分数:2.00)A.操作系统的一部分B.一种操作系统C.一种编译系统D.在操作系统支持下的系统软件13.在 E 一 R 图中,用来表示属性的图形是( )。(分数:2.00)A.椭圆形B.矩形C.菱形D.三角形14.有三个关系表 R、S 和 T,其内容如下: (分数:2.00)A.选择B.求差C.求交D.并15.以下关于 C 程序叙述中正确的是( )。(分数:2.00)A.程序的执行总是从程序的第一个函数开始,在 main 函数结束B.程序的执行总是从 main 函数开始,在程序的最后一个函数中结束C.程序的执
5、行总是从 main 函数开始D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束16.以下关于结构化程序设计的叙述中正确的是( )。(分数:2.00)A.在 C 语言中,程序的模块化是利用函数实现的B.结构化程序使用 goto 语句会很便捷C.一个结构化程序必须同时由顺序、分支、循环三种结构组成D.由三种基本结构构成的程序只能解决小规模的问题17.若 a 是数值类型,则逻辑表达式 a=1)(a!=1)的值是( )。(分数:2.00)A.0B.1C.2D.不知道 a 的值,不能确定18.以下定义语句中正确的是( )。(分数:2.00)A.int x=y=2;B.char A=65
6、 b=b;C.float a=1,*b=&a,*c=&b;D.double a=00+1,b=11:19.以下选项中符合 C 语言语法的是( )。(分数:2.00)A.x+1=yB.x+,y=xC.x=x+10=x+yD.float(x)1020.在 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回车21.若要打印出字
7、符 A,以下语句不正确的是( )。(注:字符 A 的 ASC码值为 65,字符 a 的 ASC码值为97)(分数:2.00)A.printf(cn,a一 32);B.printf(cn,B1);C.printf(cn,65);D.printf(dn,A);22.C 语言的合法常量是( )。(分数:2.00)A.3,100B.25E50C.D.00223.设有定义: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
8、=a;a=b,b=c;24.有以下程序: #include void main() int y=1; while(y);y;printf(y=dn,y); 程序执行后的输出结果是( )。(分数:2.00)A.y=0B.y=一 1C.y=1D.while 构成无限循环25.有以下程序: #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
9、=2 2*2=4D.1*1=1 1=1 2*1=2 2*2=426.有以下程序: #include void main() int i=7; do if(i3=1) if(i5=2) printf(*d,i);break; i+: while(i!=0); printf(n); 程序运行后的输出结果是( )。(分数:2.00)A.*7B.*3,*5C.*5*3D.*7*827.有以下程序: #include float f(float x); void main() float a=0; for(int i=2;i5;i+)a+=f(float)i); printf(30fn,A); floa
10、t f(float x) return x*x+1; 程序运行后的输出结果是( )。(分数:2.00)A.32B.29C.33D.2828.对函数 int fun(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);29.有以下程序: #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
11、,y,*P,*q); 程序运行后的输出结果是( )。(分数:2.00)A.2,1,1,2B.1,2,1,2C.1,2,2,1D.2,1,2,130.若有以下定义:int a10,*pt=x;则对 a 数组元素的正确引用是( )。(分数:2.00)A.pt+4B.*&a10C.*(pt+10)D.*(a+5)31.有以下程序: #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.3632.有
12、以下程序: #include #define N 4 void fun(int aN,int b) int i; for(i=0;iN;i+)bi=aii; void 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,1033.C 语言中定义了字符指针,char*c,则将 c 指向一个字符串的是( )。(分数:2.00)A.char
13、ss=text;c=ss;B.scanf(s,c);C.c=getchar();D.*c=text;34.若有定义语句:char str8=abcdef00;则 strlen(str)的值是( )。(分数:2.00)A.6B.7C.8D.935.有以下程序: #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.936.有以下
14、程序(说明:字母 A 的 ASC码值是 65): #include void fun(char*s) while(*s) if(*s2)printf(c,*s); s+; void main() char a=BYTE; fun(a); printf(n); 程序运行后的输出结果是( )。(分数:2.00)A.BYTEB.YTC.YED.BY37.有以下程序: #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); 程序运行后的输出
15、结果是( )。(分数:2.00)A.25B.11C.15D.2038.有以下程序: #include void fun2(char a,char b) printf(cc,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.343439.关于 C 语言中的 typedef 的叙述不正确的是( )。(分数:2.00)A.用 typedef 为类型说明一个新名,通常可以增加程序的可读性B.t
16、ypedef 只是将已存在的类型用一个新的名字来代替C.用 typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名D.用 typedef 可以增加新类型40.程序中已构成如下图所示的不带头节点的单向链表结构,指针变量 s,p,q 均已正确定义,并用于指向链表节点,指针变量 S 总是作为指针指向链表的第一个节点。 (分数:2.00)A.首节点成为尾节点B.删除首节点C.尾节点成为首节点D.删除尾节点二、程序填空题(总题数:1,分数:2.00)41.给定程序中,函数 fun 的作用是:不断从终端读入整数,由变量 a 统计大于 0 的个数,用变量 c 来统计小于 0 的个数,当输入
17、 0 时结束输入,并通过形参 pa 和 pb 把统计的数据传回主函数进行输出。请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。注意:源程序存放在 BLANKlC中。不得增行或删行,也不得更改程序的结构!试题程序: #includestdioh void fun(int*px,int*py) *found* int 1; scarnf(“d”,&k); *found* while2 if(k0)a+; if(k0)b+; *found* 3; *px=a;*py=b; main() int x,y; fun(&x,&y); printf(“x=d y=dn”,x,y); (
18、分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.下列给定程序中函数 fun 的功能是:用冒泡法对 6 个字符串进行升序排列。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件 MODIIC 中,不得增行或删行,也不得更改程序的结构! #includestdioh #includestringh #define MAXLINE 20 fun(char*pstr6) int i,j; char*P; for(i=0;i5;i+) *found* for(j=i+1,j6,j+) if(strcmp(*(pstr+i),*(pstr+j)0) P=*(pstr+i)
19、; *found* *(pstr+i)=pstr+j; *(pstr+j)=P; main() int i; char*pstr6,str6MAXLINE; for(i=0;i6;i+)pstri =stri; printf(“nEnter 6 string(1 string at each line):n”); for(i=0;i6;i+)scanf(“s”,pstri); fun(pstr); printf(“The strings after sorting:n”); for(i=0;i6;i+)printf(“sn”,pstri); (分数:2.00)_四、程序设计题(总题数:1,分数
20、:2.00)43.请编写函数 fun,其功能是:判断 t 所指字符串中的字母是否由连续递增字母序列组成(字符串长度大于等于 2)。例如字符串:uvxyz 满足要求;而字符串:uvxwyz 不满足要求。注意:部分源程序存放在PROG1C 中,请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 指定的部位填入所编写的若干语句。试题程序: #includestdioh #includestringh void NONO(); int fun(char*t) main() char s26; printf(“请输入一个字母组成的字符串:”);gets(s); if(fun(s)prin
21、ff(“s 是由连续字母组成的字符串n”,s); else prinff(“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(8,n);if(P)*p=0; if(fun(s)frintf(wf,“sn”,s+2); ese fprinff(wf,“sn”
22、,strrey(s); felose(fp); fclose(wf); (分数:2.00)_国家二级(C 语言)机试模拟试卷 128 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.循环队列是队列的一种链式存储结构B.循环队列是队列的一种顺序存储结构 C.循环队列是非线性结构D.循环队列是一种逻辑结构解析:解析:在实际应用中,队列的顺序存储结构一般采用循环队列的形式。2.下列关于线性链表的叙述中,正确的是( )。(分数:2.00)A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 128 答案 解析 DOC
