2022年全國計(jì)算機(jī)等級(jí)考試二級(jí)教程c語言程序設(shè)計(jì)課后答案_第1頁
2022年全國計(jì)算機(jī)等級(jí)考試二級(jí)教程c語言程序設(shè)計(jì)課后答案_第2頁
2022年全國計(jì)算機(jī)等級(jí)考試二級(jí)教程c語言程序設(shè)計(jì)課后答案_第3頁
2022年全國計(jì)算機(jī)等級(jí)考試二級(jí)教程c語言程序設(shè)計(jì)課后答案_第4頁
2022年全國計(jì)算機(jī)等級(jí)考試二級(jí)教程c語言程序設(shè)計(jì)課后答案_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第一章程序設(shè)計(jì)基本概念1.1 在TRUBOC 環(huán)境中用RUN 命令運(yùn)行一 個(gè)C 程序時(shí),所運(yùn)行的程序的后綴是;答案:.exe 1.2 C 語言源程序文件的后綴是,經(jīng)過編譯后,生成文件的后綴是,經(jīng)過連接后,生成文件的后綴是;答案:.c .obj .exe 結(jié)構(gòu)化程序由,三種基本結(jié)構(gòu)組成;答案:次序,選擇,循環(huán)其次章C 程序設(shè)計(jì)的初步學(xué)問一,選擇題以下選項(xiàng)中正確的整型常量是A12. B-20 C1 ,000 D4 5 6 答案:以下選項(xiàng)中正確的實(shí)型常量是A0 B3. 1415 102 (10 的2 次方)D.871 答案:D 2.3 以下選項(xiàng)中不正確的實(shí)型常量是 D456e-2 答案:B 2.4

2、以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是Bfile CMain DPRINTF 答案:A 2.5 以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是A_123 Bprintf CA$ DDim 答案: C 語言中運(yùn)算對(duì)象必需是整型的運(yùn)算符是A% B/ C. D* 答案:A 可在C 程序中用作用戶標(biāo)識(shí) 符的一組標(biāo)識(shí)符是Avoid define WORD Bas_b3 _123 If CFor -abc case D2c DO SIG 答案:B 如變量已正確定義并賦值,符合C 語言語法的表達(dá)式 是Aa=a+7; Ba=7+b+c,a+ Cint12.3%4 Da=a+7=c+b 答案:B 以下表達(dá)中正確選項(xiàng)Aa 是實(shí)型變量,C

3、 答應(yīng)進(jìn)行以下賦 值a=10,因此可以這樣說:實(shí)型變量中答應(yīng)存放整型值;B在賦值表達(dá)式中,賦值號(hào)右邊既可以是變量也可以是任意表達(dá)式;C 執(zhí)行表達(dá)式a=b 后,在內(nèi)存中a 和b 存儲(chǔ)單元中的原有值都將被轉(zhuǎn)變,a 的值已由原值轉(zhuǎn)變?yōu)閎 的值,b 的值由原值變?yōu)?;D 已有a=3,b=5 ;當(dāng)執(zhí)行了表達(dá)式a=b,b=a 之后,已使a 中的值為5 ,b 中的值為3 ;答案:B 以下表達(dá)中正確選項(xiàng)A 在C 程序中無論是整數(shù)仍是實(shí)數(shù),只要在答應(yīng)的范疇內(nèi)都能精確無誤的表示;BC 程序由主函數(shù)組成;CC 程序由函數(shù)組成;DC 程序由函數(shù)和過程組成;答案:C 2.11 TURBO C 中int 類型變量所占字節(jié)

4、數(shù)是A1 B2 C3 D4 答案:B 2.12 不合法的八進(jìn)制數(shù)是A0 B028 C077 D01 答案:B 不合法的十六進(jìn)制數(shù)是Aoxff B0Xabc C0 x11 D0 x19 答案:A 二,填空題如k 為int 整型變量且賦值11;請寫出運(yùn)算k+后表達(dá)式的值A(chǔ) 和變量的值B ;答案:11,12 如x 為double 型變量,請寫出運(yùn)算x=3.2 ,+x 后表達(dá)式的值A(chǔ) 和變量的值B ;答案:4.2 ,4.2 2.16 函數(shù)體由符號(hào)開頭,用符號(hào)終止;函數(shù)體的前面是部分,其后是部分;答案: , ,定義,執(zhí)行2.17 C 語言中的標(biāo)識(shí)符可分為,和預(yù)定義標(biāo)識(shí)符三類;答案:關(guān)鍵字,用戶標(biāo)識(shí)符在C

5、 語言程序中,用關(guān)鍵字定義基本整型量,用關(guān)鍵字定義單精度實(shí)型變量,用關(guān)鍵字定義雙精度實(shí)型變量;答案:int ,float ,double 2.19 把a(bǔ)1,a2 定義成單精度實(shí)型變量,并賦初值1 的定義語句是;答案:float ,a2=1.0 ; C 程序中定義的變量,代表內(nèi)存中的一個(gè);答案:存儲(chǔ)單元表達(dá)式3.5+1/2 的運(yùn)算結(jié)果是;答案:3.5 2.22 對(duì)以下數(shù)學(xué)式,寫出三個(gè)等價(jià)的C 語言表達(dá)式,;ab c 答案:a*b/c ,a/c*b ,b/c*a 2.23 表達(dá)式s=10 應(yīng)當(dāng)讀做“ ”;答案:將10 賦給變量s 2.24 運(yùn)算機(jī)中內(nèi)儲(chǔ)備器的最小儲(chǔ)備單位稱,其中能容納的數(shù)是;答案:

