【计算机类职业资格】二级C语言笔试-215及答案解析.doc
《【计算机类职业资格】二级C语言笔试-215及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-215及答案解析.doc(39页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-215 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:50,分数:60.00)1.对于长度为 n 的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是( )。(分数:2.00)A.冒泡排序为 n/2B.冒泡排序为 nC.快速排序为 nD.快速排序为 n(n-1)/22.有以下程序:main()int x=1,3,5,7,2,4,6,0,i,j,k;for(i=0;i3;i+)for(j=2;j=i;j-)if(xj+1xj)k=xj;xj=xj+1;xj+1=k;for(i=0;i3;i+)for(j=4;j7-i;j+)if(xjxj+
2、1)k=xj;xj=xj+1;xj+1=k;for(i=0;i8;i+)printf(“%d“,xi);printf(“/n“);程序运行后的输出结果是( )。(分数:2.00)A.75310246B.01234567C.76310462D.135702463.有以下程序;void ss(char *s,char t)while(*s)if(*s=t) *s=t-a+A;s+;main()char str1100=“abcddfefdbd“,c=d;ss(str1,c);printf(“%s/n“,str1);程序运行后的输出结果是( )。(分数:2.00)A.ABCDDEFEDBDB.abe
3、DDfefDbDC.abcAAfefAbAD.Abcddfefdbd4.在面向对象方法中,实现信息隐蔽是依靠( )。(分数:2.00)A.对象的继承B.对象的多态C.对象的封装D.对象的分类5.若有定义语句:int a23,*p3;,则以下语句中正确的是( )。(分数:2.00)A.p=a;B.p0=a;C.p0=D.p1=6.有以下程序:void change(int k)k0=k5;main()int x10=(1,2,3,4,5,6,7,8,9,10,n=0;while(n=4) change(n+;for(n=0;n5;n+) printf(“%d“,xn);printf(“/n“);
4、程序运行后输出的结果是( )。(分数:2.00)A.6 7 8 9 10B.1 3 5 7 9C.1 2 3 4 5D.6 2 3 4 57.下列描述中正确的是( )。(分数:2.00)A.软件工程只是解决软件项目的管理问题B.软件工程主要解决软件产品的生产率问题C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D.软件工程只是解决软件开发中的技术问题8.设有定义:int n1=0,n2,*p=,以下赋值语句中与 n2=n1;语句等价的是( )。(分数:2.00)A.*p=*q;B.p=q;C.*p=D.p=*q;9.以下 4 个程序中,完全正确的是( )。(分数:2.00)A.#
5、include stdio.hmain();/* programming */printf(“programming!/n“);B.#include stdio.hmain()/*/ programming /*/printf(“programming!/n“);C.#include stdio.hmain()/*/* programming */*/printf(“programming!/n“);D.#include stdio.hmain()/* programming */printf(“programming!/n“);10.有以下程序:#include stdio.hstxuct
6、ttint x;struct tt *y;*p;struct tt a4=20,a+1,15,a+2,30,a+3,17,a;main()int i;p=a;for(i=1;i=2;i+) printf(“%d,“,p-x ); p=p-y;程序的运行结果是( )。(分数:2.00)A.20,30,B.30,17C.15,30,D.20,15,11.以下程序中函数 sort 的功能是对 a 所指数组中的数据进行由大到小的排序;void sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1,jn;j+)if(aiaj) t=ai;ai=aj;a
7、j=t;main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(for(i=0;i10;i+)print(“%d,“,aai);printf(/n“);程序运行后的输出结果是( )。(分数:1.00)A.1,2,3,4,5,6,7,8,9,10B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,8,7,6,5,4,9,10D.1,2,10,9,8,7,6,5,4,3,12.有以下程序:#include stdio.hmain()char c1,c2,c3,c4,c5,c6;scanf(%c%c%c%c,c5=getchar(); c6=getchar()
8、;putchar(c1); putchar(c2);printf(%c%c/n,c5,c6);程序运行后,若从键盘输入(从第 1 列开始)123回车45678回车则输出结果是( )。(分数:1.00)A.1267B.1256C.1278D.124513.下列关于 E-R 图的描述中正确的是( )。(分数:1.00)A.E-R 图只能表示实体之间的联系B.E-R 图只能表示实体和实体之间的联系C.E-R 图只能表示实体和属性D.E-R 图能表示实体、属性和实体之间的联系14.有以下程序:#include string.hvoid f(char p10,int n)/* 字符串从小到大排序 */c
9、har t10; int i,j;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(strcmp(pi,pj)0)strcpy(t,pi);strcpy(pi,pj);strcpy(pj,t);main()char p510=“abc“,“aabdog“,“abbd“,“dcdbe“,“cd“;f(p,5);printf(“%d/n“,strlen(p0);程序运行后的输出结果是( )。(分数:1.00)_15.阅读以下函数:fun(char *s1,char *s2)int i=0;while(s1i=s2ireturn(s1i=/0此函数的功能是( )。(分数:1.00
10、)A.将 s2 所指字符串赋给 s1B.比较 s1 和 s2 所指字符串的大小,若 s1 比 s2 的大,函数值为 1,否则函数值为 0C.比较 s1 和 s2 所指字符串是否相等,若相等,函数值为 1,否则函数值为 0D.比较 s1 和 s2 所指字符串的长度,若 s1 比 s2 的长,函数值为 1,否则函数值为 016.以下程序输出的结果是( )。#include stdio.hmain()int i=010,j=10;printf(“%d,%d/n:,+i,j-);(分数:1.00)A.11,10B.9,10C.010,9D.10,917.在面向对象的程序设计中,下列叙述中错误的是( )
11、。(分数:1.00)A.对象是面向对象软件的基本模块B.对象不是独立存在的实体,各个对象之间有关联,彼此依赖C.下一层次的对象可以继承上层次对象的某些属性D.同样的消息被不同对象接受时,可导致完全不同的行动18.冒泡排序在最坏情况下的比较次数是( )。(分数:1.00)A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/219.有以下程序:int a=4;int f(int n)int t=0; static int a=5;if(n%2) int a=6; t+=a+;else int a=7; t+=a+;return t+a+;main()int s=a,i=0;for(;i
12、2; i+) s+=f(i);printf(“%d/n“,s);程序运行后的输出结果是( )。(分数:1.00)A.24B.28C.32D.3620.有以下程序:#include string.hmain()char p=a,b,c,q10=a,b,c;printf(“%d %d/n“,strlen(p),strlen(q);以下叙述中正确的是( )。(分数:1.00)A.在给 p 和 q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3B.由于 p 数组中没有字符串结束符,长度不能确定;但 q 数组中字符串长度为 3C.由于 q 数组中没有字符串结束符,长度不能确定;但 p 数
13、组中字符串长度为 3D.由于 p 和 q 数组中都没有字符串结束符,故长度都不能确定21.有以下程序:#includestdio.hmain()printf(“%d/n“,NULL);程序运行后的输出结果是( )。(分数:1.00)A.0B.1C.-1D.NULL 没定义,出错22.有以下程序:#include stdlib.hstruct NODEint nurn;struct NODE *next;main()struct NODE *p,*q,*r;int sum=0;P=(struct NODE*)malloc(sizeof(struct NODE);q=(struct NODE*)m
14、alloc(sizeof(struct NODE);r=(struct NODE*)malloc(sizeof(struct NODE);p-num=1;q-num=2;r-num=3;p-next=q;q-next=r;r-next=NULL;sum+=q-next-num;sum+=p-num;Printf(“%d/n“,sum);执行后的输出结果是( )。(分数:1.00)A.3B.4C.5D.623.已有定义:char c;,程序前面已在命令行中包含 ctype.h 文件。不能用于判断 c 中的字符是否为大写字母的表达式是( )。(分数:1.00)A.isupper(c)B.A=c=Z
15、C.A=c float d2; demo;则下面叙述中错误的是( )。(分数:1.00)A.变量 demo 与成员 d2 所占的内存字节数相同B.变量 demo 中各成员的地址相同C.变量 demo 和各成员的地址相同D.若给 demo.d1 赋 99 后,demo.d2 中的值是 99.025.有以下程序,其中%u 表示按无符号整数输出:main()unsigned int x=0xFFFF; /*x 的初值为十六进制数*/printf(“%u/n“,x);程序运行后的输出结果是( )。(分数:1.00)A.-1B.65535C.32767D.0xFFFF26.下列数据结构中,能用二分法进行
16、查找的是( )。(分数:1.00)A.顺序存储的有序线性表B.线性链表C.二叉链表D.有序线性链表27.以下叙述中正确的是( )。(分数:1.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值28.有以下程序:#include stdio.hmain()char c1=1,c2=2;c1=getchar();c2=getchar();putchar(c1);putchar(c2);当运行时输入:a回车后,以下叙述正确的是
17、( )。(分数:1.00)A.变量 c1 被赋予字符 a,c2 被赋予回车符B.程序将等待用户输入第 2 个字符C.变量 c1 被赋予字符 a,c2 中仍是原有字符 2D.变量 c1 被赋予字符 a,c2 中将无确定值29.以下叙述中错误的是( )。(分数:1.00)A.C 语言中对二进制文件的访问速度比文本文件快B.C 语言中,随机文件以二进制代码形式存储数据C.语句 FILE fp;定义了一个名为 fp 的文件指针D.C 语言中的文本文件以 ASCII 码形式存储数据30.有以下程序:#include stdlib.hmain()char *p,*q;p=(char*)malloc(siz
18、eof(char)*20);q=p;scanf(“%s%s“,p,q); printf(“%s%s/n“,p,q);若从键盘输入:abc def回车,则输出结果是( )。(分数:1.00)A.def defB.abc defC.abe dD.d d31.下列实体的联系中,属于多对多联系的是( )。(分数:1.00)A.学生与课程B.学校与校长C.住院的病人与病床D.职工与工资32.程序设计方法要求在程序设计过程中,( )。(分数:1.00)A.先编制出程序,经调试使程序运行结果正确后再画出程序的流程图B.先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释C.先画出流程图,再根
19、据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释D.以上 3 种说法都不对33.设有如下说明:typedef struct STlong a;int b;char c2; NEW;则下面叙述中正确的是( )。(分数:1.00)A.以上的说明形式非法B.ST 是一个结构体类型C.NEW 是一个结构体类型D.NEW 是一个结构体变量34.有以下定义语句:double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。(分数:1.00)A.a=a+b=b+B.w%(int)a+b)C.(c+w)%(int)aD.w=a=b35.
20、有以下程序:main()int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf(“%d %d %3.1f %3.1f/n“,a,c,f,x);程序运行后的输出结果是( )。(分数:1.00)A.1 65 1 6.5B.1 65 1.5 6.5C.1 65 1.0 6.5D.2 65 1.5 6.536.以下选项中合法的实型常数是( )。(分数:1.00)A.5E2.0B.E-3C2E0D.1.3E37.若有如下程序段,其中 s、a、b、c 均已定义为整型变量,且 a、c 均已赋值(c 大于 0)s=a;for(b=1;b=
21、c;b+)s=s+1;则与上述程序段功能等价的赋值语句是( )。(分数:1.00)A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;38.有以下程序:main()int a=1,b=2,m=0,n=0,k;k=(n=b(分数:1.00)A.|(m=aB.;char ch;fout=fopen(abc.txt,w);ch=fgetc(stdin);while(ch!=#)fputc(ch,fout);ch=fgetc(stdin);fclose(fout);出错的原因是( )。(分数:1.00)A.函数 fopen 调用形式有误B.输入文件没有关闭C.函数 fgetc 调用形式有误
22、D.文件指针 stdin 没有定义43.设有以下语句:typedef struct TTchar c; int a4;CIN;则下面叙述中正确的是( )。(分数:1.00)A.可以用 TT 定义结构体变量B.TT 是 struct 类型的变量C.可以用 CIN 定义结构体变量D.CIN 是 struct TT 类型的变量44.若有说明语句:int a,b,c,*d=,则能正确从键盘读入 3 个整数分别赋给变量 a、b、c 的语句是( )。(分数:1.00)A.scanf(“%d%d%d“,B.scanf(“%d%d%d“,C.scanf(“%d%d%d“,a,b,d);D.scanf(“%d%
23、d%d“,a,b,*d);45.有以下程序:fun(int x,int y)static int m=0, i=2;i+=m+1; m=i+x+y; return m;main()int j=1,m=1,k;k=fun(j,m); printf(“%d,“k);k=fun(j,m); printf(“%d/n“,k);执行后的输出结果是( )。(分数:1.00)A.5,5B.5,11C.11,11D.11,546.有以下程序:main()char a,b,c,d;scanf(“%c,%c,%d,%d“,printf(“%c,%c,%c,%c/n“,a,b,c,d);若运行时从键盘上输入:6,5
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 215 答案 解析 DOC
