第1章C語言基礎(chǔ)知識_第1頁
第1章C語言基礎(chǔ)知識_第2頁
第1章C語言基礎(chǔ)知識_第3頁
免費預(yù)覽已結(jié)束,剩余10頁可下載查看

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、第一章 C語言基礎(chǔ)知識、選擇題1. 算法具有五個特性,以下選項中不屬于算法特性的是 。A)有窮性B)簡潔性C)可行性D)確定性【答案】B【解析】本題考查的是算法的特性。一個算法應(yīng)當(dāng)具有以下5個特性:有窮性;確定性;可行性;有零個或多個輸入:由一個或多個輸出。簡潔性不屬于這5個特性,所以本題應(yīng)該選擇B。2. 以下敘述中錯誤的是A)用戶所定義的標(biāo)識符允許使用關(guān)鍵字B)用戶所定義的標(biāo)識符應(yīng)盡量做到“見名知意”C)用戶所定義的標(biāo)識符必須以字母或下劃線開頭D)用戶定義的標(biāo)識符中,大、小寫字母代表不同標(biāo)識【答案】A【解析】本題考查 C語言中標(biāo)識符的概念。用用戶標(biāo)識符是由字母、數(shù)字和下劃線組成,并且第一個字

2、符必須為字母或下劃線,并且不能與 C語言關(guān)鍵字相同。所以本題應(yīng)該選擇Ao3. 以下4組用戶定義標(biāo)識符中,全部合法的一組是()A)_ma in B)lf C)txt D)i nten elude -max REAL k_2sin turbo 3COM _001【答案】A【解析】本題考核的知識點是C語言中的標(biāo)識符命名規(guī)則。標(biāo)識符是以字母或下劃線開頭,由字母、數(shù)字或下劃線組成的字符序列(例如,-max含非法字符-),并且用戶標(biāo)識符不能與C語言中的32個關(guān)鍵字同名(例如,int是關(guān)鍵字,不是合法的用戶標(biāo)識符)。選項B中-max不是字母、數(shù)字或下劃線組成的字符序列,故選項B不正確;選項 C中3COM不是

3、由字母或下劃線開頭,故選項c不正確;選項 D中int為C語言中的關(guān)鍵字,故選項D不正確;選項 A中全部為合法的標(biāo)識符,所以,4個選項中選項 A符合題意。4.以下選項中,合法的一組c語言數(shù)值常量是()A)028B)12.C).177D)0x8a5e-30Xa234e1.510,000-0xf4.5e00abc3.e5【答案】B【解析】本題考查的知識點是:數(shù)值常量。數(shù)值常量分為整型和實型兩類。其中,整型有十進制、八進制和十六進制三種表示法;實型有小數(shù)形式和指數(shù)形式兩種表示法。十進制和書面使用的數(shù)據(jù)表示一樣;八進制是以數(shù)字0開頭,后面跟由07組成的八進制數(shù)組成;十六進制是以0x(或OX)開頭,后面跟

4、由09與AF(或af)組成的十六進制數(shù)組成;小數(shù)形式由數(shù)字和小數(shù)點組成,其整數(shù)部分或小數(shù)部分如果為0可省略,但不能同時省略。指數(shù)形式由小數(shù)形式或十進制形式開頭,后面跟e(或E),再跟一個十進制整數(shù)組成。選項A中,028是八進制形式,但后面跟的8不在07之內(nèi),所以非法;選項 c中,4e1.5是指數(shù)形式,但e后面所跟的不是整數(shù),所以非法;選項D中,10,000中不能有“,”,所以非法。故本題應(yīng)該選擇B。5. 以下敘述中正確的是()A)C語言的源程序不必通過編譯就可以直接運行B)C語言中的每條可執(zhí)行語句最終都將被轉(zhuǎn)換成二進制的機器指令C) C源程序經(jīng)編譯形成的二進制代碼可以直接運行D) C語言中的函

