版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、選擇題:1、一個C程序的執(zhí)行是從( A )。A本程序的main函數(shù)開始,到main函數(shù)結束B本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結束 C本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結束D本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結束2、 在 C 語言中,每個語句必須以( D )結束。A. 回車符 B. 冒號 C. 逗號 D. 分號3、C 語言規(guī)定:在一個源程序中,main函數(shù)的位置( C )。A. 必須在最開始 B. 必須在系統(tǒng)調用的庫函數(shù)的后面C. 可以任意 D. 必須在最后4、一個C 語言程序是由( B )。A. 一個主程序和若干子程序組成 B. 函數(shù)組
2、成C. 若干過程組成 D. 若干子程序組成5、下列說法中錯誤的是( D )。A. 主函數(shù)可以分為兩個部分:主函數(shù)說明部分和主函數(shù)體B. 主函數(shù)可以調用任何非主函數(shù)的其他函數(shù)C. 任何非主函數(shù)可以調用其他任何非主函數(shù)D. 程序可以從任何非主函數(shù)開始執(zhí)行6、用 C 語言編寫的源文件經過編譯,若沒有產生編譯錯誤,則系統(tǒng)將( C )A. 生成可執(zhí)行目標文件 B. 生成目標文件 。C. 輸出運行結果 D. 自動保存源文件二、填空題:1、C 語言只有 32 個關鍵字和 9 種控制語句。2、每個源程序有且只有一個 main 函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。3、C 語言程序的注釋可以出現(xiàn)在程序中的任
3、何地方,它總是以 * 符號作為開始標記,以 */ 符號作為結束標記。4、C 語言中,輸入操作是由庫函數(shù) scanf 完成的,輸出操作是由庫函 數(shù) printf 完成的。5、系統(tǒng)默認的C 語言源程序文件的擴展名是 .c ,經過編譯后生成的目標文件的擴展名是 .obj ,經過連接后生成的可執(zhí)行文件的擴展名是 .exe 。6、C 語言的標識符只能由字母、數(shù)字和 下劃線 三種字符組成。第三章數(shù)據類型、運算符和表達式一、選擇題:1、以下選項中,不正確的 C 語言浮點型常量是( C )。A. 160. B. 0.12 C. 2e4.2 D. 0.02、以下選項中,( D )是不正確的 C 語言字符型常量。
4、A. 'a' B. 'x41' C. '101' D. "a"3、 在 C 語言中,字符型數(shù)據在計算機內存中,以字符的( C )形式存儲。A. 原碼 B. 反碼 C. ASCII 碼 D. BCD碼4、若x、i、j和k都是int型變量,則計算下面表達式后,x的值是( C )。 x=(i=4,j=16,k=32)A. 4 B. 16 C.32 D.525、算術運算符、賦值運算符和關系運算符的運算優(yōu)先級按從高到低依次為( B )。A. 算術運算、賦值運算、關系運算 B. 算術運算、關系運算、賦值運算C. 關系運算、賦值運算、算術運
5、算 D. 關系運算、算術運算、賦值運算6、若有代數(shù)式 ,則不正確的C語言表達式是( 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、表達式!x|a=b 等效于( D )。A. !(x|a)=b) B. !(x|y)=b C. !(x|(a=b) D. (!x)|(a=b)8、設整型變量 m,n,a,b,c,d 均為1,執(zhí)行 (m=a>b)&&(n=c>d)后, m,n 的值是( A)。A. 0,0 B. 0,1 C. 1,0 D. 1,19、 設有語句 int a=3;,則執(zhí)行了語句 a+=a-=a*=a
6、;后,變量 a 的值是( B )。A. 3 B. 0 C. 9 D. -1210、在以下一組運算符中,優(yōu)先級最低的運算符是( D )。A. * B. != C. + D. =11、設整型變量 i 值為2,表達式(+i)+(+i)+(+i)的結果是( B )。A. 6 B. 12 C. 15 D. 表達式出錯12、若已定義 x 和 y為double 類型,則表達式 x=1,y=x+3/2 的值是( C )。A. 1 B. 2 C. 2.0 D. 2.513、sizeof (double)的結果值是( A )。A. 8 B. 4 C. 2 D. 出錯14、設a=1,b=2,c=3,d=4,則表達式
7、:a<b? a : c<d? a : d的結果為( D )。A. 4 B. 3 C. 2 D. 115、設a 為整型變量,不能正確表達數(shù)學關系:10<a<15的 C 語言表達式是( A )。A. 10<a<15 B. a= =11| a= =12 | a= =13 | a= =14C. a>10 && a<15 D. !(a<=10) && !(a>=15)16、設 f是實型變量,下列表達式中不是逗號表達式的是( D )。A. f= 3.2, 1.0 B. f>0, f<10 C. f=2.
8、0, f>0 D. f=(3.2, 1.0)17、 表達式18/4*sqrt(4.0)/8值的數(shù)據類型是( C )。A. int B. float C. double D. 不確定18、已知字母A的ASCII碼為十進制數(shù)65,且c2為字符型,則執(zhí)行語句 C2=A+6-3;后c2中的值是( A )。A. D B. 68 C. 不確定的值 D. C19、以下用戶標識符中,合法的是( B )。A. int B. nit C. 123 D. a+b20、C 語言中,要求運算對象只能為整數(shù)的運算符是( A )。A. % B. / C. > D. *21、若有說明語句:char c='
9、72';則變量c在內存占用的字節(jié)數(shù)是( A )。A. 1 B. 2 C. 3 D. 422、字符串"ABC"在內存占用的字節(jié)數(shù)是( B )。A. 3 B. 4 C. 6 D. 823、要為字符型變量 a賦初值,下列語句中哪一個是正確的( B )。A. char a="3" B. char a=3; C. char a=%; D. char a=*;24、下列不正確的轉義字符是( C )。A. B. ' C. 074 D. 0二、填空題:1、C 語言中的邏輯值“真”是用 1 表示的,邏輯值“假”是用 0 表示的。2、若x和n都是int型變量
10、,且x的初值為12,n的初值為5,則計算表達式x%=(n%=2)后x的值為 0 。3、設 c='w',a=1,b=2,d=-5, 則表達式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b=a=2的值分別為 1 、 0 、 1 、 1 。4、設 float x=2.5,y=4.7; int a=7;,表達式 x+a%3*(int)(x+y)%2/4的值為 2.5 。5、判斷變量 a、b 的值均不為 0 的邏輯表達式為a!=0&&b!=0 。6、求解賦值表達式 a=(b=10)%(c=6),表達式值、a
11、、b、c 的值依次為 4,4,10,6 。7、求解逗號表達式 x=a=3,6*a 后,表達式值、x、a 的值依次為18,3,38、數(shù)學式a/(b*c)的 C 語言表達式 a/b/c 。三、編程題:1、 設長方形的高為 1.5,寬為 2.3,編程求該長方形的周長和面積。2、 編寫一個程序,將大寫字母 A轉換為小寫字母 a。1main()float x=1.5,y=2.3;printf(“area is %6.2fn”,x*y);2.main()char c=A;printf(“%d”,c+32);順序結構答案一、單項選擇題 。AADAB CCBBD二、 程序改錯題1正確的程序為# include
12、 "stdio.h"main( ) char c ;getchar(c);putchar('007') ; /*鳴笛*/ putchar( );2 正確的程序為main( ) int a,b,s,l;scanf("%d,%d",&a,&b); s=a*b; l=2*(a+b);printf("l=%d,s=%dn", l ,s); 三、寫出程序運行結果1 682. x=4y=11四、編程題1. main( ) int a,b,c,sum;float ave;scanf(“%d%d%d”,&a,&
13、amp;b,&c);sum=a+b+c; ave=sum/3.0;printf(“sum=%d,ave=%.2fn”,sum,ave); 五、選做題1.void main( ) float a,b,temp;printf("input a and b:");scanf("%d,%d",&a ,&b);temp = a; a = b; b = temp;printf("a=%d , b=%dn", a , b); 選擇結構答案一、單項選擇題1.B 2.A 3.D 4.C 5.D 6.B 7.C二、填空題1. 5
14、5 45 5 43 3 42. 4 03. VeryGood GoodVeryGoodFailPassPass三、 閱讀程序,寫出運行結果1. 10, 4, 3;-1361四、程序設計題1. main( ) int a,b,x,y;scanf(“%d %d”,&a,&b); x=a*a+b*b;if(x>100)y=x/100; printf(“%d”,y); else printf(“%d”,a+b);2. if結構main() float t;char c;printf(“input score,max as 100:n”); scanf(“%f”,&t);i
15、f(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結構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;bre
16、ak; case 5: ch=E;printf(“Grade=%dn”,ch); 五、選做題1. main() int a,b,c,t;scanf(“%d%d%d”,&a,&b,&c); if(a<b)t=a;a=b;b=t; if(a<c)t=a;a=c;c=t; if(b<c)t=b;b=c;c=t;printf(“%d,%d,%dn”,a,b,c); 2. switch(s>0)&&(s<=10)case 1: switch (s>=3)&&(s<=6) case 1: x=2; break
17、;case 0: switch (s>1)|(s>8) case 1: x=3; break;case 0: x=1; break; break;case 0: x=0; break;循環(huán)結構答案一、選擇題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=getchar() ch>=A&&ch<=Z3. s=s+t*i t=-t三、閱讀下列程序,寫出程序運行的輸出結果18522. 89213. 54. SUM=2468四、程序改錯1.main() int i=200,n=0; /*
18、n用來記錄每行已打印數(shù)的個數(shù)*/ while(i<=300)if(i%7=0) /break;printf("%5d",i); n=n+1;if(n=5) /*滿5個換行*/ 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);五、程序設計題1. main()int x,g,s,b;for(x=100;x<1000;x+) b=x/100;s=x%100/10;g=x%10
19、; 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;i<80;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”,s);2.#include <stdio.h>main( ) int i,j,k,s=1;for(i=1;i<=20;
20、i+)for(j=1;j<=50;j+) k=100-i*5-j*2;if(k>=0) printf(“%2d %2d %2d”,i,j,k);s=s+1;if(s%5=0) printf(“n”);第7章 數(shù)組習題A卷1. 單項選擇題(1) int a4=5,3,8,9;其中 a3的值為( )。DA. 5 B. 3 C. 8 D. 9(2) 以下 4 個字符串函數(shù)中,( )所在的頭文件與其他 3 個不同。AA. gets B. strcpy C. strlen D. strcmp(3) 以下 4 個數(shù)組定義中,( )是錯誤的。 DA. int a7; B. #define N 5
21、 long bN; C. char c5; D. int n,dn;(4) 對字符數(shù)組進行初始化,( )形式是錯誤。 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 個元素的首地址 B.數(shù)組第 2 個元素的首地址C. 數(shù)組所有元素的首地址 D.數(shù)組最后 1 個元素的首地址
22、(6) 若有以下數(shù)組說明,則數(shù)值最小的和最大的元素下標分別是( )。 B int a12 =1,2,3,4,5,6,7,8,9,10,11,12;A. 1,12 B. 0,11 C. 1,11 D. 0,12(7) 若有以下說明,則數(shù)值為 4 的表達式是( )。 Dint a12 =1,2,3,4,5,6,7,8,9,10,11,12; char c=a, d, g ;A. ag-c B. a4 C. a'd'-'c' D. a'd'-c(8) 設有定義:char s12 = "string" ; 則printf( "
23、;%dn",strlen(s); 的輸出是( )。 AA. 6 B. 7 C. 11 D. 12(9) 設有定義:char s12 = "string" 則printf("%dn ", sizeof(s); 的輸出是( )。 DA. 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) 合法的
24、數(shù)組定義是( )。 DA. int a3 =0,1,2,3,4,5; B. int a 3 =0,1,2,3,4;C. int a23=0,1,2,3,4,5,6; D. int a23=0,1,2,3,4,5,;(12) 下列語句中,正確的是 ( )。DA. char a3 ='abc', '1' B. char a 3 ='abc', '1'C. char a3 ='a', "1" D. char a 3 = "a", "1"(13) 下列定義的字符數(shù)
25、組中,輸出 printf("%sn", str2) ;的輸出是( )。 Cstatic str320 = "basic", "foxpro", "windows"A. basic B. foxpro C. windows D. 輸出語句出錯(14) 下列各語句定義了數(shù)組,其中哪一個是不正確的( )。 CA. char a310="China","American","Asia" B. intx22=1,2,3,4;C. float x2 =1,2,4,6,
26、8,10; D. int m3=1,2,3,4,5,6;(15) 數(shù)組定義為 int a32=1,2,3,4,5,6,值為6的數(shù)組元素是( )。 BA. a32 B. a21 C. a12 D. a23(16) 下面的程序中哪一行有錯誤( )。D#include <stdio.h>main()float array5=0.0; /第A行int i;for(i=0;i<5;i+)scanf("%f",&arrayi);for(i=1;i<5;i+)array0=array0+arrayi;/第B行printf("%fn",a
27、rray0); /第C行A. 第A行 B. 第B行 C. 第C行 D. 沒有(17) 下面哪一項是不正確的字符串賦值或賦初值的方式( )。 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) 若有以下說明和語句
28、,則輸出結果是哪一項( )。C(strlen(s)為求字符串s的長度的函數(shù))char s12="a book!"printf("%d",strlen(s);A. 12 B. 8 C. 7 D. 11(19) 若有以下說明和語句,則輸出結果是( )。B(strlen(s)為求字符串s的長度的函數(shù))char sp="tv0willn"printf("%d",strlen(sp);A. 14 B. 3 C. 9 D. 字符串中有非法字符(20) 若有以下說明和語句,則輸出結果是( )。 Cchar str="&
29、quot;c:abc.dat""printf("%s",str);A. 字符串中有非法字符 B. "c:abc.dat" C. "c:abc.dat" D. "c:abc.dat"2. 填空題(1) C 語言中,數(shù)組的各元素必須具有相同的 ,元素的下標下限為 ,下標必須是正整數(shù)、0、或者 。但在程序執(zhí)行過程中,不檢查元素下標是否 。數(shù)據類型,0,符號常量,越界(2) C 語言中,數(shù)組在內存中占一片 的存儲區(qū),由 代表它的首地址。數(shù)組名是一個 常量,不能對它進行賦值運算。連續(xù),數(shù)組名,地址(3)
30、執(zhí)行 static int b5, a 3 =1,2,3,4,5,6; 后,b4 = ,a12 = 。 0,6(4) 設有定義語句 static int a34 =1,2,3; 則 a10值為 ,a11 值為 ,a21的值為 。 2,0,0(5) 如定義語句為 char a = "windows",b = "95",語句printf("%s",strcat(a,b);的輸出結果為 。Windows95(6) 根據以下說明,寫出正確的說明語句:men是一個有10個整型元素的數(shù)組。step是一個有4個實型元素的數(shù)組,元素值分別為1.9,
31、-2.33, 0,20.6。grid是一個二維數(shù)組,共有4行,10列整型元素。 int mesh10; float step4 = 1.9, -2.33, 0, 20.6; int grid410;(7) array是一個一維整形數(shù)組,有10個元素,前6個元素的初值是9,4,7,49,32,-5,正確的說明語句為:。該數(shù)組下標的取值范圍是從_到_(從小到大)。用scanf函數(shù)輸入數(shù)組的第二個元素表示為: 。用賦值語句把39存入第一個元素表示為: 。把第六個和第四個元素之和存入第一個元素表示為: 。int array10 =9,4,7,49,32,-5; 0 9 scanf("%d&q
32、uot;,&array1); array0 =39; array0= array5+array3;(8) 寫出以下初始化數(shù)組的長度:int chn3;數(shù)組chn的長度為_。float isa=1.0,2.0,3.0,4.0,5.0;數(shù)組isa的長度為_。int doom8;數(shù)組doom的長度為_。float pci42;數(shù)組pci的長度為_。int ast33;數(shù)組ast的長度為_。int att34;數(shù)組att的長度為_。float dell3=1,4,7,2,5,3,6,9;數(shù)組dell的長度為_。 6 20 16 32 18 24 36(9) 若有以下整型的a數(shù)組,數(shù)組元素和它們
33、得值如下所示:數(shù)組元素: a0a1 a2 a3 a4 a5 a6 a7 a8 a9元素的值: 9 4 12 8 2 10 7 5 1 3請寫出對該數(shù)組的說明,并賦以上初值。 該數(shù)組的最小下標值為_,最大下標值為_。寫出下面各式的值:aa9的值為_ ;aa4+a8的值為_。 int a10=9,4,12,8,2,10,7,5,1,3; 0 9 8 8(10) 字符串"abn012/""的長度為_。103. 判斷題( × )(1) C允許對數(shù)組的大小作動態(tài)定義,即可用變量定義數(shù)組的大小。 ( × )(2) 字符數(shù)組不要求它的最后一個字符為0,甚至可
34、以不包含0。 ( × )(3) 數(shù)組定義 int a10; 也可以寫成 int a(10); 。( )(4) 在對全部數(shù)組元素賦初值時,可以不指定數(shù)組長度。( × )(5) 定義s為5×6(5行6列)的數(shù)組可寫成 float a5,6;( )(6) 數(shù)組定義 int a10; 表示數(shù)組名為a,此數(shù)組有10個元素。( × )(7) 數(shù)組定義 int a10; 表示數(shù)組名為a,此數(shù)組有10個元素,第10個元素為a10。( )(8) static char c=“a book”; 與static char c=“a book”; 等價。( × )(9
35、) static char c='a' ,' ','b','o','o','k','0'與 static char c='a' ,' ' ,'b','o','o','k' 等價。( × )(10) 設已有說明:static char c110,c210; 下面程序片段是合法的。c1=“book”; c2=c1;4. 程序填空題(1) 輸入 20 個數(shù),輸出它們的平均值,輸出與平均
36、值之差的絕對值為最小的數(shù)組元素。請?zhí)羁铡?include <stdio.h>void main( )float a20,pjz=0,s,t; int i,k;for(i=0;i<20;i+) pjz+=ai;s=fabs(a0-pjz);for(i=1;i<20;i+)if(fabs(ai-pjz)<s)s=fabs(ai-pjz); t=ai;-for(i=0;i<20;i+) scanf(“%f”,&ai); pjz/=20; printf(“%f,%fn”,piz,t);(2) 以下程序以每行 10個數(shù)據的形式輸出 a 數(shù)組,請?zhí)羁?。void
37、main( )int a50,i;printf("輸入50個整數(shù):");for(i=0; i<50; i+) scanf( "%d", );for(i=1; i<=50; i+) if( )printf( "%3dn" , ) ;printf( "%3d",ai-1);&ai i%10=0 ai-1(3) 下面程序的功能是輸出數(shù)組 s 中最大元素的下標,請?zhí)羁?。void main( )int k, p;int s =1,-9,7,2,-10,3;for(p=0,k=p; p<6; p+)i
38、f(sp>sk) ;printf("%dn" ,k);k=p(4) 這個程序輸入了20個數(shù)存放在一個數(shù)組中,并且輸出其中最大者與最小者、20個數(shù)的和及它們的平均值。請?zhí)羁铡oid main()char array ;int max,min,average,sum;int i;for(i=0;i< ;i+)printf("請輸入第%d個數(shù):",i+1);scanf("%d", );max=array0;min=array0;for(i=0;i<= ;i+)if(max<arrayi)if(min>arra
39、yi)sum= ;average = ;printf("20個數(shù)中最大值是%d,",max); printf("最小值是%d,",min); printf("和是%d,",sum);printf("平均值是%d.n",average); 2020&arrayi19max=arrayi;min=arrayi;sum+arrayisum/20B卷5. 閱讀程序,分析程序的功能。(1)#include <stdio.h>#include <string.h>void main( )char
40、 s80;int i ;for(i=0; i<80; i+)si=getchar( );if(si='n') break; si='0' i=0;while(si) putchar(si+); putchar(n);從鍵盤輸入一個字符串,并逐一輸出(2)#include <stdio.h>#include <string.h>void main( )char str1080, c80;int i;for(i=0; i<10; i+) gets(stri);strcpy(c, str0) ;for(i=1; i<10; i
41、+) if(strlen(c) <strlen(stri) strcpy(c,stri); printf( "%sn", c);printf( "%dn", strlen (c);從鍵盤輸入若干字符串,找到其中最長的一個輸出及它的長度(3)#include <stdio.h>#include <string.h>void main( )char a1080, c80;int i, j, k;for(i=0; i<10; i+) gets(ai);for(i=0; i<9; i+)k=i ;for(j=i+1; j
42、<10; j+)if(strcmp (a j, ak)<0) k=j;if(k!=i )strcpy(c,ai) ; strcpy(ai, ak); strcpy(ak,c); / 字符串交換for(i=0; i<10; i+) puts (ai);從鍵盤輸入若干字符串,并將它們按大到小順序排好再輸出(4) 閱讀程序,寫出運行結果#include <stdio.h>void main( )int a6=12,4,17,25,27,16,b6=27,13,4,25,23,16,i,j; for(i=0;i<6;i+)for(j=0;j<6;j+) if(
43、ai=bj)break;if(j<6) printf("%d ",ai);printf("n");4 25 27 16(5) 閱讀程序,寫出運行結果。#include <stdio.h>void main( )char a8,temp; int j,k; for(j=0;j<7;j+) aj='a'+j; a7='0' for(j=0;j<3;j+)temp=a6;for(k=6;k>0;k-) ak=ak-1; a0=temp;printf("%sn",a);gab
44、cdeffgabcdeefgabcd(6) 閱讀下列程序,寫出程序運行的輸出結果。 #include <stdio.h>#include <string.h>void main( )char str1 ="*"for(int i=0;i<4;i+)printf("%sn",str1);str1i=' 'str1strlen(str1)-1='0'*(7) 該程序的運行結果是: min= ,m= ,n= void main()float array43=3.4,-5.6,56.7,56.8,99
45、9.,-.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;i<3;i+)for(j=0;j<4;j+)if(min > arrayij)min = arrayij;m=i;n=j;printf("min=%d,m=%d,n=%dn",min,m,n);-5.77 2 1(8) 寫出下面這個程序的輸出結果:void main()char str="ABCDEFGHIJKL"printf("%sn&
46、quot;,str); 屏幕上顯示 printf("%sn",&str4); 屏幕上顯示 str2=str5;printf("%sn",str); 屏幕上顯示 str9='0'printf("%sn",str); 屏幕上顯示 ABCDEFGHIJKLEFGHIJKLABFDEFGHIJKLABFDEFGHI(9) 讀懂下面的程序并填空。void main()char str80;int i=0;gets(str);while(stri!=0)if(stri>='a'&&st
47、r<='z')stri-=32;i+;puts(str);程序運行時如果輸入 upcase, 屏幕顯示 程序運行時如果輸入 Aa1Bb2Cc3, 屏幕顯示 UPCASEAA1BB2CC第8章 函數(shù)習題A卷1. 單項選擇題(1)C 語言總是從 函數(shù)開始執(zhí)行。 AA. main B. 處于最前的 C.處于最后的 D. 隨機選一個(2)函數(shù)在定義時,省略函數(shù)類型說明符,則該函數(shù)值的類型為 。AA. int B. float C. long D. double(2)以下 函數(shù),真正地沒有返回值。 BA. int a()int a=2;return (a); B. void b()
48、printf("c");C. int a()int a=2;return a; D. 以上都是(3)在 C 語言中,有關函數(shù)的說法,以下正確的是 。 AA. 函數(shù)可嵌套定義,也可嵌套調用 B. 函數(shù)可嵌套定義,但不可嵌套調用C. 函數(shù)不可嵌套定義,但可嵌套調用 D. 函數(shù)不可嵌套定義,也不可嵌套調用(4)以下函數(shù)調用語句中,含有實參的個數(shù)為 。Cfun(2,3),(4,5+6,7);A. 1 B. 2 C. 5 D. 6(5)函數(shù)調用可以在 。 DA. 函數(shù)表達式中 B. 函數(shù)語句中 C. 函數(shù)參數(shù)中 D. 以上都是(6)被調函數(shù)返回給主調函數(shù)的值稱為 。CA. 形參 B.
49、 實參 C. 返回值 D. 參數(shù)(7) ,可以不進行函數(shù)類型說明。 DA. 被調函數(shù)的返回值是整型或字符型時 B. 被調函數(shù)的定義在主調函數(shù)定義之前時C. 在所有函數(shù)定義前,已在函數(shù)外預先說明了被調函數(shù)類型 D. 以上都是(8)被調函數(shù)通過 語句,將值返回給主調函數(shù)。 DA. if B. for C. while D. return(9)被調函數(shù)調用結束后,返回到 。 DA.主調函數(shù)中該被調函數(shù)調用語句處B.主函數(shù)中該被調函數(shù)調用語句處C.主調函數(shù)中該被調函數(shù)調用語句的前一語句D.主調函數(shù)中該被調函數(shù)調用語句的后一語句(10)以下對 C語言函數(shù)的有關描述中,正確的是 。AA. 在 C 中,調用
50、函數(shù)時,只能把實參的值傳送給形參,形參的值不能傳送給實參B. C函數(shù)既可以嵌套定義又可遞歸調用C. 函數(shù)必須有返回值,否則不能使用函數(shù)D. C程序中有調用關系的所有函數(shù)必須放在同一個源程序文件中(11)C 語言中函數(shù)的隱含存儲類型是 。 CA. auto B. static C. extern D. 無存儲類型(12)能把函數(shù)處理結果的兩個數(shù)據返回給主調函數(shù),在下面的方法中不正確的是 。AA. return 這兩個數(shù) B. 形參用兩個元素的數(shù)組C. 形參用兩個這種數(shù)據類型的指針 D. 用兩個全局變量(13)C語言可執(zhí)行程序從什么地方開始執(zhí)行 ( )。 CA. 程序中第一條可執(zhí)行語句 B. 程序
51、中第一個函數(shù)C. 程序中的main函數(shù) D. 包含文件中的第一個函數(shù)(14)有一個函數(shù)原型如下所示,則該函數(shù)的返回類型為( ) 。 C abc(float x,float y);A. void B. double C. int D. float2. 填空題(1) 變量的作用域主要取決于變量 ,變量的生存期既取決于變量 ,又取決于變量 。 所處的位置,所處的位置,存儲類型(2) 說明變量時,若省略存儲類型符,系統(tǒng)默認其為 存儲類別,該存儲類別的類型符為: 。動態(tài),auto(3) 靜態(tài)型局部變量的作用域是 ,生存期是 。它所在的局部,整個程序(4) 函數(shù)中的形參和調用時的實參都是數(shù)組名時,傳遞方式
52、為 ,都是變量時,傳遞方式為 。 址傳遞,值傳遞(5) 函數(shù)的形式參數(shù)的作用域為 ,全局的外部變量和函數(shù)體內定義的局部變量重名時, _變量優(yōu)先。 該函數(shù)中,局部(6) 若自定義函數(shù)要求返回一個值,則應在該函數(shù)體中有一條 語句,若自定義函數(shù)要求不返回一個值,則應在該函數(shù)說明時加一個類型說明符 。 return,void(7) 若函數(shù)的形式參數(shù)是指針類型,則實參可以是 或 。指針,數(shù)組名(8) 函數(shù)的參數(shù)為 char *類型時,形參與實參結合的傳遞方式為 。址傳遞(9) 函數(shù)的實參為常量時,形參與實參結合的傳遞方式為 。值傳遞(10) 下面這個函數(shù)的功能是求兩個整數(shù)的積,并通過形參傳回結果,請?zhí)羁?/p>
53、。int int int* *resultvoid mul(_x,_y,_result)_=x*y;3. 判斷題( × )(1) 函數(shù)說明指的是在程序中設定一個函數(shù)模塊。( )(2) 形參只有在被調用時才分配存儲空間。( × )(3) 在C的函數(shù)中,最好使用全局變量。( × )(4) 在調用函數(shù)時,實參傳值給形參,調用結束時,形參值傳給實參。 ( )(5) 所有函數(shù)定義都是并行的,相互獨立的。( × )(6) 函數(shù)的隱含存儲類型是extern。( × )(7) 形參可以是常量、變量或表達式。( × )(8) 函數(shù)調用可以作為一個函數(shù)的
54、形參。( )(9) C語言規(guī)定,實參應與其對應的形參類型一致。( × )(10) 定義函數(shù)時,形參的類型說明可以放在函數(shù)體內。4. 程序填空題(1) 對數(shù)組按值從大到小的順序排序后輸出,請?zhí)羁铡?include <stdio.h>void main()float a7=2,6,3,8,3,12,9;int i ;void sort(float*,int);for(i=0;i<7;i+) printf("%f ",ai);printf("n");void sort( )int i,j,k; float t;for(i=0;i&l
55、t;n-1;i+)k=i;for(j=i+1;j<n;j+)if( ) k=j; t=*(p+i); *(p+i)=*(p+k); *(p+k)=t; sort(a,7) float* p,int n *(p+k)<*(p+j) if(k!=i)(2) 下列函數(shù)在 n 個元素的一維數(shù)組中,找出最大值、最小值并傳送到調用函數(shù),請?zhí)羁铡?include <stdio.h>void find(float *p, int max, int min, int n) int k;*max=*p;for(k=1;k<n;k+)t=*(p+k);if( ) *max=t;if(t
56、<*min) *min=t;float t; *min=*p; *max<tB卷5. 寫出下列程序運行結果(1)main()int i=1,p;p=fun(i,i+1);printf("%dn",p);int fun(int a,int b) int f;if(a>b)f=1;else if(a=b)f=0;elsef=-1;return f;-1(2)鍵盤輸入 abcdef<CR> #include <stdio.h> void fun( )char c ;if(c=getchar( )!='n') fun( )
57、;putchar(c);void main( ) fun( ); fedcba(3)#include <stdio.h>#define C 5int x=1,y=C;void main( )int x;x=y+; printf("%d %dn", x,y);if(x>4) int x ; x=+y; printf("%d %dn",x,y) ; x+=y-;printf("%d %dn",x,y);5 67 712 6(4)#include <stdio.h>int c , a=4 ;func(int a , int b) c=a*b ; a=b-1 ; b+ ; return (a+b+1) ; void main( )int b=2 , p=0 ; c=1 ;p=func(b
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于FPC的多約束下DP船軌跡跟蹤控制方法研究
- 面向地面移動目標無人機跟蹤控制方法研究
- 提前規(guī)劃考試復習時間表
- 打造專注力的秘密武器
- 二零二五年度專業(yè)音響設備租賃服務協(xié)議4篇
- 網絡美工工作總結
- 廚房衛(wèi)生安全管理
- 銀行業(yè)金融科技創(chuàng)新顧問工作總結
- 2024版毛概知識點
- 【臨床醫(yī)學】嚴重創(chuàng)傷的緊急救治
- 浙教版七年級上冊數(shù)學第4章代數(shù)式單元測試卷(含答案)
- 七年級下冊第六章《人體生命活動的調節(jié)》作業(yè)設計
- 特種設備使用單位日管控、周排查、月調度示范表
- 2024年重慶市優(yōu)質企業(yè)梯度培育政策解讀學習培訓課件資料(專精特新 專精特新小巨人中小企業(yè) 注意事項)
- 計算機二級wps office公共基礎考試題庫(100題)
- 三年級上冊豎式計算練習300題及答案
- 點亮生命-大學生職業(yè)生涯發(fā)展與就業(yè)指導全套教學課件
- 旅居管家策劃方案
- 華為經營管理-華為的研發(fā)管理(6版)
- 鋰離子電池生產工藝流程圖
- 幼兒園小班下學期期末家長會PPT模板
評論
0/150
提交評論