笔试部分
一、选择题
1.对下面程序描述正确的一项是(每行程序前面的数字表示行号)( )
① main()
② {
③ float a[3]={0.0};
④ int i;
⑤ for(i=0;i<3;i++)scanf(″%d″,&a[i]);
⑥ for(i=1;i<3;i++)a[0]=a[0]+a[i];
⑦ printf(″%f\n″,a[0]);
⑧ }
A.没有错误 B.第3行有错误 C.第5行有错误 D.第7行有错误
【参考答案】C
2.线性表L=(a1,a2,a3…ai,…an),下列说法正确的是( )
A.每个元素都有一个直接前件和直接后件
B.线性表中至少有一个元素
C.表中诸元素的排列顺序必须是由小到大或由大到小
D.除第一个元素和最后一个元素外,其余每个元素都有一个且只有一个直接前件和直接后件
【参考答案】D
3.软件工程的出现是由于( )
A.程序设计方法学的影响 B.软件产业化的需要
C.软件危机的出现 D.计算机的发展
【参考答案】C
4.在数据流图(DFD)中,带有名字的箭头表示( )
A.模块之间的调用关系 B.程序的组成成分
C.控制程序的执行顺序 D.数据的流向
【参考答案】D
5.关系表中的每一横行称为一个( )
A.元组 B.字段 C.属性 D.码
【参考答案】A
6.循环链表的主要优点是( )
A.不再需要头指针了
B.从表中任一结点出发都能访问到整个链表
C.在进行插入、删除运算时,能更好的保证链表不断开
D.已知某个结点的位置后,能够容易的找到它的直接前
【参考答案】B
7.n个顶点的强连通图的边数至少有( )
A.n-1B.n(n-1) C.n D.n+1
【参考答案】C
8.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的( )
A.抽象和信息隐蔽 B.局部化和封装化
C.内聚性和耦合性 D.激活机制和控制方法
【参考答案】C
9.在软件工程中,白箱测试法可用于测试程序的内部结构。此方法将程序看做是( )
A.路径的集合 B.循环的集合
C.目标的集合 D.地址的集合
【参考答案】A
10.数据库设计包括两个方面的设计内容,它们是( )
A.概念设计和逻辑设计
B.模式设计和内模式设计
C.内模式设计和物理设计
D.结构特性设计和行为特性设计
【参考答案】A
11.C语言中用于结构化程序设计的3种基本结构是( )
A.顺序结构、选择结构、循环结构
B.if,switch,break
C.for,while,do-while
D.if,for,continue
【参考答案】A
12.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )
A.a:=b+1 B.a=b=c+2 C.int 18.5%3 D.a=a+7=c+b
【参考答案】B
13.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )
A.a==1 B.++i;
C.a=a++=5; D.a=int(i);
【参考答案】B
14.有如下程序
main()
{
int x=1,a=0,b=0;
switch(x)
{
case 0:b++;
case 1:a++;
case 2:a++;b++;
}
printf(″a=%d,b=%d\n″,a,b);
}
该程序的输出结果是( )
A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2
【参考答案】A
15.有如下程序
main()
{ int n=9;
while(n>6){n--;printf(″%d″,n);}
}
该程序的输出结果是( )
A.987 B.876 C.8765 D.9876
【参考答案】B
16.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )
A.函数调用可以作为独立的语句存在
B.函数调用可以作为一个函数的实参
C.函数调用可以出现在表达式中
D.函数调用可以作为一个函数的形参
【参考答案】D
17.若有以下调用语句,则不正确的fun函数的首部是( )
main()
{ …
int a[50],n;
…
fun(n,&a[9]);
…
}
A.void fun(int m,int x[ ])
B.void fun(int s,int h[41])
C.void fun(int p,int *s)
D.void fun(int n,int a)
【参考答案】D
18.若运行时给变量x输入12,则以下程序的运行结果是( )
main()
{ int x,y;
scanf(″%d″,&x);
y=x>12?x+10:x-12;
printf(″%d\n″,y);
}
A.0 B.22 C.12 D.10
【参考答案】A
19.有以下程序
#define F(X,Y) (X)*(Y)
main()
{ int a=3,b=4;
printf(″%d\n″,F(a++,b++));
}
程序运行后的输出结果是( )
A.12 B.15 C.16 D.20
【参考答案】A
20.若有下面的程序段
char s[ ]=″china″;char *p;p=s;
则下列叙述正确的是( )
A.s和p完全相同
B.数组s中的内容和指针变量p中的内容相等
C.s数组长度和p所指向的字符串长度相等
D.*p与s[0]相等
【参考答案】D
21.以下程序的运行结果是( )
#include ″stdio.h″
main()
{ struct date
{int year,month,day;}today;
printf(″%d\n″,sizeof(struct date));
}
A.6 B.8 C.10 D.12
【参考答案】A
22.下列关于C语言数据文件的叙述中正确的是( )
A.文件由ASCII码字符序列组成,C语言只能读写文本文件
B.文件由二进制数据序列组成,C语言只能读写二进制文件
C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
【参考答案】D
23.一个C语言程序是由( )
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
【参考答案】B
24.以下不正确的叙述是( )
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值
【参考答案】D
25.下面程序的运行结果是( )
#include <stdio.h>
main()
{ int y=10;
do{y--;}while(--y);
printf(″%d\n″,y--);
}
A.-1 B.1 C.8 D.0
【参考答案】D
26.有如下程序
int a[10]={1,2,3,4,5,6,7,8,9,10};
int *p=&a[3],b;b=p[5];
则b的值是( )
A.5 B.6 C.9 D.8
【参考答案】C
27.下列程序的输出结果是( )
int b=2;
int func(int *a)
{ b+=*a;return(b);}
main()
{ int a=2,res=2;
res+=func(&a);
printf(″%d\n″,res);
A.4 B.6 C.8 D.10
【参考答案】B
28.若已定义
int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i;
其中0≤i≤9,则对a数组元素不正确的引用是( )
A.a[p-a] B.*(&a[i]) C.p[i] D.a[10]
【参考答案】D
29.若有以下程序
#include <stdio.h>
int a[ ]={2,4,6,8};
main()
{ int i;
int *p=a;
for(i=0;i<4;i++)a[i]=*p;
printf(″%d\n″,a[2]);
}
上面程序输出结果是( )
A.6 B.8 C.4 D.2
【参考答案】D