5、數(shù)不可以單獨進行編譯【答案】B【解析】本題考核的知識點是C程序從編寫到生成可執(zhí)行文件的步驟。C語言采用編譯方式將源程序轉(zhuǎn)換為二進制的目標(biāo)代碼,編寫好一個 C程序到完成運行一般經(jīng)過以下幾個步驟:編輯;編譯,就是將已經(jīng)編輯好的源程序翻譯成二進制的目標(biāo)代碼,經(jīng)編譯后的得到的二進制代碼還不能直接執(zhí)行,因為每一個模塊往往是單獨編譯的,必須把經(jīng)過編 譯的各個模塊的目標(biāo)代碼與系統(tǒng)提供的標(biāo)準(zhǔn)模塊鏈接后才能運行:鏈接,將各模塊的二進制目標(biāo)代碼與系統(tǒng)標(biāo)準(zhǔn)模塊 經(jīng)鏈接處理后,得到具有絕對地址的可執(zhí)行文件,它是計算機能直接執(zhí)行的文件:執(zhí)行,執(zhí)行一個經(jīng)過編譯和鏈接的 可執(zhí)行的目標(biāo)文件。由以上定義可知,選項A)C)D均不

6、正確。所以,4個選項中選項B符合題意。6. 下列敘述中正確的是A) 每個C程序文件中都必須要一個main()函數(shù)B) 在C程序中main()函數(shù)的位置是固定C) C程序中所有函數(shù)之間都可以相互調(diào)用,與函數(shù)所在位置無關(guān)D) 在C程序的函數(shù)中不能定義另一個函數(shù)【答案】D【解析】本題考查的知識點是函數(shù)。每一個c程序中都必須有且只有一個main ()函數(shù)但一個 C程序可以由多個程序文件組成,所以并非每個 c程序文件中都必須要有一個main()函數(shù),故選項 A不正確。c語言并未對 main()函數(shù)的位置作要求,因此選項 B也是錯誤的。C語言中,在一個函數(shù)被調(diào)用之前一定要先聲明該函數(shù),所以定義靠后的函數(shù)若

7、 在前面沒有聲明該函數(shù)的原型,是不能被定義靠前的函數(shù)所調(diào)用的,即除數(shù)函數(shù)數(shù)之間的調(diào)用并非與函數(shù)所在位置無 關(guān),所以選項 C不正確。故本題的正確答案應(yīng)該為選項Dt7. 下列敘述中錯誤的是()A) 計算機不能直接執(zhí)行用 C語言編寫的源程序B) C程序經(jīng)C編譯程序編譯后,生成后綴為.obj的文件是一個二進制文件C) 后綴為.obj的文件,經(jīng)連接程序生成后綴為.exe的文件是一個二進制文件D) 后綴為.obj和.exe的二進制文件都可以直接運行【答案】D【解析】本題考查的知識點是:c語言的基本概念。c語言源程序經(jīng)過 c語言編譯程序編譯后,會生成一個二進制文件,后綴為 .obj,稱為目標(biāo)文件。然后還要經(jīng)

8、過“連 接程序”,把此.obj文件與c語言提供的各種庫函數(shù)連接起來,生成后綴為.exe的可執(zhí)行文件,才能夠運行。故本題中只有選項D是錯誤的。8. 以下敘述中錯誤的是()A) C語 言是- -種結(jié)構(gòu)化程序設(shè)計語言B) 結(jié)構(gòu)化程序有順序、分支、循環(huán)三種基本結(jié)構(gòu)組成C) 使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題D) 結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法【答案】c【解析】本題考查的知識點是:結(jié)構(gòu)化程序設(shè)計。結(jié)構(gòu)化程序由3種基本結(jié)構(gòu)組成:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。已經(jīng)得到證明,由3種基本結(jié)構(gòu)組成的算法結(jié)構(gòu)可以解決任何復(fù)雜的問題。故本題中選項c是錯誤的。9. 用C語言編寫的代碼程序A) 可立即執(zhí)行 B

9、)是一個源程序C)經(jīng)過編譯即可執(zhí)行 D)經(jīng)過編譯解釋才能執(zhí)行【答案】B【解析】本題考核的知識點是c程序的基本概念。c語言一種高級語言,c語言源程序經(jīng)過 c語言編譯程序編譯之后,生成一個后綴為.OBJ的二進制文件(稱為目標(biāo)文件),晟后還要由稱為鏈接程序”(Link)的軟件,把此.0BJ文件與c語言提供的各種庫函數(shù)連接在一起,生成一個后綴.EXE的可執(zhí)行文件。顯然 c語言不能立即執(zhí)行,故選項 A錯誤;根據(jù)以上定義。選項 C和選項D錯誤,所以,4個選項中選項 B符合題意。10. 結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法A)可以完成任何復(fù)雜的任務(wù)C)只能完成符合結(jié)構(gòu)化的任務(wù)【答案】AB)只

