A)0 0 B)123 45 C)1 4 D)1 2 二、填空题(每空2分,共40分)
请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。
(1)数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的
阶段是 【1】 。答案:数据库系统
(2)算法复杂度主要包括时间复杂度和 【2】 复杂度。答案:空间
(3)在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。
其中 【3】 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 答案:驱动模块
(4)一棵二叉树第六层(根结点为第一层)的结点数最多为 【4】 个。答案:32 (5)数据结构分为逻辑结构和存储结构,循环队列属于 【5】 结构。答案:存储结构 (6)以下程序运行后的输出结果是 【6】 。答案:88 main()
{ int x=0210; printf(\ }
(7)以下程序运行后的输出结果是 【7】 。答案:1 main()
{ int a=1,b=2,c=3;
if(c=a) printf(\ else printf(\ }
(8)已有定义:double *p;,请写出完整的语句,利用malloc函数使p指向一个双精度型 态存储单元 【8】 。答案:p=(double * ) malloc (sizeof(double)) (9)以下程序运行后的输出结果是 【9】 。答案:2 20 main()
{ char c; int n=100; float f=10; double x; x=f*=n/=(c=50);
printf(\ }
(10)以下程序的功能是计算:s=1+12+123+1234+12345。请填空。答案:t*10 main()
{ int t=0,s=0,i;
for( i=1; i<=5; i++)
{ t=i+ 【10】 ; s=s+t; } printf(\ }
(11)已知字母A的ASCII码为65。以下程序运行后的输出结果是 【11】 。答案:67 G main()
{ char a, b;
a='A'+'5'-'3'; b=a+'6'-'2' ; printf(\ }
(12)有以下程序
int sub(int n) { return (n/10+n); } main()
{ int x,y;
的动
scanf(\ y=sub(sub(sub(x))); printf(\}
若运行时输入:1234<回车>,程序的输出结果是 【12】 。答案:10
(13)以下函数sstrcat()的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。
例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。*t
# include
void sstrcat(char *s, char *t) { int n;
n= strlen(s);
while (*(s+n)= 【13】 ){s++; t++;} }
(14)以下程序运行后的输出结果是 【14】 。答案:bcdefgha #include
while(*p) { *(p-1) = *p; p++;} *(p-1)=t; return s; }
main()
{ char *p, str[10]=\ p = ss(str) ; printf(\ }
(15)以下程序运行后的输出结果是 【15】 。答案:15 int f(int a[], int n)
{ if (n >= 1) return f(a, n-1)+a[n-1]; else return 0; }
main()
{ int aa[5]={1,2,3,4,5}, s;
s=f(aa, 5); printf(\ }
(16)以下程序运行后的输出结果是 【16】 。答案:5 struct NODE
{ int num; struct NODE *next; } ; main()
{ struct NODE s[3]={{1, '\\0'},{2, '\\0'},{3, '\\0'}}, *p, *q, *r; int sum=0;
s[0].next=s+1; s[1].next=s+2; s[2].next=s; p=s; q=p->next; r=q->next;
sum+=q->next->num; sum+=r->next->next->num;
printf(\ }
(17)以下程序的功能是输出如下形式的方阵: 13 14 15 16 9 10 11 12 5 6 7 8 1 2 3 4
请填空。答案:>0和6 main()
{ int i,j,x;
for(j=4; j 【17】 ; j--) { for(i=1; i<=4; i++)
{ x=(j-1)*4 + 【18】 ; printf(\ }
printf(\ } }
(18)以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的
第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。
# define N 4
void rotate(int a[][N], int b[][N]) { int i, j;
for (i=0; i { b[i][N-1] = 【19】 ; 【20】 = a[N-1][i]; } }答案:a[0][i]和a[i] [0] 二级C语言2006年4月考试试卷 一、选择题 ((1)~(10)每小题 2 分 ,(11)~(50)每小题 1 分 , 共 60 分) 下列各题 A)、B)、C)、D)四个选项中, 只有一个选项是正确的。 01) 下列选项中不属于结构化程序设计方法的是 A)自顶向下 B)逐步求精 C)模块化 D)可复用 答案:D 02) 两个或两个以上模块之间关联的紧密程度称为 A)耦合度 B)内聚度 C)复杂度 D)数据传输特性 答案:A 03) 下列叙述中正确的是 A)软件测试应该由程序开发者来完成 B)程序经调试后一般不需要再测试 C)软件维护只包括对程序代码的维护 D)以上三种说法都不对 答案:D 04) 按照“后进先出”原则组织数据的数据结构是 A)队列 B)栈 C)双向链表 D)二叉树 答案:B 05) 下列叙述中正确的是 A)线性链表是线性表的链式存储结构 B)栈与队列是非线性结构 C)双向链表是非线性结构 D)只有根结点的二叉树是线性结构 答案:A 06) A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA 答案:D 07) 在深度为7的满二叉树中,叶子结点的个数为 A)32 B)31 C)64 D)63 答案:C 08) “商品”与“顾客”两个实体集之间的联系一般是 A)一对一 B)一对多 C)多对一 D)多对多 答案:D 09) 在E-R图中,用来表示实体的图形是 A)矩形 B)椭圆形 C)菱形 D)三角 答案:A 10) 数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是 A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB和DBMS D)没有任何关系 答案:C 11) 以下不合法的用户标识符是 A)j2_KEY B)Double C)4d D)_8_ 答案:C 12) 以下不合法的数值常量是 A)011 B)1e1 C)8.0E0.5 D)0xabed 答案:C 13) 以下不合法的字符常量是 A)'\\018' B)'\\\ 答案:A 14) 表达式3.6-5/2+1.2+5%2的值是 A)4.3 B)4.8 C)3.3 D)3.8 答案:D 15) 以下能正确定义字符串的语句是 A)char str[]={'\\064'}; B)char str=\ 答案:D 16) 以下数组定义中错误的是 A)int x[][3]={0}; B)int x[2][3]={{1,2},{3,4},{5,6}}; C)int x[][3]={{1,2,3},{4,5,6}}; D)int x[2][3]={1,2,3,4,5,6}; 答案:B 17) 若要求从键盘读入含有空格字符的字符串,应使用函数 A)getc() B)gets() C)getchar() D)scanf() 答案:B 18) 以下四个程序中,完全正确的是 A)#include {/*programming */ printf(\ B)#include {/*/programming/*/ printf(\ C)#include {/*/*programming */*/ printf(\ D)include {/*programming*/ printf(\ 答案:B 19) 若有定义:float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是 A)switch(x) {case 1.0: printf(\ case 2.0: printf(\ B)switch((int)x); {case l: printf(\ case 2: printf(\ C)switch(a+b) {case 1: printf(\ case 2+1: printf{\ D)switch(a+b) {case1: printf(\ case c: printf(\ 答案:C 20) 若各选项中所用变量己正确定义,函数fun中通过retuen语句返回一个函数值,以下选项中错误的程序是 A)main() { ?? x=fun(2,10); ??} float fun(int a,int b){??} B)float fun(int a,int b){??} main() { ?? x=fun(i,j); ??} C)float fun(int,int); main() { ?? x=fun(2,10); ??} float fun(int a,int b){??} D)main() {float fun(int i,int j); ?? x=fun(i,j); ??}