c語言期末考試題庫_第1頁
c語言期末考試題庫_第2頁
c語言期末考試題庫_第3頁
c語言期末考試題庫_第4頁
c語言期末考試題庫_第5頁
已閱讀5頁,還剩80頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、習(xí)題一一、選擇題1C 語言是一種( C )。機(jī)器語言A. 低級(jí)語言 B. 匯編語言 C. 高級(jí)語言 D. 2以下不是 C 語言的特點(diǎn)的是( D )。A. 語言簡潔緊湊B.可以直接對(duì)硬件進(jìn)行操作C. 數(shù)據(jù)類型豐富D.是面向?qū)ο蟮某绦蛟O(shè)計(jì)語言3一個(gè) C程序的執(zhí)行是從( A )。A. 本程序的 main 函數(shù)開始,到 main 函數(shù)結(jié)束B. 本函數(shù)的第一個(gè)數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C. 本程序的 main 函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D. 本函數(shù)的第一個(gè)數(shù)開始,到本程序 main 函數(shù)結(jié)束 4以下敘述正確的是( C )。A. 在 C程序中, main 函數(shù)必須位于程序的最前面

2、B. C 程序的每行只能寫一條語句C. C 語言的本身沒有輸入輸出語句D. 在對(duì)一個(gè) C 程序進(jìn)行編譯的過程中,可以發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤 5以下敘述不正確的是( D )。A. 一個(gè) C源程序可由一個(gè)或多個(gè)函數(shù)組成B. 一個(gè) C源程序必須包括一個(gè) main 函數(shù)C. C 程序的基本組成單位是函數(shù)D. 在 C 程序中,注釋說明只能位于一條語句的后面6C語言規(guī)定:在一個(gè)源程序中, main 函數(shù)的位置( C )。A. 必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C. 可以任意D.必須在最后函數(shù)組成若干子程序組成程序中的每一行只能寫一條語句語言必須在一行內(nèi)寫完7一個(gè) C語言程序是由( B )。A. 一

3、個(gè)主程序和若干子程序組成 B. C. 若干過程組成 D. 8以下敘述中正確的是(C )。A. C 程序的基本組成單位是語句B. CC. C 語句必須以分號(hào)結(jié)束D. C9以下敘述中正確的是(C )。A. C 程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面B. C 程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語句C. C 程序書寫格式自由,一個(gè)語句可以寫在多行上D. 用 C 語言編寫的程序只能放在一個(gè)程序文件中 10以下敘述中正確的是(C )。A. C 語言程序?qū)脑闯绦蛑械谝粋€(gè)函數(shù)開始執(zhí)行B. 可以在程序中由用戶指定任意一個(gè)函數(shù)作為主函數(shù),程序?qū)拇碎_始執(zhí)行C. C 語言規(guī)定必須用 main 作為主

4、函數(shù)名,程序從此開始執(zhí)行,在此結(jié)束D. main 可作為用戶標(biāo)識(shí)符,用以命名任意一個(gè)函數(shù)作為主函數(shù)11下列敘述中正確的是(A )。A. 每個(gè) C程序文件中都必須要有一個(gè) main 函數(shù)B. 在 C 程序中 main() 位置是固定的C. C 程序中所有函數(shù)之間都可以相互調(diào)用,與函數(shù)所在位置無關(guān)D. 在 C 程序的函數(shù)中不能定義另一個(gè)函數(shù)12 C語言源程序的基本單位是(B)。A. 過程B.函數(shù)C.子程序D.標(biāo)識(shí)符13下列關(guān)于算法的特點(diǎn)描述中錯(cuò)誤的是(D )。A. 有窮性B.確定性C.有零個(gè)或多個(gè)輸入D.有零個(gè)或多個(gè)輸出14以下選項(xiàng)中不屬于算法特性的是()。A. 有窮性B.確定性C.簡潔性D.有效

5、性15用 C 語言編寫的代碼程序(A. 可立即執(zhí)行B.個(gè)源程序C. 經(jīng)過編譯即可執(zhí)行D.經(jīng)過編譯解釋才能執(zhí)行二、填空題1C語言的源程序必須通過編譯和連接后,才能被計(jì)算機(jī)執(zhí)行。2C 語言源程序文件的后綴是 .c ;經(jīng)過編譯后,生成文件的后綴是 . obj ;經(jīng)過連接后,生成文件的后綴是.exe3C語言從源程序的書寫到上機(jī)運(yùn)行輸出結(jié)果要經(jīng)過編輯、編譯 、連接、執(zhí)行四個(gè)步驟。4結(jié)構(gòu)化程序由順序結(jié)構(gòu) 、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu)組成。5C 語言源程序的基本單位是函數(shù) 。6一個(gè) C語言源程序是由若干函數(shù)組成,其中至少應(yīng)含有一個(gè)主函數(shù)(或 main 函數(shù)) 。7在一個(gè) C 語言源程序中,注釋部分兩側(cè)的

