1、计算机二级全真模拟试题第2套全真模拟试卷一、选择题(1)下列选项中不属于算法的特性的是A)确定性 B)可行性 C)有输出 D)无穷性(2)下列叙述中正确的是 A)线性表是线性结构 B)栈与队列是非线性结构 C)线性链表是非线性结构 D)二叉树是线性结构(3)设有下列二叉树: 对此二叉树中序遍历的结果为 A)ABCDEF B)DAECF C)BDAECF D)DBEFCA(4)结构化程序设计主要强调的是 A)程序的规模 B)程序的易读性 C)程序的执行效率 D)程序的可移植性(5)在面向对象设计中,对象有很多基本特点,其中“从外面看只能看到对象的外部特性,而对象的内部对外是不可见的”这一性质指的
2、是对象的 A)分类性 B)标识唯一性 C)多态性 D)封装性(6)用黑盒技术测试用例的方法之一为 A)因果图 B)逻辑覆盖 C)循环覆盖 D)基本路径测试(7)在进行单元测试时,常用的方法是 A)采用白盒测试,辅之以黑盒测试 B)采用黑盒测试,辅之以白盒测试 C)只使用白盒测试 D)只使用黑盒测试(8)下面四个选项中,不属于数据库管理系统提供的数据语言的是 A)数据定义语言 B)数据查询语言 C)数据操纵语言 D)数据控制语言(9)在关系数据库模型中,通常可以把( )称为属性,其值称为属性值。 A)记录 B)基本表 C)模式 D)字段(10)实体联系模型中实体与实体之间的联系不可能是 A)一对
3、一 B)多对多 C)一对多 D)一对零(11)用C语言编写的代码程序 A)可立即执行 B)是一个源程序 C)经过编译即可执行 D)经过编译解释即可执行(12)以下叙述中正确的是 A)C语言的源程序不必通过编译就可以直接执行 B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令 C)C源程序经编译形成的二进制代码可以直接运行 D)C语言中的函数不可以单独进行编译(13)以下定义语句中正确的是 A)char a=AbB; B)float a=b=10.0; C)int a=10,*b=&a; D)float *a,b=&a;(14)有以下程序: main() int a; char c=1
4、0; float f=100.0; double x; a=f/=c*=(x=6.5); printf(*%d %d %3 %3.1f %3.1fn,a c, f, x); 程序运行后的输出结果是 A)1 65 1 6.5 B)1 65 1.5 6.5 C)1 65 1.0 6.5 D)2 65 1.5 6.5(15)数据库设计的根本目标是要解决 A)数据共享问题 B)数据安全问题 C)大量数据存储问题 D)简化数据维护(16)设有定义:float a=2,b=4,h=3;,以下C语言表达式中与代数式1(a+b)h计算结果不相 2符的是A)(a+b)*h/2 B)(1/2)*(a+b)*h C
5、)(a+b)*h*1/2 D)h/2*(a+b)(17)有以下程序 main() int m=0256,n=256; printf(%o %on,m,n); 程序运行后的输出结果是 A)0256 0400 B)0256 256 C)256 400 D)400 400(18)数据库系统的核心是 A)数据模型 B)数据库管理系统 C)数据库 D)数据库管理员(19)以下叙述中错误的是 A)用户所定义的标识符允许使用关键字 B)用户所定义的标识符应尽量做到“见名知意” C)用户所定义的标识符必须以字母或下划线开头 D)用户定义的标识符中,大、小写字母代表不同标识(20)有以下程序: main() c
6、har k; int i; for(i=1;i3;i+) scanf(%c,&k); switch(k) case 0: printf(anothern); case1: printf(numbern); 程序运行时,从键盘键入:01,程序执行后的输出结果是 A)another B)another C)another D)number number number number number another number(21)以下叙述中正确的是 A)用 C程序实现的算法必须要有输入和输出操作 B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但必须要有输出 D
7、)用C程序实现的算法可以既没有输入也没有输出(22)有以下程序 main() int i=0,s=0; do if(i%2) i+;continue; i+; s+=i; while(i7); printf(%dn,s); 执行后输出的结果是 A)16 B)12 C)28 D)21(23)已定义ch为字符型变量,以下赋值语句中错误的是 A)ch=; B)ch=62+3; C)ch=NULL; D)ch=xaa;(24)有以下程序 main() char a,b,c,d; scanf(%c,%c,%d,%d,&a,&b,&c,&d); printf(%c,%c,%c,%cn,a,b,c,d);
8、若运行时从键盘上输入:6,5,65,66 。则输出结果是 A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6(25)以下能正确定义二维数组的是 A)int a3; B)int a3=2*; C)int a3=; D)int a23=1,2,3,4;(26)以下程序的输出结果是 #include main() int i=0,a=0; while(i20) for(;) if(i%10)=0) break; else i-; i+=11; a+=i; printf(%dn,a) ; A)21 B)32 C)33 D)11(27)若程序中已包含头文件stdio.h,
9、以下选项中,正确运用指针变量的程序段是 A)int *i=NULL; B)float *f=NULL; scanf(%d,i); *f=10.5 C)char t=m,*c=&t; D)long*L; *c=&t; L=0;(28)有以下程序: #include main() printf(%dn, NULL); 程序运行后的输出结果是 A)0 B)1 C)-1 D)NULL没定义,出错(29)有以下程序 main() char *s=one,two,three,*p; p=s1; printf(%c,%sn,*(p+1),s0; 执行后输出结果是 A)n,two B)t,one C)w,on
10、e D)o,two(30)以下不能正确定义二维数组的选项是 A)int a 22=1,2; B)int a2=1,2,3,4; C)int a22=1,2,3; D)int a2=1,2,3,4;(31)设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是 A)(!a=1)&(!b=0) B)(ab)&!c|1 C)a & b D)a|(b+b)&(c-a)(32)设有以下定义和语句 int a3 2=1,2,3,4,5,6, *p3; p0=a1; 则*(p0+1)所代表的数组元素是 A)a01 B)a10 C)a11 D)a12(33)有以下程序 main() int
11、aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6; int i,s=0 for(i=0;iy?x:y; int f2(int x,int y) returnxy?y:x; main() int a=4,b=3,c=5,d=2,e,f,g; e = f2(f1(a,b), f1(c,d); f=f1(f2(a,b), f2(c,d); g = a+b+c+d-e-f; printf(%d,%d,%dn,e,f,g); 程序运行后的输出结果是 A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7(35)设变量已正确定义,则以下能正确计算f=n!的程序段是 A)f
12、=0; B)f=1; for(i=1;i=n,i+)f*=i; for(i=1;i1;i+)f*=i; for(i=n;i2;i-)f*=i;(36)以下叙述中正确的是 A)全局变量的作用域一定比局部变量的作用域范围大 B)静态(static)类别变量的生存期贯穿于整个程序的运行期间 C)函数的形参都属于全局变量 D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值(37)设有以下语句 typedef struct s int g. char h; T; 则下面叙述中正确的是 A)可用S定义结构体变量 B)可以用T定义结构体变量 C)S是struct类型的变量 D)T是st
13、ruct s类型的变量(38)以下叙述中错误的是 A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出 B)数组名代表的是数组所占存储区的首地址,其值不可改变 C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息 D)可以通过赋初值饿方式确定数组元素的个数(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,
14、fb,2); printf(%d n,i); 程序运行后的输出结果是 A)-1 B)1 C)4 D)8(40)有以下程序 struct s int x,y; data2=10,100,20,200; main() struct x *p=data; printf(%dn,+(p-x); 程序运行后的输出结果是 A)10 B)11 C)20 D)21(41)有以下程序 void ss(char *s,char t) while(*s) if(*s=t) *s=t-s+A; s+; main() char strl100= abcddfefdbd,c=d; ss(strl,c); printf(%
15、sn,strl); 程序运行后的输出结果是 A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd(42)有以下程序 main(int argc,char *srgv) int n,i=0; while(atgv1i!=0) n=fun(); i+; printf(%dn,n*argc); int fun() struct int s=0; s+=1; return s; 假设程序经编译、连接后生成可执行文件exam.exe,若键入以下命令 exam 123 则运行结果为 A)6 B)8 C)3 D)4(43)已定义以下函数: fun (
16、char* p2, char* p1) while (*p2=*p1 != 0) p1+;p2+ ) 函数的功能是 A)将p1所指字符串复制到p2所指内存空间 B)将p1所指字符串的地址赋给指针p2 C)对p1和p2两个指针所指字符串进行比较 D)检查p1和p2两个指针所指字符串中是否有0(44)有以下程序 main() int x = (1, 3, 5, 7, 2, 4, 6, 0), i, j, k; for(i = 0; i = i; j-) if (xj+1 xj) k = xj; xj = xj+1; xj+1 = k; for (i = 0; i 3; i+) for (j = 4
17、; j xj+1) k = xj; xj = xj+1; xj+1 = k; for (i = 0; i sex);(46)有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。struct node int data; struct node *next; *p, *q, *r; data next data next data next p q r现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是A)r-next=q;q-next=r-next;p-next=r;B)q-next=r-next;p-next=r;r-next=q;C
18、)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 void f(char p10, int n) char t20; 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 p10=abc,aabdfg,abbd,dcdbe,cd;int i; f(p,
19、5); printf(%dn,strlen(p0); 程序运行后的输出结果是 A)6 B)4 C)5 D)3(48)(50)以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项。#include struct node char 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)
20、 p = (struct node *)malloc(sizeod(struct node); p-data = (49) ; q-next = p; q = (50); s+; p-next=0; return h; main() char str=link list; struct node *head; head = CreatList(str); . (48)A)char* B)struct node C)sruct node* D)char(49)A)*s B)s C)*s+ D)(*s)+(50)A)p-next B)p C)s D)s-next二、填空题(1)算法的复杂度主要包括
21、空间复杂度和_复杂度。(2)在面对对象方法中,类的实例称为_。(3)对于软件测试,从是否需要执行被测软件的角度,可以分为静态测试和动态测试。代码检查属于_测试。(4)实体联系模型是一种常用的高级概念数据模型,而_是实体联系模型中的核心。(5)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于_。(6)若有语句 int i=-19,j=i%4; printf(%dn,j);则输出的结果是_。(7)以下程序运行后的输出结果是_。 #include S(x) 4*x*x+1 main() int i=6, j=8; printf(%dn,S(i+j);
22、(8)以下程序的输出结果是_。 main() int a=0; a+=(a=8); printf(%dn,a); (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 %dn,a,b,c); 执行后输出的结果为_。(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=%dn,s); (11)若有以下程序 main() ch
23、ar a; a=H-A+0; printf(%cn,a); 执行后输出结果是_。(12)以下程序的输出结果是_。 main() char *p=abcdefgh,*r; long *q; q=(long*)p; q+; r=(char*)q; printf(%sn,r); (13)以下程序中,for循环体执行的次数是_。 #define N 2 #define M N+1 #define K M+1*M/2 main() int i; for (i=1;ik;i+) . . (14)以下程序通过函数SunFun求0f(x)。这里f(x)=x2+1,由F函数实现。请填空 main() print
24、f(The sum=%dn, SunFun(10); SunFun(int n) int x,s = 0; for (x = 0; x next; r=q-next; sum+=r-next-next-num; printf(%dn,sum); (16)以下程序中,select函数的功能是:在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标。请填空。#define N 3#define M 3selecr(int aNM,int *n) int i,j,row=1,colum=1; for(i=0;iN;i+) for(j=0;jarowcolum)row=i;colum=j; *n=_; return_;main() int aNM=9,11,23,6,1,15,9,17,20, max,n; max=select(a,&n); printf(max=%d,line=%dn,max,n);(17)设有以下定义 stuct ss int info; struct ss *link;x,y,z; 且已建立如下图所示链表结构: x y z 请写出删除结点y的赋值语句_。(18)已有文本文件tes
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1