全国计算机二级C语言历年考试 - 真题1 联系客服

发布时间 : 星期一 文章全国计算机二级C语言历年考试 - 真题1更新完毕开始阅读

struct A f(struct A t)

( t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;return t; ) 程序运行后的输出结果是

A)1001,ZhangDa,1098.0 C)1001,ChangRong,1098.0 B)1001,ZhangDa,1202.0 D)1001,ChangRong,1202.0 (39)若有以下程序段

int r=8;

printf(“%d\\n”,r>>1);

输出结果是A)16 B)8 C)4 D)2 (40)下列关于C语言文件的叙述中正确的是

A)文件由一系列数据依次排列组成,只能构成二进制文件 B)文件由结构序列组成,可以构成二进制文件或文本文件 C)文件由数据序列组成,可以构成二进制文件或文本文件 D)文件由字符序列组成,其类型只能是文本文件

二、填空题(每空2分,共30分)(1)某二叉树有5个度为2的结点以及3个度为1的结点,则该二叉树中共有 【1】 个结点。(2)程序流程图中的菱形框表示的是 【2】 (3)软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中 【3】 阶段产生“软件需求规格说明书。(4)在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 【4】 。(5)人员基本信息一般包括:身份证号,姓名,性别,年龄等。其中可以作为主关键字的是 【5】 。(6)若有定义语句:int a=5;,则表达式:a++的值是 【6】 。(7)若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值为 【7】 。(8)以下程序运行后的输出结果是 【8】 。

#include main() { int x=20;

printf(“%d”,0

printf(“%d\\n”,01);

printf(“%d\\n”,a);}(10)有以下程序 #include main()

{ int f,f1,f2,i; f1=0;f2=1;

printf(“%d %d”,f1,f2); for(i=3;i<=5;i++)

{ f=f1+f2; printf(“%d”,f); f1=f2; f2=f; }

printf(“\\n”);

}程序运行后的输出结果是 【10】 。(11)有以下程序 #include int a=5; void fun(int b) { int a=10;

a+=b;printf(“%d”,a); } main() { int c=20;

fun(c);a+=c;printf(“%d\\n”,a);

}程序运行后的输出结果是 【11】 。(12)设有定义: struct person

{ int ID;char name[12];}p;

请将scanf(“%d”, 【12】 );语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。(13)有以下程序

#include main()

{ char a[20]=”How are you?”,b[20]; scanf(“%s”,b);printf(“%s %s\\n”,a,b);

}程序运行时从键盘输入:How are you?<回车>则输出结果为 【13】 。 (14)有以下程序 #include typedef struct

{ int num;double s}REC;

void fun1( REC x ){x.num=23;x.s=88.5;} main()

{ REC a={16,90.0 }; fun1(a);

printf(“%d\\n”,a.num);

}程序运行后的输出结果是 【14】 。(15)有以下程序 #include fun(int x)

{ if(x/2>0) run(x/2); printf(“%d ”,x); } main()

{ fun(6);printf(“\\n”); } 程序运行后的输出结果是 【15】 。

2009年3月二级C语言笔试真题及答案

(1)下列叙述中正确的是 A)栈是“先进先出”的线性表B)队列是“先进先出”的线性表C)循环队列是非线性结构D)有序性表既可以采用顺序存储结构,也可以采用链式存储结构 (2)支持子程序调用的数据结构是 A)栈 B)树 C)队列 D)二叉树 (3)某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是 A)10 B)8 C)6 D)4 (4)下列排序方法中,最坏情况下比较次数最少的是 A)冒泡排序B)简单选择排序C)直接插入排序D)堆排序 (5)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是A)编译软件B)操作系统C)教务管理系统D)汇编程序 (6)下面叙述中错误的是 A)软件测试的目的是发现错误并改正错误 B)对被调试的程序进行“错误定位”是程序调试的必要步骤 C)程序调试通常也称为Debug D)软件测试应严格执行测试计划,排除测试的随意性 (7)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性 C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D)内聚性是指模块间互相连接的紧密程度 (8)数据库应用系统中的核心问题是 A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训 (9)有两个关系R,S如下: R 由关系R通过运算得到关系S,则所使用的运算为A)B A B C A 选择 B)投影 C)插入 D)连接 3 a 3 2 a (10)将E-R图转换为关系模式时,实体和联系都可0 b 0 1 b 以表示为A)属性 B)键 C)关系 D)域 2 c 2 1 c (11)以下选项中合法的标识符是A) 1-1 B)1—1 C)-11 D)1-- (12)若函数中有定义语句:int k;,则 A)系统将自动给k赋初值0 B)这时k中值无定义 C)系统将自动给k赋初值-1 D)这时k中无任何值 (13)以下选项中,能用作数据常量的是 A)o115 B) 0118 C)1.5e1.5 D) 115L

(14)设有定义:int x=2;,以下表达式中,值不为6的是 A) x*=x+1 B) x++,2*x C)x*=(1+x)D)2*x,x+=2 (15)程序段:int x=12;

double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是 A)123.141593 B)123.141593 C)12,3.141593 D)123.141593

(16)若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是A)scanf(“%f%f”,x,y);B) scanf(“%f%f”,&x,&y); C) scanf(“%lf%le”,px,py);D) scanf(“%lf%lf”,x,y); (17)以下是if语句的基本形式: if(表达式)语句;其中“表达式”

A)必须是逻辑表达式B)必须是关系表达式

C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式 (18)有以下程序 #include main() {int x;

scanf(“%d”,&x); if(x<=3); else if(x!=10)

printf(“%d\\n”,x);

}程序运行时,输入的值在哪个范围才会有输出结果

A)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数 (19)有以下程序 #include Main() {

int a=1,b=2,c=3,d=0; if(a= =1 &&b++= =2) if(b!=2 || c--!=3)

printf(“%d,%d,%d\\n”,a,b,c);

else printf(“%d,%d,%d\\n”,a,b,c); else printf(“%d,%d,%d\\n”,a,b,c); }

程序运行后的输出结果是A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,1 (20)以下程序中的变量已正确定义 for(i=0;i<4;i++,i++

for(k=1;k<3;k++);printf(*”);

程序段的输出结果是A)******** B)**** C)** D)* (21)有以下程序 #include main() {char