10、能完成部分復(fù)雜的任務(wù)D)只能完成一些簡單的任務(wù)【解析】本題考核的知識點是c程序的三種基本結(jié)構(gòu)。C程序由三種基本的結(jié)構(gòu)組成,分別為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),這三種結(jié)構(gòu)可以組成任何復(fù)雜的C程序,即可以完成任何復(fù)雜的任務(wù),故選項 B)選項c和選項D都不正確。所以,4個選項中選項A符合題意。11. C語言源程序名的后綴是()A).exeB).CC).objD).cp【答案】B【解析】本題考查的知識點是:c語言的基本概念。c語言源程序的后綴為.c;經(jīng)過編譯得到的目標(biāo)程序文件的后綴為.obj ;再將目標(biāo)程序文件鏈接后得到可執(zhí)行文件的后綴為驗證.exe。故本題應(yīng)該選擇B。12. 以下敘述中錯誤的是A)C

11、語句必須以分號結(jié)束B)復(fù)合語句在語法上被看作一條語句C)空語句出現(xiàn)在任何位置都不會影響程序運行D】帆代左達罠衣崔1力號就陶成丿鳳件【答案】C【解析】本題考查了C語言中語句的一些概念。C語句必須以分號結(jié)束,選項A是正確的。復(fù)合語句在語法上被看作一條語句,選項 B也是正確的。空語句也算是一條語句,因此如果空語句出現(xiàn)在條件或者循環(huán)語句中,一樣會被當(dāng)作 條件子句或者循環(huán)體來看待,所以選項C是錯誤的。賦值表達式末尾加分號就構(gòu)成賦值語句,選項D正確。故本題應(yīng)該選擇c。13. 以下能正確定義且賦初值的語句是A)int n仁n2=10; B) char c=32; C )float f=f+1.1; D )d

12、ouble x=12.3E2.5;【答案】B【解析】本題考查的知識點是變量賦初值。選項A中的語句只能起定義nl的作用,而n2=10是n1的初始值表達式,但因前面沒有定義過n2,所以編譯會報錯“ n2未定義”,故不正確。選項 B使用一個整數(shù)初始化一個字符變量是正確的,因為字符變量中保存的本來就是整數(shù)(某字符的ASCII碼值)。選項c定義的初始值表達式中出現(xiàn)了它自身,某些編譯器能通過編譯,但f在初始化之前是一個未知的值,用未知值來初始化也還是未知值,這是不可取的。選項D的初始值是一個非法常量,因為實型常量指數(shù)形式的指數(shù)部分必須為整數(shù),這里的2.5非法。14. 有以下程序main () char a

13、1=M, a2=m;prin tf(%c n, (a1, a2) ); 以下敘述中正確的是A)程序輸出大寫字母M B )程序輸出小寫字母mC)格式說明符不足,編譯出錯D)程序運行時產(chǎn)生出錯信息【答案】B【解析】本題考查的是逗號表達式。因為整個逗號表達式的值為逗號表達式最后一個子表達式的值,所以本題輸出的 是a2的值m。故應(yīng)該選擇 B。15. 以下符合C語言語法的實型常量是()A) 1.2E0.5 B)3.14.159E C).5E-3 D)E15【答案】C【解析】本題考核的知識點是實型常量和指數(shù)形式表示數(shù)的書寫格式。實型常量只能用十進制形式表示,不能用八進 制或十六進制形式表示,實型常量可以用

