C語言全部章節(jié)復(fù)習(xí)題(經(jīng)典收藏)_第1頁
C語言全部章節(jié)復(fù)習(xí)題(經(jīng)典收藏)_第2頁
C語言全部章節(jié)復(fù)習(xí)題(經(jīng)典收藏)_第3頁
C語言全部章節(jié)復(fù)習(xí)題(經(jīng)典收藏)_第4頁
C語言全部章節(jié)復(fù)習(xí)題(經(jīng)典收藏)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第一章C語言概述 一、選擇題:1、一個(gè)C程序的執(zhí)行是從( A )。A本程序的main函數(shù)開始,到main函數(shù)結(jié)束 B本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束2、 在 C 語言中,每個(gè)語句必須以( D )結(jié)束。 A. 回車符 B. 冒號(hào) C. 逗號(hào) D. 分號(hào)3、C 語言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置( C )。A. 必須在最開始 B. 必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C. 可以任意 D. 必須在最后 4、一個(gè)C 語言程序是由( B )。A. 一個(gè)主程序和若干子

2、程序組成 B. 函數(shù)組成 C. 若干過程組成 D. 若干子程序組成5、下列說法中錯(cuò)誤的是( D )。A. 主函數(shù)可以分為兩個(gè)部分:主函數(shù)說明部分和主函數(shù)體B. 主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù) C. 任何非主函數(shù)可以調(diào)用其他任何非主函數(shù) D. 程序可以從任何非主函數(shù)開始執(zhí)行6、用 C 語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯(cuò)誤,則系統(tǒng)將( C )。A. 生成可執(zhí)行目標(biāo)文件 B. 生成目標(biāo)文件 C. 輸出運(yùn)行結(jié)果 D. 自動(dòng)保存源文件二、填空題:1、C 語言只有 32 個(gè)關(guān)鍵字和 9 種控制語句。 2、每個(gè)源程序有且只有一個(gè) main 函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。3、C 語言

3、程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以 * 符號(hào)作為開始標(biāo)記,以 */ 符號(hào)作為結(jié)束標(biāo)記。4、C 語言中,輸入操作是由庫函數(shù) scanf 完成的,輸出操作是由庫函數(shù) printf 完成的。5、系統(tǒng)默認(rèn)的C 語言源程序文件的擴(kuò)展名是 .c ,經(jīng)過編譯后生成的目標(biāo)文件的擴(kuò)展名是 .obj ,經(jīng)過連接后生成的可執(zhí)行文件的擴(kuò)展名是 .exe 。 6、C 語言的標(biāo)識(shí)符只能由字母、數(shù)字和 下劃線 三種字符組成。第三章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式 一、選擇題:1、以下選項(xiàng)中,不正確的 C 語言浮點(diǎn)型常量是( C )。A. 160. B. 0.12 C. 2e4.2 D. 0.02、以下選項(xiàng)中,( D )

4、是不正確的 C 語言字符型常量。A. a B. x41 C. 101 D. a3、 在 C 語言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的( C )形式存儲(chǔ)。A. 原碼 B. 反碼 C. ASCII 碼 D. BCD碼 4、若x、i、j和k都是int型變量,則計(jì)算下面表達(dá)式后,x的值是( C )。 x=(i=4,j=16,k=32) A. 4 B. 16 C.32 D.525、算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低依次為( B )。A. 算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算 B. 算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算C. 關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算 D. 關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算6、若有代

5、數(shù)式 ,則不正確的C語言表達(dá)式是( C )。A.a/b/c*e*3 B. 3*a*e/b/c C.3*a*e/b*c D. a*e/c/b*37、表達(dá)式!x|a=b 等效于( D )。A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b)8、設(shè)整型變量 m,n,a,b,c,d 均為1,執(zhí)行 (m=ab)&(n=cd)后, m,n 的值是( A)。 A. 0,0 B. 0,1 C. 1,0 D. 1,19、 設(shè)有語句 int a=3;,則執(zhí)行了語句 a+=a-=a*=a;后,變量 a 的值是( B )。 A. 3 B. 0 C. 9 D. -121

