官术网_书友最值得收藏!

習題

一、選擇題

2.1 下列不合法的數值常量是(  )。

A)011

B)1e1

C)8.0e0.5

D)0xabcd

2.2 下列定義變量的語句中錯誤的是(  )。

A)int_int;

B)double int_;

C)char For

D)float US$

2.3 以下選項中正確的整型常量是(  )。

A)12.

B)-20

C)1,000

D)4 5 6

2.4 以下選項中正確的實型常量是(  )。

A)0

B)3.1415

C)0.234*102

D).456

2.5 以下選項中不正確的實型常量是(  )。

A)1.369E-2

B)0.1234e 2

C)-23.67

D)234e-2

2.6 下列選項中,合法的一組C語言數值常量是(  )。

A)028

 .5e-3

 0xf

B)12.

 0xa23

 4.5E0

C).177

 4e1.5

 0abc

D)0x8A

 10,000

 3.e5

2.7 下列選項中,合法的一組字符常量是(  )。

A)'AB'

 "a"

 'N'

B)'\\'

 '\'

 '\xaf'

C)'A'

 '\n'

 '\123'

D)'\r'

 '\018'

 '\Xag'

2.8 以下選項不合法的用戶標識符是(  )。

A)abc.c 

B)file 

C)Main  

D)PRINTF

2.9 以下選項不合法的用戶標識符是(  )。

A)_123

B)printf

C)A$   

D)Dim

2.10 C語言中運算對象必須是整型的運算符是(  )。

A)% 

B)/   

C)!   

D)**

2.11 可在C程序中用作用戶標識符的一組標識符是(  )。

A) void  

define 

WORD

B)as_b3    

 _123

 If

C)For      

 -abc 

 case

D)2c

 DO

 SIG

2.12 若有定義:int x,*p;則正確的賦值表達式是(  )。

A)p=&x

B)p=x  

C)*p=&x 

D)*p=x

2.13 若有定義:float x;則下列對指針變量p進行定義且賦初值的正確語句是(  )。

A)float *p=1024;

B)int *p=(float)x;

C)float p=&x;

D)float *p=&x;

2.14 若有定義:int n1=0,n2,*p=&n2,*q=&n1;以下賦值語句中與n2=n1;語句等價的是(  )。

A)*p=*q;

B)p=q;

C)*p=&n1;

D)p=*q;

2.15 若有以下程序:

#include<stdio.h>

void main(  )

{ int k=2,m=4,n=6,*pk=&k,*pm=&m,*p;

  *(p=&n)=*pk*(*pm);

  printf("%d\n",n);

}

程序的輸出結果是(  )。

A)4

B)6

C)8 

D)10

2.16 若指針p已正確定義并指向如圖2.10所示的存儲單元,則表達式*++p的值是(  )。

圖2.10 指針p指向示意圖

A)20

B)30

C)21

D)31

2.17 若指針p已正確定義并指向如圖2.10所示的存儲單元,則表達式++*p的值是(  )。

A)20

B)30

C)21  

D)31

2.18 若指針p已正確定義并指向如圖2.10所示的存儲單元,則表達式(*p)++的值是(  )。

A)20

B)30

C)21  

D)31

2.19 有以下程序:

#include<stdio.h>

void main()

{ char x=040;

 printf("%d\n",x=x<<1);

}

程序的輸出結果是(  )。

A)100

B)160

C)120  

D)64

2.20 有如下定義語句:

char a=3,b=6,c;

則執行賦值語句c=a^b<<2;后變量c中的二進制數是(  )。

A)00011011

B)00010100

C)00011100  

D)00011000

2.21 有以下程序:

#include<stdio.h>

void main()

{ short int x=35;char z='A';

 printf("%d\n",(x&15)&&(z<'a'));

}

程序的輸出結果是(  )。

A)0

B)1 

C)2   

D)3

2.22 變量a中的數據用二進制表示的形式是01011101,變量b中的數據用二進制表示的形式是11110000,若要求將a的高4位取反,低4位不變,所要執行的運算是(  )。

A)a^b

B)a|b 

C)a&b   

D)a<<4

2.23 下列選項中,當x為大于1的奇數時,值為0的表達式是(  )。

A)x%2==1

B)x/2 

C)x%2!=0

D)x%2==0

2.24 下列能正確定義且賦初值的語句是(  )。

A)int n1=n2=10;  

B)char c=32;

C)float f=f+1.1;  

D)double x=1.23E2.5;