14、小數(shù)形式或指數(shù)形式表示,在C語言中,可以用指數(shù)形式將實型常量表示為數(shù)值和指數(shù)兩部分,數(shù)值部分不能為空,指數(shù)部分只能為整數(shù)表示。選項A中1.2和0.5都不是整數(shù),故選項 A不正確;選項B中3.14159也不是整數(shù),故選項 B不正確;選項 D中數(shù)值分不能為空,故選項 D也不正確;所以,4個選 項中選項C符合題意。16. 若以下選項中的變量已正確定義,則正確的賦值語句是()A)x1=26.8%3; B)1+2=x2 ;C)x3=0x12; D)x4=1+2=3;【答案】C【解析】本題考核的知識點是C語言中對變量賦值的應(yīng)用。賦值操作由賦值運算符“=”來完成,一般形式為變量=表達式,賦值的方向為由右向左

15、,即將“=”右側(cè)表達式的值賦給“=”左側(cè)的變量,執(zhí)行步驟是先計算再賦值。選項A中運算符“”的運算對象必須為整數(shù),而選項A中26.8不是整數(shù),故選項 A不正確;選項B將一個變量賦值給一個表達式,這在 C語言中是不允許的,故選項 B不正確;選項 D中也是將一個常量 3賦值給一個表達式,故選項 D不正 確;所以,4個選項中選項 C符合題意。17. 設(shè)有以下定義int a=0;double b=1.25; char c= A; #defi ne d 2 則下面語句中錯誤的是() A)a+; B)b+ ;C)c+; D)d+;【答案】D【解析】本題考核的知識點是自加運算符的運算對象。自加運算對象可以是整

16、型變量也可以是實型變量,但不能是表 達式和常量。本題中,#define d 2定義了 d為常數(shù)2,不能在對d進行自加運算。故選項 D是個不正確的語句,所以, 4個選項中選項 D符合題意。18. 設(shè)有定義:float a=2,b=4,h=3;, 以下C語言表達式與代數(shù)式 1/2(a+b)h 計算結(jié)果不相符的是()A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)【答案】B【解析】本題考核的知識點是將簡單的數(shù)學(xué)表達式表示成合法的C程序的語句。選項B中由于I和2都是整型,其l/2的運算結(jié)果為0,故整個表達式的值為 0,所以它的結(jié)果和題目中要求的

17、代數(shù)式的計算結(jié)果不相符,所以,4個選項中選項B符合題意。19. 有以下定義語句douhl u 乩h: inr. w; 1門門窩 c;若各變量已正確賦值,則下列選項中正確的表達式是A)a=a+b=b+ B)w%(int)a+b)0 (c+w;珀 i im)己 D宵-&-h:【答案】C【解析】本題考核的知識點是c語言中一些運算符的簡單應(yīng)用。選項A中不是合法的賦值語句,將最右邊的第一個賦值表達式加括號即為 a=b+(b=b+)才正確,故選項 A不正確;選項 B中運算符“”的對象必須是整型,而在選項B中(int)a+b 為double型,故選項 B不正確;選項 a,b都為double “ =”應(yīng)該改為

18、“=”,故選項 D不正確。所以,4 個選項中選項c符合題意。20. 有以下程序main () int m=3, n=4,x;x=-m+;x=x+8/+n;prin tf(%dn,x);程序運行后的輸出結(jié)果是A)3 B)5C)-1 D)-2【答案】D【解析】本題考核的知識點是運算符的優(yōu)先級。主函數(shù)中首先定義了整型變量m n和x,并給m和n賦初值為3和4,接著執(zhí)行兩條賦值語句,第一條 x=-m+等價于X=-(m+),其值即為-3,第二條x=x+8/ +n等價于x=+8/什+n),即 為x=-3+8 / 5=-2,因此最后輸出x的值為-2。所以,4個選項中選項 D符合題意。21. 有以下程序main

19、 () char a=a,b;prin t(%c,+a);prin tf(%cn,b=a+);程序運行后的輸出結(jié)果是A)b,b B)b,c C)a,b D)a,c【答案】A【解析】本題考核的知識點是運算符+的用法。程序中的第一個輸出語句輸出表達式+a的值,該+a是在使用a之前,先使a的值加1,即為a加1為字符b,此時a的值為b,所以第一個輸出語句輸出的值為b,第二個輸出語句中輸出的b的值,這時b的值為表達式a+的值,a+是在使用a之后(此時a的值為b,所以賦給b的值為b),使a的值加 一,因此第二個輸出的值也為b。所以,4個選項中選項 A符合題意。22. 有以下程序main () char a