6、0、在以下一組運(yùn)算符中,優(yōu)先級(jí)最低的運(yùn)算符是( D )。A. * B. != C. + D. =11、設(shè)整型變量 i 值為2,表達(dá)式(+i)+(+i)+(+i)的結(jié)果是( B )。 A. 6 B. 12 C. 15 D. 表達(dá)式出錯(cuò)12、若已定義 x 和 y為double 類型,則表達(dá)式 x=1,y=x+3/2 的值是( C )。 A. 1 B. 2 C. 2.0 D. 2.513、sizeof (double)的結(jié)果值是( A )。 A. 8 B. 4 C. 2 D. 出錯(cuò)14、設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:ab? a : cd? a : d的結(jié)果為( D )。 A. 4 B.

7、 3 C. 2 D. 115、設(shè)a 為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10a15的 C 語言表達(dá)式是( A )。A. 10a10 & a15 D. !(a=15) 16、設(shè) f是實(shí)型變量,下列表達(dá)式中不是逗號(hào)表達(dá)式的是( D )。A. f= 3.2, 1.0 B. f0, f0 D. f=(3.2, 1.0)17、 表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是( C )。A. int B. float C. double D. 不確定18、已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句C2=A+6-3;后c2中的值是( A )。 A. D B. 68 C. 不確定的

8、值 D. C19、以下用戶標(biāo)識(shí)符中,合法的是( B )。 A. int B. nit C. 123 D. a+b20、C 語言中,要求運(yùn)算對(duì)象只能為整數(shù)的運(yùn)算符是( A )。 A. % B. / C. D. *21、若有說明語句:char c=72;則變量c在內(nèi)存占用的字節(jié)數(shù)是( A )。 A. 1 B. 2 C. 3 D. 422、字符串ABC在內(nèi)存占用的字節(jié)數(shù)是( B )。 A. 3 B. 4 C. 6 D. 823、要為字符型變量 a賦初值,下列語句中哪一個(gè)是正確的( B )。A. char a=3; B. char a=3; C. char a=%; D. char a=*;24、下列

9、不正確的轉(zhuǎn)義字符是( C )。 A. B. C. 074 D. 0二、填空題:1、C 語言中的邏輯值“真”是用 1 表示的,邏輯值“假”是用 0 表示的。2、若x和n都是int型變量,且x的初值為12,n的初值為5,則計(jì)算表達(dá)式x%=(n%=2)后x的值為 0 。3、設(shè) c=w,a=1,b=2,d=-5, 則表達(dá)式 x+1c, y!=c+2, -a-5*b100)y=x/100; printf(“%d”,y); else printf(“%d”,a+b); 2. if結(jié)構(gòu) main() float t;char c;printf(“input score,max as 100:n”);scan

10、f(“%f”,&t); if(t=90) ch=A; else if(t=80) ch=B; else if(t=70) ch=C; else if(t=60) ch=D; else ch=E;printf(“Grade=%dn”,ch); switch結(jié)構(gòu) main() float t;char c;printf(“input score,max as 100:n”); scanf(“%f”,&t); switch(t/10) case 10:case 9: ch=A;break; case 8: ch=B;break; case 7: ch=C;break; case 6: ch=D;br

11、eak; case 5: ch=E; printf(“Grade=%dn”,ch); 五、選做題 1. main() int a,b,c,t;scanf(“%d%d%d”,&a,&b,&c); if(ab)t=a;a=b;b=t; if(ac)t=a;a=c;c=t; if(b0)&(s=3)&(s1)|(s8) case 1: x=3; break; case 0: x=1; break; break;case 0: x=0; break; 循環(huán)結(jié)構(gòu)答案 一、選擇題1B 2.A 3.A 4.C 5.A 6.B 7.A 8.C 9.D 10.D二、填空題 1. x1 x1/2-22. ch=g

12、etchar() ch=A&ch=Z 3. s=s+t*i t=-t三、閱讀下列程序,寫出程序運(yùn)行的輸出結(jié)果 1852 2. 8921 3. 54. SUM=2468四、程序改錯(cuò) 1.main() int i=200,n=0; /*n用來記錄每行已打印數(shù)的個(gè)數(shù)*/while(i=300) if(i%7=0) /break;printf(%5d,i); n=n+1; if(n=5) /*滿5個(gè)換行*/ printf(n); n=0; i+; 2). main( ) int i,s=0,t=1; for(i=1;i=7;i+) t=t*i; s=s+t; printf(sum=%dn,s); 五、

