


版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程c 語(yǔ)言程序設(shè)計(jì)課后題及參考答案目錄第一章、第二章、第三章、第四章、第五章、第六章、第七章、第八章、第九章、第十章、第十一章、第十二章、第十三章、第十四章、第十五章、第十六章第一章 程序設(shè)計(jì)基本概念1.1 在 trubo c 環(huán)境中用 run 命令運(yùn)行一個(gè) c 程序時(shí),所運(yùn)行的程序的后綴是_。答案:.exe1.2 c 語(yǔ)言源程序文件的后綴是_,經(jīng)過編譯后,生成文件的后綴是_,經(jīng)過連接后,生成文件的后綴是_。答案:.c .obj .exe1.3 結(jié)構(gòu)化程序由_、_、_三種基本結(jié)構(gòu)組成。答案:順序、選擇、循環(huán)第二章 c 程序設(shè)計(jì)的初步知識(shí)一、選擇題2.1 以下選項(xiàng)中正確的
2、整型常量是 a)12. b)-20 c)1,000 d)4 5 6答案:b2.2 以下選項(xiàng)中正確的實(shí)型常量是 a)0 b)3. 1415 c)0.32910(2)(10 的 2 次方) d).871答案:d2.3 以下選項(xiàng)中不正確的實(shí)型常量是 a)2.607e-1 b)0.8103e 2 c)-77.77 d)456e-2答案:b2.4 以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是 a)abc.c b)file c)main d)printf答案:a2.5 以下選項(xiàng)中不合法的用戶標(biāo)識(shí)符是 a)_123 b)printf c)a$ d)dim答案:c2.6 c 語(yǔ)言中運(yùn)算對(duì)象必需是整型的運(yùn)算符是 a)% b)
3、/ c)! d)*答案:a2.7 可在 c 程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是 a)void define word b)as_b3 _123 if c)for -abc case d)2c do sig答案:b2.8 若變量已正確定義并賦值,符合 c 語(yǔ)言語(yǔ)法的表達(dá)式是 a)a=a+7; b)a=7+b+c,a+ c)int(12.3%4) d)a=a+7=c+b答案:b2.9 以下敘述中正確的是 a)a 是實(shí)型變量,c 允許進(jìn)行以下賦值 a=10,因此可以這樣說(shuō):實(shí)型變量中允許存放整型值。 b)在賦值表達(dá)式中,賦值號(hào)右邊既可以是變量也可以是任意表達(dá)式。 c)執(zhí)行表達(dá)式 a=b 后,在內(nèi)存中
4、 a 和 b 存儲(chǔ)單元中的原有值都將被改變,a 的值已由原值改變?yōu)?b 的值,b 的值由原值變?yōu)?0。 d)已有 a=3,b=5。當(dāng)執(zhí)行了表達(dá)式 a=b,b=a 之后,已使 a 中的值為 5,b 中的值為 3。答案:b2.10 以下敘述中正確的是 a)在 c 程序中無(wú)論是整數(shù)還是實(shí)數(shù),只要在允許的范圍內(nèi)都能準(zhǔn)確無(wú)誤的表示。 b)c 程序由主函數(shù)組成。 c)c 程序由函數(shù)組成。 d)c 程序由函數(shù)和過程組成。答案:c2.11 turbo c 中 int 類型變量所占字節(jié)數(shù)是 a)1 b)2 c)3 d)4答案:b2.12 不合法的八進(jìn)制數(shù)是 a)0 b)028 c)077 d)01答案:b2.1
5、3 不合法的十六進(jìn)制數(shù)是 a)oxff b)0xabc c)0 x11 d)0 x19答案:a二、填空題2.14 若 k 為 int 整型變量且賦值 11。請(qǐng)寫出運(yùn)算 k+后表達(dá)式的值 a)_和變量的值b)_。答案:11、122.15 若 x 為 double 型變量,請(qǐng)寫出運(yùn)算 x=3.2,+x 后表達(dá)式的值 a)_和變量的值b)_。答案:4.2、4.22.16 函數(shù)體由符號(hào)_開始, 用符號(hào)_結(jié)束。 函數(shù)體的前面是_部分, 其后是_部分。答案:、定義、執(zhí)行2.17 c 語(yǔ)言中的標(biāo)識(shí)符可分為_、_、和預(yù)定義標(biāo)識(shí)符三類。答案:關(guān)鍵字、用戶標(biāo)識(shí)符2.18 在 c 語(yǔ)言程序中,用關(guān)鍵字_定義基本整型
6、量,用關(guān)鍵字_定義單精度實(shí)型變量,用關(guān)鍵字_定義雙精度實(shí)型變量。答案:int、float、double2.19 把 a1、a2 定義成單精度實(shí)型變量,并賦初值 1 的定義語(yǔ)句是_。答案:float a1=1.0,a2=1.0;2.20 c 程序中定義的變量,代表內(nèi)存中的一個(gè)_。答案:存儲(chǔ)單元2.21 表達(dá)式 3.5+1/2 的計(jì)算結(jié)果是_。答案:3.52.22 對(duì)以下數(shù)學(xué)式,寫出三個(gè)等價(jià)的 c 語(yǔ)言表達(dá)式_、_、_。 ab c答案:a*b/c、a/c*b、b/c*a2.23 表達(dá)式 s=10 應(yīng)當(dāng)讀做“_” 。答案:將 10 賦給變量 s2.24 計(jì)算機(jī)中內(nèi)存儲(chǔ)器的最小存儲(chǔ)單位稱_,其中能容納
7、的數(shù)是_。答案:位、0 或 12.25通常一個(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 00002.26 當(dāng)計(jì)算機(jī)用兩個(gè)字節(jié)存放一個(gè)整數(shù)時(shí),其中能存放的最大(十進(jìn)制)整數(shù)是_、最?。ㄊM(jìn)制)整數(shù)是_,它的二進(jìn)制數(shù)的形式是_。答案:65535、-32768、1000 0000 0000 00002.27 在 c 語(yǔ)言中整數(shù)可用_進(jìn)制數(shù)、_進(jìn)制數(shù)和_進(jìn)制數(shù)三種數(shù)制表示。答案:十、八、十六第三章、順序結(jié)構(gòu)一、選擇題3.1 若 a、b、c、d 都是
8、int 類型變量且初值為 0,以下選項(xiàng)中不正確的賦值語(yǔ)句是 a) a=b=c=100; b) d+; c) c+b; d) d=(c=22)-(b+);答案:c3.2 以下選項(xiàng)中不是 c 語(yǔ)句的是 a) int i; i+; printf(%dn, i); b) ; c) a=5,c=10 d) ; 答案:c3.3 以下合法的 c 語(yǔ)言賦值語(yǔ)句是 a) a=b=58 b) k=int(a+b); c) a=58,b=58 d) -i;答案:d3.4 以下程序的輸出結(jié)果是 a) 0 b) 1 c) 3 d)不確定的值 main() int x=10,y=3; printf(%dn, y=x/y)
9、; 答案:c3.5 若變量已正確說(shuō)明為 int 類型,要給 a、b、c 輸入數(shù)據(jù),以下不正確的輸入語(yǔ)句是 a) read(a,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);答案:d3.6 若變量已正確說(shuō)明為 float 類型,要通過以下賦值語(yǔ)句給 a 賦予 10、b 賦予 22、c 賦予33,以下不正確的輸入形式是 a) 10 22 33 b) 10.0,22.0,33.0 c) 10.0 22.0 33.0 d) 10 22
10、33 scanf(%f %f %f, &a, &b, &c);答案:b3.7 若變量以正確定義,要將 a 和 b 中的數(shù)進(jìn)行交換,下面不正確的語(yǔ)句組是 a) a=a+b,b=a-b,a=a-b; b) t=a,a=b,b=t; c) a=t; t=b; b=a; d) t=b; b=a; a=t;答案:c3.8 若變量已正確定義,以下程序段的輸出結(jié)果是 a) 輸出格式說(shuō)明與輸出項(xiàng)不匹配,輸出無(wú)定值 b) 5.17000 c) 5.168000 d) 5.169000 x=5.16894; printf(%fn,(int)(x*1000+0.5)/(float)1000)
11、;答案:d3.9 若有以下程序段,c3 中的值是 a) 0 b) 1/2 c) 0.5 d) 1 int c1=1,c2=2,c3; c3=c1/c2;答案:a3.10 若有以下程序段,其輸出結(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); printf(%d,%d,%dn,a,b,c);答案:b3.11 當(dāng)運(yùn)行以下程序時(shí),在鍵盤上從第一列開始輸入9876543210(此處 代表enter) ,則程序的輸出結(jié)果是 a) a=98,b=765,c=4321 b) a=10,
12、b=432,c=8765 c) a=98,b=765.000000,c=4321.000000 d) a=98,b=765,c=4321.0 main() int a; float b,c; scanf(%2d%3f%4f,&a,&b,&c); printf(na=%d,b=%f,c=%fn,a,b,c); 答案:c3.12 以下程序的輸出結(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; printf(a=%d,b=%dn,a,b); 答案:d3.13 若 int 類型占兩
13、個(gè)字節(jié),則以下程序段的輸出是 a) -1,-1 b) -1,32767 c) -1,32768 d) -1,65535 int a=-1; printf(%d,%un,a,a);答案:d3.14 以下程序段的輸出是 a) *496 * b) * 496* c) *000496* d)輸出格式符不合法 int x=496; printf(*%-06d*n,x);答案:a3.15 以下程序段的輸出是 a) |3.1415| b) | 3.0| c) | 3|d) | 3.| float a=3.1415; printf(|%6.0f|n,a);答案:c3.16 以下程序段的輸出是 a) |2345
14、.67800| b) |12345.6780| c) |12345.67800| d)|12345.678| printf(|%10.5f|n,12345.678);答案:c3.17 以下程序段的輸出是 a) *0000057.66* b) * 57.66* c) *0000057.67* d) * 57.67* float a=57.666; printf(*%010.2f*n,a);答案:c3.18 若從終端輸入以下數(shù)據(jù),要給變量 c 賦以 283.19,則正確的輸入語(yǔ)句是 a) scanf(%f,c); b) scanf(%8.4f,&c); c) scanf(%6.2f,&am
15、p;c); d) scanf(%8,&c);283.1900 表示 enter 鍵答案:由于印刷錯(cuò)誤,本題沒有正確答案。改正意見:把選項(xiàng) a 改為:scanf(%f,&c);或者把選項(xiàng) d 改為:scanf(%8f,&c);則可分別選擇 a或者 d 為正確答案。3.19 若變量已正確說(shuō)明,要求用以下語(yǔ)句給 a 賦予 3.12、給 b 賦予 9.0,則正確的輸入形式是(代表空格) a) 3.129.0 b) a=3.12b=9 c) a=3.12,b=9 d) a=3.12,b=9 scanf(a=%f,b=%f,&a,&b); 表示 enter 鍵答案:
16、c3.20 以下程序的輸出結(jié)果是 a) 9 8 b) 8 9 c) 6 6 d) 以上三個(gè)都不對(duì) #include math.h main() double a=-3.0, b=2; printf(%3.0f %3.0fn,pow(b,fabs(a),pow(fabs(a),b); 答案:b二、填空題3.21 若有以下定義,請(qǐng)寫出以下程序段中輸出語(yǔ)句執(zhí)行后的輸出結(jié)果。(1)_(2)_(3)_ int i=-200,j=2500; printf(1) %d %d,i,j); printf(2) i=%d, j=%dn,i,j); printf(3) i=%dn j=%dn,i,j);答案: -2
17、00 2500 i=-200, j=2500 i=-200 j=25003.22 變量 i、j、k 已定義為 int 類型并有初值 0,用以下語(yǔ)句進(jìn)行輸入時(shí) scanf(%d,&i); scanf(%d,&j); scanf(%d,&k);當(dāng)執(zhí)行第一個(gè)輸入語(yǔ)句,從鍵盤輸入: 12.3 表示 enter 鍵則變量 i、j、k 的值分別是_、_、_。答案:12、0、03.23 復(fù)合語(yǔ)句在語(yǔ)法上被認(rèn)為是_。空語(yǔ)句的形式是_。答案:一條語(yǔ)句、 ;3.24 c 語(yǔ)句的最后用_結(jié)束。答案: ;3.25以下程序段, 要求通過 scanf 語(yǔ)句給變量賦值, 然后輸出變量的值。 寫出運(yùn)行
18、時(shí)給 k 輸入 100,給 a 輸入 25.81,給 x 輸入 1.89234 時(shí)的三種可能的輸入形式_、_、_。 int k; float a; double x; scanf(%d%f%lf,&k,&a,&x); printf(k=%d,a=%f,x=%fn,k,a,x);答案: (1) 100 25.81 1.89234 (2) 100 25.811.89234 (3) 100 25.81 1.892343.26 以下程序段的輸出結(jié)果是_。 int x=0177; printf(x=%3d,x=%6d,x=$%6o,x=%6x,x=%6un,x,x,x,x,x);
19、答案:x=127,x= 127,x= 177,x= 7f,x= 1273.27 以下程序段的輸出結(jié)果是_。 int x=0177; printf(x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%06dn,x,x,x,x,x);答案:27、x=127,x=127,x=$127,x=$000127,x=%06d3.28 以下程序段的輸出結(jié)果是_。 double a=513.789215; printf(a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn,a,a,a,a);答案:a=513.789215,a= 513.79,a= 513.78921500,a=
20、 513.78921500 返回 第四章、選擇結(jié)構(gòu)一、 選擇題4.1 下列運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是 a) ! b) % c) -= d) &答案:a4.2 下列運(yùn)算符中優(yōu)先級(jí)最低的運(yùn)算符是 a) | b) != c) =y)&(y=z) b) (x=y)and(y=z) c) (x=y=z) d) (x=y)&(y=z)答案:a4.4 設(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)答案:d4.5 以
21、下程序的輸出結(jié)果是 a) 0 b) 1 c) 2 d) 3 main() int a=2,b=-1,c=2; if(ab)if(b0) c=0; else c+=1; printf(%dn,c); 答案:c4.6 以下程序的輸出結(jié)果是 a)1 b) 2 c) 3 d) 4 main() int w=4,x=3,y=2,z=1; printf(%dn,(wx?w:zy?z:x); 答案:a4.7 若執(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;
22、 if(ab) s=b; s*=s; printf(%dn,s); 答案:b4.8 下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是 -1(x0) 1(x0) 0(x0) -1(x0) y=-1; if(x!=0) y=1; if(x0) y=1; else y=0;答案:本題沒有正確答案。程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系應(yīng)該是 0(x0)4.9 運(yùn)行以下程序后,輸出 a) * b) & c) #& d) 有語(yǔ)法錯(cuò)誤不能通過編譯 main() int k=-3; if(k、=、=、=、!=4.13 c 語(yǔ)言中的邏輯運(yùn)算符按優(yōu)先級(jí)別是_、_、_。答案: ! 、&、|4.14 c 語(yǔ)言中的
23、關(guān)系運(yùn)算符和邏輯運(yùn)算符的優(yōu)先級(jí)別是_、 _、 _、 _、 _、 _、_。答案: ! 、=、!=、&、|4.15 c 語(yǔ)言中邏輯運(yùn)算符_的優(yōu)先級(jí)高于算術(shù)運(yùn)算符。答案: !4.16 將下列數(shù)學(xué)式改寫成 c 語(yǔ)言的關(guān)系表達(dá)式或邏輯表達(dá)式 a)_b)_。 a)a=b 或 a4答案:a)a=b|a4|x100) printf(%dn,a100); else printf(%dn,a0) b) !0答案:a) xc) b=a; a=c; c=b;答案:3、2、24.20 若變量已正確定義,以下語(yǔ)句段的輸出結(jié)果是_。 x=0; y=2; z=3; switch(x) case 0: switch(y
24、=2) case 1: printf(*); break; case 2: printf(%); break; case 1: switch(z) case 1: printf($); case 2: printf(*); break; default : printf(#); 答案:*# 返回 第五章、循環(huán)結(jié)構(gòu)一、 選擇題5.1 以下程序段的輸出結(jié)果是 a) 9b) 1c) 11d) 10 int k,j,s; for(k=2; k6; k+,k+) s=1; for(j=k; j6; j+) s+=j; printf(%dn, s);答案:d5.2 以下程序段的輸出結(jié)果是 a) 12b)
25、15 c) 20 d) 25 int i,j,m=0; for(i=1; i=15; i+=4) for(j=3; j7) n-; printf(%dn, n); 答案:b5.4 以下程序段的輸出結(jié)果是 a) 1b) 3 0c) 1 -2d) 死循環(huán) int x=3; do printf(%3d,x-=2); while(!(-x);答案:c5.5 以下程序段的輸出結(jié)果是 a) 15b) 14c) 不確定 d) 0 main() int i,sum; for(i=1; i0; y-)if(y%3=0) printf(%d, -y); continue; 答案:b5.7 若 x 是 int 型變
26、量,以下程序段的輸出結(jié)果是 a) *3 #4 *5 b) #3 *4 #5 c) #3 *4#5 d) *3#4 *5 for(x=3; x6; x+) printf(x%2)?(*%d):(#%dn),x);答案:d5.8 以下程序的輸出結(jié)果是 a) *#*#*#$b) #*#*#*$c) *#*#$ d) #*#*$ main() int i; for(i=1; i=5; i+) if(i%2) printf(*);else contionue;printf(#); printf($n); 答案:a5.9 以下敘述正確的是 a) do_while 語(yǔ)句構(gòu)成的循環(huán)不能用其它語(yǔ)句構(gòu)成的循環(huán)來(lái)代
27、替。 b) do_while 語(yǔ)句構(gòu)成的循環(huán)只能用 break 語(yǔ)句退出。 c) 用 do_while 語(yǔ)句構(gòu)成循環(huán)時(shí),只有在 while 后的表達(dá)式為非零時(shí)結(jié)束循環(huán)。 d) 用 do_while 語(yǔ)句構(gòu)成循環(huán)時(shí),只有在 while 后的表達(dá)式為零時(shí)結(jié)束循環(huán)。答案:d5.10 以下程序的輸出結(jié)果是 a) 39 81b) 42 84c) 26 68d) 28 70 main() int x,i; for(i=1; ib; +b) i+; while(a+c) j+; do k+; while(ad+);答案:5、4、65.12 以下程序段的輸出結(jié)果是_。 int k,n,m; n=10; m=1
28、; k=1; while(k=n) m*=2; printf(%dn,m);答案:死循環(huán)5.13 以下程序的輸出結(jié)果是_。 main() int x=2; while(x-); printf(%dn,x); 答案:-15.14 以下程序段的輸出結(jié)果是_。 int i=0,sum=1; do sum+=i+; while(i5); printf(%dn,sum);答案:115.15 有以下程序段: s=1.0; for(k=1; k=n; k+) s=s+1.0/(k*(k+1); printf(%fn,s);請(qǐng)?zhí)羁?,使下面的程序段的功能完全與之等同。 s=0.0; _; k=0; do s=s
29、+d; _; d=1.0/(k*(k+1); while(_); printf(%fn,s);答案:d=1.0、k+、kamax) amax=x;if(_)amin=x;scanf(%f,&x); printf(namax=%fnamin=%fn,amax,amin); 答案:x=0、xamin-作者:考試蟲-發(fā)布時(shí)間:2004-5-18 18:21:00 返回 第六章、字符型數(shù)據(jù)一、選擇題6.1 c 語(yǔ)言中的簡(jiǎn)單數(shù)據(jù)類型有 a) 整型、實(shí)型、邏輯型 b) 整型、實(shí)型、字符型 c) 整型、字符型、邏輯型 d) 整型、實(shí)型、邏輯型、字符型答案:b6.2 c 語(yǔ)言中,字符(char)型數(shù)據(jù)
30、在微機(jī)內(nèi)存中的存儲(chǔ)形式是 a) 反碼 b) 補(bǔ)碼 c) ebcdic 碼 d) ascii 碼答案:d6.3 設(shè)有語(yǔ)句 char a=72; ,則變量 a a) 包含 1 個(gè)字符 b) 包含 2 個(gè)字符 c) 包含 3 個(gè)字符 d) 說(shuō)明不合法答案:a6.4 c 語(yǔ)言中不合法的字符常量是 a) 0 xff b) 65 c) & d)028答案: 本題 a)和 d)選項(xiàng)都是不合法的字符常量。 若 a)選項(xiàng)改為xff, 則正確。6.5 c 語(yǔ)言中不合法的字符串常量是 a) 121 b) y= c) nn d) abcdx6d答案:b6.6 判斷 char 型變量 c 是否為大寫字母的最簡(jiǎn)單
31、且正確的表達(dá)式是 a) a=c=a)&(c=z) c) (a=c) d)(c=a)&(c=a&x=z)?(x+32):x; printf(%cn,x); 答案:b6.9 以下程序的輸出結(jié)果是 a) 67,cb) b,cc) c,dd) 不確定的值 main() char ch1,ch2; ch1=a+5-3; ch2=a+5-3; printf(%d,%cn,ch1,ch2); 答案:a6.10 對(duì)以下程序,從第一列開始輸入數(shù)據(jù):2473,代表 enter。程序的輸出結(jié)果是 a) 668977b) 668966c) 66778777d) 6688766 #include
32、 stdio.h main() int c; while(c=getchar()!=n) switch(c-2) case 0 : case 1 : putchar(c+4); case 2 : putchar(c+4); break; case 3 : putchar(c+3); default : putchar(c+2); break;printf(n); 答案:a6.11 若變量已正確說(shuō)明, 要求用以下語(yǔ)句給 c1 賦予字符%、 給 c2 賦予字符#、 給 a 賦予 2.0、給 b 賦予 4.0,則正確的輸入形式是(代表空格) a) 2.0%4.0# b) 2.0%4.0# c) 2%
33、4# d) 2%4 scanf(%f%c%f%c,&a,&c1,&b,&c2);(代表 enter 鍵)答案:b二、填空題6.12 eof 的十進(jìn)制值是_。答案:-16.13 c 語(yǔ)言中,字符占內(nèi)存_個(gè)字節(jié)。答案:16.14 調(diào)用 c 語(yǔ)言對(duì)字符處理的庫(kù)函數(shù)時(shí),在#include 命令行中應(yīng)包括的頭文件是_。答案:string.h6.15 若輸入字符 a,在以下 while 語(yǔ)句執(zhí)行后 ch 的值是_。while(ch=getchar()=a);答案:16.16若要通過以下語(yǔ)句給 a、b、c、d 分別輸入字符 a、b、c、d,給 w、x、y、z 分別輸入 10、
34、20、30、40,正確的輸入形式是_,請(qǐng)用代表 enter 鍵。scanf(%d%c%d%c%d%c%d%c,&w,&a,&x,&b,&y,&c,&z,&d);答案:10a20b30c40d6.17 若有以下說(shuō)明和輸入語(yǔ)句, 要求給c1、 c2輸入字符a和b, 給a1、 a2輸入7.29和101.298,從鍵盤正確輸入數(shù)據(jù)的形式是_。 char c1,c2; float a1,a2; scanf(%f%f,&a1,&a2); scanf(%c%c,&c1,&c2);答案:7.29101.298ab6
35、.18 若有以下說(shuō)明和輸入語(yǔ)句, 要求給c1、 c2輸入字符a和b, 給a1、 a2輸入7.29和101.298,從鍵盤正確輸入數(shù)據(jù)的形式是_。 char c1,c2; float a1,a2; scanf(%c%f%c%f,&c1,&a1,&c2,&a2);答案:a7.29b101.2986.19 若有以下說(shuō)明和輸入語(yǔ)句,要求給 c1、c2、c3 輸入字符 a、b 和 c,請(qǐng)寫出各種從鍵盤正確輸入數(shù)據(jù)的形式。 char c1,c2,c; scanf(%4c,&c1); scanf(%4c,&c2); scanf(%4c,&c3);答案:
36、abc 返回 第七章、函數(shù)一、選擇題7.1 以下說(shuō)法中正確的是 a) c 語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行 b) 在 c 語(yǔ)言程序中,要調(diào)用的函數(shù)必須在 main 函數(shù)中定義 c) c 語(yǔ)言程序總是從 main 函數(shù)開始執(zhí)行 d) c 語(yǔ)言程序中的 main 函數(shù)必須放在程序的開始部分答案:c7.2 以下函數(shù)的類型是 a) 與參數(shù) x 的類型相同 b) void 類型 c) int 類型 d) 無(wú)法確定 fff(float x) printf(%dn,x*x); 答案:c7.3 以下函數(shù)調(diào)用語(yǔ)句中,含有的實(shí)參個(gè)數(shù)是 a) 1b) 2c) 4d) 5 func( (exp1,exp2),(
37、exp3,exp4,exp5);答案:b7.4 以下程序的輸出結(jié)果是 a) 11b) 20c) 21d) 31 fun(int a,int b) int c; c=a+b; return c; main() int x=6,y=7,z=8,r; r=func(x-,y+,x+y),z-); printf(%dn,r); 答案:c7.5 以下程序的輸出結(jié)果是 a) -1b) 0c) 1d) 2 main() int i=2,p; p=f(i,i+1); printf(%d,p); int f(int a, int b) int c; c=a; if(ab) c=1; else if(a=b) c
38、=0; else c=-1; return(c); 答案:a7.6 以下程序的輸出結(jié)果是 a) 0b) 1 c) 6d) 無(wú)定值 fun(int a,int b,int c) c=a*b; main() int c; fun(2,3,c); printf(%dn,c); 答案:d7.7 以下程序的輸出結(jié)果是 a) 5.500000 b) 3.000000 c) 4.000000 d) 8.25 double f(int n) int i; double s; s=1.0; for(i=1; i=n; i+) s+=1.0/i; return s; main() int i,m=3; float
39、 a=0.0; for(i=0; ieps; n+) s+=t;t=n*t/(2*n+1); return (2.0*_); 答案:n=1、s7.12 以下函數(shù)用以求 x 的 y 次方。請(qǐng)?zhí)羁铡?double fun(double x, int y) int i; double z; for(i=1; i_; i+)z=_; return z; 答案:=y、z*x7.13 以下程序的功能是計(jì)算 s=0!+1!+2!+3!+.+n!。請(qǐng)?zhí)羁铡?long f(int n) int i; long s; s=_; for(i=1; i=n; i+) s=_; return s; main() lon
40、g s; int k,n; scanf(%d,&n); s=_; for(k=0; k=n; k+) s=s+_; printf(%ldn, s); 答案:1l、s*i、0、f(k) 返回 第八章指針一、 選擇題 8.1 若有定義:int x,*pb; 則以下正確的賦值表達(dá)式是a) pb=&x b) pb=x c) *pb=&x d) *pb=*x答案: a 8.2 以下程序的輸出結(jié)果是a) 因變量無(wú)定義輸出不定值 b) 0 c) -1 d) 1#include main() printf(%dn,null); 答案: b 8.3 以下程序的輸出結(jié)果是a) 5,2,3
41、b) -5,-12,-7 c) -5,-12,-17 d) 5,-2,-7void sub(int x,int y,int *z) *z=y-x; main() int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf(%d,%d,%dn,a,b,c);答案: b 8.4 以下程序的輸出結(jié)果是a) 4 b) 6 c) 8 d) 10main() int k=2,m=4,n=6; int *pb=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(%dn,n);答
42、案: c 8.5 已知指針 p 的指向如圖 8.5 所示,則執(zhí)行語(yǔ)句*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答案: b 8.7 已知指針 p 的指向如圖 8.5 所示,則表達(dá)式+*p 的值是a) 20 b) 30 c) 21 d) 31答案: c 8.8 以下程序的輸出結(jié)果是a) 23 b) 24c) 25d) 26void prtv(int *x) printf(%dn,+*x); main() int a=25; prtv(&
43、;a);答案: d 8.9 以下程序的輸出結(jié)果是a) 運(yùn)行出錯(cuò) b) 100c) a 的地址 d) b 的地址main() int *k, *a b=100; a=&b; k=&a; printf(%dn,*k);答案: b 8.10 以下程序的輸出結(jié)果是a) 4,3b) 2,3c) 3,4d) 3,2void fun(float *a,float *b) float w; *a=*a+*a; w=*a; *a=*b; *b=w;main() float x=2.0,y=3.0; float *px=&x,*py=&y; fun(px,py); printf(%
44、2.0f,%2.0fn,x,y);答案: c 8.11 以下程序的輸出結(jié)果是a) 9.000000b) 1.500000c) 8.000000d)10.500000void sub(float 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; sub(b-a,pa,pa); printf(%fn,a);答案: c 8.12 以下四個(gè)程序中不能對(duì)兩個(gè)整形值進(jìn)行交換的是a) main() int a=10,b=20; swap(&a,&b);
45、printf(%d%dn,a,b); swap(int *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); swap(int *p, int *q) int t; t=*p; *p=*q; *q=t; c) main() int *a,*b; *a=10,*b=20; swap(a,b); printf(%d%dn,*a,*b); swap(int *p, int *q) int t; t=*p; *p=*q;
46、*q=t; d) main() int a=10,b=20; int *x=&a,*y=&b; swap(x,y); printf(%d%dn,a,b); swap(int *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);答案:100 8.14 以下程序的輸出結(jié)果是_。int ast(int x,int y,int *cp,int *dp) *cp=x+y; *dp=x-
47、y;main() int a,b,c,d; a=4; b=3; ast(a,b,&c,&d); printf(%d %dn,c,d);答案:7 1 8.15 若有定義:char ch;(1) 使指針 p 可以指向變量 ch 的定義語(yǔ)句是_。答案:char *p=&ch;(2) 使指針 p 可以指向變量 ch 的賦值語(yǔ)句是_。答案:p=&ch;(3) 通過指針 p 給變量 ch 讀入字符 scanf 函數(shù)調(diào)用語(yǔ)句是_。答案:scanf(%c,*p);(4) 通過指針 p 給變量 ch 的賦字符的語(yǔ)句是_。答案:ch=*p;5) 通過指針 p 輸出 ch 中字符的語(yǔ)
48、句是_。答案: printf(%c,*p); 8.16 若有如圖 8.5 所示五個(gè)連續(xù)的 int 類型的存儲(chǔ)單元并賦值如圖, 且 p 和 s 的基類型皆為 int,p 已指向存儲(chǔ)單元 a1。(1) 通過指針 p,給 s 賦值,使其指向最后一個(gè)存儲(chǔ)單元 a4的語(yǔ)句是_。答案: 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+1)5) 指
49、針 s 已指向存儲(chǔ)單元 a2,p 指向存儲(chǔ)單元 a0,表達(dá)式 s-p 的值是_。答案: 26) 若 p 指向存儲(chǔ)單元 a0,則以下語(yǔ)句的輸出結(jié)果是_。for(i=0; i5;i+) printf(%d ,*(p+i);printf(n);答案:10 20 30 40 50 返回 第九章 數(shù)組一、 選擇題 9.1 若已定義: int a =0,1,2,3,4,5,6,7,8,9,*p=a,i;其中 0i9,則對(duì) a 數(shù)組元素的引用不正確的是a)ap-a b)*(&ai) c)pi d)*(*(a+i)答案:d 9.2 以下程序段給數(shù)組所有元素輸入數(shù)據(jù),應(yīng)在下劃線處填入的是a)a+(i+)
50、 b)&a(i+1) c)a+i d)&a+imain() int a10,i=0; while(i10)scanf(%d,_); . . .答案:d 9.3 以下程序的輸出結(jié)果是a)3 b)4 c)1 d)2main() int a10=1,2,3,4,5,6,7,8,9,10,*p=a; printf(%dn,*(p+2);答案:a 9.4、 以下程序的輸出結(jié)果是a)不確定的值 b)3 c)2 d)1main() int n2=0,i,j,k=2; for(i=0;ik;i+) for(j=0;jk;j+) nj=ni+1; printf(%dn,nk);答案: a 9.5
51、以下程序的輸出結(jié)果是a)17 b)18 c)19d)20main() int a =2,4,6,8,10,y=1,x,*p; p=&a1; for(x=0;x3;x+) y+=*(p+x); printf(%dn,y); 答案: c 9.6 以下程序的輸出結(jié)果是a)6 b)8 c)4 d)2main() int a10=2,4,6,8,*p=a,i; for(i=0;i4;i+)ai=*p+; printf(%dn,a2);答案:a 9.7 以下程序的輸出結(jié)果是a)720 b)120 c)24d)6f(int b ,int n) int i,r=1; for(i=0;i=n;i+)r=
52、r*bi; return r;main() int x,a=2,3,4,5,6,7,8,9; x=f(a,3); printf(%dn,x);答案:b 9.8 以下程序中若第一個(gè) printf 語(yǔ)句輸出的是 194,則第二個(gè) printf 語(yǔ)句的輸出結(jié)果是a)212 b)204 c)1a4 d)1a6main() int a=1,2,3,4,5,6,7,8,9,0,*p; p=a; printf(%xn,p); printf(%xn,p+9);答案:d 9.9 以下程序的輸出結(jié)果是a)0987654321 b)4321098765 c)5678901234 d)0987651234fun(in
53、t *s,int n1,int n2) int i,j,t; i=n1; j=n2; while(ij) 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; fun(p,0,3); fun(p,4,9); fun(p,0,9); for(i=0;i10;i+)printf(%d,*(a+i);答案: c 9.10 以下程序的輸出結(jié)果是a) 4 4 b) 2 2 c) 2 4 d) 4 6main() int a5=2,4,6,8,10,*p,*k; p=a; k=&p
54、; printf(%d ,*(p+); printf(%dn,*k);答案: c 9.11 當(dāng)運(yùn)行以下程序時(shí)輸入三行,每行都是在第一列上開始,代表 enter 鍵:abcdef則程序的輸出結(jié)果是a) abcdefb) ac) a d) a b b b c cd cdef d e f#include stdio.h#define n 6main() char cn; int i=0; for(i=0;in;i+) ci=getchar(); for(i=0;in;i+) putchar(ci);答案: c 9.12 若有定義和語(yǔ)句:int c45, (*cp)5;cp=c;則對(duì) c 數(shù)組元素的引
55、用正確的是a) cp+1 b) *(cp+3) c) *(cp+1)+3 d) *(cp+2)答案: d 9.13 若已定義:int a43=1,2,3,4,5,6,7,8,9,10,11,12,(*prt)3=a,*p=a0;則能正確表示數(shù)組元素 a12的表達(dá)式是a) *(*prt+1)2 b) *(*(p+5) c) (*prt+1)+2 d) *(*(a+1)+2)答案: d 9.14 若有定義和語(yǔ)句:int a43=1,2,3,4,5,6,7,8,9,10,11,12,(*prt)3=a,*p4,i;for(i=0;i4;i+) pi=ai;則不能夠正確表示 a 數(shù)組元素的表達(dá)式是a)
56、 a43b) p00c) prt22 d)(*(p+1)1答案: a 9.15 以下程序的輸出結(jié)果是a) 23 b) 26 c) 33 d) 36main() int aa33=2,4,6,i,*p=&aa00; for(i=0; i2; i+) if(i=0) aaii+1=*p+1; else +p; printf(%d,*p); printf(n);答案: a 9.16 以下程序的輸出結(jié)果是a) 60b) 68 c) 99 d) 108main() int a34=1,3,5,7,9,11,13,15,17,19,21,23; int (*p)4=a,i,j,k=0; for(i
57、=0; i3; i+) for(j=0; j2; j+) k+=*(*(p+i)+j); printf(%dn,k);答案: a 9.17 以下程序的輸出結(jié)果是a) 1,5,9, b) 1,4,7, c) 3,5,7, d) 3,6,9,main() int i,x33=1,2,3,4,5,6,7,8,9; for(i=0; i3; i+) printf(%d,xi2-i);答案: c 9.18 若有定義語(yǔ)句 int (*p)m; 其中的標(biāo)識(shí)符 p 是a) m 個(gè)指向整型變量的指針b) 指向 m 個(gè)整型變量的函數(shù)指針c) 一個(gè)指向具有 m 個(gè)整型元素的一維數(shù)組指針d) 具有 m 個(gè)指針元素的一
58、維指針數(shù)組,每個(gè)元素都只能指向整型量答案: c二、填空題 9.19 若有以下定義:double w10;則 w 數(shù)組元素下標(biāo)的上限是_,下限是_。答案: 9 0 9.20 以下程序的輸出結(jié)果是_。main() int a=2,4,6,*prt=&a0,x=8,y,z; for(y=0; y3; y+) z=(*(prt+y)x)?*(prt+y):x; printf(%dn,z);答案:6 9.21 以下程序的輸出結(jié)果是_。main() int arr10,i,k=0; for(i=0; i10; i+) arri=i; for(i=0; i4; i+) k+=arri+i; prin
59、tf(%dn,k);答案:12 9.22 以下程序的輸出結(jié)果是_。#define n 5fun(char *s,char a,int n) int j; *s=a; j=n; while(asj) j-; return j;main() char sn+1; int k,p; for(k=1; k=10) uun+=t/10; uun=t%10; else uun=t;main() int i,n,aa10=0; scanf(%d%d%d,&n,&aa0,&aa1); for(i=1; in; i+) sub(i,aa); for(i=0; i=n; i+) print
60、f(%d,aai); printf(n);答案: 2721 9.24 以下程序的輸出結(jié)果是_.main() int i,j,row,col,m; int arr33=100,200,300,28,72,-30,-850,2,6; m=arr00; for(i=0; i3; i+) for(j=0; j3; j+) if(arrijm) m=arrij; row=i; col=j; printf(%d,%d,%dn,m,row,col);答案: -850,2,0 9.25 以下 findmax 返回?cái)?shù)組 s 中最大元素的下標(biāo),數(shù)組中元素的個(gè)數(shù)由 t 傳入,請(qǐng)?zhí)羁铡indmax(int s,in
61、t t) int k,p; for(p=0,k=p; psk) _; return _;答案: k=p k 9.26 以下程序統(tǒng)計(jì)從終端輸入的字符中每個(gè)大寫字母的個(gè)數(shù) ,num0中統(tǒng)計(jì)字母 a 的個(gè)數(shù),其它依次類推.用#號(hào)結(jié)束輸入,請(qǐng)?zhí)羁?#include stdio.h#include ctype.hmain() int num26=0,i; char c; while(_!=#) if(isupper(c) num_+=1; for(i=0; i26; i+) if(numi) printf(%c: %dn,i+a,numi);答案: (c=getchar() c-a 返回 第十章 字符串一、選擇題 10.1 以下能正確進(jìn)行字符串賦值,賦初值的語(yǔ)句是a) char s5=a,e,i,o,u;b) char *s; s=good!;c) cha
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 氫能制備新方法-洞察及研究
- 多模態(tài)情感識(shí)別技術(shù):表情、語(yǔ)音與語(yǔ)言的綜合應(yīng)用綜述
- 基于雙層路徑規(guī)劃的智能導(dǎo)盲系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 檢查督導(dǎo)整改管理辦法
- 藝術(shù)生產(chǎn)理論在當(dāng)代文藝創(chuàng)作中的實(shí)踐啟示研究
- 出具收入證明管理辦法
- 辦公樓保潔技術(shù)方案的研究與實(shí)踐
- 美學(xué)自學(xué)考試筆記重點(diǎn)解讀
- 游覽車運(yùn)營(yíng)調(diào)度方案設(shè)計(jì)
- 導(dǎo)電材料對(duì)厭氧消化性能的影響及其機(jī)制研究進(jìn)展
- 新華書店讀者問卷調(diào)查表
- GB/T 20946-2007起重用短環(huán)鏈驗(yàn)收總則
- GB/T 18391.3-2009信息技術(shù)元數(shù)據(jù)注冊(cè)系統(tǒng)(MDR)第3部分:注冊(cè)系統(tǒng)元模型與基本屬性
- GB/T 10610-2009產(chǎn)品幾何技術(shù)規(guī)范(GPS)表面結(jié)構(gòu)輪廓法評(píng)定表面結(jié)構(gòu)的規(guī)則和方法
- 熠搜家庭戶用光伏電站推介
- 濟(jì)源幼兒園等級(jí)及管理辦法
- 房地產(chǎn)開發(fā)全流程培訓(xùn)講義課件
- DB44-T 2163-2019山地自行車賽場(chǎng)服務(wù) 基本要求-(高清現(xiàn)行)
- 云南省特種設(shè)備檢驗(yàn)檢測(cè)收費(fèi)標(biāo)準(zhǔn)
- DB15T 933-2015 內(nèi)蒙古地區(qū)極端高溫、低溫和降雨標(biāo)準(zhǔn)
- 工傷責(zé)任保險(xiǎn)單
評(píng)論
0/150
提交評(píng)論