6、分界符為/* */ 。8算法 是程序設(shè)計(jì)的靈魂。9C 語言程序只能從main 函數(shù) 開始執(zhí)行。10自然語言、 流程圖和偽代碼都可以用來表示算法,其中 流程圖 是算法的圖形化表示方法。三、編程 / 思考題1簡述 C語言的主要特點(diǎn)。1C 語言的主要特點(diǎn)有:( 1)C語言具有結(jié)構(gòu)化的高級(jí)編程語言應(yīng)有的所有高級(jí)指令,使 程序員不需要知道硬件細(xì)節(jié)。同時(shí), C也具有一些低級(jí)指令,允許程序員能夠直接快速地訪 問硬件。( 2)C語言是結(jié)構(gòu)式語言。 ( 3) C語言是一種高效的語言。 (4)C 語言簡潔緊湊, 使用方便靈活。 ( 5)C語言運(yùn)算符豐富。 (6) C 語言是一種可移植性語言。2要得到一個(gè)可以正常運(yùn)

7、行的C 語言程序,一般經(jīng)過哪幾個(gè)過程?編輯 C 語言程序源代碼,編譯源文件,連接程序,執(zhí)行程序。 3算法具有哪些特點(diǎn)? 3算法具有以下特點(diǎn): ( 1)有窮性;( 2)確定性; (3)有零個(gè)或多個(gè)輸入; ( 4)有一個(gè)或 多個(gè)輸出;( 5)有效性。4用流程圖表示求解 12345 的算法。 5參照本章例題,編寫一個(gè) C 程序,輸出以下信息:This is a simple C program!答 #include void main() printf( *printf(This is a simple C program!n);printf( *習(xí)題二一、選擇題1下列幾個(gè)選項(xiàng)中,屬于 C 語言的基

8、本數(shù)據(jù)類型的是( B )。A. 整型、實(shí)型、結(jié)構(gòu)體類型 B. 整型、實(shí)型、字符型C. 整型、邏輯型、實(shí)型D. 整型、字符型、數(shù)組類型語言規(guī)定,標(biāo)識(shí)符的命名只能由字母、數(shù)字和下劃線三種字符組成,且第一個(gè)字符 ( C )。A.必須是字母B. 必須是下劃線 C.必須是字母或下劃線D. 必須是數(shù)字3下列標(biāo)識(shí)符中,合法的標(biāo)識(shí)符為( B )。1 C4下列標(biāo)識(shí)符中,不合法的標(biāo)識(shí)符為( A )。A. int B. _n5 C. i_5ab D. q5n5.下列不合法的字符常量是(D )。A.aB.C.nD.”a”6下列不合法的字符串常量是(A )。A.abcB.”abc”C.” dfb345 ”D.7下列不合

9、法的轉(zhuǎn)義字符是(D )。A. B.t C.x6a D. 89 8.下面四個(gè)選項(xiàng)中,均是不合法的轉(zhuǎn)義字符的選項(xiàng)是( B )。A.t B.1234 018 x3h C.n16 D.x8a &101 9下列整型常量中,不合法的是(D )。B. -16 C. 0x4b10. 下面四個(gè)選項(xiàng)中,均是不合法的整型常量的選項(xiàng)是(A )。A.-0f10182e5B.250xf3C.065-54-0a4D.0130xk5-06911下列實(shí)型常量中,不合法的是(C )。A. 0.0 B. .123 C. 123 D. 12下列實(shí)型常量中,合法的是(D )。A. e3 B. 2e4.3 C.e4 D. 2e-413.

10、 下面四個(gè)選項(xiàng)中,均是不合法的實(shí)型常量的選項(xiàng)是( B )。A. 2e5B. e5 68C. 2e-4 123e-5D. -e-3 123e14. 在 C語言中, int 、char 和 short 三種類型數(shù)據(jù)在內(nèi)存中所占用的字節(jié)數(shù)( D )。A. 由用戶自己定義 B. 均為 2 個(gè)字節(jié)C. 是任意的 D. 由所使用的編譯系統(tǒng)決定15. 若有說明語句: char c= 72 ;則變量 c( A )。A. 包含 1 個(gè)字符B.包含 2 個(gè)字符C.包含 3 個(gè)字符D.說明不合法, c 的值不確定16設(shè)變量 a 是整型, f 是實(shí)型, i 是雙精度型,則表達(dá)式 10+ a +i*f 值的數(shù)據(jù)類型為C

11、 )。A. int B. floatC. double D.不確定則表達(dá)式 w*x+z y 值的數(shù)據(jù)類17設(shè)有說明語句: char w; int x; float y; double z; 型為( D)。A. float B. char C. int D. double18在 C 語言中,負(fù)整數(shù)在內(nèi)存中的存儲(chǔ)形式是( A)。A.補(bǔ)碼B.反碼 C. 原碼D. ASCII19在 C 語言中,字符型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是(D )。A.補(bǔ)碼B.反碼 C. 原碼D. ASCII20在 C 語言中,實(shí)型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是(B )。A. 小數(shù)形式 B. 指數(shù)形式 C. 十進(jìn)制形式 D. ASCII2

