main()
{ int k[10]={1,2,3,4,5,6,7,8,9,10}, i; fun(k,5);
for(i=2; i<8; i++) printf(\printf(\
} 程序的运行结果是( )。 A)345678 B)876543 C)1098765 D)321678 (35)有以下程序 #include
void fun(int a[][N], int b[]) { int i;
for(i=0; i { int x[][N]={{1,2,3),{4),{5,6,7,8),{9,10}},y[N], i; fun(x,y); for (i=0; i } 程序的运行结果是( )。 A)l,2,3,4, B)1,0,7,0, C)1,4,5,9, D)3,4,8,10, (36)有以下程序 #include int fun(int (*s)[4],int n, int k) { int m, i; m=s[0][k]; for(i=l; i { int a[4][4]={{1,2,3,4),{11,12,13,14},{2l,22,23,24},{31,32,33,34}}; printf(\ }程序的运行结果是( )。A)4 B)34 C)31 D)32 (37)有以下程序 #include { struct STU { char name[9]; char sex; double score[2]; }; struct STU a={\printf(\ } 程序的运行结果是( )。 A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,f,95,92 D)Zhao,m,85,90 (38)假定已建立以下链表结构,且指针p 和q 已指向如图所示的结点: head a b c data next ↑p ↑q 则以下选项中可将q 所指结点从链表中删除并释放该结点的语句组是( )。 A)(*p).next=(*q).next; free(p); B)p=q->next; free(q); C)p=q; free(q); D)p->next=q->next; free(q); (39)有以下程序 #include printf(\ } 程序的运行结果是( )。A)40 B)16 C)8 D)4 (40)有以下程序 #include char *s1=\pf=fopen(\fwrite(s2,7,l,pf); rewind(pf); fwrite(s1,5,1,pf); fclose(pf); } 以上程序执行后abc.dat 文件的内容是( )。 A)China B)Chinang C)ChinaBeijing D)BeijingChina 二、填空题(每空2 分,共30 分) 1)对下列二叉树进行中序遍历的结果 【1】 。 A B C D E F X Y Z (2)按照软件测试的一般步骤,集成测试应在 【2】 测试之后进行。 (3)软件工程三要素包括方法、工具和过程,其中, 【3】 支持软件开发的各个环节的控制和管理。 (4)数据库设计包括概念设计、 【4】 和物理设计。 (5)在二维表中,元组的 【5】 不能再分成更小的数据项。 (6)设变量a 和b 已正确定义并赋初值。请写出与a-=a+b 等价的赋值表达式 【6】 。 (7)若整型变量a 和b 中的值分别为7 和9,要求按以下格式输出a 和b 的值: a=7 b=9 请完成输出语句:printf (\【7】 \。 (8)以下程序的输出结果是 【8】 。 #include { int i,j,sum; for(i=3;i>=1;i--) { sum=0; for(j=1;j<=i;j++) sum+=i*j;} printf(\ (9)以下程序的输出结果是 【9】 。 #include { int j, a[]={1,3,5,7,9,11,13,15},*p=a+5; for(j=3; j; j--) { switch(j) { case 1: case 2: printf(\case 3: printf(\}}} (10)以下程序的输出结果是 【10】 。 #include int fun(int *s, int a, int n) { int j; *s=a; j=n; while(a!=s[j])j--; return j; } main() { int s[N+1]; int k; for(k=l; k<=N; k++) s[k]=k+l; printf(\ (11)以下程序的输出结果是 【11】 。 #include for(i=l;i<=5;i++) s=fun(i); printf(\ (12)以下程序按下面指定的数据给x 数组的下三角置数,并按如下形式输出,请填空。 4 3 7 2 6 9 1 5 8 10 #include { int x[4][4],n=0,i,j; for(j=0;j<4;j++) for(i=3;i>=j; 【12】 ) {n++;x[i][j]= 【13】 ;} for(i=0;i<4;i++) { for(j=0;j<=i;j++) printf(\printf(\ 13)以下程序的功能是:通过函数func 输入字符并统计输入字符的个数。输入时用字符@作为输入结束标志。请填空。 #include n=func(); printf(\} long func() { long m; for( m=0; getchar()!='@'; 【15】 ); retum m;} 2008年4月二级C语言笔试真题及答案 一、 选择题(共70分) (1)程序流程图中指有箭头的线段表示的是A)图元关系 B)数据流 C)控制流 D)调用关系 (2)结构化程序设计的基本原则不包括 A)多态性 B)自顶向下 C)模块化 D)逐步求精 (3)软件设计中模块划分应遵循的准则是A)低内聚低耦合 B)高内聚低耦合C)低内聚高耦合 D)高内聚高耦合 (4)在软件开发中,需求分析阶段产生的主要文档是 A)可行性分析报告 B)软件需求规格说明书C)概要设计说明书 D)集成测试计划 (5)算法的有穷性是指 A)算法程序的运行时间是有限的 B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的 D)算法只能被有限的用户使用 (6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是 A)快速排序 B)冒泡排序C)直接插入排序 D)堆排序 (7)下列关于栈的叙述正确的是 A)栈按“先进先出”组织数据 B)栈按“先进后出”组织数据 C)只能在栈底插入数据 D)不能删除数据 (8)在数据库设计中,将E-R图转换成关系数据模型的过程属于[C] A)需求分析阶段 B)概念设计阶段 C)逻辑设计阶段 D)物理设计阶段 (9)有三个关系R、S和T如下: T B C D a 0 k1 R S B C D a 0 k1 b 1 n1 B C D f 3 h2 a 0 k1 n 2 x1 有关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交 (10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为 A)课号,成绩 B)学号,成绩 C)学号,课号 D) 学号,姓名,成绩 (11)以下叙述中正确的是 A)C程序中的注释只能出现在程序的开始位置和语句的后面 B)C程序书写格式严格,要求一行内只能写一个语句 C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中 (12)以下选项中不合法的标识符是 A)print B)FOR C)&a D)_00 (13)以下选项中不属于字符常量的是 A)'C' B)\ (14)设变量已正确定义并赋值,以下正确的表达式是 A)x=y*5=x+z B)int(15.8%5)C)x=y+z+5,++y D)x=25%5.0 (15)以下定义语句中正确的是 A)int a=b=0 ; B)char A=65+1,b='b'; C)float a=1,*b=&a,*c=&b ; D)double a=0.0,b=1.1;
相关推荐: