历年二级C语言笔试真题及答案
( t.a=1002;strcpy(t.b,”ChangRong”);t.c
=1202.0;return t; ) 程序运行后的输
出结果是
A)1001,ZhangDa,1098.0 B)1001,ZhangDa,1202.0 C)
1001,ChangRong,1098.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 <stdio.h>
main()
{ int x=20;
printf(“%d”,0<x<20);
printf(“%d\n”,0<x&&x<20); }
9)以下程序运行后的输出结果是【9】。
#include <stdio.h>
main()
{ int a=1,b=7;
do {
b=b/2;a+=b;
} while (b>1);
printf(“%d\n”,a);}
10)有以下程序
#include <stdio.h>
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 <stdio.h>
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 <stdio.h>
main()
{ char a[20]=”How are you?”,b[20];
scanf(“%s”,b);printf(“%s %s\n”,a,b);
} 程序运行时从键盘输入:How are
you?<回车> 则输出结果为【13】。
14)有以下程序
#include <stdio.h>
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 <stdio.h>
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
A B C
3