20、,b,c,d;scan f(%c,%c,%d,%d,&a,&b,&c,& d);prin tf(c,%c,%c,%cn,a,b,c,d);若運行時從鍵盤上輸入:6,5,65,66。則輸出結(jié)果是A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6【答案】A【解析】本題考核的知識點是字符表示。主函數(shù)中首先定義了 4個字符變量A)B)C) d ,然后通過scanf()函數(shù)輸入A)B)C)d。輸入中a和b是按字符格式c輸入的,c和d是按整型符號d輸入的。在看下面的 printf() 函數(shù)中,要求 A)B)C)d都按字符輸出,故a和b原樣輸出為6、5、c和d將把與其ASCI

21、I碼對應(yīng)的字符輸出,65和66的ASCII碼對 應(yīng)字符A和B,故最后的輸出為“ 6, 5, A, B”。所以,4個選項中選項 A符合題意。23. 以下關(guān)于 long 、 int 和 short 類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是 ( )A) 均占 4 個字節(jié) B) 根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C)由用戶自己定義D) 由c語言編譯系統(tǒng)決定【答案】 D【解析】 在 c 語言的標(biāo)準(zhǔn)中, short 占 2 個字節(jié)、 long 占 4 個字節(jié), 但 int 的大小和編譯系統(tǒng)相關(guān)。 例如在 Turbo C 2.0 中,int占2個字節(jié),但在 Visual C+6.0(VC6 可以用做c語言編譯

22、器)中占4個字節(jié)。故本題應(yīng)該選擇D。24. 以下不合法的字符常量是A)018B)C) D)xcc【答案】 A【解析】本題考查的知識點是字符常量中的轉(zhuǎn)義字符。轉(zhuǎn)義字符是以一個開頭的字符序列,它只代表一個字符。 在選項A中,“”后跟著三個數(shù)字,是表示一個ASCII碼值等于這三位數(shù)字所組成的八進制數(shù)數(shù)值的字符,但是八進制數(shù)只能是由07這八個數(shù)字表示,而選項A中出現(xiàn)了數(shù)字8所以是不合法的。選項B是表示一個雙引號的轉(zhuǎn)義字符 表示方法;選項 c表示的是一個反斜桿;選項D表示一個ASCII值為十六進制值 cc的字符。故應(yīng)該選擇 A。25. 表達式 3.6-5/2+1.2+5%2 的值是A)4.3B)4.8C

23、)3.3D)3.8【答案】 D【解析】本題考查的知識點是算術(shù)表達式的運算。算術(shù)表達式是由+、一、 *、和五種算術(shù)運算符所組成的表達式,其中*、和的優(yōu)先級要高于 +和一,同級別的運算符從左至右運算。所以本題首先計算5/2 和 52,雖然我們都知道5/2的結(jié)果應(yīng)該是2.5,但C語言中規(guī)定了兩個整數(shù)相除的結(jié)果為整數(shù)。而且是截尾取整,所以5/2的結(jié)果是2; 5%2 表示的是 5除以 2所得的余數(shù),其結(jié)果為 1。計算完后,表達式變?yōu)?3.6 -2+1.2+1 ,從左至右計算不難得出結(jié)果為 3.8 ,故應(yīng)該選擇 D。26. 以下四個程序中,完全正確的是A) #includemain( ); /* prog

24、ramming */printf(programming!n); B) #includemain( ) /*/ programming /*/printf(programming!n); C) #includemain( ) /*/* programming */*/printf(programming!n);D) includemain( )/* programming */printf(programming!n);【答案】 B【解析】本題考查了一些書寫代碼時經(jīng)常容易犯的錯誤。選項A在定義main()函數(shù)時,函數(shù)頭后面多了一個分號,故選項A不正確;C語言中的注釋是不能嵌套的,故選項C不正確

