【计算机类职业资格】国家二级(C语言)机试模拟试卷145及答案解析.doc
《【计算机类职业资格】国家二级(C语言)机试模拟试卷145及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】国家二级(C语言)机试模拟试卷145及答案解析.doc(16页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级(C 语言)机试模拟试卷 145及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中错误的是( )。(分数:2.00)A.算法的时间复杂度与问题规模无关B.算法的时间复杂度与计算机系统无关C.算法的时间复杂度与空间复杂度没有必然的联系D.算法的空间复杂度与算法运行输出结果的数据量无关2.设表的长度为 20。则在最坏情况下,冒泡排序的比较次数为( )。(分数:2.00)A.190B.20C.19D.903.下列叙述中正确的是( )。(分数:2.00)A.带链栈的栈底指针是随栈的操作而动态变化的B.若带链队列的队头指针与队尾指针相同
2、,则队列为空C.若带链队列的队头指针与队尾指针相同,则队列中至少有一个元素D.带链栈的栈底指针是固定的4.设棵树的度为 3,共有 27个结点,其中度为 3,2,0 的结点数分别为 4,1,10。该树中度为 1的结点数为( )。(分数:2.00)A.12B.13C.11D.不可能有这样的树5.下面描述中正确的是( )。(分数:2.00)A.好的软件设计应是高内聚低耦合B.内聚性和耦合性无关C.内聚性是指多个模块间相互连接的紧密程度D.耦合性是指一个模块内部各部分彼此结合的紧密程度6.某系统总体结构如下图所示 (分数:2.00)A.5B.7C.4D.87.下面属于应用软件的是( )。(分数:2.0
3、0)A.人事管理系统B.Oracle数据库管理系统C.C+编译系统D.ios操作系统8.下面选项中不是关系数据库基本特征的是( )。(分数:2.00)A.不同的列应有不同的数据类型B.不同的列应有不同的列名C.与行的次序无关D.与列的次序无关9.工厂生产中所需的零件可以存放在多个仓库中,而每一仓库中可存放多种零件。则实体仓库和零件间的联系是( )。(分数:2.00)A.多对多B.一对多C.多对一D.一对一10.学生和课程的关系模式定义为 S(S#,Sn,sd,Dc,Sa)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);C(C 撑,cn,P 撑)(其属性分别为课程号、课程名、先选课);
4、SC(S#,C#,G)(其属性分别学号、课程号和成绩)。关系中包含对主属性传递依赖的是( )。(分数:2.00)A.S#Sd,SdDcB.S#SdC.S#Sd,(S#,C#)GD.C#P#,(S#,C#)G11.以下叙述中正确的是( )。(分数:2.00)A.计算机能直接运行未经编译的 C语言程序B.循环结构、选择结构、顺序结构是结构化程序的三种基本结构C.复杂算法不能使用 N-S流程图来描述D.计算机能够直接处理不超过 20行源码的简单 C语言程序12.以下说法正确的是( )。(分数:2.00)A.C语言程序运行时可以从键盘上读入用户输入的 C源程序并附加到本程序的尾部一并执行B.C语言程序
5、运行时可以从键盘上读入用户以二进制输入的指令,并执行这些指令C.C语言程序运行时可以从键盘上读入用户输入的 c源程序并逐行执行D.C语言程序运行时可以从键盘上读入用户输入的字符或数据,并依此改变程序的运行步骤13.若有程序段 char c;double d:scanf(“lfc“,&d,&c);如果想把 23 输入给变量 d,字符f输入给变量 c,程序运行时正确的输入是( )。(分数:2.00)A.23fB.23fC.23fD.23f14.设 a、b、c 是已定义的整型变量且已正确赋初值,以下赋值语句中,错误的是( )。(分数:2.00)A.a=(b=3)=1;B.a=(b=0)+c+0;C.
6、a=b=c+0;D.a=0+(b=c=0);15.若有定义:int a=3;double b=01263;char ch=a;,则以下选项中,叙述有错的是( )。(分数:2.00)A.逗号表达式的计算结果是最后一个逗号之后的表达式的运算结果B.运算符只能对整数类型的变量进行运算C.语句 ch=(unsigned int)a+b;是对 a与 b之和进行强制类型转换,结果赋值给变量 chD.复合运算:a*=b+ch 是将变量 b、ch 之和与 a相乘,结果再给 a赋值16.以下可以正确且安全的用作用户标识符的一组选项是( )。(分数:2.00)A._32int,long64B.Switch,uns
7、ignedC.Abc,getchD.3break,enter17.若有定义:char ch;int a;double d;,当输入为 12345 67891036 时,以下选项中能给各个变量正确输入数据的是( )。(分数:2.00)A.scanf(“dclf“,&a,&ch,&d);B.scanf(“5d2c721f“,&a,&ch,&d);C.scanf(“dclf“,a,ch,d);D.scanf(“5d2c721f“,&a,&ch,&d);18.以下选项中,合法的 C语言实数是( )。(分数:2.00)A.31e31B.2e1C.E09D.123E19.以下叙述正确的是( )。(分数:2
8、.00)A.#includestdioh是 C程序的一条语句B.使用符号可以将一条#include 命令写在多行里C.一个#include 行可以包含多个文件,文件名用逗号分开D.一个#include 行可以包含多个文件,且最后一个文件起作用20.与数学式 (x 2 -y 2 )cos(45) 对应的 C语言表达式是( )。(分数:2.00)A.(poW(x,2)-pow(y,2)*cos(31415926*45180)B.(poW(2,x)-pow(2,y)*cos(31415926*45180)C.(x*x-y*y)*cos(45)D.(x 2 -y2 2 )*cos(45)21.以下程序
9、拟实现计算 s=1+2*2+3*3+n*n+,直到 s1000 为止。#includestdiohmain()int s,n;s=1;n=1;don=n+1;s=s+n*n;while(s1000);printf(“s=dn“,s);程序运行后,不能得到正确结果,以下修改方案正确的是( )。(分数:2.00)A.把 n=n+1;改为 n=n*n;B.把 s=1;改为 s=0;C.把 n=1;改为 n=0;D.把 while(s1000);改为 while(s=1000);22.有如下程序#includestdiohmain()char a,b;int i;a=3:b=A;for(i=0;i6;
10、i+)if(i2)putchar(a+i);else putchar(b+i);程序运行后的输出结果是( )。(分数:2.00)A.AB56EFB.A4C6E8C.B4D6F8D.A5C7E923.设有定义:int sum=100,i; 以下选项中,能够实现 sum-=1+2+3+10的程序段是( )。(分数:2.00)A.for(i=0;i=10;) sum=sum-i+;B.i=0; do sum=sum-+1: while(i=10);C.i=0; while(i sum=sum-+i;D.i=1; for(;i10;i+) sum=sum-i+;24.有下列程序#includestdi
11、ohmain()int a=123456,b;while(a)b=a10;a=10;switch(b)default:printf(“d“,b+);case1;case2:printf(“d“,b+);break;case3:printf(“d“,b+);break;case4:printf(“d“,b+);程序执行后的输出结果是( )。(分数:2.00)A.76654321B.112345667C.67564321D.65432125.有以下程序#includestdiohmain()char i,j,n;for(i=1;i=9;i+)if(i3)continue;for(j=0;j=9;j
12、+)if(j2llJ=4)continue;n=(i-0)*10+j-0;printf(“d“,n);if(i=4)break;printf(“n“);程序运行后的输出结果是( )。(分数:2.00)A.32 33 42 43B.30 31 40 41C.34 35 44 45D.35 36 45 4626.以下叙述中正确的是( )。(分数:2.00)A.无论指针变量 P具有何种基类型,表达式 p=p+1都代表指针 p移动一个字节B.指针变量具有基类型,基类型不同的指针变量不能直接相互赋值C.指针变量的赋值操作:p=0;是非法的D.通过指针变量存取某个变量值的方式称为“直接存取”方式27.有以
13、下程序#includestdiohvoid swap(int*a,int*b)int t,*tp;t=*a;*a=*b;*b=t;tp=a;a=b;b=tp;printf(“d,d,“,*a,*b);main()int i=3,j=7,*p=&i,*q=&j;swap(p,q);printf(“d,d,d,d“,i,j,*p,*q);程序执行后的输出结果是( )。(分数:2.00)A.3,7,3,7,3,7B.7,3,7,3,7,3C.3,7,3,7,7,3D.3,7,7,3,7,328.对于函数声明 void fun(float array,int*ptr);以下叙述正确的是( )。(分数:
14、2.00)A.函数 fun的参数 array,ptr 都是指针变量B.函数 fun的参数 array是数组名,ptr 是指针变量,它们有本质区别C.调用函数 fun时,实参数组元素个数可以比形参 array数组元素个数多D.调用函数 fun时,传送给形参 array的应是数组的所有元素29.以下叙述中正确的是( )。(分数:2.00)A.x41和101都是转义字符常量B.与都是字符串常量C.是空的字符串,“是空字符 NULLD.n 和n都是回车字符30.以下选项中,能够正确利用随机函数 rand(),产生一个英文字母的表达式是( )。(分数:2.00)A.rand()2=0?rand()A:r
15、and()aB.rand()26+A|rand()26+aC.rand()26+A&rand()26+aD.rand()2=0?rand()26+A:rand()26+a31.若有定义,int a=3,*p=&a,*q=&p;,则以下叙述中错误的是( )。(分数:2.00)A.q是指针变量,*q 就是变量 aB.P是指针变量,p 指向变量 aC.q指向变量 p,所以*q 指向变量 aD.*p与*q 都代表变量 a32.有下列程序#includestdiohvoid f(int x,int n)if(n1)printf(“d“,xn-1);f(x,n-1);printf(“d“,xn-1);el
16、seprintf(“d“,xn-1);main()int a4=1,2,3,4;f(a,4);程序执行后的输出结果是( )。(分数:2.00)A.1234321B.43211234C.4321234D.1234432133.有以下不完整函数 int fun(char*p)ehar*t=p;while(*t+);return(_);该函数的功能是:计算 p所指字符串占用内存单元的个数,作为函数值返回。return 语句下划线处应填入的是( )。(分数:2.00)A.t-pB.*tC.*t-*pD.t34.有下列程序#includestdioh#includestringhmain()char v
17、410=“efg“,“abed“,“mnopq“,“hijkl“,*p4,*t;inti,j;for(i=0;i4;i+)Pi=vi;for(i=0;i3;i+)for(j=i+1;j4;j+)if(strcmp(pi,pi)0)t=pi;pi=Pi;pi=t;for(i=0;i4;i+)printf(“s“,pi);程序执行后的输出结果是( )。(分数:2.00)A.efg abcd hijkl mnopqB.abcd efg hijkl mnopqC.mnopq hijkl efg abedD.efg abed mnopq hijkl35.有以下程序#includestdioh#defin
18、e S1(z)4*z+4*(z)#define S2(x,y)4*(x)*(y)+y*xmain()int a=1,b=2;printf(“d,“,S1(a+b);printf(“d,“,S2(a,b)+S1(3);printf(“d“,S2(3+a,b+3);程序执行后的输出结果是( )。(分数:2.00)A.18,34,100B.24,34,92C.24,34,100D.18,34,9236.如图所示:带有头结点的单向链表 head,其三个数据结点 A、B、c 的连接关系见图。 (分数:2.00)A.*(*p)next-next-dtB.Pp-next-next-dtC.(*(*(*p)n
19、ext)next)dtD.(*(p-next-next)dt37.设有定义#includestdioh#includestdlibhtypedef struetint x,y;T;typedef struetint x,y;*USER;USER fun()USER p;p=(USER)malloc(sizeof(T);p-x=1:p-y=2:return p;函数 fun返回值的类型是( )。(分数:2.00)A.T类型的结构体B.指向结构体类型的指针C.int类型的元素D.int类型的指针38.有以下宏定义及调用#define HA2#define HB(a)(HA+1)*ax=HA*(HA
20、+HB(2);则以下判断正确的是( )。(分数:2.00)A.宏定义不允许嵌套B.x的值是 6C.x的值是 16D.宏调用不允许嵌套39.若以“a+”方式打开一个已存在的文件,以下叙述正确的是( )。(分数:2.00)A.文件打开时,原有文件内容不被删除,可以进行添加和读操作B.文件打开时,原有文件内容不被删除,位置指针移到文件开头,可以进行重写和读操作C.文件打开时,原有文件内容不被删除,位置指针移到文件中间,可以进行重写和读操作D.文件打开时,原有文件内容被删除,只可进行写操作40.有下列程序#includestdiohmain()FILE*fp;int i,a6=1,2,3,4,5,6;
21、fp=fopen(“ddat“,“w+b“);for(i=0;i6;i+)fwrite(&ai,sizeof(int),1,fp);rewind(fp);fread(&a3,sizeof(int),3,fp);fclose(fp);for(i=0;i6;i+)printf(“d,“,ai);程序执行后的输出结果是( )。(分数:2.00)A.4,5,6,4,5,6,B.1,2,3,4,5,6,C.4,5,6,1,2,3,D.1,2,3,1,2,3,二、程序填空题(总题数:1,分数:2.00)41.下列给定程序中,函数 fun的功能是:从形参 ss所指字符串数组中,删除所有串长超过 k的字符串,
22、函数返回剩余字符串的个数。ss 所指字符串数组中共有 N个字符串,且串长小于 M。请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件 BLANK1C 中。不得增行或删行,也不得更改程序的结构!#includestdioh#includestringh#deftne N5#defineM 10int fun(char(*ss)M,int k)int i,j=0,len;*found*for(i=O;i【1】;i+)len=strden(ssi);*found*if(1en=【2】)*found*strcpy(ssj+,【3】);return j;main
23、()char xNM=t“Beijing“,“Shanghai“,“Tianjin“,“Nanjing“,“Wuhan“;int i,f;pIintf(“nThe original stringnn“);for(i=0;iN;i+)puts(xi);printf(“n“);f=fun(x,7);printf(“The string witch length is less than or equal to7:n“);for(i=0;if;i+)puts(xi);printf(“n“);(分数:2.00)_三、程序修改题(总题数:1,分数:2.00)42.下列给定程序中函数 fun的功能是:用冒
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 国家 二级 语言 模拟 试卷 145 答案 解析 DOC
