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 是有符號整數。