⼀、选择题
  1.假设线性表的长度为n,则在最坏情况下,冒泡排序需要的⽐较次数为( )
A.log2n
B.n*n
C.O(n*1.5)
D.n(n-1)/2
  【参考答案】 D
  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-1
B.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++语⾔是以哪种语⾔为基础逐渐发展演变⽽成的⼀种程序设计语⾔( )
A.ASP
B.C
C.VB
D.Java
  【参考答案】 B
  12.能正确表⽰逻辑关系:“a≥10或a≤0”的C++语⾔表达式是( )
A.a>10 or a<=0
B.a>=0|a<=10
C.a>=10 && a<=0
D.a>=10‖a<=0
  【参考答案】 D
  13.若执⾏下⾯的程序时,从键盘上输⼊5和2,则输出结果是( )
  #include
  void main()
  { int a,b,k;
  cin>>a>>b;
  k=a;
  if(a
  k=a%b;
  else
  k=b%a;
    cout<
A.5
B.3
C.2
D.0
  【参考答案】 C
  14.若有说明语句
  char a[]″It is mine″;
  char *p=″It is mine″;
  则以下不正确的叙述是( )
  A.a+1表⽰的是字符t的地址
  B.p指向另外的字符串时,字符串长度不受限制
  C.p变量中存放的地址值可以改变
  D.a中只能存放10个字符
  【参考答案】 D
  15.下列程序是⽤来判断数组中特定元素的位置所在,则输出结果为( )
  #include
  int fun(int *s,int t,int *k)
  {int i;
  *k=0;
  for(i=0;i
  if(s[*k]
  return s[*k];}
  void main()
  {int a[10]={876,675,896,101,301,401,980,431,451,777},k;
  fun(a,10,&k);
  cout<
A.7,431
B.6
C.980
D.6,980
  【参考答案】 D
  16.关于this指针的说明不正确的是( )
  A.不能在程序中修改this指针
  B.this指针可以给其他指针赋值,但不能修改this指针
  C.静态成员函数中没有this指针
  D.this指针可以被赋值
  【参考答案】 D
  17.关于虚函数下⾯说的正确的是( )
  A.若在重定义虚函数时使⽤了virtual,则该重定义函数还是虚函数
  B.虚函数不能声明为友元
  C.⼦类必须重定义⽗类的虚函数
  D.虚函数不能是static的
  【参考答案】 D
  18.要想使23.78965421的输出为23.7887应⽤的语句是( )
  【参考答案】 C
  19.有以下程序
  #include
  float fun(int x,int y)
  { return(x+y);}
  void main()
  { int a=2,b=5,c=8;
  程序运⾏后的输出结果是( )
A.编译出错
B.9
C.21
D.9.0
  【参考答案】 B
  20.C++中,封装是借助于什么达到的?( )
A.结构
B.类
C.数组
D.函数
  【参考答案】 B
  21.有如下程序
  #include
  #define N 2
  #define M N+1
  #define NUM 2*M+1
  void main()
  {int i;
  for(i=1;i<=NUM;i++)
    cout<
  该程序中的for循环执⾏的次数是( )
A.5
B.6
C.7
D.8
  【参考答案】 B
  22.所有在函数中定义的变量,连同形式参数,都属于( )
A.全局变量
B.局部变量
C.静态变量
D.寄存器变量
  【参考答案】 B
  23.下列关于C++关键字的说法中正确的是( )
  A.关键字是⽤户为程序中各种需要命名的“元素”所起的名字
  B.关键字是对程序中的数据进⾏操作的⼀类单词
  C.关键字是在程序中起分割内容和界定范围作⽤的⼀类单词
  D.关键字是C++中预先定义并实现⼀定功能的⼀类单词
  【参考答案】 D
  24.C++语⾔中运算对象必须是整型的运算符是( )
A.%=
B./
C.=
D.<=
  【参考答案】 A
  25.有如下程序段
  #include
  void main()
  {int a=14,b=15,x;
  char c=′A′;
  x=(a&&b)&&(c
  cout<
  执⾏该程序段后,x的值为( )
A.ture
B.false
C.0
D.1
  【参考答案】 D
  26.如下程序的执⾏结果是( )
  #include
  void main()
  { static int a[]={1,7,3,9,5,11};
  int *p=a;
  *(p+3)+=4;
  cout<
A.1,13
B.1,16
C.3,13
D.1,14
  【参考答案】 A
  27.下列程序的输出结果是( )
  #include
  void main()
  {double d=3.2;
  int x,y;
  x=1.2;
  y=(x+3.8)/5.0;
  cout<
A.3
B.3.2
C.0
D.3.07
  【参考答案】 C
  28.C++中类的定义的结束声明的符号是( )
A.}
B.,
C.;
D.{
  【参考答案】 C
  29.下列描述中错误的是( )
  A.析构函数可以被继承
  B.虚函数不能被继承
  C.派⽣类可以有多个基类
  D.纯虚基类的⼦类可以是虚基类
  【参考答案】 B
  30.下⾯关于成员函数重载运算符和友元函数重载运算符相同的是( )
  A.成员函数和友元函数可重载的运算符是不相同的
  B.成员函数和友元函数重载运算符时都需要⽤到this指针

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。