【计算机类职业资格】二级C语言笔试-245及答案解析.doc
《【计算机类职业资格】二级C语言笔试-245及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-245及答案解析.doc(30页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-245 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列程序段的输出结果为( )。#includestdio.hmain()static char a=“language“;char*p;p=a;for(p=a;pa+8;p+=2) putchar(*p);(分数:2.00)A.languageB.lnugC.有语法错误D.lang2.下列选项中不合法的+六进制数是( )。(分数:2.00)A.OxffB.OXllC.OxlgD.OXabc3.有下列函数定义:int fun(double a,double B) re
2、turn a*b;若下列选项中所用变量都已正确定义并赋值,错误的函数调用是( )。(分数:2.00)A.if(fun(x,y)B.z=fun(fun(x,y),fun(x,y);C.z=fun(fun(x,y)x,y);D.fun(x,y);4.下列叙述中正确的是( )。(分数:2.00)A.算法的执行效率与数据的存储结构无关B.算法的空间复杂度是指算法程序中指令(或语句)的条数C.算法的有穷性是指算法必须能在执行有限个步骤之后终止D.以上三种描述都不对5.在 C 语言中,函数返回值的类型最终取决于( )。(分数:2.00)A.函数定义时在函数首部所说明的函数类型B.return 语句中表达式
3、值的类型C.调用函数时主调函数所传递的实参类型D.函数定义时形参的类型6.下列程序的运行结果是( )。#includestdio.hvoidfun(int*s,int*p)static int t=3;*p=st;t-;void main()int a=2,3,4,5,k;int x;for(k=0;k4;k+)fun(a,printf(“%d,“,x);(分数:2.00)A.5,4,3,2B.2,3,4,5,C.2,2,2,2,D.5,5,5,5,7.语句“printf(“a/bhow/are/y/bou/n“);”的输出结果是( )。(分数:2.00)A.a/bhow/are/y/bouB
4、.a/bhow/are/y/bouC.howareyouD.ahowarey/bou8.若变量已正确定义,下列正确的程序段是( )。(分数:2.00)A.while(ch=getchar()=/N)putchar(ch);B.while(ch=getchar()=/n)putchar(ch);C.while(ch=getchar()!=/N)putchar(ch);D.while(ch=getchar()!=/n)putchar(ch);9.已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ASCII 码是 97。下列不能将变量 c 中的大写字母转换为对应小写字母的语句是( )。
5、(分数:2.00)A.c=(c-A)%26+aB.c=c+32C.c=c-A+aD.c=(A+10.数据库系统的核心是( )。(分数:2.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员11.下列程序的运行结果是( )。#includestdio.h#includestring.hmain()char*s1=“abDuj“;char*s2=“ABdUG“;int t;t=strcmp(s1,s2) ;printf(“%d“,t);(分数:2.00)A.正数B.负数C.零D.不确定的值12.下列标识符不是关键字的是( )。(分数:2.00)A.breakB.charC.Switch
6、D.return13.有下列函数:int fun(char*S)char*t=s;while(*t+ +);return(t-s);该函数的功能是( )。(分数:2.00)A.比较两个字符串的大小B.计算 s 所指字符串占用内存字节的个数C.计算 s 所指字符串的长度D.将 s 所指字符串复制到字符串 t 中14.下列程序段的运行结果是( )。#includestdio.hvoid main()char str=“ABC“,*p=str;printf(“%d/n“,*(p+3) );(分数:2.00)A.67B.0C.字符C的地址D.字符C15.标准库函数 fgets(s,n,file)的功能
7、是( )。(分数:2.00)A.从文件 file 中读取长度为 n 的字符串存入字符数组 s 中B.从文件 file 中读取长度不超过 n-1 个字符的字符串放到字符数组 s 中C.从文件 file 中读取 n 个字符串存入字符数组 s 中D.从文件 file 中读取长度为 n-1 个字符的字符串存入字符数组 s 中16.已知 i、j、k 为 int 型变量,若要从键盘输入 2、3、4CR,使 i、j、k 的值分别为 2、3、4,下列正确的输入语句是( )。(分数:2.00)A.scanf(“%3d,%3d,%3d“,B.scanf(“%d,%d,%d“,C.scanf(“%d%d%d“,D.
8、scanf(“i=%d,j=%d,k=%d“,17.下列叙述中正确的是( )。(分数:2.00)A.break 语句只能用于 switch 语句体中B.continue 语句的作用是使程序的执行流程跳出包含它的所有循环C.break 语句只能用在循环体内和 switch 语句体内D.在循环体内使用 break 语句和 continue 语句的作用相同18.设有下列定义:struct skint m;float x;data,*q;若要使 q 指向 data 中的 m 域,正确的赋值语句是( )。(分数:2.00)A.q=B.*q=data.m;C.q=(struct sk*)D.q=(stru
9、ct sk*)data.m;19.若 w、x、y、z、m 均为 int 型变量,则执行下列的语句后 m 的值是( )。w=2,x=3,y=4,z=5;m=(wx)?W:x:m=(mz)?m:Z;m=(my)?m:y;(分数:2.00)A.2B.3C.5D.420.下列程序的执行结果是( )。#includestdio.hmain()inta,b,c;a=b=2;c=(a+)-1;printf(“%d,%d“,a,c) ;c+=-a+(+b) ;printf(“%d,%d“,a,c) ;(分数:2.00)A.3,1 4,1B.3,1 4,2C.2,04,1D.2,1 4,121.下列描述中正确的
10、是( )。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发过程中的技术问题22.判断字符串 s1 是否大于字符串 s2,应该使用( )。(分数:2.00)A.if(strcmp(s1,s2)0)B.if(s1s2)C.if(strcmp(s2,s1)0)D.if(strcmp(s1,s2)23.下列程序的运行结果是( )。main()int a=-5,b=1,c=1;int x=0,y=2,z=0;if(c0) x=x+y;if(a=0) if(b0) if
11、(c=0) y=x-y;else if(c0) y=x-y;else z=y;printf(“%d,%d,%d/n“,x,y,z);(分数:2.00)A.2,2,0B.2,2,2C.0,2,0D.2,0,224.为了提高软件模块的独立性,模块之间最好是( )。(分数:2.00)A.控制耦合B.公共耦合C.内容耦合D.数据耦合25.下列程序中 c 的二进制值是( )。char a=2,b=4,C;c=ab2;(分数:2.00)A.00000011B.00010100C.00011100D.0001100026.栈和队列的共同点是( )。(分数:2.00)A.都是先进先出B.都是先进后出C.只允许
12、在端点处插入和删除元素D.没有共同特点27.数据的存储结构是指( )。(分数:2.00)A.数据所占的存储空间B.数据的逻辑结构在计算机中的存放形式C.数据在计算机中的顺序存储方式D.存储在计算机外存中的数据28.待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70) ,要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码 33 被放到第 ( )个位置。(分数:2.00)A.3B.5C.7D.929.下列合法的字符型常量是( )。(分数:2.00)A./x13B./081C.65D.“/n“30.下列说法不正确的是( )。A) C
13、程序是以函数为基本单位的,整个程序由函数组成C) C 语言程序的一条语句可以写在不同的行上B) C 程序的注释行对程序的运行功能不起任何作用,所以注释应该尽可能少写D) C 程序的每个语句都以分号结束(分数:2.00)A.B.C.D.31.下列 4 个关于 C 语言的结论中错误的是( )。(分数:1.00)A.可以用 dowhile 语句实现的循环一定可以用 while 语句实现B.可以用 for 语句实现的循环一定可以用 while 语句实现C.可以用 while 语句实现的循环一定可以用 for 语句实现D.dowhile 语句与 while 语句的区别仅是关键字“while”出现的位置不
14、同32.源程序的文档化不包括( )。(分数:1.00)A.符号名的命名要有实际意义B.正确的文档形式C.良好的视觉组织D.正确的程序注释33.有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:1.00)A.B.C.D.34.两次运行下列的程序,如果从键盘上分别输入 3 和 1,则输出结果是( )。main()int x;scanf(“%d“,if(x+2) printf(“%d“,x);else printf(“%d/n“,x-);(分数:1.00)A.4 和 2B.4 和 1C.4 和 0D.3 和 135.下列二维数组初始化语句中,不正确的是( )。(分数:1.00)_36.#def
15、ine 能作简单的替代,用宏来替代计算多项式 5*x*x+5*x+5 的值的函数 f,正确的宏定义语句为( )。(分数:1.00)A.#define f(x)5*x*x+5*x+5B.#define f5*x*x+5*x+5C.#define f(A) (D.#define(5*x*x+5*x+5) f(x)37.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。(分数:1.00)A.125B.n/2C.nD.n+138.若有说明 int a3=0,0;,则不正确的叙述是( )。(分数:1.00)A.数组 a 的每个元素的初值都是 0B.数组 a 的第一维大小为 1C.数
16、组 a 的行数为 1D.只有元素 a00和 a01可得到初值 0,其余元素均得不到初值 039.下列程序的输出结果是( )。#includestdio.hint fun(int x)int a;if(x=0x=1) return 3;elsea=x-fun(x-2) ;return a;void main()printf(“%d“,fun(7) );(分数:1.00)A.2B.8C.9D.540.下列程序的输出结果是( )。#includestdio.hmain()stmct stint y,x,z;unionlong i;int j;char k;un;printf(“%d,%d/n“,si
17、zeof(stmct st),sizeof(un);(分数:1.00)A.6,2B.6,4C.8,4D.8,6二、填空题(总题数:15,分数:30.00)41.在数据的存储结构中,不仅需要存储各数据元素的信息,还要存放各元素之间 1 的信息。(分数:2.00)填空项 1:_42.按照“先进先出”的原则组织数据的结构是 1。(分数:2.00)填空项 1:_43.深度为 5 的满二叉树中,叶子结点的个数为 1。(分数:2.00)填空项 1:_44.在面向对象的方法中, 1 描述的是具有相似属性与操作的一组对象。(分数:2.00)填空项 1:_45.Jackson 方法是一种面向 1 的结构化方法。
18、(分数:2.00)填空项 1:_46.若 a 是血型变量,则表达式(a=2*3,a*2) ,a+6 的值为_。(分数:2.00)填空项 1:_47.表达式 1/2*(int)3.7/(int)(2.4*(1.5+2.5) )值的数据类型为 1。(分数:2.00)填空项 1:_48.下列程序段的输出结果是_。int n=C;switch(n+)default:printf(“error“);break;casea:printf(“good“);break;caseC:printf(“moming“);cased:printf(“class“);(分数:2.00)填空项 1:_49.写出下列程序的
19、输出结果_。main()int n=0;while(n+=1) ;printf(“%d,“,n);printf(“%d“,n+);(分数:2.00)填空项 1:_50.下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。#includestdio.h#includectype.hmain()char c;int a,s=0;while(_)if(isdigit(C) )a=c-0;s+=a;printf(“s=%d“,s);(分数:2.00)填空项 1:_51.下列程序输出的结果是_。int m=17;int fun(int x,int y)int m=3;retu
20、rn(X*y-m);main()int a=5,b=7;printf(“%d/n“,fun(a,B) /m);(分数:2.00)填空项 1:_52.设有下列的程序段:char str=“Hello“;char*ptr;ptr=-str;执行上面的程序段后,*(ptr+5) 的值为_。(分数:2.00)填空项 1:_53.若有定义 int a44=1,2,3,4,0,4,6,8,10,1,3,5,7,则初始化后,a11得到的初值是_。(分数:2.00)填空项 1:_54.设有下列程序:#includestdio.h#includestring.hmain()int i;char s10,t10;
21、gets(t);for(i=0;i2;i+)gets(s);if(strcmp(t,s)0) strcpy(t,s);printf(“%s/n“,t);程序运行后,从键盘上输入(CR代表回车符):CDEFCRBADEFCRQTHRGCR,则程序的输出结果是_。(分数:2.00)填空项 1:_55.下列程序的输出结果是_。#define P(A) printf(“%d,“,(int)(A) )#definePRINT(A) P(A) ;printf(“the end“)main()int i,a=0;for(i=1;i5;+)PRINT(a+i);printf(“/n“);(分数:2.00)填空
22、项 1:_二级 C 语言笔试-245 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列程序段的输出结果为( )。#includestdio.hmain()static char a=“language“;char*p;p=a;for(p=a;pa+8;p+=2) putchar(*p);(分数:2.00)A.languageB.lnug C.有语法错误D.lang解析:解析 本程序首先定义了静态字符数组 a,然后将指针 p 指向数组 a 的首地址。第 1 次 for 循环,p=a,p 指向数组的第 1 个元素,*p 是取指针 p 所指地址
23、的内容,输出 1;第 2 次 for循环, p=p+2,则 p 指向数组的第 3 个元素,*p 是取指针 p 所指地址的内容,输出 n;第 3 次 for 循环,p=p+2,则 p 指向数组的第 5 个元素,*p 是取指针 p 所指地址的内容,输出 u;第 4 次 for 循环,p=p+2,则 p 指向数组的第 7 个元素,*p 是取指针 p 所指地址的内容,输出 g,结束循环。2.下列选项中不合法的+六进制数是( )。(分数:2.00)A.OxffB.OXllC.Oxlg D.OXabc解析:解析 +六进制是以“0x”或“0X”开头的字符串,字符串中只能含有 09 这 10 个数字和a、b、
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 245 答案 解析 DOC