13、程序設(shè)計(jì)題 1. main() int x,g,s,b;for(x=100;x1000;x+) b=x/100;s=x%100/10;g=x%10; if(g*g*g+s*s*s+b*b*b)=x) printf(“%dn”,x); 2. main() int i,s=0,f=1; for(i=2;i80;i+) s=s+f*(i-1)/i; f=-f; printf(s=%fn”,s); 六、選做題 1. main() float s=0,m=2.0,n=1.0,p; int i;for(i=1;i=20;i+)s=s+m/n; p=m; m=m+n; n=p; printf(s=%fn”,

14、s); 2.#include main( ) int i,j,k,s=1; for(i=1;i=20;i+) for(j=1;j=0) printf(“%2d %2d %2d”,i,j,k); s=s+1;if(s%5=0) printf(“n”); 第7章 數(shù)組習(xí)題 A卷1. 單項(xiàng)選擇題(1) int a4=5,3,8,9;其中 a3的值為( )。D A. 5 B. 3 C. 8 D. 9(2) 以下 4 個(gè)字符串函數(shù)中,( )所在的頭文件與其他 3 個(gè)不同。AA. gets B. strcpy C. strlen D. strcmp (3) 以下 4 個(gè)數(shù)組定義中,( )是錯(cuò)誤的。 D A

15、. int a7; B. #define N 5 long bN; C. char c5; D. int n,dn;(4) 對(duì)字符數(shù)組進(jìn)行初始化,( )形式是錯(cuò)誤。 BA. char c1 =1, 2, 3; B. char c2 =123; C. char c3 = 1, 2, 3, 0; D. char c4 =123; (5) 在數(shù)組中,數(shù)組名表示( )。 AA. 數(shù)組第 1 個(gè)元素的首地址 B.數(shù)組第 2 個(gè)元素的首地址C. 數(shù)組所有元素的首地址 D.數(shù)組最后 1 個(gè)元素的首地址(6) 若有以下數(shù)組說明,則數(shù)值最小的和最大的元素下標(biāo)分別是( )。 Bint a12 =1,2,3,4,5