6、位,0 或1 通常一個(gè)字節(jié)包含個(gè)二進(jìn)制位;在一個(gè)字節(jié)中能存放的最大(十進(jìn)制)整數(shù)是,它的二進(jìn)制數(shù)的形式是;最?。ㄊM(jìn)制)整數(shù)是,它的二進(jìn)制數(shù)的形式是;答案:8 ,255,1111 1111 ,-128 ,1000 0000 2.26 當(dāng)運(yùn)算機(jī)用兩個(gè)字節(jié)存放一個(gè)整數(shù)時(shí),其中能存放的最大(十進(jìn)制)整數(shù)是,最小(十進(jìn)制)整數(shù)是,它的二進(jìn)制數(shù)的形式是;答案:65535 ,-32768 ,1000 0000 0000 0000 在C 語言中整數(shù)可用進(jìn)制數(shù),進(jìn)制數(shù)和進(jìn)制數(shù)三種數(shù)制表示;答案:十,八,十六第三章,次序結(jié)構(gòu)第 1 頁,共 14 頁一,選擇題 如a,b,c,d 都是int 類型變量且初值為 0,

7、以下選項(xiàng)中不正確的賦值語句是 A a=b=c=100; B d+; C c+b; D d=c=22-b+; 答案:C 3.2 以下選項(xiàng)中不是 C 語句的是A int i; i+; printf%dn, i; B ; C a=5,c=10 D ; 答案:C 以下合法的C 語言賦值語句 A A=B=58 B k=inta+b; C 是 a=58,b=58 D -i; 答案:D 以下程序的輸出結(jié)果是 A 0 B 1 C 3 D 不確定的值main int x=10,y=3; printf%dn, y=x/y; 答案:C 如變量已正確說明為 int 類型,要給a,b,c 輸入數(shù)據(jù),以下不正確的輸入語句

8、是 A reada,b,c; B scanf%d%d%d,a,b,c; C scanf%D%D%D,&a,&b,&c; D scanf%d%d%d,&a,&b,&c; 答案:D 如變量已正確說明為 float 類型,要通過以下賦值語句給 a 賜予10,b 賜予22,c 賜予33,以下不正確的輸入形式是 A 1022 33B C 10.0 33.0 D 10 22 33 scanf%f %f %f, &a, &b, &c; 答案:B 如變量以正確定義,要將 a 和b 中的數(shù)進(jìn)行交換,下面不正確的語句組是 A a=a+b,b=a-b,a=a-b; B t=a,a=b,b=t; C a=t; t=b

9、; b=a; D t=b; b=a; a=t; 答案:C 如變量已正確定義,以下程序段的輸出結(jié)果是 A 輸出格式說明與輸出項(xiàng)不匹配,輸出無定值B 5.17000 C 5.168000 D x=5.16894; printf%fn,intx*1000+0.5/float1000; 答案:D 如有以下程序段,c3 中的值是A 0 B 1/2 C 0.5 D 1 int c1=1,c2=2,c3; c3=c1/c2; 答案:A 如有以下程序段,其輸出結(jié)果是A 0,0,-10 B 0,0,5 C -10,3,-10 D 3,3,-10 int a=0,b=0,c=0; c=a-=a-5,a=b,b+3

10、; printf%d,%d,%dn,a,b,c; 答案:B 3.11 當(dāng)運(yùn)行以下程序時(shí),在鍵盤上從第一列開頭輸入9876543210(此處代表Enter ),就程 D 序的輸出結(jié)果是main int a; float b,c; scanf%2d%3f%4f,&a,&b,&c; printfna=%d,b=%f,c=%fn,a,b,c; 答案:C 以下程序的輸出結(jié)果是A a=%2,b=%5 B a=2,b=5 C a=%d,b=%d D a=%d,b=%d main int a=2,b=5; printfa=%d,b=%dn,a,b; 答案:D 3.13 如int 類型占兩個(gè)字節(jié),就以下程序段的

11、輸出是A -1,-1 B -1,32767 C -1,32768 D -1,65535 int a=-1; printf%d,%un,a,a; 答案:D 以下程序段的輸出是A *496 * B * 496* C *000496* D 輸出格式符不合法int x=496; printf*%-06d*n,x; 答案:A 以下程序段的輸出是A |3.1415| B | 3.0| C | 3| D | 3.| float a=3.1415; printf|%6.0f|n,a; 答案:C 以下程序段的輸出是A |2345.67800| B |12345.6780| C |12345.67800| D |

12、12345.678| printf|%10.5f|n,12345.678; 答案:C 3.17 以下程序段的輸出是A *0000057.66* B * 57.66* C *0000057.67* D * 57.67* float a=57.666; printf*%010.2f*n,a; 答案:C 如從終端輸入以下數(shù)據(jù),要給變量C 賦以,就正確的輸入語句是A scanf%f,c; B 表示Enter 鍵 或者把選項(xiàng)D 改 為:scanf%8.4f,&c; C scanf%6.2f,&c; D scanf%8,&c; 283.1900 答案:由于印刷錯(cuò)誤,此題沒有正確答案;改正看法:把選項(xiàng)A 改

