【计算机类职业资格】二级C语言笔试-83及答案解析.doc
《【计算机类职业资格】二级C语言笔试-83及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-83及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-83 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护D.详细设计2.以下选项中正确的语句组是( )。(分数:2.00)_3.定义结构体数组struct stuint num;char name20;x5=1,“ZHAO“,2,“QIAN“,3,“SUN“,4,“LEE“,5,“ZHOU“;for(i=1;i5;i+)printf(“%d%c“,xi.num,xi.name2);程序执行后的输出结果是( )。(分数:2
2、.00)A.2A3N4E5OB.1H2I3U4EC.1A2N3E4OD.1A2N3E4O4.若有说明 int m34=3,9,7,8.5,(*q)4;和赋值语句 q=m;,则对数组元素 mij(其中0=i3,0=j4)值的正确引用为( )。(分数:2.00)A.(q+i)jB.*qijC.*(*qi+j)D.*(*(q+i)+5.若函数中有定义语句:int a;,则( )。(分数:2.00)A.系统将自动给 a赋初值 0B.这时 a中的值是和随机数C.系统将自动给 a赋初值-1D.这 a中无任何值6.软件调试的目的是( )。(分数:2.00)A.发现错误B.改善软件的性能C.改正错误D.验证软
3、件的正确性7.设有如下定义:struct skint m;float x;data,*q;若要使 q指向 data中的 m域,正确的赋值语句是( )。(分数:2.00)A.q=B.*q=data.m;C.q=(struct sk*)D.q=(struct sk*)data.m;8.下列数据结构中,能用二分法进行查找的是( )。(分数:2.00)A.无序线性表B.线性链表C.二叉链表D.顺序存储的有序表9.若 x,i,j和 k都是 int型变量,则计算表达式 x=(i=4,j=16,k=32)后,x 的值为( )。(分数:2.00)A.4B.16C.32D.5210.有以下程序:int f1(d
4、ouble(分数:2.00)A.return11.对下列二叉树进行前序遍历的结果为( )。(分数:1.00)A.ABCDEFGHB.ABDGEHCFC.GDBEHACFD.GDHEBFCA12.fgets(str,n,fp)函数从文件中读入一个字符串,以下错误的叙述是( )。(分数:1.00)A.字符串读入后会自动加入/0B.fp是指向该文件的文件型指针C.fgets函数将从文件中最多读入 n个字符D.fgets函数将从文件中最多读入 n-1个字符13.union dtint a;char b;double c;data;以下叙述中错误的是(分数:1.00)A.data的每个成员起始地址都相同
5、B.变量 data所占内存字节数与成员 c所占字节数相等C.程序段:data.a=5;printf(“%f/n“,data.c);输出结果为 5.000000D.data可以作为函数的实参14.下述语句中,在字符串 s1和 s2相等时显示“they are Equal“的是( )。(分数:1.00)A.if(*s1=*s2)puts(“they are Equal“);B.if(!strcmp(s1,s2)puts(“they are Equal“);C.if(s1=s2)puts(“they are Equal“);D.if(strcmp(s1,s2)puts(“they are Equal
6、“);15.有以下程序:#includestdio.hmain()FILE *fp;int a10=1,2,3,0,0,i;fp=fopen(“d2.dat“,“wb“);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen(“d2.dat“,“rb“);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i10;i+)printf(“%d,“,ai);程序的运行结果是( )。(分数:1.00)_16.对于长度为 n的线性表,在最坏情况下,下列各排序法所对应的比
7、较次数中正确的是( )。(分数:1.00)A.冒泡排序为 n(n-1)/2B.简单插入排序为 nC.希尔排序为 nD.快速排序为 n/217.有以下程序,其中%u 表示按无符号整数输出( )。main()unsigned int x=0xFFFF; /*x的初值为十六进制数*/printf(“%u/n“,x);程序运行后的输出结果是( )。(分数:1.00)A.-1B.65535C.32767D.0xFFFF18.字符串“%/“ABCDEF/“/“的长度是( )。(分数:1.00)A.11B.10C.5D.319.为了使模块尽可能独立,要求( )。(分数:1.00)A.内聚程度要尽量高,耦台程
8、度要尽量强B.内聚程度要尽量高,耦合程度要尽量弱C.内聚程度要尽量低,耦合程度要尽量弱D.内聚程度要尽量低,耦合程度要尽最强20.有以下程序: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);程序运行后的输出结果是( )。(分数:1.00)A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd21.在学校中,“班级”与“学生”两个实体集之间的联系属于( )关
9、系。(分数:2.00)A.一对一B.一对多C.多对一D.多对多22.若函数调用时的实参为变量,以下关于函数形参和实参的叙述中正确的是( )。(分数:2.00)A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的彤参和实参分别占用不同的存储单元23.下列队列的描述中,正确的是( )。(分数:2.00)A.队列属于非线性表B.队列在队尾删除数据C.队列按“先进后出”进行数据操作D.队列按“先进先出”进行数据操作24.有以下程序:#includestdio.hstruct ttint x;struct tt *y; *p
10、;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,25.若语句“t=fun(fun(x,y,(分数:2.00)A.,(a+b,a+c),x+y26.设有说明 int(*ptr)M;其中的标识符 ptr是( )。(分数:2.00)A.M个指向整型变量的指针B.指向 M个整型变量的函数指针C.一个指向具有 M个整型元素的一维数组的指针D.具有 M个指针元素
11、的一维指针数组,每个元素都只能指向整型变量27.设 x为整型变量,n=14,n 的地址为 4000;m=6,m 的地址为 2000;执行语句 x=while(1)i=i0+1;if(i100) break;B.for(;);C.int k=10000;dok+;while(k10000);D.int s=36;while (s) -s;29.在 printf的格式字符中,e 格式字符的作用是( )。(分数:2.00)A.以十六进制无符号形式输出整数B.以带符号的十进制形式输出整数C.以指数形式输出实数D.以字符形式输出,且只输出一个字符30.设变量 x和 y均已正确定义并赋值,以下 if语句中
12、,在编译时将产生错误信息的是( )。(分数:2.00)A.if(x+);B.if(xyC.if(xy)x-else y+;D.if(y0) ; else x+;31.下列叙述中,不属于设计准则的是( )。(分数:2.00)A.提高模块独立性B.使模块的作用域在该模块的控制域中C.设计成多入口、多出口模块D.设计功能可预测的模块32.C语言源程序名的后缀是( )。(分数:2.00)AexeBCCobjDcp33.数据独立性是数据库技术的重要特点之一。所谓数据独立性是指( )。(分数:2.00)A.数据与程序独立存放B.不同的数据被存放在不同的文件中C.不同的数据只能被对应的应用程序所使用D.以上
13、三种说法都不对34.若在定义语句:int a,b,c,*p=之后,接着执行以下选项中的语句,则能正确执行的语句是( )。(分数:2.00)A.scanf(“%d“,a,b,c);B.scanf(“%d%d%d“,a,b,c);C.scanf(“%d“,p);D.scanf(“%d“,35.下列说法正确的是(分数:2.00)A.int(*def)10;-def指向一个指针,该指针指向 10个整型变量构成的数组B.int*(*gh10);-gh指向一个指针,该指针指向 10个整型变量构成的数组C.int*(*gh10);-gh是一个指针,指向由 10个指向整型变量的指针构成的数组D.A,C 均正确
14、36.设 x=021,y=012,则 z=x|y的值是( )。(分数:2.00)A.1B.0C.00011011D.1100001037.以下选项中,合法的一组 C语苦数值常量是( )。(分数:2.00)A.028.5e-3-0xfB.12OXa234.5e0C1774c1.5OabcD.0x8A10,0003.e538.在 C语言中,变量的隐含存储类别是( )。(分数:2.00)A.autoB.staticC.externD.无存储类别39.下列语句组中,不正确的是( )。(分数:2.00)A.char *s;s=“Olympic“;B.char s=“Olympic“;C.char *s;
15、s=“Olympic“;D.char s=“Olympic“;40.以下选项中,当 x为大于 1的奇数时,值为 0的表达式为( )。(分数:2.00)A.x%2=1B.x/2C.x%2!=0D.x%2=0二、填空题(总题数:15,分数:30.00)41.在 E-R图中,矩形表示 1。(分数:2.00)填空项 1:_42.符合结构化原则的三种基本控制结构是顺序结构、 1 和循环结构。(分数:2.00)填空项 1:_43.在面向对象方法中,类的实例称为 1。(分数:2.00)填空项 1:_44.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许删除的一端称作 1。(分数:2.00)填
16、空项 1:_45.在关系模型中,若属性 A是关系 R的主码,属性 A的取值不能为空,称为约束。(分数:2.00)填空项 1:_46.已知“int a=2,b=2,c=3;”,则执行完语句“a*=18+(b+)-(+c);”后,a 的值是 1。(分数:2.00)填空项 1:_47.执行以下“for(i=1;i+=4;i+);”语句后,变量 i的值是 1。(分数:2.00)填空项 1:_48.若从键盘输入 24,则以下程序输出的结果是_。#includestdio.hmain()int a;scanf(“%d“,if(a20) printf(“%d“,a);if(a10) printf(“%d“,
17、a);if(a5) printf(“%d“,a);(分数:2.00)填空项 1:_49.下面程序的功能是:计算 120 之间的奇数之和与偶数之和,请填空使程序功能完整。#includestdio.hmain()int a=0,b=0,c=0,i;for(i=0;i=20;i+=2)a+=i;_;c+=b;printf(“偶数之和=%d/n“,a);printf(“奇数之和=%d/n“,c-21);(分数:2.00)填空项 1:_50.设有以下程序:main()int i,sum=0;for(i=2;i10;i+)if(i%2)=0)continue;sum+=i;printf(“%d/n“,s
18、um);程序执行后的输出结果是_。(分数:2.00)填空项 1:_51.下面程序的功能是:从输入的正整数中选 3个数进行输出,要求这些数都是 2的倍数,请填空。main()int a,i=0;scanf(“%d“,doif(a0i+;if(i!=3)scanf(“%d“,while(_);(分数:2.00)填空项 1:_52.以下程序的输出结果是_。#includestdio.hfun()int a=0;a+=3;printf(“%d“,a);main()int cc;for(cc=1;cc=4;cc+)fun();printf(“/n“);(分数:2.00)填空项 1:_53.以下程序的输出
19、结果是_。#inciudestdio.hmain()char s=“ABCabc“;s5=/0;printf(“%s/n“,s);(分数:2.00)填空项 1:_54.下面程序的运行结果是_。#includestdio.h#define SlZE 12main()char sSIZE;int i;for(i=0;iSIZE;i+) si=A+i+32;sub(s,5,SIZE-1);for(i=0;iSIZE;i+)printf(“%c“,si);printf(“/n“);sub(char *a,int t1,int t2)char ch;while(t1t2)ch=*(a+t1);*(a+t
20、1)=*(a+t2);*(a+t2)=ch;t1+;t2-;(分数:2.00)填空项 1:_55.已知函数 isaplha(ch)的功能是判断变量 ch是否是字母,若是,则该数值为 1,否则为 0。下面程序执行后的输出结果是_。#includectype.h#includestring.hvoid fun(char s)int i,j;for(i=0,j=0;si;i+)if(isalpha(si)sj+=si;sj=/0;main()char ss80=“good morning“;fun(ss);printf(“%s“,ss);(分数:2.00)填空项 1:_二级 C语言笔试-83 答案解
21、析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列选项中不属于软件生命周期开发阶段任务的是( )。(分数:2.00)A.软件测试B.概要设计C.软件维护 D.详细设计解析:解析 软件生命周期分为软件定义、软件开发及软件运行维护三个阶段,其中开发阶段包括概要设计、详细设计、实现和测试。2.以下选项中正确的语句组是( )。(分数:2.00)_解析:解析 本题考查数组和字符串的赋值。选项 A)中数组 s没有明确其大小就赋值是错误的。选项 B)中不能有大括号,选项 C) 中的写法应该为HELLO!3.定义结构体数组struct stuint num;ch
22、ar name20;x5=1,“ZHAO“,2,“QIAN“,3,“SUN“,4,“LEE“,5,“ZHOU“;for(i=1;i5;i+)printf(“%d%c“,xi.num,xi.name2);程序执行后的输出结果是( )。(分数:2.00)A.2A3N4E5O B.1H2I3U4EC.1A2N3E4OD.1A2N3E4O解析:解析 本题主要考查结构体数组。xi.num 是结构体 xi中的 num成员,xi.name2是结构体xi中 name成员的第 3个元素。第一次循环,i=1,输出 x1.num,x1.name2的值,即 2A;第二次循环,i=2,输出 x2.num,x2.name
23、2的值,即 3N;第三次循环,i=3,输出 x3.num,x3.name2的值,即 4E;第四次循环,i=4,输出 x4.num,x4.name2的值,即 5O。4.若有说明 int m34=3,9,7,8.5,(*q)4;和赋值语句 q=m;,则对数组元素 mij(其中0=i3,0=j4)值的正确引用为( )。(分数:2.00)A.(q+i)jB.*qijC.*(*qi+j)D.*(*(q+i)+ 解析:解析 *(q+i)指向第 i行首地址,*(*(q+i)+j)代表第 i行第 j个元素。5.若函数中有定义语句:int a;,则( )。(分数:2.00)A.系统将自动给 a赋初值 0B.这时
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 83 答案 解析 DOC