12、1. 在 C 語言中,設(shè)一個(gè) short 型數(shù)據(jù)在內(nèi)存中占用 2 個(gè)字節(jié)存儲(chǔ),則 unsigned short 型 數(shù)據(jù)的取值范圍為( C )。A. 0255 B. 032767C. 065535D. 04722在 C語言中, 設(shè)一個(gè) float 型數(shù)據(jù)在內(nèi)存中占用 4 個(gè)字節(jié)來存儲(chǔ), 則一個(gè) float 型數(shù)據(jù) 的有效數(shù)字位數(shù)為( B )。A. 5 位B. 67 位 16 位 D. 1819 位23已知小寫字母 a的 ASCII 碼為十進(jìn)制數(shù) 97,則執(zhí)行語句 c= a+2后,變量 c 中的 字符為( B )。A.A B. cC. CD. b24設(shè)有定義 float x=;則執(zhí)行(int )

13、 x 之后, x 的值為(A )。A.B. 3C. 4D.25若想確定所使用的編譯系統(tǒng)中,int 型數(shù)據(jù)所占用的存儲(chǔ)寬度,可使用( B )進(jìn)行測試。A.(int )( int )C.(int ) xD.(sizeof) int、填空題語言中的實(shí)型變量分為兩種類型,它們是 float 和 double 。 語言中的常量分為 普通常量 和 符號(hào)常量 兩 種類型3. C 語言中的標(biāo)識(shí)符只能由種字符組成,他們是 字母、數(shù)字、下劃線 、 和。4. 在語言中,有一類特殊字符以“ ”開頭,稱為轉(zhuǎn)義字符。轉(zhuǎn)義字符 n 的功能是 回車換行 ;轉(zhuǎn)義字符 r 的功能是 ,回車不換行 。5. 在語言中,用關(guān)鍵字 fl

14、oat 定義單精度實(shí)型變量,用關(guān)鍵字 DOUBLE 定義雙精度實(shí)型變量,用關(guān)鍵字 char 定義字符型變量。6. 要定義雙精度實(shí)型變量 a 和 b ,并使它們的初值都為,則定義語句為doubea=,b=; 。7. 設(shè) C語言中一個(gè) short 型數(shù)據(jù)占用 2個(gè)字節(jié)存儲(chǔ),一個(gè) int 型數(shù)據(jù)占用 4 個(gè)字節(jié)存儲(chǔ), 則要將數(shù)值 32768 正確無誤的存儲(chǔ)在變量 x 中,應(yīng)使用的定義語句為 int x=32768 。8. 若有定義 char ch;則執(zhí)行 ch=A +32 后,變量 ch 中的字符為a。9. 以下程序運(yùn)行后的輸出結(jié)果是 9,90 。#include void main()int x=

15、011,y=0x5a; printf(%d,%dn,x,y);10. 以下程序的輸出結(jié)果是 BeijingChina 。# includevoid main( )printf(BeijingnChinan,n);三、思考題1C 語言規(guī)定對(duì)所有用到的變量必須“先定義,后使用”,這樣做有什么好處?1解: C 語言中,要求對(duì)所有用到的變量“先定義,后使用”,這樣做的好處是:能夠保證程序中變量名使用得正確; 在編譯時(shí)就能為變量分配相應(yīng)的存儲(chǔ)單元; 便于在編譯過程中檢 查對(duì)該變量進(jìn)行的運(yùn)算是否合法。2字符常量和字符串常量有什么區(qū)別? 2解:字符常量是一個(gè)字符,在程序中是用單撇號(hào)括起來的;字符串常量由0

16、個(gè)或若干個(gè)字符組合而成, 在程序中是用雙撇號(hào)括起來的, 在存儲(chǔ)時(shí), 系統(tǒng)自動(dòng)在字符串最后加上一個(gè) 字符串結(jié)束符 0 。3若想要將一個(gè)大寫字母轉(zhuǎn)換為對(duì)應(yīng)的小寫字母,可以如何操作?3. 解:在內(nèi)存中,字符型數(shù)據(jù)以 ASCII 碼存儲(chǔ),ASCII 碼是一串二進(jìn)制編碼, 每個(gè)字符的 ASCII 碼對(duì)應(yīng)一個(gè)整數(shù)值,大寫字母與其對(duì)應(yīng)小寫字母的 ASCII 碼對(duì)應(yīng)整數(shù)值相差 32。因此,要 將一個(gè)大寫字母轉(zhuǎn)換為小寫字母,只需將該變量的值加上 32 即可。4常量 a與” a”在內(nèi)存中所占用的字節(jié)數(shù)是否相同?為什么?4. 解:常量 a與” a”在內(nèi)存中所占用的字節(jié)數(shù)不相同,因?yàn)閍是字符常量,在內(nèi)存中占用一個(gè)字節(jié)

