《全国计算机等级考试二级笔试复习资料2013年.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级笔试复习资料2013年.docx(149页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、全国计算机等级考试内部资料2004年9月全国计算机等级考试样题选择题:。十进制数200等值的十六进制数为(C )A) A8B) A4C) C8D) C4用C语言编写的代码程序(B )A)可立即执行B)是一个源程序0经过编译即可执行D)经过编译解释才能执行结构化程序由三种基本结构组成,三种基本结构组成的党法(C )A)可以完成任何复杂的任务B)只能完成部分复杂的任务C)只能完成符合结构化的任务D)只能完成一些简单的任务(4)以下定义语句中正确的是(+ C )A) char a=Ab=B;B) float a=b=10.0:C) int a=10, *b=&a;D) float *a, b=&a;
2、下列选项中,不能用作标识符的是(D )A) _1234_B) _1_2C) int_2_D) 2_int_(6)有以下定义语句double a,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是(C )A) a=a+b=b+B) w%(int)a+b)C) (c+w)%(int)aD) w=a=b;有以下程序mainO int m=3, n=4, x;x=-m+:x=x+8/+n;printf (*%dn*, x);程序运行后的输出结果是(D )A) 3B) 5C) -1D) -2(8)有以下程序mainO char a=, a*, b;print (*%c, +
3、a);printf(*%cn*, b=a+);程序运行后的输出结果是(A )A) b, bB) b, cC)a,bD) a,(9)有以下程序mainO int m=0256, n=256;printf (*%o %on*,mn, n);程序运行后的输出结果是(C )A) 0256 0400 B) 0256 256 C) 256 400 (10)有以下程序mainO int a=666, b=888;printf (*%dn*, a, b):程序运行后的输出结果是(B )D) 400 400D) 666,888A)错误信息B) 666C) 888 (11)有以下程序mainO int i;for
4、(i=0;i3;i+)switch(i)(case O:printfi);case 2:printfi);default:printfi);)程序运行后的输出结果是(C )(12)若x和y代表整型数,以下表达式中不能正确表示数学关系|x-yl10的是(C )A) abs (x-y)10C) 0(x-y)10B) x-y-10& x-y10D) (x-y)*(x-y)b) if(bc) printf d+ +1);elseprintf+d +1); printf (*%dn*, d);1D) 44程序运行后的输出结果是(A )A) 2B) 3C) 43 (14)下列条件语句中,功能与其他语句不同
5、的是(D )B) if (a) printf (*%dn* x) ; else printf (*%dn*, y);C) if(a=0) printf(*%dn*, y); else printf(*%dn*, x);D) if (a!=0) printf (*%dn* x); else printf (*%dn* y);E) if(a=O) printf (*%dn*, x); else printf(*%dn*, y);(15)有以下程序mainO int i=0, x=0;for (;)if (i=3| | i=5) continue;if (i=6) break;i+;s+=i;pri
6、ntf (*%dn* s);程序运行后的输出结果是(D )A) 10B) 130 21D)程序进入死循环(16)若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段是(B )A) for(i=l,p=l;i=5;i+) p*=i;B) for(i=l;i=5;i+) p=l; p*=i:C) i=l;p=l;while(i=5)(p*=i: i+;D) i=l:p=l;dop*=i; i+; while(i=5);(17)有以下程序mainO char a, b, c, d;scanf(*%c,%c, %d,&a, &b,&c,&d);printf (*c, %c, %c, %
7、cn”, a, b, c, d);若运行时从键盘上输入:6,5,65,66。则输出结果是(A )A) 6, 5, A, BB) 6,5,65,66 C) 6,5,6,5D) 6,5,6,6(18)以下能正确定义二维数组的是(C )A) int a3;B) int a 3=2(2*3):0 Int a3=;D) int a23=l, 2, 3, 4:(19)有以下程序int f (int a) return a%2: )mainO int s8 = l,3,5, 2, 4, 6, i,d=O;for (i=O;f(si);i+) d+=si:printf (*%dn*. d):程序运行后的输出结
8、果是(A )A) 9B) 11C) 19D) 21(20)若有以下说明和语句,int c45, (*p) 5;p=c;能正确引用c数组元素的是(D ) A) p+1B) *(p+3) C) * (p+1 )+3D) *(p0+2)(21)有以下程序 mainO int a=7, b=8, *p, *q, *r;pagb;r=p: p=q;q=r;printf (*%d, %d, %d, %dn*, *p, *q, a, b);)程序运行后的输出结果是(C )A) 8,7,8, 7B) 7,8,7,8C) 8, 7,7,8D) 7,8,8,7(22)sl2和s2已正确定义并分别指向两个字符串。若
9、要求:当si所指串大于s2所指串时,执 行语句S;则以下选项中正确的是(D )A) if(sls2)S;B) if(strcmp(sl,s2)S;C) if (strcmp(s2, sl)0) S;D) if(strcmp(si, s2)0)S;(23)设有定义语句int x6 = 2,4,6,8, 5, 7,*p=x, i;要求依次输出x数组6个元素中的值,不能完成此操作的语句是(D )A) for(i=0;i6;i+) printf(*%2d*.*(p+);B) for(i=0;i6;i+) printf(*%2d*,*(p+i);C) for(i=0;i6;i+) printf(*%2d
10、*p+);D) for(i=0;i6;i+) printf(*%2d*, (*p)+);(24)有以下程序#include mainOint a = l, 2,3,4, 5, 6, 7,8,9, 10,11, 12, *p=a+5, *q=NULL;*q=*(p+5);printf (*%d %dn*, *p, *q);程序运行后的输出结果是(A )A)运行后报错B) 6 6C) 6 IID) 5 10(25)有以下定义和语句int a3 2=1, 2,3,4,5,6, ),*p3;p0=al;则*p0+l)所代表的数组元素是(C )A) a0lB) al00 allD) al2(26)有以下
11、程序mainOchar str10 = *China*, *Beijing*,*p=str;printfp+10);程序运行后的输出结果是(B )A) ChinaB) BejingC) ngD) ing(27)有以下程序 mainO char s=*ABCD*, *p;for(p=s+l;ps+4:p+)printf(*%sn*, p);程序运行后的输出结果是(D )A) ABCDB) AC) BD) BCDBCDBCCDCDCDDDD(28)在函数调用过程中如果函数funA调用了函数funB,函数funB又调用了函数funA,贝U(B)A)称为函数的直接递归调用B)称为函数的间接递归调用0称
12、为函数的循环调用D) C语言中不允许这样的递归调用(29)已有定义s int则合法的赋值语句是(D )A) p=100:B) p=a5;C) p=a2+2; D) p=a+2;(30)以下叙述中正确的是(A )A) B)0D)局部变量说明为sialic存储数,其生存期将得到延长 全局变量说明为static存储类,其作用域将被扩大 任何存储类的变量在未赋初值时,其值都是不确定的 形参可以使用的存储类说明符与局部变量完全相同(31)设有定义语句:char cl=92,c2=92;,则以下表达式中值为零的是(A )A) cl c2B) cl&c2C) c2D) cl|c2(32)程序中对fun函数彳
13、f如下说明void *fun();此说明的含义是:(C )A) fun 了数无返回值B)fun函数的返回值可以是任意的数据类型C) fun函数的返回值是无值型的指针类型D)指针fun指向 个函数,该函数无返回值(33)有以下程序main() char s*Yesn/No*,ps=s;puts (ps+4);*(ps+4)=0;puts (s);程序运行后的输出结果是(选项D中的第 行是空行)(B )A) n/NoYes /NoB) /NoYesC) n/NOYes /No0) /NoYes(34)有以下程序 mainO unsignedint a;int b=-l;a=b:printf a);
14、)程序运行后的输出结果是(B )A) -1B) 65535C) 32767D) -32768(35)有以下程序void fun(int *a, int i, int j) int t;if(ij) t=ai;ai=aj;aj=t;i+; j;fun (a, i, j);)mainO int x=2,6, 1,8, i;fun(x, 0, 3);for(i=0;inum B) p-numC) (*p). numD) stu 3. age(37)有以下程序mainO int x=(l, 3, 5,7,2,4,6, 0, i, j, k;for(i=0;i=i :j)if(xj+lxj) k=xj:
15、xj=xj+l;xj+l=k;for(i=0;i3;i+)for(j=4;jxj) k=xj;xjxj+l :xj+l=k;for (i=0;i3;i+)for(j=4;jxj+l) k=xj;xj=xj+l;xj+l=k;for (i=0;i8;i+) printf(*%d xi);printf(*n*);程序运行后的愉出结果是:(A )A) 75310246 B) 01234567 C) 76310462 D) 13570246(38) 有如下程序#include main()FILE *fpl;fpl=fopen(*f 1. txt*, *w*);fprintf (fpl, *abc*)
16、;fclose(fpl);若文本文件fl. txt中原有内容为:good,则运行以上程序后文件门.txt中的内容为(C)A) goodabc B) abedC) abcD) abegood2005年4月全国计算机等级考试样题一、选择题:(1) 数据的存储结构是指(D )A)存储在外存中的数据B)数据所占的存储空间量C)数据在计算机中的顺序存储方式D)数据的逻辑结构中计算机中的表示(2) 下列关于栈的描述中错误的是(B )A)栈是先进后出的线性表B)栈只能顺序存储C)栈具有记忆作用D)对栈的插入。删除操作中,不需要改变栈底指针(3) 对于长度为n的线性表,在最坏情况下,下列各排序法所时应的比较次
17、数中正确的是(D )A)冒泡排序为n/2B)冒泡排序为nC)快速排序为nD)快速排序为n(n-l)/2(4) 对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为(C )A) log2nB) n/2C) nD) n+1(5)下列对于线性链表的描述中正确的是(A )A)存储空间不一定是连续,且各元素的存储顺序是任意的B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面C)存储空间必须连续,且前件元素一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任怠的(6) 下列对于软件的描述中正确的是(C )A)软件测试的目的是证明程序是否正确B)软件测试的目的是使程序运行
18、结果正确C)软件测试的目的是尽可能多地发现程序中的错误D)软件测试的目的是使程序符合结构化原则(7) 为了使模块尽可能独立,要求(B )A)模块的内聚程序要尽量高,且各模块间的耦合程序要尽量强B)模块的内聚程序要尽量高,且各模块间的耦合程序要尽量弱C)模块的内聚程序要尽量低,且各模块间的耦合程序要尽量弱D)模块的内聚程序要尽量低,且各模块间的耦合程序要尽量强(8)卜列描述中正确的是(D )A)程序就是软件B)软件开发不受计算机系统的限制C)软件既是逻辑实体,又是物理实体 D)软件是程序、数据与相关文档的集合(9) 数据独立性是数据库技术的重要特点之-o所谓数据独立性是指(D )A)数据与程序独
19、立存放B)不同的数据被存放在不同的文件中C)不同的数据只能被对应的应用程序所使用D)以上三种说法都不对(10)用树形结构表示实体之间联系的模型是(C )A)关系模型B)网状模型 C)层次模型 D)以上三个都是(11)算法具有五个特性,以下选项中不属于算法特性的是(B )A)有穷性 B)简洁性 C)可行性 D)确定性(12)以下选项中可作为C语言合法常量的是(A )A) -80.B) -080C) -8el. 0 D) -80. Oe(13)以下叙述中正确的是(C )A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入 C)用C程序实现的算法可以没有输入但
20、必须要有输出 D)用C程序实现的算法可以既没有输入也没有输出(14)以下不能定义为用户标识符的是(D )A) MainB) 0C) int (15)以下选项中,不能作为合法常量的是(B )C) 1.234e+4D) 1. 234e0A) 1.234e04B) 1.234e0. 4(16)数字字符0的ASCII值为48,若有以下程序 mainO char a=T,b=2; printf (*%c, b+); printf (*%dn*, b-a);)程序运行后的输出结果是(C )A) 3,2B) 50,2C) 2,2 (17)有以下程序mainO int m=12, n=34;printf (*
21、%d%d*, m+, -H-n);printf (*%d%dn*, n+,+m):程序工行后的输出结果是(A )A) 12353514B) 12353513 C) 12343514D) sizeofD) 2,50D) 12343513(18)有定义语句:int b;char c10;,则正确的输入语句是(B )A) scanf(*%d%s*,&b,&c);C) scanf b, c);(19)有以下程序mainO int m, n, p;scanf (*m=%(in=%dp=%d*, &m, &n, &p):printf (*%d%d%dn*, m, n, p);)若想从键盘上输入数据,使变量
22、m中的值为123, n中的值为456, p中的值为789,则正确的 输入是(A )A) m=123n=456p=789B) nrl23 n=456 p=789C) nF123,n=456,p=789D) 123456789(20)有以下程序mainO(int a, b, d=25;a=d/10%9;b=a&(-l);printf(*%d, %dn*, a, b);程序运行后的输出结果是(B )A) 6,1B) 2,1C) 6,0D) 2,0(21)有以下程序mainO int i=l, j=2, k=3;i f (i+= 1& (+j=311 k+=3) printf(*%d %d %dn”,
23、 i, j, k);程序运行后的输出结果是(D )A) 1 2 3B) 2 3 40 2 2 3D) 2 3 3(22)若整型变量a、b、c、d中的值依次为:1、4、3、2.则条件表达式ab?a:cd?c :d的值(A)A) 1B) 2C) 3D) 4(23)有以下程序main()int p8=ll, 12,13,14, 15,16,17, 18, i=0, j=0;while(i+y?x:y;int f2(int x, int y)return xy?y:x;mainO int a=4, b=3, c=5, d=2, e, f, g;e=f2(fl(a,b),fl(c, d);f=fl(f2
24、(a,b),f2(c, d);g=a+b+c+d-e-f;printf (*%d, %d%dn* e, f, g);程序运行后的输出结果是(A )A) 4, 3, 7 B) 3, 4, 7 C) 5, 2, 7 D) 2, 5, 7(27)已有定义:char a=xyz,b=x,y,z以下叙述中正确的是(A )A)数组a和b的长度相同B) a数组长度小于b数组长度C) a数组长度大于b数组长度D)上述说法都不对(28)有以下程序void f(int *x, int *y) int t;t=*x:*x=*y;*y=t;mainO int a8 = l,2, 3,4,5, 6, 7,8, i,*p
25、, p=a;q=&a7;while(pq)f(p, q); p+; q-;for(i=0;i8;i44-) printf(*%d, *,ai);程序运行后的输出结果是(D )A) 8, 2, 3, 4, 5, 6, 7, I,B) 5, 6, 7, 8, 1, 2, 3, 4,C) 1. 2. 3, 4, 5, 6, 7, 8,D) 8, 7, 6, 5, 4, 3, 2. L(29)有以下程序 mainOint a33,*p, i;p=&a0 0;for(i=0;i9;i+) pi=i; for(i=0;i=n;i) ai+l=ai:mainOint i,aN=l,2,3,4,5, 6, 7
26、,8,9,10);fun (a, 2,9);for(i=0;i5;i+) printf ai);程序运行后的输出结果是(B ) A) 10234 B) 12344 C) 12334D) 12234(32)有以下程序mainO int a3 2=0, (*ptr) 2, i, j; for(i=0;i2;i+) ptr=a+i;scanf ptr); ptr+:for(i=0;i3;i+)for(j=0;j2;j+) printf(*%2d*,aij);printf (*n*);若运金时输入:1 2 3回车),则输出结果为(B )A)产生错误信息B) 1 0 C) 1 2 D) 1 02 03
27、02 00 00 03 0(33)有以下程序prt(int *m, int n)int i;for(i=0;in;i+)mainOint a = l,2,3, 4, 5, i:prt (a, 5);for (i=0;i5: i+)printf(*%d, *,ai);)程序运行后的输出结果是:(B )A) b 2, 3, 4, 5,B) 2, 3, 4, 5. 6.C) 3, 4, 5, 6, 7,D) 2. 3, 4, 5, 1,(34)有以下程序mainO int a = 1,2, 3, 4, 5,6,7,8,9, 0), *p;for(p=a;pa+10;p+) printf (*%d,
28、*, *p);程序运行后的输出结果是(A )A) b2,3,4,5,6,7,8,9, 0,B) 2,3,4,5,6,7,8,9,10, 1,C) 0,1,2,3,4,5,6,7,8f 9,D) 1.1,1,1,h1,1,1,1, 1,(35)有以下程序define P 3#define F(int x) return (P*x*x); mainOprintf(*%dn*, F(3+5);程序运行后的输出结果是(D )A) 192B) 29C) 25D)编译出错(36)有以下程序 mainOint c=35; printf(*%dn*, c&c);程序运行后的输出结果是(C )A) 0B) 70
29、C) 35D) 1(37)以下叙述中正确的是(D )A)预处理命令行必须位于源文件的开头B)在源文件的一行上可以有多条预处理命令C)宏名必须用大写字母表示 D)宏替换不占用程序的运行时间(38)若有以下说明和定义 union dt int a; char b; double c;data;以下叙述中错误的是(D )A) data的每个成员起始地址都相同B)变量data所占内存字。数。成员c所占字节数相等C)程序段:data. a=5;printf(飞fn”, data, c);输出结果为 5.000000D) data可以作为函数的实参 (39)以下语句或语句组中,能iE确进行字符串赋值的是(
30、D )A) char *sp; *sp=*right!*;B) char s10; s=*right!*:C) char s10; s=*right!*;D) char sp=*right!*;(40)设有如下说明 typedef struct ST long a;int b;char c 2;) NEW:则下面叙述中正确的是(C )B)ST是个结构体类型D) NEW是个结构体变量A)以上的说明形式非法C) NEW是个结构体类型 (41)有以下程序mainOint a=1,b:for (b=l;b=8) break;if(a%2=l) a+=5; continue: a-=3;printf(*
31、%dn*, b);程序运行后的输出结果是(B )A) 3B) 4C) 5D) 6(42)有以下程序mainOchar s=*159*, *p;p=s:printf *p+);printf (*%c*, *p+);程序运行后的输出结果是(A )A) 15B) 16C) 12D) 59 (43)有以下函数fun (char *a, char *b)(while(*a!=,0* )&(*b!=,0* )&(*a=*b)a+;b+;)return (*a-b);)该函数的功能是(D )A)计算a和b所指字符串的长度之差B)将b所指字符串复制到a所指字符串中C)将b所指字符串连接到a所指字符串后面D)比
32、较a和b所指字符串的大小 (44)有以下程序mainOint num4 4= 1,2,3,4, 5,6, 7,8, 9,10,11,12), (13,14, 15,16), i, j;for(i=0;i4;i+)(for(j=l;j=i;j+) printf(*%c* *);for(j=jt pt qtr现要将q所指结点从链表中删除.同时保持链表的连续,以下不能完成指定操作的语句 是(D ) A) p-next=q-next;B) p-next=p-next-next;C) p-next=r;D) p=q-next;(48)以下对结构体类型变量td的定义中,错误的是(C )A) typedef
33、 struct aaint n;float m;AA;AA td;B) struct aaint n;float m; td;struct aa td;C) structint n;float m;aa:struct aa td;D) structint n;float m;)td:(49)以下与函数fseek(fp, OL, SEEK_SET)有相同作用的是(D )A) feof(fp)B) ftell (fp) C) fgetc(fp) D) rewind(fp)(50)有以下程序include *stdio. h*void WriteStr(char *fn, char *str)FIL
34、E *fp;fp=fopen(fn, *W*);fputs (str, fp);fclose(fp);mainOWriteStr(*tl. dat, start);Wri teStr(*tl. dat*, *end*);程序运行后,文件tl.dat中的内容是(B )A) startB) endC) start end D) endrt2005年9月全国计算机等级考试样题一、选择题:(1)下列叙述中正确的是(C).A)程序设计就是编制程序B)程序的测试必须由程序员自己去完成C)程序经调试改错后还应进行再测试D)程序经调试改错后不必进行再测试(2)下列数据结构中,能用二分法进行查找的是(A) oA
35、)顺序存储的有序线性表B)线性链表C)二叉链表D)有序线性链表(3)下列关于栈的描述正确的是(C) oA)在栈中只能插入元素而不能删除元素B)在栈中只能删除元素而不能插入元素C)栈是特殊的线性表,只能在一端插入或删除元素D)栈是特殊的线性表,只能在一端插入元素,而在另端删除元素(4)下列叙述中正确的是(D) oA) 一个逻辑数据结构只能有一种存储结构B)数据的逻辑结构属于线性结构,存储结构属于非线性结构C) 个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D) 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(5)下列描述中正确的是(C)。A)软件工程只
36、是解决软件项目的管理问题B)软件工程主要解决软件产品的生产率问题C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则D)软件工程只是解决软件开发中的技术问题(6)在软件设计中,不属于过程设计工具的是(D)。A) PDL (过程设计语言)B) PAD图 C) N-S图D) DFD图(7)卜列叙述中正确的是(A)。A)软件交付使用后还需要杵进行维护B)软件工具交付使用就不需要再进行维护C)软件交付使用后其生命周期就结束D)软件维护是指修复程序中被破坏的指令(8)数据库设计的根本目标是要解决(A) oA)数据共享问题B)数据安全问题C)大量数据存储问题D)简化数据维护(9)设有如下关系表:
37、则下列操作中正确的是(B)。B) T=RUSA) T=RASD) T=R/S(10)数据库系统的核心的是(B) oA)数据模型 B)数据库管理系统C)数据库 D)数据库管理员(11)下列叙述中错误的是(A).A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中、大、小写字母代表不同标识B)复合语句在语法上被看作一条语句(12)下列叙述中错误的是(C) o A) C语句必须以分号结束C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(13)下列叙述中正确的是(B) A)调用primf()函数时,必须要有输出项B)使用pulchar。函数时,必须在之前包含头文件stdio.hC)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出D)调节getchar()函数读入字符时,可以从键盘:上输入字符所对应的ASCII码(14)下列关于函数的叙述中正确的是(B) oA)每个函数都可以被其