16、,6,7,8,9,10,11,12; A. 1,12 B. 0,11 C. 1,11 D. 0,12(7) 若有以下說明,則數(shù)值為 4 的表達(dá)式是( )。 D int a12 =1,2,3,4,5,6,7,8,9,10,11,12; char c=a, d, g ;A. ag-c B. a4 C. ad-c D. ad-c(8) 設(shè)有定義:char s12 = string ; 則printf( %dn,strlen(s); 的輸出是( )。 A A. 6 B. 7 C. 11 D. 12(9) 設(shè)有定義:char s12 = string; 則printf(%dn , sizeof(s);

17、的輸出是( )。 D A. 6 B. 7 C. 11 D. 12 (10) 合法的數(shù)組定義是( )。 AA. char a = string ; B. int a5 =0,1,2,3,4,5; C. char a= string ; D. char a =0,1,2,3,4,5 (11) 合法的數(shù)組定義是( )。 DA. int a3 =0,1,2,3,4,5; B. int a 3 =0,1,2,3,4; C.inta23=0,1,2,3,4,5,6;D.inta23=0,1,2,3,4,5,;(12) 下列語句中,正確的是 ( )。DA. char a3 =abc, 1; B. char

18、a 3 =abc, 1;C. char a3 =a, 1; D. char a 3 = a, 1;(13) 下列定義的字符數(shù)組中,輸出 printf(%sn, str2) ;的輸出是( )。 Cstatic str320 = basic, foxpro, windows; A. basic B. foxpro C. windows D. 輸出語句出錯(cuò) (14) 下列各語句定義了數(shù)組,其中哪一個(gè)是不正確的( )。 CA. char a310=China,American,Asia; B. int x22=1,2,3,4; C.floatx2=1,2,4,6,8,10;D.intm3=1,2,3,

19、4,5,6;(15) 數(shù)組定義為 int a32=1,2,3,4,5,6,值為6的數(shù)組元素是( )。 BA. a32 B. a21 C. a12 D. a23 (16) 下面的程序中哪一行有錯(cuò)誤( )。D #include main() float array5=0.0; /第A行 int i;for(i=0;i5;i+) scanf(%f,&array); for(i=1;i5;i+)array0=array0+array;/第B行 printf(%fn,array0); /第C行 A. 第A行 B. 第B行 C. 第C行 D. 沒有 (17) 下面哪一項(xiàng)是不正確的字符串賦值或賦初值的方式(

20、 )。 CA. char *str; str=string; B. char str7=s,t,r,i,n,g; C. char str110;str1=string;D. char str1=string,str2=12345678; (18) 若有以下說明和語句,則輸出結(jié)果是哪一項(xiàng)( )。C(strlen(s)為求字符串s的長(zhǎng)度的函數(shù)) char s12=a book!; printf(%d,strlen(s); A. 12 B. 8 C. 7 D. 11(19) 若有以下說明和語句,則輸出結(jié)果是( )。B (strlen(s)為求字符串s的長(zhǎng)度的函數(shù)) char sp=tv0willn;

21、 printf(%d,strlen(sp);A. 14 B. 3 C. 9 D. 字符串中有非法字符(20) 若有以下說明和語句,則輸出結(jié)果是( )。 C char str=c:abc.dat; printf(%s,str);A. 字符串中有非法字符 B. c:abc.dat C. c:abc.dat D. c:abc.dat2. 填空題(1) C 語言中,數(shù)組的各元素必須具有相同的 ,元素的下標(biāo)下限為 ,下標(biāo)必須是正整數(shù)、0、或者 。但在程序執(zhí)行過程中,不檢查元素下標(biāo)是否 。數(shù)據(jù)類型,0,符號(hào)常量,越界(2) C 語言中,數(shù)組在內(nèi)存中占一片 的存儲(chǔ)區(qū),由 代表它的首地址。數(shù)組名是一個(gè) 常量,

22、不能對(duì)它進(jìn)行賦值運(yùn)算。連續(xù),數(shù)組名,地址(3) 執(zhí)行 static int b5, a 3 =1,2,3,4,5,6; 后,b4 = ,a12 = 。 0,6(4) 設(shè)有定義語句 static int a34 =1,2,3; 則 a10值為 ,a11 值為 ,a21的值為 。 2,0,0(5) 如定義語句為 char a = windows,b = 95;,語句 printf(%s,strcat(a,b);的輸出結(jié)果為 。Windows95(6) 根據(jù)以下說明,寫出正確的說明語句:men是一個(gè)有10個(gè)整型元素的數(shù)組。step是一個(gè)有4個(gè)實(shí)型元素的數(shù)組,元素值分別為1.9, -2.33, 0,

23、20.6。grid是一個(gè)二維數(shù)組,共有4行,10列整型元素。 int mesh10; float step4 = 1.9, -2.33, 0, 20.6; int grid410;(7) array是一個(gè)一維整形數(shù)組,有10個(gè)元素,前6個(gè)元素的初值是9,4,7,49,32,-5,正確的說明語句為:。該數(shù)組下標(biāo)的取值范圍是從_到_(從小到大)。用scanf函數(shù)輸入數(shù)組的第二個(gè)元素表示為: 。用賦值語句把39存入第一個(gè)元素表示為: 。 把第六個(gè)和第四個(gè)元素之和存入第一個(gè)元素表示為: 。 intarray10=9,4,7,49,32,-5;9scanf(%d,&array1); array0 = 3

24、9; array0= array5+array3;(8) 寫出以下初始化數(shù)組的長(zhǎng)度:int chn3;數(shù)組chn的長(zhǎng)度為_。floatisa=1.0,2.0,3.0,4.0,5.0;數(shù)組isa的長(zhǎng)度為_。int doom8;數(shù)組doom的長(zhǎng)度為_。float pci42;數(shù)組pci的長(zhǎng)度為_。int ast33;數(shù)組ast的長(zhǎng)度為_。int att34;數(shù)組att的長(zhǎng)度為_。float dell3=1,4,7,2,5,3,6,9;數(shù)組dell的長(zhǎng)度為_。 6 20 16 32 18 24 36(9) 若有以下整型的a數(shù)組,數(shù)組元素和它們得值如下所示:數(shù)組元素: a0 a1 a2 a3 a4 a

25、5 a6 a7 a8 a9元素的值: 9 4 12 8 2 10 7 5 1 3請(qǐng)寫出對(duì)該數(shù)組的說明,并賦以上初值。 該數(shù)組的最小下標(biāo)值為_,最大下標(biāo)值為_。 寫出下面各式的值:aa9的值為_ ;aa4+a8的值為_。int a10=9,4,12,8,2,10,7,5,1,3; 0 9 8 8 (10) 字符串a(chǎn)bn012/的長(zhǎng)度為_。103. 判斷題( )(1) C允許對(duì)數(shù)組的大小作動(dòng)態(tài)定義,即可用變量定義數(shù)組的大小。( )(2) 字符數(shù)組不要求它的最后一個(gè)字符為0,甚至可以不包含0。( )(3) 數(shù)組定義 int a10; 也可以寫成 int a(10); 。( )(4) 在對(duì)全部數(shù)組元素

26、賦初值時(shí),可以不指定數(shù)組長(zhǎng)度。( )(5) 定義s為56(5行6列)的數(shù)組可寫成 float a5,6;( )(6) 數(shù)組定義 int a10; 表示數(shù)組名為a,此數(shù)組有10個(gè)元素。( )(7) 數(shù)組定義 int a10; 表示數(shù)組名為a,此數(shù)組有10個(gè)元素,第10個(gè)元素為a10。 ( )(8) static char c=“a book”; 與static char c=“a book”; 等價(jià)。( )(9) static char c=a , ,b,o,o,k,0;與 static char c=a , ,b,o,o,k; 等價(jià)。 ( )(10) 設(shè)已有說明:static char c11

27、0,c210; 下面程序片段是合法的。c1=“book”; c2=c1;4. 程序填空題(1) 輸入 20 個(gè)數(shù),輸出它們的平均值,輸出與平均值之差的絕對(duì)值為最小的數(shù)組元素。請(qǐng)?zhí)羁铡?#include void main( ) float a20,pjz=0,s,t; int i,k;for(i=0;i20;i+) pjz+=a;s=fabs(a0-pjz); for(i=1;i20;i+)if(fabs(a-pjz)s) s=fabs(a-pjz); t=a; - for(i=0;i20;i+)(2) 以下程序以每行 10個(gè)數(shù)據(jù)的形式輸出 a 數(shù)組,請(qǐng)?zhí)羁铡?void main( ) int

28、 a50,i;printf(輸入50個(gè)整數(shù):);for(i=0; i50; i+) scanf( %d, ); for(i=1; i=50; i+) if( )printf( %3dn , ) ; printf( %3d,a); &a i%10=0 a(3) 下面程序的功能是輸出數(shù)組 s 中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?void main( ) int k, p;int s =1,-9,7,2,-10,3; for(p=0,k=p; psk) ; printf(%dn ,k); k=p(4) 這個(gè)程序輸入了20個(gè)數(shù)存放在一個(gè)數(shù)組中,并且輸出其中最大者與最小者、20個(gè)數(shù)的和及它們的平均值。請(qǐng)?zhí)羁?。s

29、canf(“%f”,&a);pjz/=20;printf(“%f,%fn”,piz,t);void main() char array ;int max,min,average,sum; int i;for(i=0;i ;i+) printf(請(qǐng)輸入第%d個(gè)數(shù):,i+1); scanf(%d, ); max=array0; min=array0; for(i=0;i= ;i+) if(maxarray) sum= ; average = ;printf(20個(gè)數(shù)中最大值是%d,max); printf(最小值是%d,min); printf(和是%d,sum);printf(平均值是%d.n,

30、average); 20 20 &array 19max=array; min=array; sum+array sum/20 B卷5. 閱讀程序,分析程序的功能。 (1)#include #include void main( ) char s80;int i ;for(i=0; i80; i+) s=getchar( ); if(s=n) break; s=0; i=0; while(s) putchar(s); putchar(n); 從鍵盤輸入一個(gè)字符串,并逐一輸出 (2)#include #include void main( ) char str1080, c80; int i;f

31、or(i=0; i10; i+) gets(str); strcpy(c, str0) ;for(i=1; i10; i+) if(strlen(c) strlen(str) strcpy(c,str); printf( %sn, c); printf( %dn, strlen (c); 從鍵盤輸入若干字符串,找到其中最長(zhǎng)的一個(gè)輸出及它的長(zhǎng)度 (3)#include #include void main( ) char a1080, c80; int i, j, k;for(i=0; i10; i+) gets(a); for(i=0; i9; i+) k=i ;for(j=i+1; j10;

32、 j+) if(strcmp (a j, ak)0) k=j;if(k!=i )strcpy(c,a) ; strcpy(a, ak); strcpy(ak,c); / 字符串交換 for(i=0; i10; i+) puts (a); 從鍵盤輸入若干字符串,并將它們按大到小順序排(6) 閱讀下列程序,寫出程序運(yùn)行的輸出結(jié)果。 #include #include void main( ) 好再輸出(4) 閱讀程序,寫出運(yùn)行結(jié)果 #include void main( ) inta6=12,4,17,25,27,16,b6=27,13,4,25,23,16,i,j;for(i=0;i6;i+)

33、for(j=0;j6;j+) if(a=bj)break; if(j6) printf(%d ,a); printf(n); 4 25 27 16(5) 閱讀程序,寫出運(yùn)行結(jié)果。 #include void main( ) char a8,temp; int j,k;for(j=0;j7;j+) aj=a+j; a7=0; for(j=0;j0;k-) ak=ak-1; a0=temp; printf(%sn,a); gabcdef fgabcde efgabcdchar str1 =*; for(int i=0;i4;i+) printf(%sn,str1); str1= ;str1strl

34、en(str1)-1=0; * * * *(7) 該程序的運(yùn)行結(jié)果是: min= ,m= ,n= 。 void main() float array43= 3.4,-5.6,56.7, 56.8,999.,-.0123, 0.45,-5.77,123.5, 43.4,0,111.2 ; int i,j; int min; int m,n;min = array00; m=0;n=0; for(i=0;i3;i+) for(j=0;j arrayj) min = arrayj; m=i;n=j; printf(min=%d,m=%d,n=%dn,min,m,n); -5.77 2 1(8) 寫出

35、下面這個(gè)程序的輸出結(jié)果: void main() char str=ABCDEFGHIJKL; printf(%sn,str); 屏幕上顯示 printf(%sn,&str4); 屏幕上顯示 str2=str5;printf(%sn,str); 屏幕上顯示 str9=0;printf(%sn,str); 屏幕上顯示 ABCDEFGHIJKL EFGHIJKL ABFDEFGHIJKL ABFDEFGHI(9) 讀懂下面的程序并填空。 void main() char str80; int i=0; gets(str); while(str!=0) if(str=a&str=z) str-=32

36、; i+; puts(str); 程序運(yùn)行時(shí)如果輸入 upcase, 屏幕顯示 程序運(yùn)行時(shí)如果輸入 Aa1Bb2Cc3, 屏幕顯示 UPCASE AA1BB2CC 第8章 函數(shù)習(xí)題 A卷1. 單項(xiàng)選擇題(1)C 語言總是從 函數(shù)開始執(zhí)行。 AA. main B. 處于最前的 C.處于最后的 D. 隨機(jī)選一個(gè)(2)函數(shù)在定義時(shí),省略函數(shù)類型說明符,則該函數(shù)值的類型為 。AA. int B. float C. long D. double (2)以下 函數(shù),真正地沒有返回值。 BA. int a()int a=2;return (a); B. void b()printf(c);C. int a(

37、)int a=2;return a; D. 以上都是 (3)在 C 語言中,有關(guān)函數(shù)的說法,以下正確的是 。 AA. 函數(shù)可嵌套定義,也可嵌套調(diào)用 B. 函數(shù)可嵌套定義,但不可嵌套調(diào)用C. 函數(shù)不可嵌套定義,但可嵌套調(diào)用 D. 函數(shù)不可嵌套定義,也不可嵌套調(diào)用(4)以下函數(shù)調(diào)用語句中,含有實(shí)參的個(gè)數(shù)為 。C fun(2,3),(4,5+6,7); A. 1 B. 2 C. 5 D. 6 (5)函數(shù)調(diào)用可以在 。 DA. 函數(shù)表達(dá)式中 B. 函數(shù)語句中 C. 函數(shù)參數(shù)中 D. 以上都是(6)被調(diào)函數(shù)返回給主調(diào)函數(shù)的值稱為 。C A. 形參 B. 實(shí)參 C. 返回值 D. 參數(shù) (7) ,可以不進(jìn)

38、行函數(shù)類型說明。 DA. 被調(diào)函數(shù)的返回值是整型或字符型時(shí) B. 被調(diào)函數(shù)的定義在主調(diào)函數(shù)定義之前時(shí)C. 在所有函數(shù)定義前,已在函數(shù)外預(yù)先說明了被調(diào)函數(shù)類型 D. 以上都是(8)被調(diào)函數(shù)通過 語句,將值返回給主調(diào)函數(shù)。 D A. if B. for C. while D. return (9)被調(diào)函數(shù)調(diào)用結(jié)束后,返回到 。 D A.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句處 B.主函數(shù)中該被調(diào)函數(shù)調(diào)用語句處C.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的前一語句 D.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的后一語句 (10)以下對(duì) C語言函數(shù)的有關(guān)描述中,正確的是 。AA. 在 C 中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參

39、的值不能傳送給實(shí)參 B. C函數(shù)既可以嵌套定義又可遞歸調(diào)用 C. 函數(shù)必須有返回值,否則不能使用函數(shù) D. C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中(11)C 語言中函數(shù)的隱含存儲(chǔ)類型是 。 C A. auto B. static C. extern D. 無存儲(chǔ)類型 (12)能把函數(shù)處理結(jié)果的兩個(gè)數(shù)據(jù)返回給主調(diào)函數(shù),在下面的方法中不正確的是 。AA. return 這兩個(gè)數(shù) B. 形參用兩個(gè)元素的數(shù)組 C. 形參用兩個(gè)這種數(shù)據(jù)類型的指針 D. 用兩個(gè)全局變量(13)C語言可執(zhí)行程序從什么地方開始執(zhí)行 ( )。 C A. 程序中第一條可執(zhí)行語句 B. 程序中第一個(gè)函數(shù)C. 程序中

40、的main函數(shù) D. 包含文件中的第一個(gè)函數(shù)(14)有一個(gè)函數(shù)原型如下所示,則該函數(shù)的返回類型為( ) 。 C abc(float x,float y);A. void B. double C. int D. float2. 填空題(1) 變量的作用域主要取決于變量 ,變量的生存期既取決于變量 ,又取決于變量 。 所處的位置,所處的位置,存儲(chǔ)類型(2) 說明變量時(shí),若省略存儲(chǔ)類型符,系統(tǒng)默認(rèn)其為 存儲(chǔ)類別,該存儲(chǔ)類別的類型符為: 。動(dòng)態(tài),auto(3) 靜態(tài)型局部變量的作用域是 ,生存期是 。它所在的局部,整個(gè)程序(4) 函數(shù)中的形參和調(diào)用時(shí)的實(shí)參都是數(shù)組名時(shí),傳遞方式為 ,都是變量時(shí),傳遞方

41、式為 。 址傳遞,值傳遞(5) 函數(shù)的形式參數(shù)的作用域?yàn)?,全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名時(shí), _變量?jī)?yōu)先。 該函數(shù)中,局部(6) 若自定義函數(shù)要求返回一個(gè)值,則應(yīng)在該函數(shù)體中有一條 語句,若自定義函數(shù)要求不返回一個(gè)值,則應(yīng)在該函數(shù)說明時(shí)加一個(gè)類型說明符 。 return,void(7) 若函數(shù)的形式參數(shù)是指針類型,則實(shí)參可以是 或 。指針,數(shù)組名(8) 函數(shù)的參數(shù)為 char *類型時(shí),形參與實(shí)參結(jié)合的傳遞方式為 。址傳遞(9) 函數(shù)的實(shí)參為常量時(shí),形參與實(shí)參結(jié)合的傳遞方式為 。值傳遞(10) 下面這個(gè)函數(shù)的功能是求兩個(gè)整數(shù)的積,并通過形參傳回結(jié)果,請(qǐng)?zhí)羁?。int int int