25、;選項D在使用預(yù)編譯指令#include時漏掉了 #號,所以也是錯誤的。故應(yīng)該選擇B。27. 以下敘述中錯誤的是A) C程序中的#inelude 和#define 行均不是 C語句B) 除逗號運算符外,賦值運算符的優(yōu)先級最低C) C程序中,j+ ;是賦值語句D) C程序中,+、-、*、/、%號是算術(shù)運算符,可用于整型和實型數(shù)的運算【答案】 D【解析】是求余運算符,只能用于整型數(shù)的運算,故答案D是錯誤的。28. 以下敘述中正確的是A) 預(yù)處理命令行必須位于C源程序的起始位置B) 在C語言中,預(yù)處理命令行都以“ #”開頭C) 每個C程序必須在開頭包含預(yù)處理命令行:#includeD) C語言的預(yù)處

26、理不能實現(xiàn)宏定義和條件編譯的功能【答案】 B【解析】預(yù)處理命令行可以出現(xiàn)在C源程序的任何位置.故選項A不正確。#in clude stdio.h 預(yù)處理命令行的意思是將stdio . h頭文件插入源程序中該行命令所在的位置,表示我們將在后續(xù)行中用到stdio . h頭文件中定義的函數(shù)或類型,若程序中沒有用到這些函數(shù)或類型就可以不用包含此頭文件,故選項C不正確。C提供的預(yù)處理功能主要有:宏定義、文件包含和條件編譯三種功能。故選項D不正確。在C語言中,預(yù)處理命令行都以“ #”開頭,故應(yīng)該選擇 B。29. 下列敘述中錯誤的是A) 個C語言程序只能實現(xiàn)一種算法B) C程序可以由多個程序文件組成C) C

27、程序可以由一個或多個函數(shù)組成D) 個C函數(shù)可以單獨作為一個 C程序文件存在【答案】 A【解析】本題考查 c語言的特點。一個 c語言程序可以實現(xiàn)多種算法,因此本題應(yīng)該A。30. 下面程序的輸出結(jié)果是#i ncludev stdio;h main() int i=010, j=10;printf (%d,%d, i,j-); A) 11, 10 B ) 9, 10 C ) 010 , 9 D ) 10, 9【答案】 B【解析】程序中 i 的值用八進制表示 (十進制為 8), i 是在變量使用前自身先加1,而 j- 是在變量使用后自身減1。31. 若有定義: int a=8,b=5,c; 執(zhí)行語句

28、c=a/b*0.4 ;后, c 的值為A) 1.4 B ) 1 C ) 2.0 D ) 2【答案】 B【解析】在表達式中根據(jù)運算的結(jié)合性和運算符的優(yōu)先級,首先計算的是a/b(8/5=1),再將1.4賦值給c,由于c為整型變量所以要將 1.4 轉(zhuǎn)換為整型,即舍棄小數(shù)位 (c 的值變?yōu)?1)。32. C 語言程序的基本單位是A) 程序行B) 語句C) 函數(shù)D) 字符【答案】 C【解析】C語言程序的基本單位是函數(shù)。33. C 語言中最簡單的數(shù)據(jù)類型包括A) 整型、實型、邏輯型B) 整型、實型、字符型C) 整型、字符型、邏輯型D) 整型、實型、邏輯型、字符型【答案】 B【解析】 C 語言三種基本數(shù)據(jù)類

29、型是整型、實型、字符型34. 以下選項中屬于C語言的數(shù)據(jù)類型是A) 復(fù)數(shù)型 B) 邏輯型 C) 雙精度型 D) 集合型 【答案】 C【解析】C語言沒有邏輯型和集合型,更不會有復(fù)數(shù)型,所以只有C正確35. 下列敘述中正確的是A) C 語言中既有邏輯類型也有集合類型B) C語言中沒有邏輯類型但有集合類型C) C 語言中有邏輯類型但沒有集合類型D) C語言中既沒有邏輯類型也沒有集合類型【答案】 D【解析】C語言中沒有邏輯類型和集合類型。36. C 語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是A) DoubleB) shortC) integerD) Char【答案】 B【解析】C語言關(guān)鍵字必須小寫,所以A和D都

