1.如果int a=3,b=4;則條件表示式"a
A、 3
B、 4
C、 0
D、1
詳見教材P97.
表示式1?表示式2:表示式3
先計算表示式1,
若表示式1成立, 則選擇計算表示式2,並表示式2的值作為整個大表達式的值;
若表示式1不成立,則選擇計算表示式3,並將表示式3的值作為整個大表達式的值
此題中的aa為3,b為4。a12.若int x=2,y=3,z=4 則表示式x
A、4
B、3
C、2
D、0
E)1
3.C語言中,關係表示式和邏輯表示式的值是( B ) 。
A、0
B、 0或1
C、 1
D、‘T’或’F’
4. 下面( D )表示式的值為4.
A、 11/3
B、 11.0/3
C、 (float)11/3
D、 (int)(11.0/3+0.5)
4~16題為同一型別
詳見教材P54~56.
(1)相同資料型別的元素進行數學運算(+、-、*、/)得到結果還保持原資料型別。
(2)不同資料型別的元素進行數學運算,先要統一資料型別,統一的標準是低精度型別轉換為高精度的資料型別。
選項A,11與3為兩個整數,11/3結果的資料型別也應為整數,因此將3.666666的小數部分全部舍掉,僅保留整數,因此11/3=3.
選項B,11.0為實數,3為整數,因此首先要統一資料型別,將整型資料3轉換為3.0,轉換後資料型別統一為實型資料,選項B變為11.0/3.0,結果的資料型別也應為實型資料,因此選項B 11.0/3=3.666666
選項C,先將整數11強制型別轉換,轉換為實型11.0,因此選項C變為11.0/3,其後計算過程、結果與選項B同
選項D,首先計算11.0/3,其計算過程、結果與選項B同,得到3.666666;再計算3.666666+0.5=4.166666,最後將4.166666強制型別轉換為整型,即將其小數部分全部舍掉,結果為4
5.設整型變數 a=2,則執行下列語句後,浮點型變數b的值不為0.5的是( B )
A、b=1.0/a
B、b=(float)(1/A、
C、b=1/(float)a
D、b=1/(a*1.0)
6. 若“int n; float f=13.8;”,則執行“n=(int)f%3”後,n的'值是(A)
A、1
B、4
C、4.333333
D、4.6
“(int)f“表示將f中的值強制型別轉換為整型,即將13.8的小數部分舍掉,轉換為13;然後計算13%3,結果為1,再將結果賦給變數n,因此n的值為1
7. 以下對一維陣列a的正確說明是: D
A、char a(10);
B、 int a[];
C、int k=5,a[k];
D、char a[3]={‘a’,’b’,’c’};
詳見教材P143~144,一維陣列的定義、初始化
型別符 陣列名 [常量表達式]
型別符是指陣列中陣列元素的型別;陣列名要符合識別符號命名規則;常量表達式是指陣列的長度(陣列中包含元素的個數),其值只能是整數,不可以是變數,而且從1開始計數。
選項A,常量表達式只能放在中括號 [ ]中
選項B,只有在對陣列初始化(即賦值)的時候才可以省略陣列的長度,B中並未對a進行初始化。
選項C,常量表達式不能為變數。
8.以下能對一維陣列a進行初始化的語句是:( C )
A、int a[5]=(0,1,2,3,4,)
B、 inta(5)={}
C、 int a[3]={0,1,2}
D、 int a{5}={10*1}
詳見教材P145,一維陣列的定義、初始化
選項B,D,常量表達式只能放在中括號 [ ]中
選項A,陣列可以看做是若干個相同資料型別元素的有序集合,因此以集合的形式對其初始化,使用{ }對其初始化,選項A用了().
9.在C語言中對一維整型陣列的正確定義為 D 。
A、int a(10);
B、int n=10,a[n];
C、int n;a[n];
D、#define N 10
int a[N];
10、已知:int a[10]; 則對a陣列元素的正確引用是( D )。
A、a[10]
B、a[3.5]
C、a(5)
D、a[0]
詳見教材P144,陣列元素的引用
陣列名[下標]
引用陣列元素時,[ ]中的下標為邏輯地址下標,只能為整數,可以為變數,且從0開始計數
int a[10]表示定義了一個包含10個整型資料的陣列a,陣列元素的邏輯地址下標範圍為0~9,即a[0] 表示組中第1個元素; a[1] 表示組中第2個元素; a[2] 表示組中第3個元素; ......;a[9] 表示組中第10個元素.
選項A,超過了陣列a的邏輯地址下標範圍;
選項B,邏輯地址下標只能為整數
選項C,邏輯地址下標只能放在[ ]中