17、存儲(chǔ),而” a”是字符串常量,在內(nèi)存中存儲(chǔ)時(shí),系統(tǒng)自動(dòng)在其后加上一個(gè) 字符串結(jié)束符 0 ,在內(nèi)存中占用 2 個(gè)字節(jié)存儲(chǔ)。5若有定義 int a;float f,則表達(dá)式 c +a+f 的結(jié)果為何種數(shù)據(jù)類型?為什么?5. 若有定義 int a;float f,則表達(dá)式 c +a+f 的結(jié)果為 double 型。因?yàn)楸磉_(dá)式中 f 為float 型,在計(jì)算之前必須先轉(zhuǎn)換為 double 型,根據(jù)數(shù)據(jù)類型的自動(dòng)轉(zhuǎn)換規(guī)則,表達(dá)式的 結(jié)果為 double 型。6設(shè) C 語言中,一個(gè) short 型數(shù)據(jù)占用 2 個(gè)字節(jié)存儲(chǔ),若有定義 short x=-12 ,則變量 x 的值 -12 在內(nèi)存中存儲(chǔ)的二進(jìn)制代

18、碼是如何表示的?6. 解:整數(shù)在內(nèi)存中以補(bǔ)碼形式存儲(chǔ),負(fù)數(shù)的補(bǔ)碼為反碼+1,所以,當(dāng) x=-12 時(shí),其在內(nèi)存中的存儲(chǔ)形式為: 1111 1111 1111 0100 。7設(shè) C語言中,一個(gè) short 型數(shù)據(jù)占用 2 個(gè)字節(jié)存儲(chǔ),若有定義 short x=32768 ,則用輸 出語句 printf (” %dn”,x ); 輸出 x值為多?為什么?7. 解:輸出結(jié)果為 -32768 ,因?yàn)橐粋€(gè) short 型數(shù)據(jù)在內(nèi)存中占用 2個(gè)字節(jié)存儲(chǔ), 所能表示的 數(shù)值范圍為 -3276832767 ,當(dāng) x=32768 時(shí),超出了其能表示的范圍, 發(fā)生了溢出, 數(shù)值 32768 的二進(jìn)制編碼的 16位

19、正好對(duì)應(yīng)數(shù)值 -32768 。8若有 x 為 int 型變量,則執(zhí)行 x=后,變量 x 的值為多少?為什么?8. 解:若有 x 為 int 型變量,則執(zhí)行 x=后,變量 x 的值為 3,因?yàn)?x 為 int 型變量,不能存 儲(chǔ)實(shí)型數(shù)據(jù), 當(dāng)把一個(gè)實(shí)型數(shù)據(jù)賦給 x 時(shí),發(fā)生了數(shù)據(jù)類型轉(zhuǎn)換, 系統(tǒng)自動(dòng)把實(shí)型數(shù)據(jù)的小 數(shù)部分舍去。9 分析下面兩個(gè)程序運(yùn)行結(jié)果是否相同?為什么?程序 A: #include 程序 B: #include void main( )void main( )char c1,c2;int c1,c2;c1= a; c1=97;c2= b; c2=98;printf(“ %c,%

20、cn” ,c1,c2);printf(“ %c,%cn” ,c1,c2);9. 解:兩個(gè)程序的運(yùn)行結(jié)果相同。因?yàn)樽址蛿?shù)據(jù)以 ASCII 碼存儲(chǔ), ASCII 碼是一串二進(jìn)制 編碼, 每個(gè)字符的 ASCII 碼對(duì)應(yīng)一個(gè)整數(shù)值。 因此,在一定范圍內(nèi),整型數(shù)據(jù)和字符型數(shù)據(jù) 是可以通用的。字符 a和 b對(duì)應(yīng)的 ASCII 編碼值分別為 97,98 。10 分析下面程序的運(yùn)行結(jié)果:#includevoid main()char c1=A,c2=B,c3=C,c4=101,c5=x42;printf(a%cb%ctc%ctabcn,c1,c2,c3);printf(%ct%c bBn,c4,c5);aA

21、bB cC abcA BB習(xí)題三一、選擇題1若有代數(shù)式 3ae , 則不正確的 C語言表達(dá)式是( C )。 bcA. a/b/c*e*3 B. 3*a*e/b/c C. 3*a*e/b*cD. a*e/c/b*32在 C 語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是(D )。A. / B. = C. + D. %3若有定義語句:int a=7;float x=,y=;則表達(dá)式 x+a%3*(int)(x+y)%2/4 的值( A )。B. 2.750000C.若有定義 int x=5,y=2 ,則表達(dá)式 5/2 的結(jié)果為( B )。A. 2.5 B. 2C. D. 35判斷 char 型變量 ch