30、是錯誤的,integer不是C語言關(guān)鍵字,所以應(yīng)該選擇B37. 在使用程序流程圖來表示算法時,菱形用來表示 。A)輸入與輸出 B )子程序 C判斷分支D )循環(huán)邊界【答案】 C【解析】美國國家標(biāo)準(zhǔn)化協(xié)會ANSI規(guī)定了一些常用的流程圖符號,其中橢圓框表示起止框,方框表示處理框,菱形框表示判斷分支,箭頭表示流程線。38. 與十進制數(shù) 200 等值的十六進制數(shù)為 。A)A8 B)A4 C)C8 D)C4【答案】 C。【解析】本題考查的是進制之間的轉(zhuǎn)換。 用十 - 十六進制轉(zhuǎn)換法,除 16,由下而上取余法。16200 8I16C C39. 有以下程序main() int m=12,n=34;print

31、f(%d%d,m+,+n); printf(%d%dn,n+,+m);程序運行后的輸出結(jié)果是 。A)12353514 B)12353513 C)12343514 D)12343513【答案】 A。【解析】本題考查的是變量的自加運算。+ 在變量前和變量后的唯一區(qū)別就在于在執(zhí)行 +變量所在的語句時,是先將變量加 1 再執(zhí)行它所在語句還是先 執(zhí)行它所在的語句再使變量加1 ,當(dāng)+在變量后時,也就是 變量+,那就是先將變量值代入表達式運算后再使變量加1 ;而+變量是先使變量加1,再把加1后的結(jié)果放入表達式進行運算。這兩種情況,在執(zhí)行完變量所在的語句后,它們在內(nèi)存中的值都是加過1之后的值了。本題執(zhí)行pri

32、ntf(%d%d,m+,+n);后,輸出的是 m和 n+1的值1235,接著使 m+1=13,執(zhí)行printf(%d%dn,n+,+m);輸出 n 和 m+1 的值 3514。40. 有以下程序main () int a,b,d=25;a=d/10%9;b=a&(-1);prin tf(%d,%dn,a,b);程序運行后的輸出結(jié)果是 。A)6,1B)2,1 C)6,0 D)2,0【答案】B?!窘馕觥勘绢}考查的是算術(shù)運算符。如果算術(shù)運算符/中參與運算的變量都是整型變量,則/表示整除運算,表示求余。本題中a=d/10%9;的值為25/10%9=2; b=a&(-1);為2&(-1)=1 (注意:-

33、1表示真,只有 0才表示假),所以a,b的值分別為2,1。41. 設(shè)int a=12 ,則執(zhí)行完語句 a+=a-=a*a后,a的值是。A)552B)264C)144D)-264【答案】Do【解析】本題的考查點是賦值表達式的求解。第一步:a*a=144 ;(此時 a=12)第二步:a-=144 相當(dāng)于 a=a-144 , a=a-144=-132 ; (此時 a=-132)第三步: a+=a 相當(dāng)于 a=a+a, a=a+a=-264 ;所以該表達式最后的值應(yīng)當(dāng)為-264。42. 在C語言中,要求運算數(shù)必須是整型的運算符是 。A)%B)/C)D)!【答案】Ao【解析】本題的考查點是運算符。題目的

34、四個選項中,(B) (C) ( D)都不要求運算數(shù)必須為整數(shù),參與模運算()的運算數(shù)必須是整型數(shù)據(jù)。43. 設(shè)有語句 char a=072:,則變量 a。A)包含1個字符B)包含2個字符 C)包含3個字符 D)說明不合法【答案】Ao【解析】本題考查的是字符型數(shù)據(jù)。072 表示的是ASCII碼等于72的那個字符,即為”:,所以在字符變量中存儲的只是”:這一個字符。44. 要把高級語言編寫的源程序轉(zhuǎn)換為目標(biāo)程序,需要使用 。A)編輯程序B)驅(qū)動程序 C)診斷程序 D)編譯程序【答案】Do【解析】編繹程序的作用就是將已編輯好的源程序翻譯成二進制的目標(biāo)代碼。在編譯時,還要對源程序進行檢查,如發(fā)現(xiàn)錯誤,

