1、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。
A.编译程序
B.操作系统
C.教务管理系统
D.汇编程序
参考答案:C
参考解析: 编译软件、操作系统、汇编程序都属于系统软件,只有C教务管理系统才是应用软件。
2、设有定义:
int a=1,b=2,e=3;
以下语句中执行效果与其他三个不同的是( )。
A.if(a>b) c=a,a=b,b=c;
B.if(a>b) {e=a,a=b,b=e;}
C.if(a>b)e=a;a=b;b=C;
D.if(a>b) {c-7-a;a=b;b=e;}
参考答案:C
参考解析: 由于a小于b,所以所有选项中的条件都为假,c选项中实际执行了a=b;b=c;两个操作。而A、B、D选项由于条件不成立.所以什么也没有做,所以选择C选项。
3、若有以下定义:
则对x数组元素的正确引用是( )。
A.pt+3
B.*&x[10]
C.*(pt+10)
D.*(x+3)
参考答案:D
参考解析: 没有A选项的引用形式。*与&放在一起作用抵消,所以B选项错误,最大只能引用到x[9]。*(pt+i)表示引用指针pt所指元素后的第i个元素,所以c选项错误,最大只能为*(pt+9)。因此D选项正确。
4、若有定义语句:double a,* P=&a;以下叙述中错误的是( )。
A.定义语句中的*号是一个间址运算符
B.定义语句中的*号是一个说明符
C.定义语句中的P只能存放double类型变量的地址
D.定义语句中,*P=&a把变量a的地址作为初值赋给指针变量P
参考答案:A
参考解析: 在变量定义double a,* P=&a;中,*号是一个指针运算符,而非间址运算符,所以A错误。
5、若有定义语句:int x=10;,则表达式x-=x+x的值为( )。
A.0
B.-20
C.-10
D.10
参考答案:C
参考解析: 算术运算符+的优先级高于-=,且-=的结合方向为自右向左,所以表达式x-=x+x可以表示成x=x-(x+x)=10-(10+10)=-10,选择C。
6、下列排序方法中,最坏情况下比较次数最少的是( )。
A.冒泡排序
B.简单选择排序
C.直接插入排序
D.堆排序
参考答案:D
参考解析: 冒泡排序与筒单插入排序与简单选择排序法在最坏情况下均需要比较n(n-1)/2次,而堆排序在最坏情况下需要比较的次数是nlog2n。
7、以下叙述中错误的是( )。
A.使用三种基本结构构成的程序只能解决简单问题
B.结构化程序由顺序、分支、循环三种基本结构组成
C.C语言是一种结构化程序设计语言
D.结构化程序设计提倡模块化的设计方法
参考答案:A
参考解析: 使用顺序,选择(分支),循环三种基本结构构成的程序可以解决所有问题,而不只是解决简单问题,所以A错误。