一、選擇題
1、下列數據中,不合法的實型數據的是( C )。
(A) 0.123 (B) 123e3 (C) 2.1e3.5 (D) 789.0
2、若有定義:
int a=7; float x=2.5,y=4.7; 則表達式x+a%3*(int)(x+y)%2/4的值是( A )。
(A) 2.500000 (B) 2.750000 (C) 3.500000 (D) 0.000000
3、設變量a是int型,f是float型,i是double型,則表達式10+’a’+i*f值的數據類型
為( C )。
(A) int (B) float (C) double (D)不確定
4、在位運算中,操作數左移一位,其結果相當於( A )。
(A)操作數乘以2 (B)操作數除以2
(C)操作數除以4 (D)操作數乘以4
5、若有以下說明語句,則該語句( B )。
char s=92;
(A)使s的值包含1個字符 (B)說明不合法,s的值不確定
(C)使s的值包含4個字符 (D)使s的值包含3個字符
6、若kl,k2,k3,k4均為int型變量,為了將整數10賦給kl和k3,將整數20賦給k2
和k4,則對應以下scanf()函數調用語句的正確輸入方式是(D )(<CR>代表換行符,ㄩ代
表空格)。
scanf(“%d%d”,&k1,&l2);
scanf(“%d,%d”,&k3,&k4);
(A)1020<CR> (B) 10ㄩ20<CR> (C) 10, 20<CR> (D) 10ㄩ20<CR>
1020<CR> 10ㄩ20<CR> 10, 20<CR> 10, 20<CR>
7、若變量已正確定義並賦值,以下符合C語言語法的表達式是( B )。
(A)a:= b+1 (B)a=b=c+2 (C) int 18.5%3 (D)a=a+7=c+b
8、在C/C++語言中,邏輯值“真”用( D )表示。
(A) true (B)大於0的數 (C)非0整數 (D)非0的數
9、下列可用於C/C++語言用戶標識符的一組是( B )。
(A) void, define, WORD (B) a3_b3,_123,Car
(C) For, -abc, IF Case (D) 2a, DO, sizeof
10、下列選項中非法的表達式為( D).
(A) 0<=x<100 (B) i=j==0 (C) (char)(65+3) (D) x+1=x+1
(A)a==1 (B)++i; (C)a=a++=5; (D)a=int(i);
二、讀程序分析程序的運行結果
11、以下程序的結果是( B )。
int a=21,b=11;
cout<<(--a+b)<<","<<(--b+a);
(A) 29,28 (B) 31,30 (C) 28,29 (D) 30,31
12、以下程序的結果是( D )。
int a=3,b=10;
cout<<(a<<2|b>>1);
(A)1 (B)5 (C)12 (D)13
13、兩次運行以下程序,如果從鍵盤上分別輸入6盒4,則輸出的結果是( A )。
int main( )
{
int a;
cin>>a;
if(a++>5)cout<<a;
else cout<<a--;
}
(A)7和5 (B)6和3 (C)7和4 (D)6和4
三、填空題
14、若有以下說明和語句,則c的二進制數是 0001 。//字符型數據占一個字節,4位
char a=3,b =6, c; c=a^b>>2;
15、若有以下說明和語句,則c的二進制數是 1000 。
char a=3, b=6, c; c=~a&b<<1;
16、設a=00101101,若想通過a^b運算使a的高4位取反,低4位不變,則b的二進
制數應是 11110000 。