42、* *result void mul(_x,_y,_result) _=x*y; 3. 判斷題( )(1) 函數(shù)說明指的是在程序中設(shè)定一個(gè)函數(shù)模塊。( )(2) 形參只有在被調(diào)用時(shí)才分配存儲(chǔ)空間。 ( )(3) 在C的函數(shù)中,最好使用全局變量。 ( )(4) 在調(diào)用函數(shù)時(shí),實(shí)參傳值給形參,調(diào)用結(jié)束時(shí),形參值傳給實(shí)參。( )(5) 所有函數(shù)定義都是并行的,相互獨(dú)立的。( )(6) 函數(shù)的隱含存儲(chǔ)類型是extern。 ( )(7) 形參可以是常量、變量或表達(dá)式。 ( )(8) 函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參。 ( )(9) C語言規(guī)定,實(shí)參應(yīng)與其對(duì)應(yīng)的形參類型一致。( )(10) 定義函數(shù)時(shí),形參

43、的類型說明可以放在函數(shù)體內(nèi)。4. 程序填空題(1) 對(duì)數(shù)組按值從大到小的順序排序后輸出,請(qǐng)?zhí)羁铡?include void main() float a7=2,6,3,8,3,12,9; int i ;void sort(float*,int); ;for(i=0;i7;i+) printf(%f ,a); printf(n); void sort( ) int i,j,k; float t; for(i=0;in-1;i+) k=i;for(j=i+1;jn;j+) if( ) k=j; t=*(p+i); *(p+i)=*(p+k); *(p+k)=t; sort(a,7) float*