13、為:scanf%f,&c; 第 2 頁,共 14 頁scanf%8f,&c; 就可分別選擇A 或者D 為正確答案;如變量已正確說明,要求用以下語句給 a 賜予,給b 賜予,就正確的輸入形式是(代表空格)A 3.12 9.0 B a= 3.12b= 9 C a=3.12,b=9 D ,b=9 scanfa=%f,b=%f,&a,&b; 表示Enter 鍵答案:C以下程序的輸出結(jié)果是 A 9 8 B 8 9 C 6 6 D 以上三個(gè)都不對(duì)#include math.h main double a=-3.0, b=2; %3.0fn,powb,fabsa,powfabsa,b; 答案:B 二,填空題

14、如有以下定義,請寫出以下程序段中輸出語句執(zhí)行后的輸出結(jié)果;1 2 3 int i=-200,j=2500; printf1 %d %d,i,j; printf2 i=%d, j=%dn,i,j; printf3 i=%dn j=%dn,i,j; 答案:-200 2500 i=-200, j=2500 i=-200 j=2500 變量i ,j ,k 已定義為int 類型并有初值0,用以下語句進(jìn)行輸入時(shí)scanf%d,&i; scanf%d,&j; scanf%d,&k; 當(dāng)執(zhí)行第一個(gè)輸入語句,從鍵盤輸入:12.3 表示Enter 鍵就變量i ,j ,k 的值分別是,;答案:12,0,0 復(fù)合語句

15、在語法上被認(rèn)為是;空語句的形式是;答案:一條語句,; C 語句的最終用終止;答案:;以下程序段,要求通過scanf 語句給變量賦值,然后輸出變量的值;寫出運(yùn)行時(shí)給k 輸入100,給a 輸入25.81 ,給x 輸入1.89234 時(shí)的三種可能的輸入形式,;int k; float a; double x; scanf%d%f%lf,&k,&a,&x; printfk=%d,a=%f,x=%fn,k,a,x; 答案:1 100 25.81 1.89234 2 100 25.811.89234 3 100 25.81 1.89234 以下程序段的輸出結(jié)果是;int x=0177; printfx=%

16、3d,x=%6d,x=$%6o,x=%6x,x=%6un,x,x,x,x,x; 答案:x=127,x= 127 ,x= 177 ,x= 7f ,x= 127 以下程序段的輸出結(jié)果是;int x=0177; printfx=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%06dn,x,x,x,x,x; 答案:27,x=127,x=127 ,x=$127 ,x=$000127 ,x=%06d 3.28 以下程序段的輸出結(jié)果是;double a=513.789215; printfa=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn,a,a,a,a; 答案:a=51

17、3.789215,a= 513.79,a= 513.78921500,a= 第四章,選擇結(jié)構(gòu)一,選擇題 以下運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是 A . B % C -= D & 答案:A 以下運(yùn)算符中優(yōu)先級(jí)最低的運(yùn)算符是 A | B .= C =y&y=z B x=yANDy=z C x=y=z D x=y&y=z 答案:A 設(shè)a,b 和c 都是int 型變量,且a=3,b=4,c=5; 就以下的表達(dá)式中,值為0的表達(dá)式是 A a&b B a=b C a|b+c&b-c D .ab&.c|1 答案:D 以下程序的輸出結(jié)果是 A 0 B 1 C 2 D 3 main int a=2,b=-1,c=2;

18、 ifab ifb0 c=0; else c+=1; printf%dn,c; 答案:C 以下程序的輸出結(jié)果是A1 B 2 C 3 D 4 main int w=4,x=3,y=2,z=1; printf%dn,wx.w:zy.z:x; 答案:A 如執(zhí)行以下程序時(shí)從鍵盤上輸入3 和4,就輸出結(jié)果是A 14 B 16 C 18 D 20 main int a,b,s; scanf%d%d,&a,&b; s=a; ifab s=b; s*=s; printf%dn,s; 答案:B 下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是-1x0 第 3 頁,共 14 頁1x0 0 x0 -1x0 y=-1; ifx.

19、=0 y=1; ifx0 y=1; else y=0; 答案:此題沒有正確答案;程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系應(yīng)當(dāng)是 0 x0 運(yùn)行以下程序后,輸出A * B & C #& D 有語法錯(cuò)誤不能通過編譯main int k=-3; ifk,=,=,=,. C 語言中的規(guī)律運(yùn)算符按優(yōu)先級(jí)別是,;答案:!,&,| 4.14 C 語言中的關(guān)系運(yùn)算符和規(guī)律運(yùn)算符的優(yōu)先級(jí)別是符,;答案:!,=,.= ,&,| 4.15 C 語言中規(guī)律運(yùn)算的優(yōu)先級(jí)高于算術(shù)運(yùn)算符;答案:!將以下數(shù)學(xué)式改寫成C 語言的關(guān)系表達(dá)式或規(guī)律表達(dá) 式A B ;Aa=b 或a4 答案:Aa=b|a4|x100 printf%dn,a100

