




下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第2章數據類型和運算符 習題及解答一選擇題。1.下列是用戶自定義標識符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C語言規定用戶標識符由英文字母、數字和下劃線組成,且第一個字符必須是字母或下劃線,由此可見選項B),D)是錯的;此外,C語言不允許用戶將關鍵字作為標識符,而選項C)選項項中的int是C語言的關鍵字。語言中最簡單的數據類型包括A)整型、實型、邏輯型 B)整型、實型、字符型C)整型、字符型、邏輯型 D)字符型、實型、邏輯型答案:B解析: 本題考查C語言的數據類型。在C語言中,沒有專門的邏輯型數據類型,可以用0和1來表示邏輯值。所以,在本題的選擇答案中,不應
2、該包括邏輯型。3.假定int類型變量占用兩個字節,其有定義:int x10=0,2,4;,則數組x在內存中所占字節數是A)3 B)6 C)10 D)20答案:D解析: x數組共有10個元素,在花括弧內只提供3個初值,這表示只給前面的3個成員賦值,后7個元素的值為0,所以,一共有20個字節。4.以下選項中不正確的實型常量是A) B) C) D)234e-2答案:B解析:實型常量表示時字母E或e前必須有數字,其后數字必需為整數,故B錯。5.若變量已正確定義并賦值,以下符合C語言語法的表達式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析: 選項A)中包含
3、一個不合法的運算符“:=”;選項C)應改為(int)%3;選項D)可理解為兩個表達式:a+7=c+b和a=a+7,其中第一個是錯的,因為C語言規定賦值號的左邊只能是單個變量,不能是表達式或常量等。因此,正確答案是選項B),它實際上相當于a=(b=c+2),進而可分解為兩個表達式:b=c+2和a=b。6.下列可用于C語言用戶標識符的一組是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C語言規定標識符只能由字母、數字和下劃線三種字符組成,且第一個字符必須為字母或下劃線,排除選項C
4、)和D)。C語言中還規定標識符不能為C語言的關鍵字,而選項A)中void為關鍵字,故排除選項A)。語言中運算對象必須是整型的運算符是A)%= B)/ C)= D)<=答案:A解析: C語言規定:取余運算符的運算對象必須是整型,復合運算符“%=”中包含%運算,它的運算對象也必須是整型。8.若變量a,i已正確定義,且i已正確賦值,合法的語句是A)a= =1 B)+i; C)a=a+=5; D)a=int(i);答案:B解析: 選項A是一個表達式,因為缺少分號,所以不是語句;選項C)包含一個不合法的運算符“+=”;選項D)應改為a=(int)i;。9.設x,y和z都是int型變量,且x=3,y
5、=4,z=5,則下面表達式中,值為0的表達式是A)x&&y B)x<=y C)x|+y&&y-z D)!(x<y&&!z|1)答案:D解析: 該題考查邏輯與“&&”和邏輯或“|”以及邏輯非“!”符號的用法。選項A)即3&&4為真,選項B)即3<=4為真,選項C)是一個邏輯或與邏輯與的混合運算,只要執行了邏輯或左半部分,程序將直接停止執行邏輯或右半部分程序,因為x的值為真,此時選項C)變為1&&-1為真。選項D)不用計算,括號內邏輯或右邊的值為1,因而括號內的值為1,再進行邏輯非運算
6、得0。10.有以下程序main()int i=1,j=1,k=2;if(j+|k+)&&i+)printf("%d,%d,%dn",i,j,k);執行后輸出結果是 A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3答案:C解析: 該題目的關鍵是要搞清楚“&&”和“|”兩個邏輯運算符的運算功能。運算符“&&”和“|”是雙目運算符,要求有兩個運算量。且規定邏輯與運算中,只有前面運算量的值為真時,才需要判別后面的值。只要前面為假,就不必判別后面的值。而邏輯或則為只要前為真,就不必判別后面的值;只有前為假,才判別后。本題中
7、j+值為真,不進行k+的運算,所以k的值保持不變。11.設int x=1,y=1;表達式(!x|y-)的值是A)0 B)1 C)2 D)-1答案:B解析:C語言規定的運算優先級由高到低分別是邏輯非、算術運算、邏輯或。所以先計算!x,值是0,然后再計算y-,由于是后綴運算符,所以y在本次運算中的值仍然是1,最后計算0|1,值為1。12.若有說明語句:char c='72';則變量cA)包含1個字符 B)包含2個字符 C)包含3個字符 D)說明不合法,c的值不確定答案:A解析: C語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個“”開頭的字符。其中“ddd”表示用ASC
8、II碼(八進制數)表示一個字符,本題中的char c=72即表示占一個字符的變量c的ASCII碼值。13.在C語言中,退格符是A)nB)tC)fD)b答案:D解析: C語言的轉義字符見下表所示。轉義字符轉義字符的意義n回車換行t橫向跳到下一制表位置v豎向跳格b退格r回車f換頁反斜線符“”單引號符14.在C程序中,判邏輯值時,用“非0”表示邏輯值“真”, 又用“0”表示邏輯值“假”。 在求邏輯值時,用()表示邏輯表達式值為“真”, 又用()表示邏輯表達式值為“假”。A)1 0 B)0 1 C)非0 非0 D)1 1答案:A解析: 在C程序中,判斷邏輯值時,用非0表示真,用0表示假。邏輯表達式計算
9、時,邏輯表達式值為真是用1表示的,若邏輯表達式的值為假,則用0表示。15.字符型數據在機器中是用ASCII碼表示的,字符“5”和“7”在機器中表示為A)和 01110111 B)01000101和01100011C)00110101和00110111 D)01100101和01100111答案:C解析: 為便于表示各種數據類型,機器中采用了BCD碼(表示十進制數)、ASCII碼(字符型)、漢字機內碼等等各種碼。數據采用了補碼、原碼和反碼為表示形式。實型數據表示方法有浮點法和定點法等,考生需熟練掌握各種碼的含義,并用之來計算、比較。需要提出的是,在機器內部,所有碼都是由二進制編碼而成的,它都是以
10、二進制存儲在機器之中的。字符“5”和“7”的ASCII的值分別為53和55,其二進制形式分別為00110101和00110111。16.若已定義:int a=25,b=14,c=19;以下三目運算符(:)所構成語句的執行后a<=25&&b-<=2&&cprintf("*a=%d,b=%d,c=%dn",a,b,c):printf("#a=%d,b=%d,c=%dn",a,b,c);程序輸出的結果是A)*a=25,b=13,c=19 B)*a=26,b=14,c=19C)# a=25,b=13,c=19 D)#
11、a=26,b=14,c=19答案:C解析: 此題綜合考查多種運算符的使用;首先計算表達式a<=25 &&b-<=2 &&c的值,很容易看出b-<=2的值為假,因此表達式為假;根據三目運算的特點,由于前面的表達式為假,應執行printf(“#a=%d,b=%d,c=%dn”,a,b,c),應注意a的值依然為25,b的值經過b-運算后改變為13,而c的值仍為19。17.若有定義:int a=7;float x=,y=;則表達式x+a%3*(int)(x+y)%2/4的值是A) B)2.750000 C) D)答案:A解析: x+y的值為實型,經強制
12、類型轉化成整型7。a%3的值為1,1*7的值為7,7%2值為1。1/4的值為0,而非,因而為兩個整數相除的結果為整數,舍去小數部分。與實型x相加,最終得結果為。18.有如下程序段int a=14,b=15,x;char c=A;x=(a&&b)&&(c<B);執行該程序段后,x的值為A)ture B)false C)0 D)1答案:D解析: 在C語言中,邏輯運算符有4個,它們分別是:!(邏輯非)、|(邏輯或)、&&(邏輯與)、(異或)。在位運算里面還有(位與)、|(位或)的運算。本題考查邏輯與運算符的用法,在表達式x=(a&&
13、;b)&&(c<B);中,先判斷a&&b條件,邏輯與條件的兩邊都要保證為1,即a和b都成立,當然c<B是成立的,顯然,該表達式的值為1。19.在以下一組運算符中,優先級最高的運算符是A)<= B)= C)% D)&&答案:C解析:關系運算符、邏輯與和算術運算符總算術運算符的優先級最高,故選C)。20.以下選項中,與k=n+完全等價的表達式是A)k=n,n=n+1 B)n=n+1,k=n C)k=+n D)k+=n+1答案:A解析: k=n+的意思是先將n的值賦給k,然后n的值再加1,選項A)符合題意;選項C)是先使n的值加1,然
14、后再賦值給k;選項D)等價于k=k+(n+1)。21.以下選項錯誤的是A)main() B)main() int x,y,z; int x,y,z;x=0;y=x-1; x=0,y=x+1;z=x+y; z=x+y;C)main() D)main() int x; int x,y,z;int y; x=0;y=x+1;x=0,y=x+1; z=x+y,z=x+y;答案:D解析: 在選項A)中的語句沒有一條是錯誤的。選項B)和C)中有一個逗號表達式,選項B)中是x=0,y=x+1;在選項C)中是y=x+1,z=x+y;所以B)和C)中也沒有錯誤。選項D)中的最后一條語句是以逗號結束的,而C語言中
15、不能用逗號作為一個語句的結束標志,每一條語句最后應該是分號,所以D)選項中的程序是錯誤的。22.以下4個選項中,不能看做一條語句的是A); B)a=5,b=,c=; C)if(a<5); D)if(b!=5)x=2;y=6;答案:D解析: 選項D)為兩條語句。23. 下列運算符中優先級最高的是_。A) < B) + C) && D) ! =答案:B24判斷char型變量ch是否為大寫字母的正確表達式是_。A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z
16、39;)C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch)答案:C25.設int a=12,則執行完語句a+=a-=a*a后,a的值是_。A) 552 B) 264 C) 144 D) -264答案:D26. 設a=5, b=6, c=7, d=8, m=2,n=2, 執行(m=a>b)&&(n=c>b) 后n的值為_。A)1 B)2 C)3 D)4答案:B27. 邏輯運算符兩側運算對象的數據類型_。A)只能是0或1
17、B)只能是0或非0正數 C)只能是整型或字符型數據 D)可以是任何類型的數據答案:D28.正確表示"當x的取值在1,10和200,210范圍內為真,否則為假"的表達式是_。A)(X>=1)&&(X<=10)&&(X>=200)&&(X<=210)B)(X>=1)| (X<=10)| (X>=200) | (X<=210)C)(X>=1)&&(X>=10) | (X>=200)&&(X<=210)D)(X>=1) | (
18、X<=10)&& (X>=200) | (X<=210)答案:A29. 設x,y和z是int 型變量,且x=3,y=4,z=5,則下面表達式中值為0的是_。A)'x' &&'y' B)x<=y C)x | y+z&&y-z D)!(x<y)&&!z| 1)答案:D30. 已知x=43,ch='A',y=0;則表達式x=y&& ch<'B'&&!y的值是_。A)0 B)語法錯 C) 1D) "
19、假"答案:D31.若希望當A的值為奇數時,表達式的值為"真"。A的值為偶數時,表達式的值為"假"。則以下能滿足要求的表達式是_。A)A%2=1 B)!(A%2= =0) C)!(A%2) D)A%2答案:A32. 不合法的常量是_。A) '2' B) '""'(外面是單引號) C) " " D)"483"答案:D33.若有以下定義char s='092' 則該語句_。A)使s的值包含一個字符 B)定義不合法,s的值不確定C)使s的值包含4
20、個字符 D)使s的值包含3個字符答案:B34.下列正確的字符常量是_。A、"C" B、''' C、'W' D'' 答案:C下列不正確的字符串常量是_。A) 'ABC' B) "W'" C) "SDF/3" D) " "答案:B35.若定義int a=7;float x=;y=;則表達式x+a%3*(int)(x+y)%2/4的值是_。A) B) 2.750000 C) D) 答案:A36.設有說明:char w;int x;float
21、y;double z;則表達式w*x+z-y 值的數據類型是_。A) int B) float C) double D) char答案:C37.執行下列語句int a=3,b;b=-(-a);后a,b的值分別是_。A) 2和-2 B) 2和-3 C) 3 和-2 D) 3 和-3答案:D38.執行下列語句float f=;int a=4;f=(int)f+a;后f的值是_。A) B) 7.000000 C) D) 出錯答案:B39.執行下列語句int f=3,g,h;g=+f;g=f+;h=+g;后f和h的值是_。A) 5和5 B) 6和5 C) 5和6 D) 4和5答案:A40.下列C語句格
22、式錯的是_。A) int a=10; B) int a,b,z; C) a=2:b=3 ; D) z=a+b;答案:C41.下列變量定義中合法的是_。A) int _a=; B) double b=1+;C) long x=; D) float 2_and=1-e-3;答案:C42.以下_符合C語言語法的實型常量。A) B) .7E-2 C) D) E5答案:C43. 以下_符合C語言語法的賦值表達式。A) d=8+e+f=d+a B) 8+e=f=d C) d=f=8+e+ D) d=8+e+=d+7答案:C44. 設有以下變量定義,并已賦確定的值 char w; int x; float
23、y; double z;則表達式:w+x+z/y值的數據類型為_。 A) char B) int C) float D) double答案:D45.若x為int類型,則下面與邏輯表達式!x等價的C語言關系表達式是_。A) x=1 B) x!=1 C) x=0 D) x!=0答案:C46. 設int a=3;下列表達式值等于0的是_。A) a && (a>0) B) !a|a C) a%=a D) a>=a答案:C47. 假定有以下變量定義: int k=7,x=12;則能使值為3的表達式是_。A)x%=(k%=5) B)x%=(k-4%5) C)x%=k-k%5 D
24、)(x%=k)-(k%=5)答案:D48. 設x和y均為int型變量,則語句:x+=y;y=x-y;x-=y;的功能是_。A)把x和y按從大到小排列 B)把x和y按從小到大排列C)無確定結果 D)交換x和y中的值答案:D49.下面能正確表示"整數x的絕對值大于等于5"的C語言表達式是_。A) x0 B) abs(x) 0 C) abs(x)>=0 D) abs(int(x)>=0答案:C50.以下所列的C語言常量中,錯誤的是_。A) 0xFF B) 0.5 D) '72'答案:C二填空題。1在C語言中用關鍵字【1】定義整型類型變量,用關鍵字flo
25、at定義單精度實型變量,用關鍵字double定義雙精度實型變量。答案:【1】int解析:C語言中規定用關鍵字int定義整型變量。2. 3.5+1/2的計算結果是【2】 答案:【2】解析:1/2的值為0,故+1/2的值為。3.設y是int型,請寫出y為奇數的關系表達式 【3】 。答案:【3】 (y%2)=1 或 (y%2)!=04.設int a=5,b=6,表達式(a=b-)+a:-b的值是【4】 。答案:【4】7解析: 此表達式為三目運算符,a的值為6,b的值為6,則整個表達式的值為+a的值,a的值為7。請注意前綴,-和后綴,-的區別。5.以下程序的輸出結果是【5】。int a=1234;pr
26、intf ("%2dn",a);答案:【5】1234解析: 在%與格式符之間插入一個整形數來指這輸出寬度,并不影響數據的完整性,當插入的寬度小于實際的寬度時,則實際的寬度輸出。6. 以下程序的輸出結果是【6】。main()int a=0;a+=(a=8);printf("%dn",a);答案:【6】16解析: 賦值表達式的值就是所賦值變量的值,本題中a+=8相當于a=a+8,對表達式逐步進行求解:a+=(a=8)此時,a的值由于賦值為8,而不是0a+=8a=a+8a=167.在計算機中,字符的比較是對它們的【7】進行比較。答案:ASCII碼解析:【7】 C語言中,字符也可以進行比較運算,且是按照ASCII碼值進行的。8.在內存中,存儲字符x要占用1個字節,存儲字符串X要占用【8】個字節。答案:【8】2解析: 計算機存儲一個字符用1個字節,存儲字符串時,每個字符用占用1個字節,另在字符串的有效字符之后存儲1個字符串的結束標記符。所以存儲字符串“X”要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 零售服務與客戶溝通技巧考核試卷
- 豆腐腦的地區差異與特點考核試卷
- 絕緣注塑成型工藝考核試卷
- 陶瓷工藝品的室內景觀設計創新案例分享考核試卷
- 重大疾病保險產品介紹
- 口腔直播講課課件設計規范
- 新生兒肺出血護理查房
- 急救護理基本知識
- 口腔剖面圖區別與聯系
- 麻醉通氣系統技術規范與應用
- 項目經理講安全課件
- 《休閑農業》課件 項目二 休閑農業分類及模式分析
- 2025年安徽省省情試題及答案
- 2025年消控室考核試題及答案
- 江西省吉安市遂川縣2024-2025學年數學三下期末達標檢測試題含解析
- 衛健系統2025年上半年安全生產工作總結
- EPC項目-總體實施方案
- 第一章體育與健康基礎知識 第一節 科學發展體能 課件 2024-2025學年人教版初中體育與健康八年級全一冊
- 高三數學復習策略
- 大豆病蟲害的綜合防治
- 貴州省畢節市2023-2024學年高二下學期期末考試 政治 含答案
評論
0/150
提交評論