考研C/C++语言程序设计在线题库每日一练(二十六)
以下是希赛网给大家分享考研C/C++语言程序设计在线题库每日一练,希望通过刷题可以帮助大家巩固重要知识点,对知识点查漏补缺,祝愿大家能顺利通过考试!
本文提供考研C/C++语言程序设计在线题库每日一练,以下为具体内容
1、在类定义的外部,可以被访问的成员有( )。
A、 所有类成员
B、 private 或protected的类成员
C、 public 的类成员
D、 public 或private的类成员
2、若char w; int x; float y; double z;则表达式w*x+z-y的结果为( )类型。
A、 char
B、 int
C、 float
D、 double
3、以下选项中合法的字符常量是( )。
A、 "B"
B、 '\010'
C、 68
D、 F
4、为了避免在嵌套的条件语句if-else 中产生二义性,C语言规定:else子句总是与( )配对。
A、其之前最近的未配对的if
B、其之后最近的if
C、同一行上的if
D、缩排位置相同的if
5、设有以下定义:int w[3][4]={{0,1}, {2,4}, {5,8}}; int (*p)[4]=w; 则数值为4的表达式是( )。
A、*w[1]+1
B、p[1][1]
C、p++, *(p+1)
D、w[2] [2]
1、试题答案:C
试题解析:
【考点】本题考查类的成员访问权限
private(私有的):只能被本类中的成员函数引用,类外不能调用;
public(公有的):既能被本类中的成员函数引用,也可以被类的作用域内的其他函数引用;
protected(受保护的):不能被类外访问,但可以被派生类的成员函数访问。
综上选C。
2、试题答案:D
试题解析:
【考点】本题考查数据类型转换
参与运算的变量的类型不同时,先转换成同一类型,然后进行运算。类型自动转换的基本原则是“按数据长度增加的方向进行转换”,以保证精度不降低。故变量w,x,y的值全部转换double后再运算,得到的结果为double型,选D。
3、试题答案:B
试题解析:
【考点】本题考查字符常量
"B"用双撇号,表示为字符串B,选项A错误。'\010'表示为八进制数,对应十进制为8,选项B正确。68为整数常量,选项C错误。F为标识符,选项D错误。综上选B。
4、试题答案:A
试题解析:
【考点】本题考查if-else的基本概念。
5、试题答案:B
试题解析:
【考点】本题考查指针引用二维数组。
int (*p)[4]=w表示p为指向包含4个元素的一维数组的指针变量,并将二维数组名w赋值给p。
对于二维数组w,w[1]表示数组第二行的首地址,则*w[1]表示第二行的首元素,故*w[1]+1就是w[1][0]+1=3,选项A不符题意。二维数组w初始化时,若只给数组中一部分元素赋值,系统会自动给后面为赋值的元素赋初值为0,故数组元素w[2][2]值为0,选项D不符题意。
对于指针p,p[1][1]与w[1][1]表示的内容一致,值为4,选项B符合题意。逗号表达式p++, *(p+1)的值就是*(p+1)的值,依次执行p++、 *(p+1),则*(p+1)表示的是数组第3行元素的首地址,故选项C不符题意。**(p+1)表示数组元素w[2][0],值为5;*(*p+1)才表示数组元素w[1][1],值为4。
综上本题选B。