20、; else printf%dn,a0 B .0 答案:A xc b=a; a=c; c=b; 答案:3,2,2 4.20 如變量已正確定義,以下語句段的輸出結(jié)果是;x=0; y=2; z=3; switchx case 0: switchy=2 case 1: printf*; break; case 2: printf%; break; case 1: switchz case 1: printf$; case 2: printf*; break; default : printf#; 答案:*# 第五章,循環(huán)結(jié)構(gòu)一,選擇題以下程序段的輸出結(jié)果是A 9 B 1 C 11 D 10 int

21、k,j,s; fork=2; k6; k+,k+ s=1; forj=k; j6; j+ s+=j; printf%dn, s; 答案:D 以下程序段的輸出結(jié)果是A 12 B 15 C 20 D 25 int i,j,m=0; fori=1; i=15; i+=4 forj=3; j7 n-; printf%dn, n; 答案:B 以下程序段的輸出結(jié)果是A 1 B 3 0 C 1 -2 D 死循環(huán)int x=3; do printf%3d,x-=2; while.-x; 第 4 頁,共 14 頁答案:C 以下程序段的輸出結(jié)果是A 15 B 14 C 不確定D 0 main int i,sum;

22、 fori=1; i0; y- ify%3=0 printf%d, -y; continue; 答案:B 5.7 如x 是int 型變量,以下程序段的輸出結(jié)果是 *3#4 *5 forx=3; x6; x+ printfx%2.*%d#%dn,x; A *3 #4 *5 B #3 *4 #5 C #3 *4#5 D 答案:D 以下程序的輸出結(jié)果是 A *#*#*#$ B #*#*#*$ C *#*#$ D #*#*$ main int i; fori=1; i=5; i+ ifi%2 printf*; else contionue; printf#; printf$n; 答案:A 以下表達(dá)正確

23、選項(xiàng) A do_while 語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替;B do_while 語句構(gòu)成的循環(huán)只能用 break 語句退出;C 用do_while 語句構(gòu)成循環(huán)時(shí),只有在 while 后的表達(dá)式為非零時(shí)終止循環(huán);D 用do_while 語句構(gòu)成循環(huán)時(shí),只有在 while 后的表達(dá)式為零時(shí)終止循環(huán);答案:D 以下程序的輸出結(jié)果是 A 39 81 B 42 84 C 26 68 D 28 70 main int x,i; fori=1; id+; a=10; b=c=d=5; i=j=k=0; for ; ab; +b i+; whilea+c 答案:5,4,6 以下程序段的輸出結(jié)

24、果是;int k,n,m; n=10; m=1; k=1; whilek=n m*=2; printf%dn,m; 答案:死循環(huán)以下程序的輸出結(jié)果是;main int x=2; whilex-; printf%dn,x; 答案:-1 以下程序段的輸出結(jié)果是;int i=0,sum=1; do sum+=i+; whilei5; printf%dn,sum; 答案:11 有以下程序段:s=1.0; fork=1; k=n; k+ s=s+1.0/k*k+1; printf%fn,s; 請?zhí)羁?使下面的程序段的功能完全與之等同;while ; printf%fn,s; s=0.0; ; k=0;

25、do s=s+d; ; d=1.0/k*k+1; 答案:d=1.0 ,k+,kamax amax=x; if amin=x; scanf%f,&x; printfnamax=%fnamin=%fn,amax,amin; 答案:x=0,xamin 第六章,字符型數(shù)據(jù)一,選擇題6.1 C 語言中的簡潔數(shù)據(jù)類型 有A 整型,實(shí)型,規(guī)律型B 整型,實(shí)型,字符型C 整型,字符型,第 5 頁,共 14 頁規(guī)律型D 整型,實(shí)型,規(guī)律型,字符型 答案:B 6.2 C 語言中,字符(char )型數(shù)據(jù)在微機(jī)內(nèi)存中的儲(chǔ)備形式是A 反碼B 補(bǔ)碼C EBCDIC 碼D ASCII 碼答案:D 6.3 設(shè)有語句char

26、 a=72 ;,就變量a A 包含1 個(gè)字符B 包含2 個(gè)字符C 包含3 個(gè)字符D 說明不合法 答案: C 語言中不合法的字符常量是 A 0 xff B 65 C & D 028 答案:此題A 和D 選項(xiàng)都是不合法的字符常量;如 A選項(xiàng)改為xff ,就正確; C 語言中不合法的字符串常量是 A 121 B y= C nn D ABCDx6d 答案:B 判定char 型變量c 是否為大寫字母的最簡潔且正確的表達(dá)式是 A A=c=A&c=Z C A=c D c=A&c=A&x=Z.x+32:x; printf%cn,x; 答案:B 以下程序的輸出結(jié)果是A 67,C B B,C C C,D D 不確

27、定的值main char ch1,ch2; ch1=A+5-3; ch2=A+5-3; printf%d,%cn,ch1,ch2; 答案:A 6.10 對(duì)以下程序,從第一列開頭輸入數(shù)據(jù):2473,代表Enter ;程序的輸出結(jié)果是A 668977 B 668966 C 66778777 D 6688766 #include stdio.h main int c; whilec=getchar.=n switchc-2 case 0 : case 1 : putcharc+4; case 2 : putcharc+4; break; case 3 : putcharc+3; default :

