《全国计算机等级考试二级C语言笔试真题及参考答案》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言笔试真题及参考答案(13页珍藏版)》请在金锄头文库上搜索。
1、登陆 http:/ 成功参加活动, 即可获得千元现金登陆 http:/ 成功参加活动,即可获得千元现金2010年 3 月全国计算机等级考试 二级 C 语言 笔试真题及参考答案一、选择题(1)下列叙述中正确的是A)对长度为 n 的有序链表进行查找,最坏清况下需要的比较次数为n B)对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为 n 的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中
2、的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为: 应用软件、系统软件和支撑软件 (或工具软件) 。下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图( DFD 图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7
3、)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库登陆 http:/ 成功参加活动, 即可获得千元现金登陆 http:/ 成功参加活动,即可获得千元现金C)字段D)记录(9)数据库设计中,用E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段(10)有两个关系 R 和 T 如下:则由关系 K 得到关系 T 的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C 语言程
4、序是由过程和函数组成的B)C 语言函数可以嵌套调用,例如:fun(fun(x) C)C 语言函数不可以单独编译D)C 语言中除了 main 函数,其他函数不可作为单独文件形式存在(12)以下关于 C 语言的叙述中正确的是A)C 语言中的注释不可以夹在变量名或关键字的中间B)C 语言中的变量可以在使用之前的任何位置进行定义C)在 C 语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C 语言的数值常量中夹带空格不影响常量值的正确表示(13)以下 C 语言用户标识符中,不合法的是A)_1 B)AaBc C)a_b D)a-b (14)若有定义: double a=22;int i=0,k=
5、18;,则不符合 C 语言规定的赋值语句是A)a=a+,i+; B)i=(a+k)=(i+k); C)i=a%11; D)i!a; (15)有以下程序include main()登陆 http:/ 成功参加活动, 即可获得千元现金登陆 http:/ 成功参加活动,即可获得千元现金 char a,b,c,d; scanf(“%c%c ”,&a,&b ); c=getchar (); d=getchar(); printf(“%c%c%c%c n”,a,b,c,d ); 当执行程序时,按下列方式输入数据(从第1 列开始, 代表回车,注意:回车也是一个字符)12 34 则输出结果是A)1234 B)
6、12 C)12 3 D)12 34 (16)以 i 关于 C 语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如 “ 人员信息 ” 等含有不同类型的相关数据,应自定义结构体类型D)若只处理 “ 真” 和“ 假” 两种逻辑值,应使用逻辑类型(17)若 a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是A)1 B)0 C)2 D)不知道 a的值,不能确定(18)以下选项中与 if(a=1)a=b; else a+;语句功能不同的 switch 语句是A)switch(a)case:a=b;break;
7、default:a+; B)switch(a=1)case 0:a=b;break; case 1:a+; C)switch(a)default:a+;break; case 1:a=b; D)switch(a=1)case 1:a=b;break; case 0:a+; 登陆 http:/ 成功参加活动, 即可获得千元现金登陆 http:/ 成功参加活动,即可获得千元现金(19)有如下嵌套的 if 语句if (ab)if(ac)k=a; else k=c; else if(bc) k=b; else k=c; 以下选项中与上述if 语句等价的语句是A)k(ab)? a:b;k(bc)?b:c
8、; B)k(ab)?( bc)?a:b):(bc)?b:c); C)k(ab)?( ac)?a:):( bc)?b:c); D)k(ab)? a:b;k=(ac)?a:c; (20)有以下程序includes 七 dio.hmain()in i,j,m=1; for(i=1;i3;i+)for(j=3;j O;j-)if (i*j )3)break; m=i*j; printf(m=%dn,m); 程序运行后的输出结果是A)m=6 B)m=2 C)m=4 D)m=5 (21)有以下程序include(stdio.hmain()int al;b2; for(;a8;a+) b+=a;a+=2;p
9、rintf(%d,%dn,a,b); 程序运行后的输出结果是A)9,18 B)8,11 C)7,11 D)10,14 (22)有以下程序,其中k 的初值为八进制数#include main()登陆 http:/ 成功参加活动, 即可获得千元现金登陆 http:/ 成功参加活动,即可获得千元现金int k011;printf(%dn,k+); 程序运行后的输出结果是A)12 B)11 C)10 D)9 (23)下列语句组中,正确的是A)char *s;s=Olympic; B)char s7;s=Olympic; C)char *s;s=Olympic ; D)char s7;s=Olympic
10、 ; (24)以下关于 return 语句的叙述中正确的是A)一个自定义函数中必须有一条return 语句B)一个自定义函数中可以根据不同情况设置多条return 语句C)定义成 void 类型的函数中可以有带返回值的return 语句D)没有 return 语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num0.2008; B)int num; C)int N=2008; int numN; D)#define N 2008 int numN; (26)有以下程序#include void fun(char *c,int d)*c=*c+1
11、;d=d+1; printf(%c,%c,*c,d ); main()char b=a,a=A;fun(&b,a);printf(%e,%en,b,a); 程序运行后的输出结果是A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B (27)若有定义 int(*Pt)3 ;,则下列说法正确的是A)定义了基类型为int 的三个指针变量B)定义了基类型为int 的具有三个元素的指针数组pt C)定义了一个名为 *pt、具有三个元素的整型数组登陆 http:/ 成功参加活动, 即可获得千元现金登陆 http:/ 成功参加活动,即可获得千元现金D)定义了一个名为 pt 的指针变
12、量, 它可以指向每行有三个整数元素的二维数组(28)设有定义 double a10,*s=a;,以下能够代表数组元素a3的是A)(*s)3 B)*(s+3) C)*s3 D)*s+3 (29)有以下程序include(stdio.h)main()int a5=1,2,3,4,5,b5O,2,1,3,0,i,s0; for(i0;i5;i+) ss+abi); printf(%dn, s); 程序运行后的输出结果是A)6 B)10 C)11 D)15 (30)有以下程序include main()int b 33= O,1,2,0,1,2,O,1,2 ,i,j,t=1; for(i=0;i3;i
13、+ )for(j=ij=1;j+ ) t+=bibji; printf(%dn,t ); 程序运行后的输出结果是A)1 B)3 C)4 D)9 (31)若有以下定义和语句char s110=abcd!,*s2=n123; printf(%d %dn, strlen(s1),strlen(s2); 则输出结果是A)5 5 B)10 5 C)10 7 D)5 8 (32)有以下程序#include #define N 8 void fun(int *x,int i )登陆 http:/ 成功参加活动, 即可获得千元现金登陆 http:/ 成功参加活动,即可获得千元现金*x=* (xi);main(
14、)int aN= 1,2,3,4,5,6,7,8 ,i; fun(a,2); for(i=O;i N2;i+)printf(%d,ai );printf(n); 程序运行后的输出结果是A)1313 B)2234 C)3234 D)1234 (33)有以下程序#include int f(int t,int n ); main int a4=1,2,3,4,s; s=f(a,4); printf(%dn,s); int f(int t,int n ) if (n0) return tn-1+f (t,n-1); else return 0 ; 程序运行后的输出结果是A)4 B)1O C)14 D
15、)6 (34)有以下程序#include int fun() static int x=1; x*2; return x; main()int i,s=1,for(i=1;i=2;i+ ) s=fun(); printf(%dn,s); 程序运行后的输出结果是A)O B)1 登陆 http:/ 成功参加活动, 即可获得千元现金登陆 http:/ 成功参加活动,即可获得千元现金C)4 D)8 (35)有以下程序#include #define SUB(a) (a)-(a)main() int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf(%dn,d); 程序运行后的输出
16、结果是A)0 B)-12 C)-20 D)10 (36)设有定义 : struct complex int real,unreal; data1=1,8,data2; 则以下赋值语句中错误的是A)data2=data1; B)data2=(2,6); C)data2.real=data1.real; D)data2.real=data1.unreal; (37)有以下程序#include #include struct A int a; char b10; double c; void f(struct A t); main() struct A a=1001,ZhangDa,1098.0; f(a); printf(%d,%s,%6.1fn,a.a,a.b,a.c ); void f(struct A t) t.a=1002; strcpy(t.b,ChangRong);t.c=1202.0; 程序运行后的输出结果是A)1001,zhangDa,1098.0 B)1002,changRong,1202.0 C)1001,ehangRong,1098.O D)1002,ZhangDa,