一、选择题(每小题1分,共40分)
(1)数据的存储结构是指
A)存储在外存中的数据 B)数据所占的存储空间量
C)数据在计算机中的顺序存储方式 D)数据的逻辑结构中计算机中的表示
(2)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是
A)ABCED B)DBCEA C)CDABE D)DCBEA
(3)下列对于线性链表的描述中正确的是
A)存储空间不一定是连续,且各元素的存储顺序是任意的
B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面
C)存储空间必须连续,且前件元素一定存储在后件元素的前面
D)存储空间必须连续,且各元素的存储顺序是任意的
(4)在深度为5的满二叉树中,叶子结点的个数为
A)15 B)16 C)31 D)32
(5)在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送
A)调用语句 B)命令 C)口令 D)消息
(6)下列描述中正确的是
A)软件工程只是解决软件项目的管理问题
B)软件工程主要解决软件产品的生产率问题
C)软件工程的主要思想是强调在软件开发过程中需要应用工程化原则
D)软件工程只是解决软件开发中的技术问题
(7)需求分析阶段的任务是确定
A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能
(8)下列不属于结构化分析的常用工具的是
A)数据流图 B)数据字典 C)判定树 D)PAD图
(9)数据库设计的根本目标是要解决
A)数据共享问题 B)数据安全问题
C)大量数据存储问题 D)简化数据维护
(10)设有如下关系表:

下列操作中正确的是
A)T=R∩S B)T=R∪S C)T=R×S D)T=R/S
(11) 若变量已正确定义并赋值,下面符合C语言语法的表达式是
A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b
(12) C语言中运算对象必须是整型的运算符是
A) %= B) /= C) *= D) 〈=
(13) 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是
A) 1 B) 2 C) 2.0 D) 2.5
(14) 若变量a、iI已正确定义,且i已正确赋值,合法的语句是
A) a==1 B) ++i; C) a=a++=5; D) a=int(i);
(15)设有定义 int y=3,x=3,z=1;,则语句printf("%d %d\n",(++x,y++),z+2); 的输出结果是
A) 3 3 B) 3 4 C) 4 2 D) 4 3
(16) 能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是
A) a>=10 or a=0|a=10 &&a=10‖a0?1:x0) y=1; B) if(x)
else if(x0)y=1;
else y=0; else if(x=0)
if(x>0)y=1; if(x>0)y=1;
else if(x==0)y=0; else y=-1;
else y=-1;
(23) 有如下程序
int main()
{
float x=2.0,y;
if(x>1)的值是
A) 0 B) 2 C) 4 D) 8
(34) 设有定义 int a[50],n;,若有调用语句fun(n, &a[9]);,则不正确的fun函数的首部是
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)
(35) 设有定义 int a[5]={10,20,30,40,50},*p=&a[2]; ,则执行语句 *--p;后*p的值是
A) 19 B) 20 C) 29 D) 30
(36) 下列程序执行后的输出结果是
#define MA(x) x*(x-1)
int main()
{
int a=1,b=2;
printf("%d \n",MA(1+a+b));
return 0;
}
A) 6 B) 8 C) 10 D) 12
(37) 对于基类型相同的两个指针变量之间,不能进行的运算是
A) |