28、putcharc+2; break; printfn; 答案:A 6.11 如變量已正確說明,要求用以下語句給,就正確的輸入形式是(代表空格)c1 賜予字符%,給c2 賜予字符#,給a 賜予2.0 ,給b 賜予%4.0 # B 2.0%4.0# C 2%4# D 2%4 scanf%f%c%f%c,&a,&c1,&b,&c2; (代表Enter 鍵)答案:B 二,填空題6.12 EOF 的十進(jìn)制值是;答案:-1 6.13 C 語言中,字符占內(nèi)存?zhèn)€字節(jié);答案:1 6.14 調(diào)用C 語言對(duì)字符處理的庫函數(shù)時(shí),在#include 命令行中應(yīng)包括的頭文件是;答案:如輸入字符A,在以下while 語句執(zhí)

29、行后ch 的值是;whilech=getchar=A; 答案:1 6.16 如要通過以下語句給a,b,c,d 分別輸入字符A,B,C,D,給w,x ,y,z 分別輸入10,20,30,40,正確的輸入形式是,請用代表Enter 鍵;scanf%d%c%d%c%d%c%d%c,&w,&a,&x,&b,&y,&c,&z,&d; 答案:10A20B30C40D6.17 如有以下說明和輸入語句,要求給c1,c2 輸入字符A 和B,給a1,a2 輸入7.29 和101.298 ,從鍵盤正確輸入數(shù)據(jù)的形式是;char c1,c2; float a1,a2; scanf%f%f,&a1,&a2; scanf

30、%c%c,&c1,&c2; 答案:7.29101.298AB6.18 如有以下說明和輸入語句,要求給c1,c2 輸入字符A 和B,給a1,a2 輸入7.29 和,從鍵盤正確輸入數(shù)據(jù)的形式是;char c1,c2; float a1,a2; scanf%c%f%c%f,&c1,&a1,&c2,&a2; 答案:A7.29B101.298 如有以下說明和輸入語句,要求給 c1,c2 ,c3 輸入字符A,B 和C,請寫出各種從鍵盤正確輸入數(shù)據(jù)的形式;char c1,c2,c; scanf%4c,&c1; scanf%4c,&c2; scanf%4c,&c3; 答案:A B C 第七章,函數(shù)第 6 頁,

31、共 14 頁一,選擇題7.1 以下說法中正確選項(xiàng) A C 語言程序總是從第一個(gè)定義的函數(shù)開頭執(zhí)行 B 在C 語言程序中,要調(diào)用的函數(shù)必需在 main 函數(shù)中定義C C 語言程序總是從 main 函數(shù)開頭執(zhí)行 D C 語言程序中的 main 函數(shù)必需放在程序的開頭部分 答案:C 7.2 以下函數(shù)的類型是 A 與參數(shù)x 的類型相同B void 類型C int 類型D 無法確定ffffloat x printf%dn,x*x; 答案:C 以下函數(shù)調(diào)用語句中,含有的實(shí)參個(gè)數(shù)是A 1 B 2 C 4 D 5 func exp1,exp2,exp3,exp4,exp5; 答案:B 以下程序的輸出結(jié)果是A

32、11 B 20 C 21 D 31 funint a,int b int c; c=a+b; return c; main int x=6,y=7,z=8,r; r=funcx-,y+,x+y,z-; printf%dn,r; 答案:C 以下程序的輸出結(jié)果是A -1 B 0 C 1 D 2 main int i=2,p; p=fi,i+1; printf%d,p; int fint a, int b int c; c=a; ifab c=1; else ifa=b c=0; else c=-1; returnc; 答案:A 以下程序的輸出結(jié)果是A 0 B 1 C 6 D 無定值funint a

33、,int b,int c c=a*b; main int c; fun2,3,c; printf%dn,c; 答案:D 以下程序的輸出結(jié)果是A 5.500000 B 3.000000 C 4.000000 D return s; main int i,m=3; double fint n int i; double s; s=1.0; fori=1; i=n; i+ s+=1.0/i; float a=0.0; fori=0; ieps; n+ s+=t; t=n*t/2*n+1; return 2.0* ; 答案:n=1,s 以下函數(shù)用以求x 的y 次方;請?zhí)羁?;double fundoub

34、le x, int y int i; double z; fori=1; i ; i+ z= ; return z; 答案:=y,z*x 以下程序的功能是運(yùn)算s=0.+1.+2.+3.+.+n. ;請?zhí)羁?;long fint n int i; long s; s= ; fori=1; i=n; i+ s= ; return s; main long s; int 第 7 頁,共 14 頁k,n; scanf%d,&n; s= ; fork=0; k=n; k+ s=s+ ; printf%ldn, s; 答案:1L,s*i ,0 ,fk 第八章指針第九章 數(shù)組一,選擇題8.1 如有定義:int

35、 x,*pb; 就以下正確的賦值表達(dá)式是 A pb=&x B pb=x C *pb=&x D *pb=*x 答案: A 8.2 以下程序的輸出結(jié)果是 A 因變量無定義輸出不定值 B 0 C -1 D 1 #include main printf%dn,NULL; 答案: B 8.3 以下程序的輸出結(jié)果是 A 5,2,3 B -5,-12,-7 C -5,-12,-17 D 5,-2,-7 void subint x,int y,int *z *z=y-x; main int a,b,c; sub10,5,&a; sub7,a,&b; suba,b,&c; printf%d,%d,%dn,a,b