35、則在屏幕上顯示出錯信息,此時應(yīng)重新進入編輯狀態(tài),對源程序進行修改后再重新編譯,直到通過編譯為止。不過值得注意的是:經(jīng)編譯得到的二進制代碼還不能直接參與執(zhí)行,因為每一個模塊往往是單獨編譯的,必須把 經(jīng)過編譯的各個模塊的目標(biāo)代碼與系統(tǒng)提供的標(biāo)準(zhǔn)模塊連接后才能運行。45. 英文小寫字母d的ASCII碼為100,英文大寫字母 D的ASCII碼為_。A)50 B)66 C)52 D)68【答案】Do【解析】本題主要考的是英文大小寫字母間ASCII碼值的差異,只要記住英文大寫字母比其對應(yīng)的英文小寫字母的ASCII碼值小32。46. 以下選項中不屬于 C語言的類型是_。A)sig ned short int

36、 B)un sig ned char C)sig ned long D)l ong short【答案】Do【解析】C語言中歸納起來,基本類型數(shù)據(jù)有以下幾種:sin ged char;un sig ned char;sig ned short in t;un sig ned short in t;sig ned I ong in t;un sig ned long in t;float;double;long double;47. 在16位C編譯系統(tǒng)上,若定義 long a;,則能給a賦40000的正確語句是 。A)a=20000+20000 B)a=4000*10 C)a=30000+1000

37、0 D)a=4000L*10L【答案】Do【解析】除D之外的選項的右邊的表達式都超過了16位帶符號整數(shù)的范圍(32767)。48. 已知大寫字母 A的ASCII碼是65,小寫字母a的ASCII碼是97,則用八進制表示的字符常量101是。A)字符A B)字符a C) 字符e D)非法的常量【答案】Ao【解析】本題的考查點是字符與ASCII碼的轉(zhuǎn)換。八進制101轉(zhuǎn)換為10進制即為65,而字母A的ASCII碼是65,所以用八進制表示的字符常量101是Ao49. 下列關(guān)于單目運算符+、-的敘述中正確的是 oA) 它們的運算對象可以是任何變量和常量B) 它們的運算對象可以是char型變量和int型變量,

38、但不能是 float 型變量C) 它們的運算對象可以是int型變量,但不能是 double型變量和float型變量D) 它們的運算對象可以是char型變量、int型變量和float 型變量【答案】Do【解析】本題的考查點是自增、自減運算符。自增、自減運算符的作用是使變量的值增1或減1,只能用于變量,包括char型變量、int型變量和float型變量,而不能用于常量或表達式。二、填空題1. 以下程序運行后的輸出結(jié)果是 main () char c; int n=100;float f=10; double x;x=f*=n/=(c=50);prin tf(%d %fn,n,x);【答案】2 20

39、.0 或 2 20 或 2 20 .或 2 20 . 000000【解析】本題考查的是賦值運算符。所有的賦值運算符的優(yōu)先級都相同,它們的結(jié)合性為從右至左,它們返回的表達式值為賦給變量的值。所以,語句x=f*=n / =(c=50) X=f*=n / =50x= f*=2;(n的值變成 2)x=20 ;。故最終輸出的結(jié)果應(yīng)該是 2 20.0000002. 已知字母A的ASCII碼為65。以下程序運行后的輸出結(jié)果是 。main () char a, b;a=A+5-3: b=a+6-2;prin tf(%d %cn, a, b);【答案】67G【解析】本題考查的是字符型變量的算術(shù)運算。字符型變量中

40、保存的是某個字符的ASCII碼值,是一個整數(shù),因此字符型變量的算術(shù)運算和整型變量并無區(qū)別。所以a= A+ 5- 3= A+( 5 - 3)= A +2=65+2=67;b=a+6 - 2 = C +( 6 - 2 ) = C +4= G。最后分別按十進制整數(shù)和字符形式輸出a和b的值為:67G。3. 已知字符A的ACSII碼值為65,以下語句的輸出結(jié)果是 char ch= B; printf( “%c %d n” ,ch,ch);【答案】B 66【解析】本題考核的知識點是printf 函數(shù)的應(yīng)用。printf函數(shù)的功能是按照指定的格式,在標(biāo)準(zhǔn)輸出設(shè)備上輸出數(shù)據(jù),它有兩種參數(shù):格式控制參數(shù)和輸出項參數(shù)。本題中,printf( % c %d”,ch, ch)表示以字符格式和十進制整數(shù)格式輸出ch, B的ACSll碼值為66,即在計算

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論