参考答案和解析
正确答案: D
解析:
数组的下标是从0到数组的长度减1。*(p+i)是取数组的
第i+1个元素,即下标为i的元素。因此*(p+7)取数组的第八个元素,即元素8
更多“有如下定义:int b[10]=1,2,3,4,5,6,7,8,9,10,*q=b;则数值为8的表达式是(  )。”相关问题
  • 第1题:

    单选题
    下列叙述中正确的是(  )。
    A

    循环队列是顺序存储结构

    B

    循环队列是链式存储结构

    C

    循环队列是非线性结构

    D

    循环队列的插入运算不会发生溢出现象


    正确答案: B
    解析:
    B项错误,循环队列是一种顺序存储结构的队列;C项错误,线性结构是一个非空序列:除第一个元素外,每个元素,有且只有一个前件;除最后一个元素外,每个元素有且只有一个后件,所以循环队列是线性结构;D项错误,当循环队列的元素个数等于存储长度后,入队会发生溢出现象,覆盖前面的数据。答案选择A选项。

  • 第2题:

    单选题
    下列关于类、对象、属性和方法的叙述中,错误的是(  )。
    A

    类是对一类具有相同的属性和方法对象的描述

    B

    属性用于描述对象的状态

    C

    方法用于表示对象的行为

    D

    基于同一个类产生的两个对象不可以分别设置自己的属性值


    正确答案: B
    解析:
    属性表示对象的状态,方法表示对象的行为,类是对一类具有相同的属性和方法对象的抽象。D项错误,基于同一个类产生的两个对象属性相同,但是属性值可以由对象自己设定。答案选择D选项。

  • 第3题:

    单选题
    优化数据库系统查询性能的索引设计属于数据库设计的(  )。
    A

    需求分析

    B

    概念设计

    C

    逻辑设计

    D

    物理设计


    正确答案: B
    解析:
    数据库设计阶段包括:①需求分析阶段;②概念设计阶段;③逻辑设计阶段;④物理设计阶段。其中,物理设计是指为一个给定的逻辑模型选取一个最适合应用要求的物理结构,其目标是提高数据库访问速度及有效利用存储空间。一般情况下,DBMS留给用户参与物理设计的内容大致有索引设计、集簇设计和分区设计。答案选择D选项。

  • 第4题:

    单选题
    已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则(  )。
    A

    FA必须定义在FB之前

    B

    FB必须定义在FA之前

    C

    若FA定义在FB之后,则FA的原型必须出现在FB的定义之前

    D

    若FB定义在FA之后,则FB的原型必须出现在FA的定义之前


    正确答案: C
    解析:
    在C++中,调用任何函数之前,必须确保它已有原型说明。函数原型说明通常放在程序文件的头部,以使得该文件中所有函数都能调用它们。因此,题目中函数FA需要调用函数FB,函数FB可以定义在FA的后面,但是FB的原型必须出现在FA的定义之前。

  • 第5题:

    单选题
    设序列长度为n,在最坏情况下,时间复杂度为O(1og2n)的算法是(  )。
    A

    二分法查找

    B

    顺序查找

    C

    分块查找

    D

    哈希查找


    正确答案: A
    解析:
    对长度为n的线性表排序,最坏情况下时间复杂度,二分法查找为O(1og2n);顺序查找法为O(n);分块查找时间复杂度与分块规则有关;哈希查找时间复杂度为O(1),因其通过计算哈希函数来定位元素位置,所以只需一次即可。答案选择A选项。

  • 第6题:

    单选题
    已知函数f的原型是“void f(int*x,int&y);”变量v1、v2的定义是“int v1,v2;”下列调用语句中,正确的是(  )。
    A

    f(v1,V2);

    B

    f(v1,&v2);

    C

    f(&v1,v2);

    D

    f(&v1,&v2);


    正确答案: D
    解析:
    函数f的第一个形参采用显式传地址方式,第二个形参采用隐式传地址方式。所以第一个实参传递地址,表示x指向参数v1,第二个实参v2传递变量,表示y是变量v2的别名,C项正确。

  • 第7题:

    单选题
    下列关于栈叙述正确的是(  )。
    A

    栈顶元素最先能被删除

    B

    栈顶元素最后才能被删除

    C

    栈底元素永远不能被删除

    D

    栈底元素最先能被删除


    正确答案: C
    解析:
    栈是先进后出的数据结构,因此栈顶元素最后入栈却最先被删除,栈底元素最先入栈却最后被删除。答案选择A选项。

  • 第8题:

    单选题
    下列数据结构中,属于非线性结构的是(  )。
    A

    循环队列

    B

    带链队列

    C

    二叉树

    D

    带链栈


    正确答案: B
    解析:
    线性结构要满足两个条件:①有且仅有一个根结点;②每个结点最多有一个前驱,也最多有一个后继。栈和队列均满足这两个条件,属于线性结构;循环队列是一个头结点和尾结点互为前驱结点和后继结点的特殊的队列,属于线性结构;带链队列、带链栈都是用链表形式来实现的,分别满足队列和栈的条件,只是存储结构不连续,属于线性结构。二叉树除了叶子结点外,每个结点都可以有两个后继结点,属于非线性结构。答案选择C选项。

  • 第9题:

    单选题
    程序执行后的输出结果是(  )。
    A

    12

    B

    23

    C

    34

    D

    45


    正确答案: A
    解析:
    flag=′c′,执行 cout<<″3″<<endl语句,输出3;没有break短语,继续执行语句“cout<<″4″<<endl; break;”,输出4。

  • 第10题:

    单选题
    下列关于算法复杂度叙述正确的是(  )。
    A

    最坏情况下的时间复杂度一定高于平均情况的时间复杂度

    B

    时间复杂度与所用的计算工具无关

    C

    对同一个问题,采用不同的算法,则它们的时间复杂度是相同的

    D

    时间复杂度与采用的算法描述语言有关


    正确答案: B
    解析:
    A项错误,最坏情况下的时间复杂度有可能与平均情况的时间复杂度相同;C项错误,对同一个问题,不同的算法时间复杂度有时可能差距很大;D项错误,算法的时间复杂度与实现算法的描述语言、运行环境无关,算法的时间复杂度是对算法执行时所花时间的度量。答案选择B选项。

  • 第11题:

    单选题
    在下列double型常量表示中,错误的是(  )。
    A

    E15

    B

    .35

    C

    3E5

    D

    3E-5


    正确答案: D
    解析:
    在C++语言中,浮点表示的实数由一个十进制整数或定点数后接一个字母E(大、小写均可)和一个1至3位的十进制整数组成,字母E之前的部分称为该浮点数的尾数,之后的部分称为该浮点数的指数,该浮点数的值就是它的尾数乘以10的指数幂。A项错误,尾数和指数不能省略;B项正确,表示0.35;C项正确,表示300000;D项正确,表示3*10-5

  • 第12题:

    单选题
    下面属于白盒测试方法的是(  )。
    A

    边界值分析法

    B

    基本路径测试

    C

    等价类划分法

    D

    错误推测法


    正确答案: A
    解析:
    白盒测试是把程序看成装在一只透明的白盒子里,测试者完全了解程序的结构和处理过程。它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。白盒测试的主要技术有逻辑覆盖测试、基本路径测试等,B选项正确。常用的黑盒测试方法和技术有:等价类划分法、边界值分析法、错误推测法和因果图等,ACD三项错误。答案选择B选项。

  • 第13题:

    单选题
    算法的时间复杂度是指(  )。
    A

    算法的执行时间

    B

    算法所处理的数据量

    C

    算法程序中的语句或指令条数

    D

    算法在执行过程中所需要的基本运算次数


    正确答案: A
    解析:
    算法的复杂度主要包括时间复杂度和空间复杂度。算法的时间复杂度,是指执行算法所需要的计算工作量,即基本运算次数;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。答案选择D选项。

  • 第14题:

    单选题
    不能作为函数重载的判断依据的是(  )。
    A

    const

    B

    返回类型

    C

    参数个数

    D

    参数类型


    正确答案: A
    解析:
    函数重载是指同一函数名可以对应多个函数实现。进行函数重载时,要求同名函数在参数个数上不同,或者参数类型上不同,但函数的返回类型不能作为判断重载的依据。

  • 第15题:

    单选题
    在关系数据库中,用来表示实体间联系的是(  )。
    A

    属性

    B

    二维表

    C

    网状结构

    D

    树状结构


    正确答案: B
    解析:
    关系数据库使用的是关系模型,用二维表来表示实体间的联系。在关系表中,每一行称为一个元组,对应表中的一条记录;每一列称为一个属性,对应表中的一个字段。网状结构和树状结构对应于实体间的逻辑关系模型。答案选择B选项。

  • 第16题:

    单选题
    在下列模式中,能够给出数据库物理存储结构与物理存取方法的是(  )。
    A

    外模式

    B

    内模式

    C

    概念模式

    D

    逻辑模式


    正确答案: C
    解析:
    数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。答案选择B选项。

  • 第17题:

    单选题
    下列对重载函数的描述中,(  )是错误的。
    A

    重载函数中不允许使用默认参数

    B

    重载函数中编译是根据参数表进行选择

    C

    不要使用重载函数来描述毫不相干的函数

    D

    构造函数重载将会给初始化带来多种方式


    正确答案: D
    解析:
    重载函数中允许使用默认参数;为了使重载函数有意义,不要使用重载函数来描述毫无相干的函数;重载函数中编译是根据参数表进行选择,包括参数的个数和类型;构造函数重载将会给初始化带来多种方式供用户选择。

  • 第18题:

    单选题
    若已经声明了函数原型“void fun(int a,double b=0.0);”,则下列重载函数声明中正确的是(  )。
    A

    void fun(int a=90,double b=0.0);

    B

    int fun(int a,double B);

    C

    void fun(double a,int B);

    D

    bool fun(int a,double b=0.0);


    正确答案: B
    解析:
    函数重载的原则是至少要在参数个数或参数类型上有所不同。如果只是函数的返回值类型不同,而其他完全相同,则不能作为重载函数来使用。

  • 第19题:

    单选题
    下列选项中,降低进程优先级的合理时机是(  )。
    A

    进程的时间片用完

    B

    进程刚完成I/O,进入就绪队列

    C

    进程长期处于就绪队列

    D

    进程从就绪状态转为运行态


    正确答案: C
    解析:
    进程时间片用完可以降低其优先级;进程刚完成I/O,进入就绪队列后应该等待被处理器调度,故应提高优先;长期处于就绪队列中的进程应当提高其优先级;D中不应该在此时降低,应该在时间片用完后降低。进行降低优先级的操作主要是为了改善交互式系统的响应时间,并均衡各个作业的公平性。

  • 第20题:

    单选题
    下列有关类成员的叙述中,正确的是(  )。
    A

    友元函数是类的成员函数

    B

    类成员的默认访问权限是私有的

    C

    类成员函数必须声明为公有的

    D

    类的静态数据成员不能是常成员


    正确答案: B
    解析:
    A项错误,类的友元函数可以直接访问该类的所有成员,但它不是类的成员函数;B项正确,类的数据成员和成员函数的默认访问权限是私有的;C项错误,类成员函数的访问权限可以声明为公有、保护、私有;D项错误,静态数据成员的声明是使用关键字static,它可以是常成员。

  • 第21题:

    单选题
    有如下说明int a[10]=1,2,3,4,5,6,7,8,9,10,*p=a;则数值为9的表达式是(  )。
    A

    *p+9

    B

    *(p+8)

    C

    *p+=9

    D

    p+8


    正确答案: B
    解析:
    A项,*p = a[0] = 1;表达式*p + 9 = 1 + 9 = 10;B项,*(p+8) = a[8] = 9;C项,*p = *p + 9 = a[0] + 9 = 1+9 =10;D项,p+8表示a[8]的地址值,该值无法确定。

  • 第22题:

    单选题
    下列运算符函数中,肯定不属于类Value的成员函数的是(  )。
    A

    Value operator+(Value);

    B

    Value operator-(Value,Value);

    C

    Value operator*(int);

    D

    Value operator/(Value);


    正确答案: C
    解析:
    运算符作为非成员函数时,由于没有隐含this指针,因此所有的操作数必须出现在参数表中。B项,函数形参有两个操作数,必然是非成员函数;ACD三项都只有一个形参变量,有可能是要求两个操作数的成员函数。

  • 第23题:

    单选题
    若有定义“int x=4,y=5;”,则表达式“y>x++?x--:y++”的值为(  )。
    A

    3

    B

    4

    C

    5

    D

    6


    正确答案: B
    解析:
    表达式“y>x++?x--:y++”含义:若y>x++成立,则表达式等于x--;若y>x++不成立,则表达式等于y++。由于自加(++)运行符的优前级高于比较运算符(>),所以首先进行自加运算,即变量x的值加1,等于5,此时表达式条件“y>x++”不成立,所以整个表达式的值等于y++的值,y++是后自加运算,值等于5。

  • 第24题:

    单选题
    下列有关C++流的叙述中,错误的是(  )。
    A

    C++操作符setw设置的输出宽度永久有效

    B

    C++操作符endl可以实现输出的回车换行

    C

    处理文件I/O时,要包含头文件fstream

    D

    进行输入操作时,eof()函数用于检测是否到达文件尾


    正确答案: D
    解析:
    C++操作符setw()的作用是设置输入输出宽度,且只对当前一次有效,并非永久有效。