36、,c; 答案: B 8.4 以下程序的輸出結(jié)果是 A 4 B 6 C 8 D 10 main int k=2,m=4,n=6; int *pb=&k,*pm=&m,*p; *p=&n=*pk*pm; printf%dn,n; 答案已知指針 p 的指向如圖8.5 所示,就執(zhí)行語句*p+; 后,*p 的值是A 20 B 30 C 21 D 31 答案: B 8.6 已知指針p 的指向如圖 8.5 所示,就表達(dá)式*+p 的值是 A 20 B 30 C 21 D 31 答案 已知指針p 的指向如圖8.5 所示,就表達(dá)式+*p 的值是A 20 B 30 C 21 D 31 答案以下程序的輸出結(jié)果是 A

37、23 B 24 C 25 D 26 void prtvint *x printf%dn,+*x; main int a=25; prtv&a; 答案 以下程序的輸出結(jié)果是 A 運(yùn)行出錯(cuò) B 100 C a 的地址D b 的地址main int *k, *a b=100; a=&b; k=&a; printf%dn,*k; 答案: B 8.10 以下程序的輸出結(jié)果是 A 4,3 B 2,3 C 3,4 D 3,2 void funfloat *a,float *b float w; *a=*a+*a; w=*a; *a=*b; *b=w; main float x=2.0,y=3.0; floa

38、t *px=&x,*py=&y; funpx,py; printf%2.0f,%2.0fn,x,y; 答案以下程序的輸出結(jié)果是 A 9.000000 B 1.500000 C 8.000000 D 10.500000 void subfloat x,float *y,float *z *y=*y-1.0; *z=*z+x; main float a=2.5,b=9.0,*pa,*pb; pa=&a,pb=&b; subb-a,pa,pa; printf%fn,a; 答案: C 8.12 以下四個(gè)程序中不能對(duì)兩個(gè)整形值進(jìn)行交 換的是 A main int a=10,b=20; swap&a,&b

39、; printf%d%dn,a,b; swapint *p, int *q int *t,a; t=&a; *t=*p; *p=*q; *q=*t; B main int a=10,b=20; swap&a,&b; printf%d%dn,a,b; swapint *p, int *q int t; t=*p; *p=*q; *q=t; C main int *a,*b; *a=10,*b=20; swapa,b; printf%d%dn,*a,*b; swapint *p, int *q int t; t=*p; *p=*q; *q=t; D main int a=10,b=20; int

40、*x=&a,*y=&b; swapx,y; printf%d%dn,a,b; swapint *p, int *q int t; t=*p; *p=*q; *q=st; 答案:C 二,填空題8.13 以下程序段的輸出結(jié)果是;int *var,ab; ab=100; var=&ab; ab=*var+10; printf%dn,*var; 答案:以下程序的輸出結(jié)果是;int astint x,int y,int *cp,int *dp *cp=x+y; *dp=x-y; main int a,b,c,d; a=4; b=3; asta,b,&c,&d; printf%d %dn,c,d; 答案:

41、7 1 8.15 如有定義:char ch; 1 使指針p 可以指向變量ch 的定義語句是;答案:char *p=&ch; 2 使指針p 可以指向變量ch 的賦值語句是;答案:p=&ch;3 通過指針p 給變量ch 讀入字符scanf 函數(shù)調(diào)用語句是;答案:scanf%c,*p ;4 通過指針p 給變量ch 的賦字符的語句是;答案:ch=*p ;5 通過指針p 輸出ch 中字符的語句是;答案:printf%c,*p ;8.16 如有如下列圖五個(gè)連續(xù)的int 類型的儲(chǔ)備單元并賦值如圖,且p 和s 的基類型皆為int,p 已指向儲(chǔ)備單元a1 ;1 通過指針p,給s 賦值,使其指向最終一個(gè)儲(chǔ)備單元a

42、4 的語句是;答案:s=p+3;2 用以移動(dòng)指針s,使之指向中間的儲(chǔ)備單元a2 的表達(dá)式是;答案:s=s-2;3 已知k=2,指針s 已指向儲(chǔ)備單元a2 ,表達(dá)式*s+k 的值是;答案:50 4 指針s 已指向儲(chǔ)備單元a2,不移動(dòng)指針s,通過s 引用儲(chǔ)備單元a3 的表達(dá)式是;答案:*a+15指針s 已指向儲(chǔ)備單元a2 ,p指向儲(chǔ)備單元a0,表達(dá)式s-p的值是;答案:2 6 如p 指向儲(chǔ)備單元a0 ,就以下語句的輸出結(jié)果是;fori=0; i5;i+ printf%d ,*p+i; printfn; 答案:10 20 30 40 50 第九章數(shù)組一,選擇題9.1 如已定義:int a =0,1,

43、2,3,4,5,6,7,8,9,*p=a,i; 其中0i就9,對(duì)a數(shù)組元素的引用不正確選項(xiàng)Aap-a B*&a Cp D*a+i 答案:D 9.2 以下程序段給數(shù)組全部元素輸入數(shù)據(jù),應(yīng)在下劃線處填入的是Aa+i+ B&ai+1 Ca+i D&a+i main int a10,i=0; whilei10scanf%d, ; . . . 答案:以下程序的輸出結(jié)果是A3 B4 C1 D2 main int a10=1,2,3,4,5,6,7,8,9,10,*p=a; printf%dn,*p+2; 答案:,以下程序第 8 頁,共 14 頁的輸出結(jié)果是 A不確定的值 B3 C2 D1 main int