22、是否為大寫字母的正確表達(dá)式是( C )。A. A =ch= A)&(ch= A )&(ch=A)and(ch=b=c B. (a=b)&(b=c)C. (a=b)&(b=c) D. (a=b)|(b=c)7邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的數(shù)據(jù)類型(D )。A. 只能是 0或 1B. 只能是 0 或非 0正數(shù)C.只能是整型或字符型D. 可以是任何數(shù)據(jù)類型8下列運(yùn)算符中,優(yōu)先級(jí)最高的是(B )。A. B. + C. & D. =9設(shè) x、 y、 z 是 int 型變量,且有 x=3,y=4,z=5 ,則下面表達(dá)式中值為 0 的是( D )。A. x& yB. x=yC. x|y+z&y-z D. !(x=

23、y&chb) &(n=cd)后, n 的值為( C )。A. 0 B. 1 C. 2 D. 313判斷 char 型變量 c 是否為 0 到 9 的數(shù)字的正確表達(dá)式為( C )。A. 0 =c= 9B. 0=c= 0 &c=0&c=914設(shè)有 int x=3,y=4,z=5, 則執(zhí)行表達(dá)式! ( x+y) +z-1&y+z/2 的結(jié)果是( D )。A. 6 B. 0 C. 2 D. 1 15以下程序的運(yùn)行結(jié)果是( B )。#include void main( ) int a,b,d=241; a=d/100%9;b=(-1)&(-1);printf( “ %d,%dn”,a,b);A. 6,

24、1 B. 2,1 C. 6,0 D. 2,0 16執(zhí)行以下語句后 x 的值為,y 的值為( C )。int x=5,y=6,t=1,a=2,b=3,z=4;(x=ta)&(y=bz)A. 5,6 B. 5,0 C. 0,6 D. 0,0 17以下表達(dá)式中,與表達(dá)式 !a 等價(jià)的是( D )。A. a=0B. a=1C. !a=0 D. !a=118以下符合 C 語言語法的賦值表達(dá)式是( D )。A. a=10+n+m=a+3 B. a=10+m,b=a+5C. b=b*8=2 D. a+=a-=(m=4)*(n=3) 19若有 int a=7,b=12 ,則以下表達(dá)式中,值為 3 的是( D

25、)。A. b%=(a%=5)B. b%=(a-a%5)C. b%=a-a%5D. (b%=a)-(a%=5)20已知各變量的類型說明如下。int a=2,b;double x=;則以下不符合 C 語言語法的表達(dá)式是( A )。A. x%(-3)B. a+=2C. a+=a-=(b=4)D. x/=(b=3)21設(shè)以下變量均為 int 類型,則值不等于 7 的表達(dá)式是( C )。A. ( x=y=6,x+y,x+1 ) B. (x=y=6,x+y,y+1)C. (x=6,x+1,y=6,x+y) D. (y=6,y+1,x=y,x+1)22若 x,i,j,k 都是 int 型變量,則執(zhí)行表達(dá)式

26、x=(i=4,j=16,k=32) 后, x 的值為( C )。 A. 4 B. 16 C. 32 D. 5223執(zhí)行下面程序段后,輸出結(jié)果為(C )。int x=13,y=5;printf( “ %d” ,x%=(y/2);A. 3 B. 2 C. 1 D. 024設(shè) x,y 均為 float 型變量,則以下不合法的賦值語句是( B )。A. x=B. y=(x%2)/10; C. x*=y+8;D. x=y=0;25設(shè) int a=10, 則執(zhí)行語句 a+=a*=a/5+10; 后, a 的值是( A )。.120 C26設(shè)有定義語句 int x=2; 則以下表達(dá)式中,值不為 6 的是(

27、D )。A. x*=x+1 B. x=2,3*x C. x*=(1+x)D. 2*x,x+=227已知變量 x、y、z都為 int 型,則執(zhí)行 z=2+(y=1,y+=1,x=y,x+8) 后,x和 z的值分別為 ( A )。=2,z=12 B. x=2,z=10 C. x=10,z=12D. x=10,z=1028若 w=1,x=2,y=3,z=4 ,則條件表達(dá)式 wx?w:yz?y:z 的值是( D )。A. 4 B. 3C. 2D. 129若 w、x、 y、z、m均為 int型變量,則執(zhí)行下面語句后,m的值為( A )w=1;x=2,y=3;z=4 m=(wx)?w:x; m=(my)?

28、m:y m=(mz)?m:z;A. 1 B. 2C. 3D. 430若運(yùn)行時(shí)給變量 x 輸入 12,則以下程序的運(yùn)行結(jié)果是(A )。#include void main( )int x,y;scanf( “%d” ,&x);y=x12?x+10:x-12;printf( “ %dn”,y);A. 0 B. 22 C. 12 D. 1031若已知 num、sum均為 int 型變量,且 num=sum=7;則計(jì)算表達(dá)式 sum=num+, sum+后, sum的值為( B )。A. 7B. 8C. 9D. 1032若有 int x=11 ,則表達(dá)式( x+*1/3 )的結(jié)果為( B )。A. 5

29、B. 3C. 4D. 633若有定義語句: int x=3 ;則以下表達(dá)式中,值為 5 的是( A )。A. +x,x+1 B. x+=2,-xC. x+=2,x+1 D. x+,x+34若已知 m,n,x,y 為 int 型變量,則執(zhí)行以下語句后,變量 y 的值為( D )。m=10;n=5;x=(-m=n+)?-m:+n;y=n;A. 5 B. 10 C. 6 D. 7 35執(zhí)行以下程序段后,變量 a,b,c 的值分別為( B )。int x=10,y=9;int a,b,c;a=(-x=y+)?-x:+y;b=x+;c=y;A. a=9,b=9,c=9 B. a=8,b=8,c=10 C

30、. a=9,b=10,c=9 D. a=1,b=11,c=1036以下程序的輸出結(jié)果是(C )。#include void main( )int w=3,z=7,x=10;printf( “ %dn”,x10?x+100:x-10);printf(“ %dn”, w+|z+);printf(“ %dn”,!wz);printf(“ %dn”,w&z);A. 0B. 1C. 0D. 011111100111037. 以下關(guān)于運(yùn)算符優(yōu)先順序的描述中正確的是( C )。A. 關(guān)系運(yùn)算符 算術(shù)運(yùn)算符 賦值運(yùn)算符 邏輯與運(yùn)算符B. 邏輯與運(yùn)算符 關(guān)系運(yùn)算符 算術(shù)運(yùn)算符 賦值運(yùn)算符C. 賦值運(yùn)算符 邏輯與

31、運(yùn)算符 關(guān)系運(yùn)算符 算術(shù)運(yùn)算符D. 算術(shù)運(yùn)算符 關(guān)系運(yùn)算符 賦值運(yùn)算符 邏輯與運(yùn)算符 38下列運(yùn)算符中,優(yōu)先級(jí)最高的是(D )。A. B. % C. & D. +39設(shè) x 、y 和 z 是 int 型變量,且 x=3,y=4,z=5, 則下面表達(dá)式中值為 0 的是( A. x& yB. x=y=zC. y+z&y-z&(x+1)%2 D. !x|xy&140以下不能將變量 c 中的大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母的語句是( D )。 A. c+=32 B. c=c-A +aC. c=c-65+97 D. c=c-32二、填空題1. 若 s是 int 型變量,且有 s=6,則表達(dá)式 s%2+(s+1

32、)%2的值為12. 若 a是 int 型變量,則計(jì)算表達(dá)式 a=25/3%3后, a的值為 23. 若 有 定義 : int b=7;float a=,c= ; 則 表 達(dá)式 a+(int)(b/3*(int)(a+c)/2)%4 為。4. 若有定義: int a=2,b=3 ; float x=,y=; 則表達(dá)式 (float)(a+b)/2+(int)x%(int)y 為。5. 若 有 定 義 : int x=3,y=2; float a=,b= ; 則 表 達(dá) 式 (x+y)%2+(int)a/(int)b 1 。6. 當(dāng) a=3,b=2,c=1 時(shí),表達(dá)式 f=abc 的值為 0 。7

33、. 當(dāng) a=5,b=4,c=2 時(shí),表達(dá)式 ab&!c 的值為 0 。 語言提供的三種邏輯運(yùn)算符是 & 、 | 、 ! 9. 若 a=2,b=4, 則表達(dá)式! (x=a)|(y=b)&0 的值為 0 。10. 若 a=1,b=4,c=3, 則表達(dá)式!( ab) |!c&1 的值為 0 。C )。的值的值的值為11. 若 a=6,b=4,c=3, 則表達(dá)式 a&b+c|b-c 的值為 1 。12. 若 a=3,b=4,c=5, 則表達(dá)式 a|b+c&b=c 的值為 1 。13. 條 件 “ 0 x 1 或 -1 x 0 ” 的 C 語 言 表 達(dá) 式 是 x=0&x=-1&x=0 。14. 若有

34、定義: int m=5,y=2; 則計(jì)算表達(dá)式 y+=y-=m*=y 后, y 的值為 -16 。15. 若 a 是 int 型變量,且 a 的初值為 6,則計(jì)算表達(dá)式a+=a-=a*a 后, a 的值為-60 。16. 若 a 是 int 型變量,則表達(dá)式( a=4*5,a*2 ) ,a+6 的值為 26 。17. 若 x 和 n 均為 int 型變量,且有 x=n=5 ,則計(jì)算表達(dá)式x+=n+后, x 的值為10,n 的值為 6 。18. 若n、i 均為 int 型變量,則表達(dá)式 n=i=2,+i,i+ 的值為 3 。19. 若有定義: int x=1,y=0 ;則表達(dá)式 xy+?A: Z

35、的值為 A 。20. 若有定義: int x=0,y=1 ;則表達(dá)式 x+*x-!= y ?8-4:y 的值為 4 。三、思考 / 編程題1設(shè)有定義: int a=3,b=4;float x=,y=;分析下面算術(shù)表達(dá)式的值( 1) x+a%2*(int)(x+y)%2/4( 2 ) (float)(a+b)/2+(int)y%(int)x2C 語言中如何表示“真”和“假”?系統(tǒng)如何判斷一個(gè)量的“真”“假” ?2如果一個(gè)表達(dá)式的值為“真” ,則以 1 表示,如果值為“假” ,則以 0 表示;當(dāng)判斷一個(gè) 量的邏輯值時(shí),系統(tǒng)將 0判斷為“假” ,將非 0 判斷為“真”。3設(shè)有定義: int a=3,

36、b=4,c=5 ,試分析下列表達(dá)式的值:(1) a+bc&b=c 0(2) a|b+c&b-c 1(3) !(ab)&!c|1 1(4) !(x=a)&(y=b)& 0(5) !(a+b)+c-1&b+c/2 14設(shè)有定義: int a=15,n=7; 試分析下列表達(dá)式執(zhí)行后 a 的值為多少?(1) a+=a (2) a-=5 (3) a*=5-2(4) a%=(n%3) (5) a/=(a+a)(6) a+=a-=a*a(7) a+=a-=a*=a4(1) 30 ; (2) 10 ;(3)45 ;(4)0 ;(5)0 ;(6)-420;(7)05設(shè)有定義: int a,b; 試分析下面表達(dá)式

37、執(zhí)行后變量 a、 b 和表達(dá)式的值各是多少? a=3,b=a+2,a+,(b+)+1 a=4,b=6, 表達(dá)式的值為 6;6試分析下面程序的運(yùn)行結(jié)果。#include void main( )int i=10,j=10;int m,n;m=+i; n=j-; printf( “ %d,%d,%d,%dn” ,i,j,m,n);611,9,11,107試分析下面程序的運(yùn)行結(jié)果。 #include void main( )int a,b,c;a=b=1;c=a+-1;printf(“ %d,%dn” ,a,c);c+=-a+(+b|+c);printf( “ %d,%dn”,a,c); 2,03

38、, -18若程序運(yùn)行時(shí)從鍵盤輸入 3 4 5 ,試分析下面程序的運(yùn)行結(jié)果: #include void main( )int x,y,z,max;scanf( “ %d%d%”d ,&x,&y,&z); max=xy&xz?x:yx&yz?y:z;printf( “ %dn” ,max); 59編寫程序,從鍵盤輸入整型變量x的值,判斷并輸出 x 是奇數(shù)還是偶數(shù)。9 #includevoid main( )int x;printf( 請(qǐng)輸入 x 的值: );scanf(%d,&x);x%2?printf( 奇數(shù) n):printf( 偶數(shù) n);10編寫程序,從鍵盤輸入一個(gè)大寫字母賦給字符型變量

39、ch,并將其轉(zhuǎn)換成對(duì)應(yīng)小寫字母后輸出。 10 #include void main()char ch;printf( 請(qǐng)輸入一個(gè)大寫字母 :);scanf( “ %c” ,&ch);ch=ch+32;printf(%cn,ch);一、選擇題1C 語言程序的三種基本結(jié)構(gòu)是(AA.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) C.嵌套結(jié)構(gòu)、遞歸結(jié)構(gòu)、順序結(jié)構(gòu) 2以下能正確定義且賦初值的語句是( n1=n2=10; c=32; f=f+; x=習(xí)題四)。B. 遞歸結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)D. 循環(huán)結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)、順序結(jié)構(gòu)B )。以下能正確定義整型變量 a,b 和 c并為其賦初值 5 的語句是( A )。A. int

40、 a=b=c=5; B. int a,b,c=5; C. a=5,b=5,c=5; D. a=b=c=5;=b+c=14. 在下列選項(xiàng)中,不正確的賦值語句是(D )。A.+t; =(n2=(n3=0); =i=j;5有以下程序: main() int a=0,b=0;a=10;b=20;printf(a+b=%dn,a+b); 程序運(yùn)行后的輸出結(jié)果是( B )。+b=10 +b=30 C.30 D. 出錯(cuò) 6有以下程序段:char ch=a;int k=12;printf(%c,%d,ch,ch,k); printf(k=%dn,k);已知字符 a的ASCII十進(jìn)制代碼為 97,則執(zhí)行上述程序

41、段后輸出結(jié)果是(D )。A. 因變量類型與格式描述符的類型不匹配輸出無定值B. 輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值 ,97,12k=12,97,k=12 7執(zhí)行下面程序段后的輸出結(jié)果是(D )。int a=15;printf(a=%d,a=%o,a=%xn,a,a,a); =15,a=15,a=15=15,a=017,a=0xf=15,a=17,a=0xf=15,a=17,a=f8以下程序的輸出結(jié)果是(A )。main()int a=010,b=10,c=0x10; printf(%d,%d,%d,a,b,c);,10,16 ,10,10 C.10,10,10 ,10,169以下程

42、序的運(yùn)行結(jié)果是( A )。 ( 注:代表空格 )#include main ( ) int m=5,n=10;printf (%d,%dn,m+,- -n);A. 5,9B. 6,9C. 5,10D. 6,1010設(shè)有以下程序:# include main ( ) int a=201,b=012;printf( “ %2d,%2d n ” ,a,b); 程序執(zhí)行后的輸出結(jié)果是( B )。,02 ,10 C.01,10 ,0111有定義語句 int a,b; ,若要通過語句 scanf(%d,%d,&a,&b); 使變量 a 得到數(shù)值 6, 變量 b 得到數(shù)值 5,下面輸入形式中錯(cuò)誤的是( C

43、)。( 注:代表空格 )A. 6,5 B. 6, 5 C. 6 5 D. 6, 5 12已有如下定義和輸入語句,若要求a1,a2,c1,c2 的值分別為 10,20,A 和 B,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是( A )。( 注:表示空格 ) int a1,a2; char c1,c2;scanf(%d%c%d%c,&a1,&c1,&a2,&c2);A. 10A 20BB. 10 A20BC. 10A 20BD. 10A20 B13已有定義語句 int x;float y; 且執(zhí)行 scanf(%3d%f,&x,&y); 語句,若從第一列開始輸 入數(shù)據(jù) 12345678,則 x

44、的值為( B )。 ( 注:表示空格 )B. 123 C. 4514有輸入語句: scanf( “a=%d,b=%d,c=%”d ,&a,&b,& c); 為使變量 a 的值為 1,b 的值為 3, c 的值為 2;從鍵盤輸入數(shù)據(jù)的正確形式應(yīng)當(dāng)是(D )。(注:表示空格)A. 132B. 1,3,2C. a=1 b=3 c=2D. a=1,b=3,c=215設(shè)有如下程序:# include main ( ) char ch1=A,ch2=a; printf(%cn, (ch1,ch2); 則以下敘述中正確的是( B )。A. 程序的輸出結(jié)果為大寫字母B. 程序的輸出結(jié)果為小寫字母 aC. 運(yùn)行

45、時(shí)產(chǎn)生錯(cuò)誤信息D.格式說明符的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),編譯出錯(cuò) 16執(zhí)行下面程序段后的輸出是(A )。 ( 注:表示空格 )float f1=;printf( “%f f1=%8.3fn ”,f1);A.%f f1= B. %f f1=17以下不符合 C 語法的賦值語句是( C )。A. m=(2+1,m=1);B. m=n=0; C. m=1,n=2 D. n+;18以下程序的輸出結(jié)果是( D )。( 注:代表空格 ) main ( ) printf (n*s1=%15s*, chinabeijing);printf (n*s2=%5s*, chi);A.* s1=chinabeijing *

46、B. * s1=chinabeijing * s2=*chi* * s2=chi *C. * s1=* chinabeijing* D. * s1= chinabeijing* s2= chi* s2=chi *19根據(jù)以下定義語句和數(shù)據(jù)輸入方式,scanf 語句的正確形式應(yīng)為( B )。已有定義: float f1, f2; 數(shù)據(jù)的輸入方式: A. scanf (%f,%f ,&f1,&f2);B. scanf (%f%f ,&f1,&f2);C. scanf (%3.2f%2.1f,&f1,&f2); D. scanf (%3.2f%,2.1f,&f1,&f2);20閱讀以下程序,當(dāng)輸入數(shù)

47、據(jù)的形式為25,13,10,程序的輸出結(jié)果為( D )。main () int x,y,z;scanf (%d%d%d,&x,&y,&z);printf (x+y+z=%dn,x+y+z);A. x+y+z=48B. x+y+z=35 C. x+z=35 D. 不確定值21以下 scanf 函數(shù)的敘述中,正確的是( D )。A. 輸入一項(xiàng)可以為一實(shí)型常量,如scanf(%f,;B. 只有格式控制,沒有輸入項(xiàng),也能進(jìn)行正確輸入,如scanf(a=%d,b=%d);C. 當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf(%4.2f ,&f);D. 當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址

48、,如scanf(%f ,&f);22若有以下定義,則正確的賦值語句是(B )。int a,b;float x;A. a=1,b=2,B. b+; C. a=b=5D. b=int(x);A )。23已知 ch 是字符型變量,下面不正確的賦值語句是(A. ch=a+b;B. ch=0; C. ch=7+9; D.ch=5+9;24設(shè) x,y 均為 float 型變量,則以下不合法的賦值語句是( D )。A. +x;B. y=(x%2)/10; C. x*=y+8; D. x=y=0;25設(shè) int a=10, 則執(zhí)行語句 a+=a*=a/5+10; 后, a 的值是( A )。 .120 C26

49、以下程序的運(yùn)行結(jié)果是(D )。# include main ( ) int x1=0xabc, x2=0xdef;x2 - = x1;printf(%xn, x2);A. ABCB. 0xabc C. 0x333 D. 33327有以下程序,其中 %u表示按無符號(hào)整數(shù)輸出: main()unsigned int x=0xFFFF;printf(%un,x); 程序運(yùn)行后的輸出結(jié)果是( B )。.65535 C28設(shè)有以下程序:# include main ()char c1,c2,c3,c4,c5,c6;scanf (%c%c%c%c, &c1,&c2,&c3,&c4); c5=getchar( );c6=getchar( );putchar(c1);putchar(c2);printf (%c%cn,c5,c6); 若運(yùn)行時(shí)從鍵盤輸入數(shù)據(jù): abc defg,則輸出結(jié)果是( B )。A. abcdB. abdeC. abef29以下程序的運(yùn)行結(jié)果是(A )。( 注:表示空格 )main () int y=23456;printf(y=%3xn,y);printf(y=%8x

溫馨提示

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

評(píng)論

0/150

提交評(píng)論