2.25 變量x、y已正確定義并賦值,下列符合C語言語法的表達式是(  )。

A)++x,y=x--   

B)x+1=y

C)x=x+10=x+y     

D)double(x)/10

2.26 若變量已正確定義并賦值,符合C語言語法的表達式是(  )。

A)a=a+7; 

B)a=7+b+c,a++

C)int(12.3%4) 

D)a=a+7=c+6

2.27 以下敘述正確的是(  )。

A)a是實型變量,C允許進行賦值a=10,但不可以這樣說:實型變量中允許存放整型值

B)在賦值表達式中,賦值號左邊既可以是變量也可以是任意表達式

C)在執行表達式a=b后,在內存中a 和 b存儲單元中的原有值都將被改變,a的值已由原值改變為b的值,b的值由原值變為0

D)已有a=3,b=5,當執行了表達式a=b,b=a之后,使a 中的值為5,b中的值為3

2.28 以下敘述正確的是(  )。

A)在C程序中無論是整數還是實數,只要在允許的范圍內都能準確無誤地表示

B)C程序由主函數組成

C)C程序由若干函數組成

D)C程序只允許包含一個函數

2.29 VC6.0中int類型變量所占字節數是(  )。

A)1 

B)2   

C)3  

D)4

2.30 合法的八進制數是(  )。

A)0  

B)028 

C)-077   

D)01.0

2.31 不合法的十六進制數是(  )。

A)oxff 

B)0Xabc 

C)0x11     

D)0x19

二、填空題

2.32 若k為int型變量且賦值1,請寫出運算k++后表達式的值    和變量k的值    。 

2.33 若x為double型變量,請寫出運算x=3.2,++x后表達式的值    和變量x的值    。 

2.34 表達式3.6-5/2+1.2+5%2的值是    。 

2.35 設有定義:float x=123.4567;則執行下列語句后的輸出結果是    。 

printf("%f\n",(int)(x*100+0.5)/100.0);

2.36 在C語言程序中,用關鍵字    定義基本整型變量,用關鍵字    定義單精度實型變量,用關鍵字    定義雙精度實型變量,用關鍵字    定義字符型變量。 

2.37 把a1、a2定義成雙精度實型變量,并賦初值1的定義語句是    。 

2.38 C序中定義的變量,代表內存中的一個    。 

2.39 對數學式,寫出三個等價的C語言表達式            。 

2.40 表達式a=10應當讀作    。 

2.41 寫出下面表達式的值(設a=10,b=4,c=5,d=1,x=2.5,y=3.5)。

(1) a%=(b%=3)

(2) a+=a-=a*=a

(3) (float)(a+c)/2+(int)x/(int)y

(4) a*=b-c;

(5) ++a-c+b++

(6) a+b,18+(b=4)*3,(a/b,a%b)

(7) x+a%3*(int)(x+y)%2/4

(8) a=b==c

(9) b++==d

2.42 若有定義:char ch;

(1)使指針p可以指向字符型變量的定義語句是    。 

(2)使指針p指向變量ch的賦初值語句是    。 

(3)使指針p指向變量ch的賦值語句是    。 

(4)寫出兩種使變量ch的值等于字符'A'的賦值語句        。 

(5)寫出兩種輸出變量ch的輸出語句        。 

2.43 以下程序段的輸出結果是    。 

int *m,a;

a=100;

m=&a;

a=*m+10;

printf("%d\n",*m);

2.44 設變量a的二進制數是00101101,若想通過運算a^b使a的低4位取反,高4位不變,則b的二進制數是    。 

2.45 a為任意整數,能將變量a清0的表達式是    。 

2.46 能將兩字節變量x的高8位置1,低8位保持不變的表達式是    。 

2.47 運用位運算,能將字符型變量ch中的小寫字母轉換成大寫字母的表達式是    。 

主站蜘蛛池模板: 南溪县| 肇东市| 祁连县| 苗栗市| 江门市| 平安县| 九龙城区| 定南县| 乐昌市| 兴仁县| 延边| 西藏| 大兴区| 德惠市| 金山区| 富裕县| 杭州市| 普陀区| 庆云县| 夹江县| 揭西县| 荔浦县| 上蔡县| 浦东新区| 靖江市| 嵩明县| 会昌县| 兰坪| 无为县| 化隆| 广德县| 巧家县| 新平| 合肥市| 榕江县| 车致| 韶山市| 囊谦县| 邹平县| 定结县| 永和县|