1.【单选题】以下说法正确的是?
A. unsigned 类型的值 最大为0xFFFFFFFF
B. float类型的值大约有15位精度
C.bool类型占用4个字节
解析: 选项A:unsigned 类型的值 最大为 4个字节,正确。选项B: 因为float类型的值是单精度的浮点数,它一般是七位左右的精度。选项C:布尔类型占用一个字节。
2.【单选题】float a{6510000.0f};
float b{0.000001f};
float c{a+b};
c的值是多少?
A. 6510000.0f
B.6510000.000001
C.不确定
解析:选项A:正确。选项B:写法为double的写法,错误。选项C:干扰选项。
3.【单选题】int a{500};
unsigned b{1000}:
(a-b)*500.0
是一个什么类型的值?
A. double
B. float
C. unsigned int
解析:(a-b)是unsigned int类型,它的优先级要大于int类型。500.0我们说过啊,带f的是float,不带f的是double,double的类型优先级要大于unsigned int类型,所以这道题选A。
4.【单选题】int x{250};
int a{x--};
int b{--x};
a和b分别是多少?
A.a=249 b=248
B.a=248 b=250
C.a=250 b=248
解析:int a{x--}; 可以等效于int a = x; x -= 1; 所以a = 250。int b{--x} 等效于 x -= 1; int b = x; 所以b = 248。答案选择C。
5.【单选题】int a{5};
int b{15}:
b*=10;
+ +a;
b=b+a++;
b的值是?
a的值是?
A. b=156 a=7
B. b=157 a=7
C. b=156 a=6
解析:b*=10; + +a; 此时 b =150, a = 6。 + +a; a = 7。b=b+a++; b = 156 a = 7 。所以选A。
6.【单选题】int a{900};
int b{300};
int c;
c=(a+b)/500;
请问c的值是多少?
A.2
B.1
C. 2.4
解析:c 为 int 类型 ,所以要取整为 2,所以选A。
7.【多选题】以下说法错误的是?
A. 在C语言中可以用static_cast将一个类型转换为另外一个类型
B.在C++中,可以用(int)变量的方式将该变量转换为int类型
C.long占用8字节内存
解析:选项A:static_cast属于c++,c语言用不了,错误。选项B:c++可以兼容c语言,正确。选项C:long占用的内存不确定,由编译器和操作系统确定,错误。
8.【单选题】int a{100.5};
int b{a};
std::cout<<a*b;
控制台输出的结果是?
A. 10000
B.程序不能运行
C.3
解析:选择B。因为这个100.5首先它就编译不了,你这个必须做类型转换,如果你是用赋值的,用等于号说int a = 100.5,那可以。
9.【单选题】int a{900};
unsigned b{1000};
std::cout<<a-b;
控制台程序会显示的结果是什么?
A. 100
B. 4.294.967.196
C.-100
解析:a - b属于无符号的类型,因为unsigned的优先级大于int,所以选项C错误。选项A明显错误,所以只能选B。
10.【单选题】下面哪种说法是正确的?
A. int 是整型变量
B.int 占用16个bit的内存
C.int 是无符号整数
解析:选项A:正确。选型B:int 占用32个bit的内存,占4个字节。选项C:int 是有符号整数。