1 、【
单选题
】
下列叙述中正确的是
[2分]
、
线性表是线性结构
、
栈与队列是非线性结构
、
线性链表是非线性结构
、
二叉树是线性结构
答案:
2 、【
单选题
】
非空的循环单链表head的尾结点(由p所指向),满足
[2分]
、
p->next==NULL
、
p==NULL
、
p->next=head
、
p=head
答案:
3 、【
单选题
】
已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是
[2分]
、
堆排序
、
直接插入排序
、
快速排序
、
直接选择排序
答案:
4 、【
单选题
】
对建立良好的程序设计风格,下面描述正确的是
[2分]
、
程序应简单、清晰、可读性好
、
符号名的命名只要符合语法
、
充分考虑程序的执行效率
、
程序的注释可有可无
答案:
5 、【
单选题
】
下列不属于结构化分析的常用工具的是
[2分]
、
数据流图
、
数据字典
、
判定树
、
PAD图
答案:
6 、【
单选题
】
在软件生产过程中,需求信息的给出是
[2分]
、
程序员
、
项目管理者
、
软件分析设计人员
、
软件用户
答案:
7 、【
单选题
】
下列工具中为需求分析常用工具的是
[2分]
答案:
8 、【
单选题
】
NULL是指
[2分]
、
0
、
空格
、
未知的值或无任何值
、
空字符串
答案:
9 、【
单选题
】
数据库的故障恢复一般是由
[2分]
、
数据流图完成的
、
数据字典完成的
、
DBA完成的
、
PAD图完成的
答案:
10 、【
单选题
】
下列说法中,不属于数据模型所描述的内容的是
[2分]
、
数据结构
、
数据操作
、
数据查询
、
数据约束
答案:
11 、【
单选题
】
面向对象程序设计思想的主要特征中不包括
[2分]
、
继承性
、
功能分解,逐步求精
、
封装性和信息隐藏
、
多态性
答案:
12 、【
单选题
】
C++语言是以哪种语言为基础逐渐发展演变而成的一种程序设计语言
[2分]
答案:
13 、【
单选题
】
设变量a是int型,f是double型,i是float型,则表达式10+′a′+ i * f值的数据类型
[2分]
、
int
、
float
、
double
、
不确定
答案:
14 、【
单选题
】
能正确表示逻辑关系:"a≥10或a≤0"的C++语言表达式是
[2分]
、
a>=10 or a<=0
、
a>=0|a<=10
、
a>=10 && a<=0
、
a>=10‖a<=0
答案:
15 、【
单选题
】
以下程序的输出结果是
#include<iostream.h>
void main()
{ int i,j,x=0;
for(i=0;i<2;i++)
{ x++;
for(j=0;j<3;j++)
{ if(j%2)continue;
x++;}
x++;}
cout << "x=" << x;}
[2分]
答案:
16 、【
单选题
】
若执行下面的程序时,从键盘上输入5和2,则输出结果是
#include<iostream.h>
void main()
{ int a,b,k;
cin >> a >> b;
k=a;
if(a<b)
k=a%b;
else
k=b%a;
cout << k << endl;}
[2分]
答案:
17 、【
单选题
】
有以下程序
#include <string.h>
#include <iostream.h>
void main()
{ char *p="abcde\0fghjik\0 ";
cout << strlen(p);}
程序运行后的输出结果是
[2分]
答案:
18 、【
单选题
】
若有说明语句
char a[]="It is mine";
char *p="It is mine";
则以下不正确的叙述是
[2分]
、
a+1表示的是字符t的地址
、
p指向另外的字符串时,字符串的长度不受限制
、
p变量中存放的地址值可以改变
、
a中只能存放10个字符
答案:
19 、【
单选题
】
以下程序的运行结果是
#include<iostream.h>
void sub(int x,int y,int *z)
{ *z=y-x;}
void main()
{ int a,b,c;
sub(10,5,&a);
sub(7,a,&b);
sub(a,b,&c);
cout << a <<","<< b<<"," << c << endl;}
[2分]
、
5,2,3
、
-5,-12,-7
、
-5,-12,-17
、
5,-2,-7
答案:
20 、【
单选题
】
下列程序是用来判断数组中特定元素的位置所在,则输出结果为
#include <conio.h>
#include <iostream.h>
int fun(int *s, int t, int *k)
{ int i;
*k=0;
for(i=0;i<t;i++)
if(s[*k]<s[i])*k=i;
return s[*k];}
void main()
{ int a[10]={ 876,675,896,101,301,401,980,431,451,777},k;
fun(a, 10, &k);
cout << k <<′,′ << a[k];}
[2分]
、
7,431
、
6
、
980
、
6,980
答案:
21 、【
单选题
】
执行下列程序段,结果是
#include<iostream.h>
void main()
{ int x=40;
char y=′C′;
int n;
n=(x&0xff)&&(y>′B′);
cout << n;}
[2分]
答案:
22 、【
单选题
】
关于this指针的说明不正确的是
[2分]
、
不能在程序中修改this指针
、
this指针可以给其他指针赋值,但不能修改this指针
、
静态成员函数中没有this指针
、
this指针可以被赋值
答案:
23 、【
单选题
】
下面程序的结果是
#include<iostream.h>
class A
{ public:
A(){cout << "construtA" << endl;}
virtual ~A(){cout << "destructA" << endl;}};
class B : public A
{ };
class C : public A
{ };
class D : public B,public C
{ };
void main()
{D d;}
[2分]
、
constructA
destructA
、
constructA
constructA
destructA
destructA
、
constructA
constructA
constructA
destructA
destructA
destructA
、
constructA
constructA
constructA
constructA
destructA
destructA
destructA
destructA
答案:
24 、【
单选题
】
关于虚函数下面说的正确的是
[2分]
、
若在重定义虚函数时使用了virtual,则该重定义函数还是虚函数
、
虚函数不能声明为友元
、
子类必须重定义父类的虚函数
、
虚函数不能是static的
答案:
25 、【
单选题
】
如果表达式++x/y中,++是作为友元函数重载的,/是作为成员函数重载的,则该表达式还可为
[2分]
、
(operator++(x)).operator/(y)
、
(operator++(0)).operator/(y)
、
operator/((operator++(x,0)),y)
、
operator/((operator++(0)),y)
答案:
26 、【
单选题
】
要想使23.78965421的输出为23.7887应用的语句是
[2分]
、
cout << 23.78965421;
、
cout << fixed << 23.78965421;
、
cout << 23.78965421 -0.001;
、
cout << fixed << 23.78965421 - 0.001;
答案:
27 、【
单选题
】
有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)
int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
[2分]
、
a[p-a]
、
*(&a[i])
、
p[i]
、
*(*(a+i))
答案:
28 、【
单选题
】
有以下程序
#include<iostream.h>
float fun(int x,int y)
{ return(x+y); }
void main()
{ int a=2,b=5,c=8;
cout << fun((int)fun(a+c,b),a-c);}
程序运行后的输出结果是
[2分]
答案:
29 、【
单选题
】
下列程序的运行结果是
#include <iostream.h>
class Location {
private:
int X, Y;
public:
void init(int=0, int=0);
void valueX( int val ){X=val;}
int valueX(){ return X;}
void valueY(int val){Y=val;}
int valueY( ){return Y;}};
void Location::init(int initX, int initY)
{ X=initX;
Y=initY;}
void main( )
{ Location A,B;
[2分]
、
init( );
、
init(6,2);
、
5
0
6
2
、
0
0
6
2
答案:
30 、【
单选题
】
在C++语言中,封装是借助于什么达到的?
[2分]
答案:
31 、【
单选题
】
在位运算中,操作数每左移一位,其结果相当于
[2分]
、
操作数乘以2
、
操作数除以2
、
操作数除以4
、
操作数乘以4
答案:
32 、【
单选题
】
有如下程序
#include<iostream.h>
#define N 2
#define M N+1
#define NUM 2*M+1
void main()
{ int i;
for(i=1;i<=NUM;i++)
cout << i;}
该程序中的for循环执行的次数是
[2分]
答案:
33 、【
单选题
】
下列程序的输出结果是
#include<iostream.h>
int b=2;
int func(int *a)
{ b += *a; return(b);}
void main()
{ int a=2, res=2;
res += func(&a);
cout << res;}
[2分]
答案:
34 、【
单选题
】
所有在函数中定义的变量,连同形式参数,都属于
[2分]
、
全局变量
、
局部变量
、
静态变量
、
寄存器变量
答案:
35 、【
单选题
】
有如下程序:
#include<iostream.h>
long fib(int n)
{ if(n>2)return(fib(n-1)+fib(n-2));
else return (2);}
void main()
{ cout << fib (3);}
该程序的输出结果是
[2分]
答案:
36 、【
填空题
】
冒泡排序算法在最好的情况下的元素交换次数为
。
[每空2分]
答案:
[""]
37 、【
填空题
】
在最坏情况下,堆排序需要比较的次数为
。
[每空2分]
答案:
[""]
38 、【
填空题
】
若串s="MathTypes",则其子串的数目是
。
[每空2分]
答案:
[""]
39 、【
填空题
】
软件开发环境是全面支持软件开发全过程的
集合。
[每空2分]
答案:
[""]
40 、【
填空题
】
关系数据库的关系演算语言是以
为基础的DML语言。
[每空2分]
答案:
[""]