2007-2011计算机二级C语言考试真题及答案(共65页).doc
《2007-2011计算机二级C语言考试真题及答案(共65页).doc》由会员分享,可在线阅读,更多相关《2007-2011计算机二级C语言考试真题及答案(共65页).doc(65页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上2007年9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间120分钟,满分100分) 一、选择题(1)(10)每题2分,(11)(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。(1)软件是指A)程序 B)程序和文档C)算法加数据结构 D)程序、数据与相关文档的完整集合(2)软件调试的目的是A)发现错误 B)改正错误C)改善软件的性能 D)验证软件的正确性(3)在面向对象中,实现信息隐蔽是依靠 A)对象的继承 B)对象的多态 C)对象的封装 D)对象的分类(4)下列叙述中
2、,不符合良好程序设计风格要求的是 A)程序的效率第一,清晰第二 B)程序的可读性好 C)程序中要有必要的注释 D)输入数据前要有提示信息(5)下列叙述中正确的是 A)程序执行的效率与数据的存储结构密切相关 B)程序执行的效率只取决于程序的控制结构 C)程序执行的效率只取决于所处理的数据量 D)以上三种说法都不对(6)下列叙述中正确的是 A)数据的逻辑结构与存储结构必定是一一对应的 B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C)程序设计语言中的数组一般是顺序存储的,因此,利用数组只能处理线性结构 D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是 A
3、)n(n+1)/2 B)nlog2n C)n(n1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 A)219 B)221 C)229 D)231(9)下列叙述正确的是 A)数据系统是一个独立的系统,不需要操作系统的支持 B)数据库技术的根本目标是要解决数据的共享问题 C)数据库管理系统就是数据库系统 D)以上三种说法都不对(10)下列叙述中正确的是 A)为了建立一个关系,首先要构造数据的逻辑关系 B)表示关系二维表中各元组的每一个分量还可以分成若干数据项 C)一个关系的属性名表称为关系模式 D)一个关系可以包括多个二维表(11)C语言源程序
4、名的后缀是 A).exe B).C C).obj D).cp(12)可在C程序中用作用户标识符的一组标识符是A)and B)Date C)Hi D)case 2007 y-m-d Dr. Tom Bigl(13)以下选项中,合法的一组C语言数值常量是 A)028 B)12 C)177 D)0x8A .5e-3 OXa23 4c1.5 10,000(14)以下叙述正确的是 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用min作为主函数名,程序将从开始执行,在此结束 D)min可作为用户标识符,用以命名任意一
5、个函数作为主函数(15)若在定义语句:int a,b,c*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是 A)scanf(“%d”,a,b,c); B)scanf(“%d%d%d”,a,b,c); C)scanf(“%d”,p); D)scanf(“%d”,&p)(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是 A)均占4个字节 B)根据数据的大小来决定所占内存的字节表 C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)xy5; B)xn%2.5; C)x+nl; D)x54+1(18)有
6、以下程序段 int j; float y; char name50; scanf(“%2d%f%s”,&j,&y,name) 当执行上述程序段,从键盘上输入55566 7777abc后,y的值为 A)55560.0 B)566.0 C)7777.0 D).0(19)若变量已正确定义,有以下程序段 i0; do printf(“%d,”i); while(i+); printf(“%dn”,i); 其输出结果是 A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式 若程序前面已在命令行中包含math.h 文件,不能够正确计算上述公式的程序段是A)if(x0) ysprt
7、(x); B)ysqrt(x); else ysqrt(-x); if(x0)ysqrt(x)C)if(x=0)ysqrt(x); D)ysqrt(x0?x;-x) If(x0)ysqrt(x);(21)设有条件表达式:(EXP)? i+ ; j,则以下表达式中与(EXP)完全等价的是A)(EXP=0) B)(EXP!=0) C)(EXP=1) D)(EXP!=1)(22)有以下程序#include main() inf y=9;for( ; y0; y-)if(y%3=0) printf(“%d”, y程序的运行结果是A)741 B)963 C)852 D)(23)已有定义:char c;,
8、程序前面已在命令行中包含ctype. h 文件。不能用于判断c中的字符是否为大写字母的表达式是 A)isupper (c) B)A=c=zC)A=c&c=Z D)c=(z32)%(a32)=c(24)有以下程序 #includc Main() int i, j,m =55for(i=l;i3;i+)for(j=3;j+) m=m%j;printf(“%dn”,m); 程序的运行结果是 A)0 B)1 C)2 D)3(25)若函数调用时的参数为变景时,以下关于函数形参和实参的途述中正确的是 A)函数的实参和其对应的形参共占用一存储单元 B)形参只是形式上的存在,不占用具体存储单元 C)同名的实参
9、和形参占同一存储单元 D)函数的形参和实参分别占用不同的存储单元(26)已知字符A的ASCII代码值是65,字符变量cl的值的A,c2的值是D。执行语句 printf(“%d,%d”,cl,c2-2);后,输出结果是 A)A,B B)A,68 C)65,66 D)65,68(27)以下途述中错误的是 A)改变函数形参的值,不会改变对应实参的值 B)函数可以返回地址值 C)可以给指针变量赋一个整数作为地址值 D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL(28)以下正确的字符串常量是A)“” B)abc C)Olympic D)* (29)设有定义:char p=1 2 3
10、、*q=p; 以下不能计算出一个char型数据所占字节数的表达式是 A)sizeof(p) B)sizeof(char) C)sizeof(*q) D)sizeof(p0) (30)有以下函数 int aaa(char *s) char *t=s; while(*t+); t-; return(t-s); 以下关于aaa函数的功能的叙述正确的是 A)求字符串s的长度 B)比较两个串的大小 C)将串s复制到串t D)求字符串s所占字节数(31)若有定义语句:int a 36;,按在内存中的存放顺序,a数组的第10个元素是A)a04 B)a13 C)a03 D)a14(32)有以下程序 #incl
11、ude void fun(char *p) +p; printf(“%”n”,*p); main() char *a=“Moming”, “Aftenoon”,“Evening”,“Night”; fun(a) 程序的运行结果是 A)Aftemoon B)ftemoon C)Moming D)oming(33)若有定义语句:int a23,*p3;,则以下语句中正确的是 A)p=a; B)p0=a; C)p0=&a12; D)pI=&a;(34)有以下程序 #include void fun(int *a, int n)/*fun函数的功能是将a所指数组元数从大到小排序*/ int t,i,j
12、; for(i=o;in-1;j+) for(j=j+1;jn;j+) if(aiaj) t=ai; ai=aj; aj=t; Main() int c10=1,2,3,4,5,6,7,8,9,0,i; fun(c+4,6) for(i=0;i10,i+) printf(“%d,”,ci); printf(“n”);程序的运行结果是A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4,C)0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0,(35)有以下程序 #include int fun(char s) int n=0;
13、 while(*s=0) n=0*n+*s-0;s+; return(n); main() char s10=“6”,“1”,“*”,“4”,“*”,“9”,“*”, 0,“*” printf(“%dn”,fun(s); 程序的运行结果是 A)9 B)61490 C)61 D)5(36)当用户要求输入的字符串中含有空格时,应使用的输入函数是 A)scanf() B)getchar() C)gets D)getc()(37)以下关于字符串的叙述中正确的是 A)C语言中有字符串类型的常量和变量 B)两个字符串中的字符个数相同时才能进行字符串大小的比较 C)可以用关系运算符对字符串的大小进行比较 D
14、)空串一定比空格打头的字符串小(38)有以下程序 #include void fun(char *t, char *s) while(*t!=0) t+; while(*t+=*s+)!=0;min() char ss10=“acc”,aa10=“bbxxyy”; fun(ss,aa); printf(“%s,%sn”,ss,aa);程序的运行结果是A)accxyy, bbxxyy B)axx, bbxxyyC)accxxyy, bbxxyy D)accbbxxyy, bbxxyy(39)有以下程序 #include #include void fun(char s10,int n) char
15、 t; int ij; for(i=0;in-1;i+) for(j=i+1;jsj0) l=si0;si0;sj0=t; main() char ss510=“bcc”,“bbcc”,“xy”,“aaaacc”,“aabbc”; Fun(ss,5); printf(“%s,%sn”,ss0,ss4);程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)xcc,aabcc D)acc,xabcc(40)在一个C源程序文件中所定义的全局变量,其作用域为 A)所在文件的全部范围 B)所在程序的全部范围 C)所在函数的全部范围 D)由具体定义位置和extrn说明来决定范围(41)有以
16、下程序 #includc int a=1; int f(int c) static int a=2; c=c+1 return (a+)+c; Main() int i,k=0;for(i=0;i2;i+ int a=3; k +=f(a);k+=a;printf(“%dn”,k);程序的运行结果是A)14 B(15) C)16 D)17(42)有以下程序 #include void fun(int n,int*p) int f1,f2;if(n=1|n=2) *p=1;else fun(n-1,&f1); fun(n-2,&f2);*p=f1+f2;main() int s; fun(3,&
17、s); printf(“%dn”);程序的运行结果是A)2 B)3 C)4 D)5(43)若程序中有宏定义行:#define N 100 则以下叙述中正确的是 A)宏定义行中定义了标识符N的值为整数100 B)在编译程序对C源程序进行预处理时用100替换标识符N C)对C源程序进行编译时用100替换标识符N D)在运行时用100替换标识符N(44)以下关于typedef的途述错误的是 A)用typedef可以增加新类型 B)typedef是将已存在的类型用一个新的名字来代表 C)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名 D)用typedef为类型说明一个新名,通
18、常可以增加程序的可读性(45)有以下程序 #include struct tt int x;struct tt*y; *p; Struct tt a4=20,a+1,15,a+2,30,a+3,17,a; main() int i; p=a; for(i=1;ix); p=p-y; 程序的运行结果是A)20,30, B)30,17 C15,30, D)20,15(46)有以下程序 #include #include Typedef struct char name9; char sex; float score2; STU; STU f(STU a) STU b=“zhao”,m,85-0,9
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2007 2011 计算机 二级 语言 考试 答案 65
限制150内