【计算机类职业资格】二级C语言分类模拟题515及答案解析.doc
《【计算机类职业资格】二级C语言分类模拟题515及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言分类模拟题515及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言分类模拟题 515及答案解析(总分:53.50,做题时间:90 分钟)一、选择题(总题数:35,分数:53.50)1.在最坏情况下,堆排序的时间复杂度是_。 A.O(lgo2n) B.O(nlog2n) C.O(n2) D.O(n1.5)(分数:1.00)A.B.C.D.2.若有以下函数: int fun(char *a, char *b) int bk=0; while(*a!=“/0“)break; a+; b+; bk=1; return bk; 此函数的功能是_。(分数:1.00)A.判断 a和 b两个字符串是否相等B.将字符串 a改名为字符串 bC.将字符串变量 a的值赋
2、给字符串变量 bD.检查字符串 a和 b中是否有“/0“3.有如下程序: #include stdio.h main() int i=1; for(printf(“%d“,i); i4; i+) printf(“%d“, i); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1123B.123C.0123D.0014.有以下程序: #includestdio.h #includestdlib.h void fun(double*p1,double*p2,double*s) s=(double*)calloc(1,sizeof( double); *s=*p1+*(
3、p2+1); main() double a2=1.1,2.2,b2=10.0,20.0,*s=a; fun(a,b,s); printf(“%5.2f/n“,*s); 程序运行后的输出结果是_。(分数:1.00)A.21.10B.11.10C.12.10D.1.105.有以下程序: #includestdio.h main() unsigned char a=2, b=4, c=5, d; d=a | b;d printf(“%d/n“,d); 程序运行后的输出结果是_。(分数:1.00)A.3B.4C.5D.66.一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是
4、_。(分数:1.00)A.1:1联系B.1:m联系C.m:1联系D.m:n联系7.若有定义语句: char*s1=“OK“,*s2=“ok“; 以下选项中,能够输出“OK“的语句是_。(分数:4.00)A.if(strcmp(s1,s2)=0)puts(s1);B.if(strcmp(s1,s2)!=0)puts(s2);C.if(strcmp(s1,s2)=1)puts(s1);D.if(strcmp(s1,s2)=0)puts(s1);8.若有以下程序段,w 和 k都是整型变量: w=k; LB:if(w=0)go to LE; w-; printf(“*“) goto LB; LE; (
5、分数:2.50)A.for(w=k; w!=0; w-)printf(“*“);B.for(w=k; w; -w)printf(“*“);C.w=k;while(w-!=0)printf(“*“);D.w=k;w+; dow-; printf(“*“); while(w!=0);9.若有说明 int i,j=2,*p= j=19; j+=4) m+; printf(“%d/n“,m); (分数:1.00)A.12B.15C.20D.2513.设计数据库的存储结构属于 _ 。(分数:1.00)A.需求分析B.概念设计C.逻辑设计D.物理设计14.有以下程序: #includestdio.h ma
6、in() char c25=“6934“,“8254“,*p2; int i,j,s=0; for(i=0;i2;i+)pi=ci; for(i=0;i2;i+) for(j=0;pij0pij=“9“;j+=2) s=10*s+pij-“0“; printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.693825B.69825C.63825D.638515.以下叙述中正确的是 _ 。(分数:1.00)A.构成 C程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main函数必须放在其他函数之前D.C函数定义的格式是 K x*=2; return x; ma
7、in() int i,s=1; for(i=1;i=3;i+)s*=fun(); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.0B.10C.30D.6417.结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是_。(分数:1.00)A.三种基本结构不可以嵌套使用B.顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移C.选择结构是根据不同的条件执行不同分支中的语句D.循环结构是根据条件决定是否重复、重复执行多少次循环体语句18.若 a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是_。(分数:1.00)A.1B.0C.2D.
8、不知道 a的值,不能确定19.阅读以下程序: #includestdio.h main() int case; float printF; printf(“请输入 2个数: “); scanf(“%d%f“, printf(“%d%f/n“, case, printF); 该程序在编译时产生错误,其出错原因是_。(分数:1.00)A.定义语句出错,case 是关键字,不能用作用户自定义标识符B.定义语句出错,printF 不能用作用户自定义标识符C.定义语句无错,scanf 不能作为输入函数使用D.定义语句无错,printf 不能输出 case的值20.下面不属于软件需求分析阶段主要工作的是_
9、。(分数:1.00)A.需求变更申请B.需求分析C.需求评审D.需求获取21.在长度为 n的有序线性表中进行二分法查找,最坏情况下需要比较的次数是_。 A.O(n) B.O(n2) C.O(log2n) D.O(nlog2n)(分数:2.00)A.B.C.D.22.下列叙述中正确的是_。(分数:2.50)A.break语句只能用于 switch语句体中B.continue语句的作用是使程序的执行流程跳出包含它的所有循环C.break语句只能用在循环体内和 switch语句体内D.在循环体内使用 break语句和 continue语句的作用相同23.执行以下程序后,x 的值为( )。 unsig
10、ned int x=65535; printf(“%d/n“,x);(分数:1.00)A.65535B.1C.有错误D.-124.下列运算符中优先级最低的算符是_。(分数:1.00)A.|B.!=C.=D.+25.若有以下程序: #include stdio.h main( ) int x=8; for( ;x0; x-) if(x%3) printf(“%d,“,x-); continue; printf(“%d,“,-x); 则程序的运行结果是_。(分数:2.00)A.7,4,2,B.8,7,5,2,C.9,7,6,4,D.8,5,4,2,26.以下程序输出结果为_。 #includest
11、dio.h #defineADD(x,y) x+y main() int a=15,b=10,c=20,d=5; printf(“%d/n“,ADD(a,b)/ADD(c,d); (分数:2.00)A.34B.20C.80D.6527.有以下程序: #includestdio.h main() char ch25=“6937“, “8254“, *p2; int i, j, s=0; for(i=0; i2; i+) pi=chi; for(i=0; i2; i+) for(j=0; pij“/0“ j+=2) s=10*s+pij-“0“; printf(“%d/n“, s); 程序运行后的
12、输出结果是(分数:1.00)A.6385B.69825C.63825D.69382528.有以下程序 #includestdio.h int add(int a,int b)return(a+h); main() int k,(*f)(),a=5,b=10; f=add; 则以下函数调用语句错误的是_。(分数:2.00)A.k=*f(a,b);B.k=add(a,b);C.k=(*f)(a,b);D.k=f(a,b);29.以下正确的字符串常量是_。(分数:2.00)A.“/“B.“abc“C.Olympic GamesD.“30.若有以下程序 #includestdio.h #include
13、stdlib.h #includestring.h typedef struct stu char*name,gender; int score; STU; void f(char*p) p=(char*)malloc(10); strcpy(p,“Qian“); main() STU a=NULL,“m“,290,b; a.name=(char*)malloc(10); strcpy(a.name,“Zhao“); b=a; f(b.name); b.gender=“f“;b.score=350; printf(“%s,%c,%d,“,a.name,a.gender,a.score); pr
14、intf(“%s,%c,%d/n“,b.name,b.gender,b.score); 则程序的输出结果是_。(分数:2.00)A.Zhao,m,290,Zhao,f,350B.Zhao,m,290,Qian,f,350C.Qian,f,350,Qian,f,350D.Qian,m,290,Qian,f,35031.交换两个变量的值,不允许用临时变量,应该使用下列_位运算符。(分数:2.50)A. for(i=0;in-1;i+) for(j=i+1;jn;j+) if(aiaj)t=ai;ai=aj;aj=t; main() int aa10=1,2,3,4,5,6,7,8,9,10,i;
15、sort( for(i=0;i10;i+)printf(“%d,“,aai); printf(“/n“); 程序运行后的输出结果是_。(分数:2.50)A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,8,7,6,5,4,9,10,D.1,2,10,9,8,7,6,5,4,3,33.以下叙述中正确的是_。(分数:2.50)A.数组下标的下限是 1B.数组下标的下限由数组中第一个非零元素的位置决定C.数组下标的下限由数组中第一个被赋值元素的位置决定D.char c1, c2, *c3,c440;是合法的变量定义语句34.设有定义 doub
16、le a10, *s=a; 以下能够代表数组元素 a3的是_。(分数:2.00)A.(*s)3B.*(s+3)C.*s3D.*s+335.以下叙述中错误的是_。(分数:1.00)A.C程序在运行过程中所有计算都以二进制方式进行B.C程序在运行过程中所有计算都以十进制方式进行C.所有 C程序都需要编译链接无误后才能运行D.C程序中字符变量存放的是字符的 ASCII码值二级 C语言分类模拟题 515答案解析(总分:53.50,做题时间:90 分钟)一、选择题(总题数:35,分数:53.50)1.在最坏情况下,堆排序的时间复杂度是_。 A.O(lgo2n) B.O(nlog2n) C.O(n2) D
17、.O(n1.5)(分数:1.00)A.B. C.D.解析:解析 若有 n个元素的序列,将元素按顺序组成一棵完全二叉树,当且仅当满足下列条件时称为堆,大根堆是指所有结点的值大于或等于左右子结点的值;小根堆是指所有结点的值小于或等于左右子结点的值。在调整建堆的过程中,总是将根结点值与左、右子树的根结点进行比较,若不满足堆的条件,则将左、右子树根结点值中的大者与根结点值进行交换。堆排序最坏情况下需要 O(nlog 2 n)次比较,所以时间复杂度是 O(nlog 2 n),B 选项正确。2.若有以下函数: int fun(char *a, char *b) int bk=0; while(*a!=“/
18、0“)break; a+; b+; bk=1; return bk; 此函数的功能是_。(分数:1.00)A.判断 a和 b两个字符串是否相等 B.将字符串 a改名为字符串 bC.将字符串变量 a的值赋给字符串变量 bD.检查字符串 a和 b中是否有“/0“解析:解析 分析程序可知:函数 fun()在字符指针 a和 b未遇到字符“/0“且 a指向的字符串 A长度与b指向的字符串 B长度相同时,遍历 A、B,逐个比较 a指向的字符与 b指向的字符是否相同,所以程序分3种情况:A 的长度与 B的长度不同,返回值为 0;A 的长度与 B的长度相等,但 A中某个位置 i上的字符与 B中位置 i上的字符
19、不同,返回值为 0;A 的长度与 B的长度相等,且 A中相同位置上的字符与B中相同位置上的字符全部相同,返回值 1。由此可知函数的功能是判断 a和 b指向的两个字符串是否相等。故答案为 A选项。3.有如下程序: #include stdio.h main() int i=1; for(printf(“%d“,i); i4; i+) printf(“%d“, i); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.1123 B.123C.0123D.001解析:解析 for 循环语句格式:for(exp1;exp2;exp3)。exp1 通常用来给循环变量赋初值;ex
20、p2 通常是循环条件,以便决定是否继续执行循环体;exp3 通常可用来修改循环变量的值。程序执行过程为:for循环开始,输出 i=1,判断 i4 成立,输出 i=1,之后 i=2;判断 i4 成立,输出 i=2,之后 i=3;判断 i4 成立,输出 i=3,之后 i=4;判断 i4 不成立,退出循环。程序运行后的输出结果是 1123,故A选项正确。4.有以下程序: #includestdio.h #includestdlib.h void fun(double*p1,double*p2,double*s) s=(double*)calloc(1,sizeof( double); *s=*p1+
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 分类 模拟 515 答案 解析 DOC
