【计算机类职业资格】二级C语言笔试-333及答案解析.doc
《【计算机类职业资格】二级C语言笔试-333及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-333及答案解析.doc(39页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-333 及答案解析(总分:104.00,做题时间:90 分钟)一、选择题(总题数:2,分数:50.00)(分数:47.00)(1).下列选项中不属于算法的特性的是(分数:1.00)A.确定性B.可行性C.有输出D.无穷性(2).下列叙述中正确的是(分数:1.00)A.线性表是线性结构B.栈与队列是非线性结构C.线性链表是非线性结构D.二叉树是线性结构(3).设有下列二叉树:(分数:1.00)A.ABCDEFB.DAECFC.BDAECFD.DBEFCA(4).结构化程序设计主要强调的是(分数:1.00)A.程序的规模B.程序的易读性C.程序的执行效率D.程序的可移植性(5).
2、在面向对象设计中,对象有很多基本特点,其中“从外面看只能看到对象的外部特性,而对象的内部对外是不可见的”这一性质指的是对象的(分数:1.00)A.分类性B.标识惟一性C.多态性D.封装性(6).用黑盒技术测试用例的方法之一为(分数:1.00)A.因果图B.逻辑覆盖C.循环覆盖D.基本路径测试(7).在进行单元测试时,常用的方法是(分数:1.00)A.采用白盒测试,辅之以黑盒测试B.采用黑盒测试,辅之以白盒测试C.只使用白盒测试D.只使用黑盒测试(8).下面四个选项中,不属于数据库管理系统提供的数据语言的是(分数:1.00)A.数据定义语言B.数据查询语言C.数据操纵语言D.数据控制语言(9).
3、在关系数据库模型中,通常可以把( )称为属性,其值称为属性值。(分数:1.00)A.记录B.基本表C.模式D.字段(10).实体联系模型中实体与实体之间的联系不可能是(分数:1.00)A.一对一B.多对多C.一对多D.对零(11).用 C语言编写的代码程序(分数:1.00)A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释即可执行(12).以下叙述中正确的是(分数:1.00)A.C语言的源程序不必通过编译就可以直接运行B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行D.C语言中的函数不可以单独进行编译(13).以下定义语
4、句中正确的是(分数:1.00)A.char a=A b=B;B.float a=b=10.0;C.int a=10,*b=D.float *a,b=(14).有以下程序:main() int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf(“%d %d %3.lf %3.lf/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.5(15).数据库设计的根本目标是要解决(分数:1.00)A.数据共享问题B.数
5、据安全问题C.大量数据存储问题D.倘化数据维护(16).设有定义:float a=2,b=4,h=3;,以下 C语言表达式中与代数式 (分数:1.00)A.(a+b)*h/2B.(1/2)*(a+b)*hC.(a+b)*h*1/2D.h/2*(a+(17).有以下程序main()int m=0256,n=256;printf(“%o%o/n“,m,n);程序运行后的输出结果是(分数:1.00)A.0256 0400B.0256 256C.256 400D.400 400(18).数据库系统的核心是(分数:1.00)A.数据模型B.数据库管理系统C.数据库D.数据库管理员(19).以下叙述中错误
6、的是(分数:1.00)A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识(20).有以下程序:main ()char k; int i;for(i=1;i3;i+)scanf(“%c“,switch(k)case 0: printf(“another/n“);case 1: printf(“number/n“);程序运行时,从键盘输入:01回车,程序执行后的输出结果是(分数:1.00)A.anothernumberB.anothernumberanotherC.anothe
7、rnumbernumberD.numbernumber(21).以下叙述中正确的是(分数:1.00)A.用 C 程序实现的算法必须要有输入和输出操作B.用 C 程序实现的算法可以没有输出但必须要有输入C.用 C 程序实现的算法可以没有输入但必须要有输出D.用 C 程序实现的算法可以既没有输入出没有输出(22).有以下程序main () int i=0,s=0;doif(i%2) i+;continue; i+;s+=i;while (i7);printf ( “%d/n“ , s );执行后输出的结果是(分数:1.00)A.16B.12C.28D.21(23).已定义 ch为字符型变量,以下赋
8、值语句中错误的是(分数:1.00)A.ch=/;B.ch=62+3;C.ch=NULL;D.ch=/xaa;(24).有以下程序main ( ) char a,b,c,d;scanf (“%c, %c, %d, %d“ , printf(“%c,%c,%c,%c/n“,a,b,c,d);若运行时从键盘上输入:6,5,65,66回车。则输出结果是(分数:1.00)A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,6A.以下能正确定义二维数给的是B.int a3;C.int a3=2*3;D.int a3=;E. D) int a23=1(26).以下程序输出结果是#inc
9、lude stdio.hmain ( ) int i=0,a=0;while ( i2 0 ) for(;) if (i%10) =0) break;else i-;i+=11; a+=i;print f ( “%d/n“ ,(分数:1.00)A.;A) 21B) 32C) 33D) 11(27).若程序中已包含头文件 stdio.h,以下选项中,正确运用指针变量的程序段是(分数:1.00)A.int *i = NULL;scanf(“%d“,i);B.float *f = NULL;*f = 10.5;C.char t = m, *c = *c = D.long *L;L = /0;(28)
10、.有以下程序#include stdio .hmain () printf(“%d/n“, NULL); (分数:1.00)A.0B.1C.-1D.NULL没定义,出错(29).有以下程序main () char *s=“one“,“two“,“three/(分数:1.00)A.B.C.D.A.以下不能正确定义二维数组的选项是o A) int a22 = 1(31).设有定义: int a=2,b=3,c=4;, 则以下选项中值为 0的表达式是(分数:1.00)A.(!a=1) int f2(int x, int y) returrnxy?y:x; main ( )int a=4,b=3, c
11、=5, d=2, e, f, g;e = f2(f1(a,b(分数:1.00)A.B.C.D.(35).设变量已正确定义,则以下能正确计算 f=n!的程序段是(分数:1.00)A.f=0;for(i=1; in; i+)f*=i;B.f=1;for(i=1; in; i+)f*=i;C.f=1;for (i=n; i1; i+) f*=i;D.f=1;for (i=n; i=2; i-)f*=i;(36).以下叙述十正确的是(分数:1.00)A.全局变量的作用域一定比局部变量的作用域范围大B.静态(static)类别变量的生存期贯穿于整个程序的运行期间C.函数的形参都属于全局变量D.未在定义语
12、句中赋初值的 auto变量和 static变量的初值都是随机值(37).设有以下语句:typedef struct S int g; char h; T;则下面叙述中正确的是(分数:1.00)A.可用 S定义结构体变量B.可以用 T定义结构体变量C.S是 struct类型的变量D.T是 structs类型的变量(38).以下叙述中错误的是(分数:1.00)A.对于 double类型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确
13、定数组元素的个数(39).有以下程序int fa(int x) return x*x; int fb(int x) return x*x*x; int f(int (*f1)(),int (*f2)(),int x) return f2(x)-f1(x); main() int i;i-f(fa, fb,2); printf(“%d /n“,i);程序运行后的输出结果是(分数:1.00)A.4B.1C.4D.8(40).有以下程序struct s int x,y; data2=10,100,20,200;main()struct s *p=data;printf(“%d/n“,+(p-x);程
14、序运行后的输出结果是(分数:1.00)A.10B.11C.20D.21(41).有以下程序void ss(char *s,char t)while *s)if (*s=t) *s-t-a +A;S+;main ()char strl 100 =“ abcddfefdbd“ , c= d;ss(str1,c); printf (“%s/n“ ,str1);程序运行后的输出结果是(分数:1.00)A.ABCDDEFEDBDB.abcDDfefDbDC.abcAAfefAbAD.Abcddfefdbd(42).有以下程序main(int arge,char *argv )int n,i=0;whil
15、e(argv1 i !=/0) n-fun(); i+;printf ( “%d/n“ , n*argc);int fun ( ) static int s=0;s+=1;return s;假设程序经编译、连接后生成可执行文件 exam.exe, 若键入以下命令exam 123 回车(分数:1.00)A.6B.8C.3D.4(43).已定义以下函数:fun (char* p2, char* p1) while (*p2=*p1) != /0) p1+;p2+; (分数:1.00)A.将 p1所指字符串复制到 p2所指内存空间B.将 p1所指字符串的地址赋给指针 p2C.对 p1和 p2两个指针
16、所指字符串进行比较D.检查 p1和 p2两个指针所指字符串中是否有/0(44).有以下程序main ( )int x = 1, 3, 5, 7, 2, 4, 6, 0(分数:1.00)A.B.C.D.(45).设有如下定义struct ss char name10;int age;,char sex; std3,* p=std;下面各输入语句中错误的是(分数:1.00)A.scanf(“%d“,B.scanf(“%s“,C.sean(“%c“,D.scanf(“%c“,(46).有以下结构体说明和变量定义,如图所示,指针 p、 q、 r 分别指向一个链表中的三个连续结点。struct node
17、int data;struct node *next; *p, *q, *r;(分数:1.00)A.r-next=q; q-next=r-next; p-next=r;B.q-next=r-next; p-next=r; r-next=q;C.p-next=r; q-next=r-next; r-next=q;D.q-next=r-next; r-next=q; p-next=r;(47).以下程序中函数 f的功能是将 n个字符串按由大到小的顺序进行排序。#include string.hvoid f(char p10, int n)char t20; int i,j;for(i=0;in-1
18、;i+)for(j=i+l;jn;j+)if(strcmp (pi,pj)0) strcpy(t,pi);strcpy(pi,pj);strcpy(pj,t);main()char plO-“abc“,“aabdfg“,“abbd“,“dcdbe“,“cd“;int i;f(p,5); printf(“%dkn“,strlen(p0);程序运亍后的输出结果是(分数:1.00)A.6B.4C.5D.3(48)(50)以下程序的功能足:建立一个带有头结点的甲向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项。#include stdlib.
19、hstruct nodechar data; struct node *next: ;(48) CreatList(char *s)struct node *h,*p,*q;h = (struct node *)malloc sizeof(struct node);p=q=h;while(*s! =/0)p = (struct node *)malloc(sizeof (struct node);p-data = (49) ;q-next = p;q - (50) ;S+;p-next=/0;return h;main()char str=“link list“;struct node *he
20、ad;head = CreatList(str);(分数:3.00)A.char*B.struct nodeC.struct node*D.charA.*sB.sC.*s+D.(*s)+A.p-nextB.pC.sD.s next二、填空题(总题数:18,分数:54.00)1.算法的复杂度主要包括空间复杂度和 1 复杂度。(分数:3.00)填空项 1:_2.在面向对象方法中,类的实例称为 1。(分数:3.00)填空项 1:_3.对于软件测试,从是否需要执行被测软件的角度,可以分为静态测试和动态测试。代码检查属于 1 测试。(分数:3.00)填空项 1:_4.实体联系模型是一种常用的高级概念数据
21、模型,而 1 是实体联系模型中的核心。(分数:3.00)填空项 1:_5.一个项目具有一个项目主管,一个项目主管叫管理多个项目,则实体“主管”与实体“”的联系属于_。(分数:3.00)填空项 1:_6.若有语句int i=-19,j=i%4;printf(“%d/n“, j),则输出的结果是_。(分数:3.00)填空项 1:_7.以下程序运行后的输出结果是_。#define S(x) 4*X*x+1main()int i=6,j=8;printf(“%d/n“,S(i+i);(分数:3.00)填空项 1:_8.以下程序的输出结果是_。main()int a=0;a+- (a=8);printf
22、 (“%d/n“ , a);(分数:3.00)填空项 1:_9.若有以下程序main ( )int a=4,b=3,c=5,t=0;if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;printf(“%d %d %dln“,a,b,c);执行后输出结果为_。(分数:3.00)填空项 1:_10.以下程序的功能是计算: s=1+12+123+1234+12345。请填空。main()int t=0,s=0,i;for(i=1;i=5;i+)t=i+_; s=s+t; printf(“s=%d/n“,s);(分数:3.00)填空项 1:_11.若有以下程序main()char
23、a;a=H-A+0;printf(“%c/n“,a);执行后输出的结果是_。(分数:3.00)填空项 1:_12.以下程序的输出结果是_。main()char *p-“abcdefgh“,*r;long *q;q=(long*)p;q+;r=char*)q;printf(“%s/n“,r);(分数:3.00)填空项 1:_13.以下程序中,for 循环体执行的次数是_。#define N 2#define M N+1#define K M+1*M/2main()int i;for (i-1;iK;i+). .(分数:3.00)填空项 1:_14.以下程序通过函数 SunFun 求 (分数:3.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 333 答案 解析 DOC
