牛客网错题笔记:C/C++专项 :1-8

1 32位平台上struct{unsigned char a,int b,short c}s;请问s的起始地址下面说法正确的是哪一个?()

牛客网错题笔记:C/C++专项 :1-8

正确答案应该是四字节对齐,因为起始地址应该按照结构体中最大类型的大小对齐。

2  请问以下说法哪个是正确的:

牛客网错题笔记:C/C++专项 :1-8

对于选项A,如果定义了有参数的构造函数时,编译器不再提供无参数的默认构造函数。

选项B:拷贝构造函数可以定义为删除的,即为没有。

选项D;析构函数只能有一个,因此,正确答案为C

3 浮点数算数标准是以下哪一个?

A:posix             B:c99          C:c89         D:ieee754

这种题没有任何意义,为了笔试。正确答案为D。

4 以下表达式的正确结果是:

牛客网错题笔记:C/C++专项 :1-8

牛客网错题笔记:C/C++专项 :1-8

首先b=(a=-1),即b=-1,三目运算符条件为真(不为0都是真),因此b=2,

c=(a=0),a=0,为假,因此a=3,正确答案为C

5 下面哪个说法是正确的()(多项选择)

牛客网错题笔记:C/C++专项 :1-8

浮点类型的单精度值具有 4 个字节,包括一个符号位、一个 8 位 二进制指数和一个 23 位尾数。由于尾数的高顺序位始终为 1,因此它不是以数字形式存储的。此表示形式为 float 类型提供了一个大约在 -3.4E+38 ~ 3.4E+38 之间的范围。

正确答案:ABCD

6 以下程序段输出的结果是()

牛客网错题笔记:C/C++专项 :1-8

答案为:5+4+3+2+1+1=16,最后的f(0)也返回1.

7 以下程序段执行后的结果是();

牛客网错题笔记:C/C++专项 :1-8

答案为:1,2,15,因为short为两个字节大小,因此第二次输出2.

8 关于C++语言中虚函数描述正确的有(不定项选择)

牛客网错题笔记:C/C++专项 :1-8

对于选项A,因此虚函数是依赖于对象的,在构造函数执行完成之前,对象不存在,因此构造函数不可以为虚函数。

对于选项B,析构函数可以是纯虚,不过需要在父类中添加函数体!!!

选项C同A,选项D,在C++中,struct和class一样,是可以定义虚函数的。