44、 n2=0,i,j,k=2; fori=0;ik;i+ forj=0;jk;j+ nj=n+1; printf%dn,nk; 答案:以下程序的輸出結(jié)果是 A17 B18 C19 D20 main int a =2,4,6,8,10,y=1,x,*p; p=&a1; forx=0;x3;x+ y+=*p+x; printf%dn,y; 答案以下程序的輸出結(jié)果是 A6 B8 C4 D2 main int a10=2,4,6,8,*p=a,i; fori=0;i4;i+a=*p+; printf%dn,a2; 答案:A 9.7 以下程序的輸出結(jié)果是 A720 B120 C24 D6 fint b ,

45、int n int i,r=1; fori=0;i=n;i+r=r*b; return r; main int x,a=2,3,4,5,6,7,8,9; x=fa,3; printf%dn,x; 答案:B 9.8 以下程序中如第一個(gè) printf 語句輸出的是 194,就其次個(gè) printf 語句的輸出結(jié)果是A212 B204 C1a4 D1a6 main int a=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf%xn,p; printf%xn,p+9; 答案:D 以下程序的輸出結(jié)果是 A0987654321 B4321098765 C5678901234 D0987

46、651234 funint *s,int n1,int n2 int i,j,t; i=n1; j=n2; whileij t=*s+i; *s+i=*s+j; *s+j=t; i+; j-; main int a10=1,2,3,4,5,6,7,8,9,0,*p=a,i; funp,0,3; funp,4,9; funp,0,9; fori=0;i10;i+printf%d,*a+i; 答案:以下程序的輸出結(jié)果是 A 4 4 B 2 2 C 2 4 D 4 6 main int a5=2,4,6,8,10,*p,*k; p=a; k=&p; printf%d ,*p+; printf%dn,

47、*k; 答案: C 9.11 當(dāng)運(yùn)行以下程序時(shí)輸入三行 ,每行都是在第一列上開頭 ,代表Enter 鍵: a b cdef就程序的輸出結(jié)果是 A abcdef B a C a D a b b b c cd cdef d e f #include stdio.h #define N 6 main char cN; int i=0; fori=0;iN;i+ c=getchar; fori=0;iN;i+ putcharc; 答案: C 9.12 如有定義和語句: int c45, *cp5; cp=c; 就對(duì)c 數(shù)組元素的引用正確選項(xiàng) A cp+1 B *cp+3 C *cp+1+3 D *cp

48、+2 答案: D 如已定義: int a43=1,2,3,4,5,6,7,8,9,10,11,12,*prt3=a,*p=a0; 就能正確表示數(shù)組元素 a12 的表達(dá)式是 A *prt+12 B *p+5 C *prt+1+2 D *a+1+2 答 案 : D 如 有 定 義 和 語 句 : int a43=1,2,3,4,5,6,7,8,9,10,11,12,*prt3=a,*p4,i; fori=0;i4;i+ p=a; 就不能夠正確表示 a 數(shù)組元素的表達(dá)式是A a43 B p00 C prt22 D *p+11 答案: A 9.15 以下程序的輸出結(jié)果是 A 23 B 26 C 33

49、D 36 main int aa33=2,4,6,i,*p=&aa00; fori=0; i2; i+ ifi=0 aai+1=*p+1; else +p; printf%d,*p; printfn; 答案: A 9.16 以下程序的輸出結(jié)果是A 60 B 68 C 99 D 108 main int a34=1,3,5,7,9,11,13,15,17,19,21,23; int *p4=a,i,j,k=0; fori=0; i3; i+ forj=0; j2; j+ k+=*p+i+j; printf%dn,k; 答案: A 9.17 以下程序的輸出結(jié)果是A 1,5,9, B 1,4,7,

50、C 3,5,7, D 3,6,9, main int i,x33=1,2,3,4,5,6,7,8,9; fori=0; i3; i+ printf%d,x2-i; 答案如有定義語句int *pM; 其中的標(biāo)識(shí)符p 是A M 個(gè)指向整型變量的指針B 指向M 個(gè)整型變量的函數(shù)指針C 一個(gè)指向具有M 個(gè)整型元素的一維數(shù)組指針D 具有M 個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向整型量答案: C 二,填空題9.19 如有以下定義: double w10; 就w 數(shù)組元素下標(biāo)的上限是,下限是;答案: 9 0 以下程序的輸出結(jié)果是;main int a=2,4,6,*prt=&a0,x=8,y,z; f

51、ory=0; y3; y+ z=*prt+yx.*prt+y:x; printf%dn,z; 答案:以下程序的輸出結(jié)果是;main int arr10,i,k=0; fori=0; i10; i+ arr=i; fori=0; i4; i+ k+=arr+i; printf%dn,k; 答案:以下程序的輸出結(jié)果是;#define N 5 funchar *s,char a,int n int j; *s=a; j=n; whileasj j-; return j; main char sN+1; int k,p; fork=1; k=10 uun+=t/10; uun=t%10; else u