44、p,int n *(p+k)*(p+j) if(k!=i)(2) 下列函數(shù)在 n 個(gè)元素的一維數(shù)組中,找出最大-1(2)鍵盤輸入 abcdef #include void fun( ) 值、最小值并傳送到調(diào)用函數(shù),請(qǐng)?zhí)羁铡?#include void find(float *p, int max, int min, int n) int k;*max=*p; for(k=1;kn;k+) t=*(p+k); if( ) *max=t; if(t*min) *min=t; float t; *min=*p; *maxb) f=1; else if(a=b) f=0; else f=-1; ret

45、urn f; char c ;if(c=getchar( )!=n) fun( ) ; putchar(c); void main( ) fun( ); fedcba (3)#include #define C 5 int x=1,y=C; void main( ) int x;x=y+; printf(%d %dn, x,y);if(x4) int x ; x=+y; printf(%d %dn,x,y) ; x+=y-;printf(%d %dn,x,y); 5 6 7 7 12 6 (4)#include int c , a=4 ; func(int a , int b) c=a*b ;

46、 a=b-1 ; b+ ; return (a+b+1) ; void main( ) int b=2 , p=0 ; c=1 ; p=func(b , a) ;printf(%d,%d,%d,%dn, a,b,c,p) ; 4,2,8,9 (5)unsigned fun6(unsigned num) unsigned k=1;do k*=num%10; num/=10; while(num); return k; void main( ) unsigned n=26; printf(%dn, fun6(n); 12 (6)#include int max(int a,int b); main() int x,y,z,t,m;scanf(%d,%d,%d,&x,&y,&z); t=max(x,y); m=max(t,z); printf(%d,m); int max(int a,int b) if(ab) return(a); else return(b); 運(yùn)行時(shí)若輸入:10,15,9 則輸出:_ 15 運(yùn)行時(shí)若輸入:300

溫馨提示

  • 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)論