【计算机类职业资格】二级C语言笔试-107及答案解析.doc
《【计算机类职业资格】二级C语言笔试-107及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-107及答案解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-107 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.以下程序段的执行结果为_。#define PLUS(X,Y)X+Ymain()int x=1,y=2,z=3,sum;sum=PLUS(x+y,z)*PLUS(y,z);printf(“SUM=%d“,sum);(分数:2.00)A.SUM=9B.SUM=12C.SUM=18D.SUM=282.下列说法中,正确的是_。(分数:2.00)A.指针是一个变量B.指针中存放的可以是任何类型的值C.指针变量是变量地址D.指针变量占用存储空间3.设有两个串 p 和 q,求 q
2、 在 p 中首次出现位置的运算称作_。(分数:2.00)A.连接B.模式匹配C.求子串D.求串长4.下列程序的执行结果是_。in(f(char*s)char*p=s;while(*p!=/0)p+;return(p-s);main()printf(“%d/n“,f(“goodbye!“); (分数:2.00)A.3B.6C.8D.05.C 语言规定,简单变量作实参时,它和对应形参之间的数据传递方式是_。(分数:2.00)A.由实参传给形参,再由形参传回给实参B.地址传递C.单向值传递D.由用户指定传递方式6.设有说明:int a=1,b=0;,则执行以下语句的输出结果是_。switch((分数
3、:2.00)A.case 1:switch(B.case 0:printf(“*0*/n“);break;case 1:printf(“*1*/n“);break;7.下列程序的输出结果是_。main()int x=0,a=0,b=2;if(x=a+b) printf(“*/n“);else printf(“#/n“);(分数:2.00)A.有语法错,不能通过编译B.通过编译,但不能连接C.*D.#8.执行下面程序的结果是_。main()int x=2;printf(“%d/n“,(x-,x1,xi6;i+)ai=4*(i-2*(i3)%5;printf(“%2d“,ai);(分数:2.00)
4、A.2 3 2 3B.1 2 1 2C.3 2 3 2D.2 2 2 210.fseek 函数是 C 语言系统提供的标准库函数,其实现的具体操作是_。(分数:2.00)A.实现文件的顺序读写B.实现文件的随机读写C.改变文件的位置指针D.以上答案均不正确11.下列用于 printf 函数的控制字符常量中,代表“竖向跳格”的转义字符常量是_。(分数:1.00)A./bB./tC./vD./f12.下列程序的输出结果是_。struct exmpleint x;int y;num2=1,2,3,2;main()printf(“%d/n“,num1.y*num0.x/num1.x);(分数:1.00)
5、A.0B.1C.3D.613.下列 4 项说法中,不正确的是_。(分数:1.00)A.数据库减少了数据冗余B.数据库中的数据可以共享C.数据库避免了一切数据的重复D.数据库具有较高的数据独立性14.若有下列语句:char a=“xyz“;char b=x,y,z;则下列叙述正确的是_。(分数:1.00)A.数组 a 和数组 b 不等价B.数组 a 和数组 b 的长度相同C.数组 a 占用空间大小等于数组 b 占用空间大小D.数组 a 占用空间大小大于数组 b 占用空间大小15.下列 4 项中,必须进行查询优化的是_。(分数:1.00)A.关系数据库B.网状数据库C.层次数据库D.非关系模型16
6、.分析下面的程序main()int*p1,*p2,*p;int x=4,y=6;p1=p2=p1=p2;p2=p;printf(“%d,%d,“,*p1,*p2);printf(“%d,%d/n“,x,y);程序的输出结果为_。(分数:1.00)A.6,4,4,6B.4,6,6,4C.4,6,4,6D.6,4,6,417.已知在 ASCII 字符集中,数字 0 的序号为 48,下列程序的输出结果为_。main()char a=0,b=9;printf(“%d,%c/n“,a,b) ; (分数:1.00)A.因输出格式不合法B.48,57C.0,9D.48,918.下列字符串是用户自定义标识符的
7、是_。(分数:1.00)A._w1B.3_xyC.intD.LINE-319.软件设计中,有利于提高模块独立性的一个准则是_。(分数:1.00)A.低内聚低耦合B.低内聚高耦合C.高内聚低耦合D.高内聚高耦合20.在 C 语言的循环语句 for、while、do-while 中,用于结束本次循环,继续执行下一次循环的语句是_。(分数:1.00)A.switchB.breakC.continueD.goto21.下面函数的功能是_。exchange(int*ptr1,*ptr2)int*ptr;ptr=-ptr1;ptr1=ptr2;ptr2=ptr;(分数:1.00)A.交换*ptr1 和*p
8、tr2 的值B.无法改变*ptr1 和*ptr2 的值C.可能造成系统故障,因为使用了空指针D.交换*ptr1 和*pb2 的地址22.下列程序段的输出结果是_。int *pp,*p;int a=10,b=20;p=i6;i+)printf(i%2)?(“*%d/n“):(“#%d/n“),i);上面程序段的输出结果是_。(分数:1.00)A.*4#5B.#4*5C.*4*5D.#4#528.下面程序的输出是_。main()int a=6,b=3;printf(“%d/n“,b=(a/b,a%b);(分数:1.00)A.0B.1C.2D.不确定的值29.若有说明语句:int x=3,y=4,z
9、=5;,则下面的表达式中,值为 0 的是_。(分数:1.00)A.xi4;i+) k=k*10+ai-48;B.int k=0,i;for(i=3;i=0;i-)k=k*10+ai-0;C.int k=0,i; for(i=3;i=0;i-) k=k+ai-0;D.int k,i;for(i=3;i=0;i-)k=k*10+ai-0;31.由两个栈共享一个存储空间的好处是_。(分数:1.00)A.减少存取时间,降低下溢发生的几率B.节省存储空间,降低上溢发生的几率C.减少存取时间,降低上溢发生的几率D.节省存储空间,降低下溢发生的几率32.下列程序的输出结果是_。main()unionint
10、a2;long k;char c4;un,*sp=i3;i+)ni=O;k=2;for(i=0;ik;i+)for(j=0;jk;j+)nj=ni-1;printf(“%d/n“,n0);(分数:1.00)A.-2B.-1C.0D.-334.对于下述说明,不能使变量 p-b 的值增 1 的表达式是_。struct exmint a;int b;float c*p;(分数:1.00)A.+p-bB.+(p+)-bC.p-b+D.(+p)-b+35.n 个顶点的连通图中边的条数至少为_。(分数:1.00)A.0B.1C.n-1D.n36.下列程序段的执行结果是_。int i;int x3=1,2,
11、3,4,5,6,7,8,9;for(i=0;i3;i+)printf(“%d“,xi2-i);(分数:1.00)A.1 59B.1 4 7C.3 5 7D.3 6 937.最常用的一种基本数据模型是关系数据模型,它的表示应采用_。(分数:1.00)A.树B.网络C.图D.二维表38.以下程序存在语法性错误,关于错误原因的正确说法是_。main()int a=5,b;void p_ch1();b=p_ch1((分数:1.00)A.;A) 语句“void p_ch1():”有错,它是函数调用语句,不能使用 void 说明B.变量名不能使用大写字母C.函数说明和函数调用语句之间有矛盾D.函数名中不能
12、使用下划线39.下列程序的输出结果是_。char*fun(char*str,int n)int i;char*p=str;for(i=0;i10;i+,str+)*str=a+i;return+p;main()char a10;printf(“%s/n“,fun(a,10);(分数:1.00)A.ABCDEFGHIJB.abcdefghijC.bcdefghijD.不确定的值40.以下程序的输出结果是_。fun(int*p,int a23)*p=a12;main()int a23=1,3,5,7,9,11,*p;p=(int*)malloc(sizeof(int);fun(t=“abcde“;
13、C.char t5=“abcde“;D.char t5;t=“abcd“;42.下列程序的输出结果是_。int m=10;int fun(int a,int B) int m=2;return(a*b-m);main()int x=7,y=5;printf(“%d/n“,fun(x,y)%m);(分数:1.00)A.1B.2C.7D.343.下列程序的执行结果是_。print(int*b,int m)int i;for(i=0;im;i+)*b=i; b+; printf(“%d/n“,*-B) ;main()int a5=1,2,3,4,5;print(a,5);(分数:1.00)A.5B.
14、4C.3D.244.下列程序的输出结果是_。main()int i=0x100,j=100,k=0100;printf(“%d%d%d/n“,i,j,k);(分数:1.00)A.100 100 100B.16 100 100C.256 100 64D.256 100 10045.下列叙述中,正确的是_。(分数:1.00)A.软件就是程序清单B.软件就是存放在计算机中的文件C.软件应包括程序清单及运行结果D.软件包括程序和文档46.软件生命周期中花费时间最多的阶段是_。(分数:1.00)A.详细设计B.软件编码C.软件测试D.软件维护47.下列程序的输出结果是_。main()int x,y;fo
15、r(x=1,y=1;x10;x+)if(y5)break;if(y%31)y+=3;continue;y-=5;printf(“%d/n“,x);(分数:1.00)A.2B.3C.4D.548.以下能正确对整型数组赋初值的语句是_。(分数:1.00)A.int a4=1,2,3,4,5;B.int a22=1,2,3,4,5;C.int a4=1,2,3,4);D.int a3=1,2,3,4,5,6;49.以下对一维实型数组 a 的正确定义的是_。(分数:1.00)A.float a(10);B.int n=10;float an;C.int n;float a n;scanf(“%d“,y
16、=8;m=+x,x;n=y+y+;printf(“%d,%d,%d,%d“,x,y,m,n);运行后,x,y,m,n 的值是_。(分数:2.00)填空项 1:_58.程序如下:main()int i=4;printf(“%d“,-+i);该程序执行后的输出结果以及 i 的值分别是_ 、_。(分数:4.00)填空项 1:_59.设 x、y、z 为整型变量,且 x=2,y=3,z=4,当执行以下语句后,x 的值是_。x*=(y+)+(-z);(分数:2.00)填空项 1:_60.以下程序的运行结果是_。struct Nodeint x;char ch;fun(struct Node*sn)stat
17、ic k=1;sn-x=20;Sn-ch=a+k+;main()int i;static struct Node st=10,a;for(i=0;i2;i+)fun(break;case 2:x+;y+;break;printf(“x=%d,y=%d/n“,x,y);运行程序的输出结果是_。(分数:2.00)填空项 1:_62.以下程序的功能是:从键盘输入一字符串,要求将每个单词中的第一个字母改成小写(如果原来已是小写字母,则不变),然后输出转换结果,补足所缺语句。main()char str200; int i=0;while(_=getchar()!=/n);stri-1)=/0;for(
18、i=0;stri!=/0;i+)if(stri-1= i=0)后,*p 指向的字符串是_。(分数:2.00)填空项 1:_65.以下程序的运行结果是_。struct exmpchar name 10;int number;struct exmp test3=“WangXi“,1,“QiYu“,2,“HuHua“,3;main()printf(“%c,%s/n“,test0.name1,test2.name+3);(分数:2.00)填空项 1:_66.以下程序的输出结果是_。main()char s=“abcdef“;s3=/0;printf(“%s/n“,s);(分数:2.00)填空项 1:_
19、67.下面程序把从终端读入的文本(用#作为文本结束标志)复制到一个名为 file.txt 的新文件中。补足所缺语句。main()char ch;FILE*fp;if(fp=fopen(_)NULL)exit(0);while(ch=getchar()!=#)fputc(ch,fp);_;(分数:4.00)填空项 1:_二级 C 语言笔试-107 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.以下程序段的执行结果为_。#define PLUS(X,Y)X+Ymain()int x=1,y=2,z=3,sum;sum=PLUS(x+y,z)*P
20、LUS(y,z);printf(“SUM=%d“,sum);(分数:2.00)A.SUM=9B.SUM=12 C.SUM=18D.SUM=28解析:分析 表达式 sum=PLUS(x+y,z)*PLUS(y,z)用带参的宏替换为 sum=x+y+z*y+z,sum 的值为12。2.下列说法中,正确的是_。(分数:2.00)A.指针是一个变量B.指针中存放的可以是任何类型的值C.指针变量是变量地址D.指针变量占用存储空间 解析:分析指针是地址,存放指针的变量是指针变量,不同类型的指针变量存放不同类型数据的地址,指针变量作为可存储指针的变量,也要占用一定的存储空间。3.设有两个串 p 和 q,求
21、q 在 p 中首次出现位置的运算称作_。(分数:2.00)A.连接B.模式匹配 C.求子串D.求串长解析:分析子串的定位操作通常称作串的模式匹配,是各种串处理系统中最重要的操作之一,算法的基本思想是:从主串的开始字符起,与模式的第一个字符比较,若相等,则继续比较后续字符,否则从主串的下一个字符起再重新与模式的字符比较,依次类推,直至模式中的每一个字符依次和主串中的一个连续的字符序列相等,称匹配成功,否则称匹配不成功。4.下列程序的执行结果是_。in(f(char*s)char*p=s;while(*p!=/0)p+;return(p-s);main()printf(“%d/n“,f(“good
22、bye!“); (分数:2.00)A.3B.6C.8 D.0解析:分析字符在内存中占一个字节的存储空间,按字符的存储顺序,其地址依次递增,在函数 f 中循环过后,p 指向字符串的结束位置,s 指向字符串首地址,p-s 即为字符串长度。5.C 语言规定,简单变量作实参时,它和对应形参之间的数据传递方式是_。(分数:2.00)A.由实参传给形参,再由形参传回给实参B.地址传递C.单向值传递 D.由用户指定传递方式解析:分析简单变量做实参时,相应的形参变量也是简单变量,它们之间的数据传递方式是单向值传递,即数据只能由实参传到形参,形参值的改变不影响实参值的变化。6.设有说明:int a=1,b=0;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 107 答案 解析 DOC
