1、二级 C 语言程序设计试卷 2004 年 4 月 第 1 页,共 12 页2006 年 4 月二级 C 语言笔试真题及答案(考试时间:120 分钟,满分 100 分)1、选择题, (1-40)每题1分, (41-50)每题2分,共60分)2、下列各题 A) 、B) 、C) 、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。1)下列选项中不属于结构化程序设计方法的是A) 自顶向下 B)逐步求精 C)模块化 D)可复用2)两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度 C)复杂度 D)数据输特性3)下列叙述中正确的是A)软件测试应该由程序开
2、发者来完成 B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护 D)以上三种说法都不对4)按照“后进先出”原则组织数据的数据结构是A)队列 B)栈 C)双向链表 D)二叉树5)下列叙述中正确的是A)线性链表是线性表的链式存储结构 B)栈与队列是非线性结构C)双向链表是非线性结构 D)只有根结点的二叉树是线性结构6)对如下二叉树进行后序遍历的结果为A) ABCDEF B) DBEAFC C) ABDECF D) DEBFCA7)在深度为7的满二叉树中,叶子结点的个数为A)32 B)31 C)64 D)638) “商品”与“顾客”两个实体集之间的联系一般是A)一对一 B)一对多 C
3、)多对一 D)多对多9)在 E-R 图中,用来表示实体的图形是A)矩形 B)椭圆形 C)菱形 D)三角形10)数据库 DB,数据库系统 DBS,数据库管理系统 DBMS 之间的关系是A)DB 包含 DBS 和 DBMS B)DBMS 包含 DB 和 DBSC)DBS 包含 DB 和 DBMS D)没有任何关系11)以下不合法的用户标识符是A)j2_KEY B)Double C) 4d D) _8_12)以下不合法的数值常量是A)011 B)lel C) 8.0 E0.5 D) 0xabcd13)以下不合法的字符常量是A)018 B ” C) D) xcc14)表达式3.6-5/2+1.2+5%
4、2的值是二级 C 语言程序设计试卷 2004 年 4 月 第 2 页,共 12 页A)4.3 B) 4.8 C) 3.3 D) 3.815)以下能正确定义字符串的语句是A)char str=064; B) char str=”x43”;C) char str=”; D) char str=”0”;16)以下数组定义中错误的是A) int x3=0; B) int x23=1,2,3,4,5,6;C) nt x3=1,2,3,4,5,6; D)int x23=1,2,3,4,5,6;17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc() B) gets() C) getchar(
5、) D) scanf()18) 下四个程序中,完全正确的是A)#include B)#includemain(); main()/*programming*/ /*/programming/*/printf(“programming!n”); printf(“programming!n”);C) #include D) includemain() main()/*/*programming*/*/ /*programming*/printf(“programming!n”); printf(“programming!n”);19)若有定义:float x=1.5; int a=1,b=3,c=
6、2;则正确的 switch 语句是A)switch(x) B) switch(int)x);case 1.0: printf(“*n”); case 1: printf(“*n”);Case 2.0: printf(“*n”); case 2: printf(“*n”);C) switch(a+b) D) switch(a+b) case 1: printf(“*n”); case 1: printf(*n”);case 2+1: printf(“*n”); case c: printf(“*n”);20)若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回一个函数值,以
7、下选项中错误的程序是A)main() B) float fun(int a,int b)x=fun(2,10); main()float fun(int a,int b) x=fun(i,j);C)float fun(int,int); D) main()main() float fun(int i,int j);x=fun(2,10); x=fun(i,j);float fun(int a,int b) float fun(int a,int b)21)在以下给出的表达式中,与 while(E)中的(E)不等价的表达式是A) (!E=0) B) (E0|Enext=r-next; p-nex
8、t=r; r-next=q;B) p-next=r; q-next=r-next; r-.next=q;C) q-next=r-next; r-next=q; p-next=r;D) r-next=q; p-next=r; q-next=r-next;26)有以下程序段struct st int x; int *y;*pt:int a=1,2,b=3,4;struct st c2=10,a,20,b;pt=c;以下选项中表达式的值为11的是A) *pt-y B) pt-x C) +pt-x D) (pt+)-x27)设 fp 为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp
9、)的返回值为A)EOF B)非0值 C) 0 D)NULL28)设有以下语句int a=1,b=2,c;c=a(b45678则输出结果是A)1267 B)1256 C) 1278 D)124530)若有以下程序main() int y=10;while(y- -); printf(“y=%dn”y);程序运行后的输出结果是A)y=0 B)y=-1 C) y=1 D)while 构成无限循环31)有以下程序main() int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(“%d,%d,%d,%dn”,a,b,c,d);程序输出A)0,1,2,0
10、 B) 0,0,0,3 C)1,1,2,0 D)编译有错32)有以下程序main() int i,j,x=0;for(i=0;ic,a+cb,b+ca。 请填空。二级 C 语言程序设计试卷 2004 年 4 月 第 9 页,共 12 页main()float a,b,c;scanf(“%f%f%f”,if(_7_)printf(“YESn”);/*a,b,c 能构成三角形*/else printf(“NOn”);/*a,b,c 不能构成三角形*/8)以下程序的输出结果是_8_main() int a33=1,2,9,3,4,8,5,6,7,i,s=0;for(i=0;i0) str2*i=st
11、ri; str2*i-1=*;i-;printf(“%sn”,str);main()char str40;scanf(“%s”,str ); insert(str);10)以下程序的运行结果是:_10_fun(int t,int n) int i,m;if(n=1) return t0;elseif(n=2) m=fun(t,n-1); return m;main()int a=11,4,6,3,8,2,3,5,9,2;printf(“%dn”,fun(a,10);11)现有两个 C 程序文件 T18.c 和 myfun.c 同时在 TC 系统目录(文件夹)下,其中 T18.c文件如下:#in
12、clude#include”myfun.c”main() fun(); printf(“n”); myfun.c 文件如下:二级 C 语言程序设计试卷 2004 年 4 月 第 10 页,共 12 页void fun() char s80,c; int n=0;while(c=getchar()!=n) sn+=c;n-;while(n=0) printf(“%c”,sn-);当编译连接通过后,运行程序 T18时,输入 Thank!则输出的结果是:_11 。12)以下函数 fun 的功能是返回 str 所指字符串中以形参 c 中字符开头的后续字符串的首地址,例如:str 所指字符串为 Hell
13、o!, c 中的字符为 e,则函数返回字符串:ello!的首地址。若 str 所指字符串为空串或不包含 c 中的字符,则函数返回 NULL。请填空。char *fun(char *str,char c) int n=0;char *p=str;if(p!=NULL)while(pn!=cif(pn=0 return NULL;return (_12_);13)以下程序的功能是:输出100以内(不含100)能被3整除且个位数为6的所有整数,请填空。main() int i,j;for(i=0;_13_;i+) j=i*10+6;if(_14_) continue;printf(“%d ”,j);14)以下 isprime 函数的功能是判断形参 a 是否为素数,是素数,函数返回1,否则返回0,请填空。int isprime(int a) int i;for(i=2;i=a/2;i+)if(a%i=0) _15_;_16_;15)以下程序的功能是输入任意整数给 n 后,输出 n 行由大写字母 A 开始构成的三角形字符阵列图形,例如,输入整数5时(注意:n 不得大于10) ,程序运行结果如下:A B C D EF G H IJ K LM NO请填空完成该程序。main()