52、un=t; main int i,n,aa10=0; scanf%d%d%d,&n,&aa0,&aa1; fori=1; in; i+ subi,aa; fori=0; i=n; i+ printf%d,aa; printfn; 答案: 2721 9.24 以下程序的輸出結(jié)果是. main int i,j,row,col,m; int arr33=100,200,300,28,72,-30,-850,2,6; m=arr00; fori=0; i3; i+ forj=0; j3; j+ ifarrjm m=arrj; row=i; col=j; printf%d,%d,%dn,m,row,co

53、l; 答案: -850,2,0 9.25 以下findmax 返回?cái)?shù)組s 中最大元素的下標(biāo)中元素的個(gè)數(shù)由 t 傳入,請?zhí)羁?;findmaxint s,int t int k,p; forp=0,k=p; psk ; return ,數(shù)組 ; 答案: k=p k 9.26 以下程序統(tǒng)計(jì)從終端輸入的字符中每個(gè)大寫字母的個(gè)數(shù),num0 中統(tǒng)計(jì)字母A 的個(gè)數(shù), 其它依次類推. 用# 號(hào)終止輸入, 請?zhí)羁? #include stdio.h #include ctype.h main int num26=0,i; char c; while .=# ifisupperc num +=1; fori=0;

54、 i26; i+ ifnum printf%c: %dn,i+A,num; 答案: c=getchar c-A 第十章字符串 第十一章一,選擇題 10.1 以下能正確進(jìn)行字符串賦值 ,賦初值的語句是 A char s5=a,e,i,o,u; B char *s; s=good.; C char s5=good.; D char s5; s=good.; 答案: B 10.2 以下程序段的輸出結(jié)果是 A 68 B 0 C 字符D 第 9 頁,共 14 頁的地址D 不確定的值 char str=ABCD,*p=str; printf%dn,*p+4; 答案: B 10.3 以下程序段的輸出結(jié)果是

55、A 11 B 10 C 9 D 8 printf%dn,strlenATSn0121; 答案: C 10.4 當(dāng)運(yùn)行以下程序時(shí)輸入 OPEN T H E DOOR此 處代表Enter 鍵,就輸出結(jié)果是 A oPEN tHE dOOR B open the door C OPEN T H E DOOR D Open The Door #include stdio.h char funchar *c if*c=A *c-=A-a; return *c; main char s81,*p=s; getss; while *p *p=funp; putchar*p; p+; putcharn; 答案:

56、 B 10.5 以下程序的輸出結(jié)果是AGFEDCBA B AGADAGA C AGAAGAG D GAGGAGA #include stdio.h #include string.h void funchar *w,int m char s,*p1,*p2; p1=w; p2=w+m-1; whilep1p2 s=*p1+; *p1=*p2-; *p2=s; main char a=ABCDEFG; funa,strlena; putsa; 答案: C 10.6 以下程序的輸出結(jié)果是 A ABCD B A C D D ABCD BCD B C ABC CD C B AB D D A A mai

57、n char s=ABCD,*p; forp=s; ps+4; p+ printf%sn,p; 答案: A 10.7 設(shè)有如下定義: char *aa2=abcd,ABCD; 就以下說法中正確選項(xiàng) A aa 數(shù)組元素的值分別是 abcd 和ABCD B aa 是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組 C aa 數(shù)組的兩個(gè)元素分別存放的是含有四個(gè)字符的一維數(shù)組的首地址 D aa 數(shù)組的兩個(gè)元素中各自存放了字符a 和A 的地址答案: C 10.8 以下程序的輸出結(jié)果是 A 6385 B 69825 C 63825 D 693825 main char ch25=6937,8254,*p2

58、; int i,j,s=0; fori=0; i2; i+ p=ch; fori=0; i0&pj=9; j+=2 s=10*s+pj-0; printf%dn,s; 答案: A 10.9 以下程序的輸出結(jié)果是A ABCDEFGHIJKLB ABCD C ABCDEFGHIJKLMNOP D AELM main char *alpha6=ABCD,EFGH,IJKL,MNOP,QRST,UVWX; char *p; int i; p=alpha; fori=0; i&b0 putchar*chp; putcharn; 答案:以下程序的輸出結(jié)果是;#include stdio.h void fu

59、nchar *a1,char *a2,int n int k; fork=0; k0; i-,i- printf%c,*p; printfn; 答案:當(dāng)運(yùn)行以下程序時(shí)從鍵盤輸入字符串qwerty 和abcd, 就程序的輸出結(jié)果是;#include string.h #include stdio.h strlechar a,char b int num=0,n=0; while*a+num.=0 num+; whilebn *a+num=bn; num+; n+; return num; main char str181,str281,*p1=str1,*p2=str2; getsp1; get

60、sp2; printf%dn,strlep1,p2; 答案:10 以下程序的輸出結(jié)果是;#include string.h #include ctype.h void funchar str int i,j; fori=0,j=0; str; i+ ifisalphastr strj+=str; strj=0; main char ss80=It is.; funss; printf%sn,ss; 答案:Itiss. 10.16 以下fun 函數(shù)的功能是將一個(gè)字符串的內(nèi)容顛倒過來,請?zhí)羁眨?include string.h void funchar str int i,j,k; fori=0,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論