版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、一、選擇題:1、一個C程序的執(zhí)行是從( A )。A本程序的main函數開始,到main函數結束B本程序文件的第一個函數開始,到本程序文件的最后一個函數結束 C本程序的main函數開始,到本程序文件的最后一個函數結束D本程序文件的第一個函數開始,到本程序main函數結束2、 在 C 語言中,每個語句必須以( D )結束。A. 回車符 B. 冒號 C. 逗號 D. 分號3、C 語言規(guī)定:在一個源程序中,main函數的位置( C )。A. 必須在最開始 B. 必須在系統(tǒng)調用的庫函數的后面C. 可以任意 D. 必須在最后4、一個C 語言程序是由( B )。A. 一個主程序和若干子程序組成 B. 函數組
2、成C. 若干過程組成 D. 若干子程序組成5、下列說法中錯誤的是( D )。A. 主函數可以分為兩個部分:主函數說明部分和主函數體B. 主函數可以調用任何非主函數的其他函數C. 任何非主函數可以調用其他任何非主函數D. 程序可以從任何非主函數開始執(zhí)行6、用 C 語言編寫的源文件經過編譯,若沒有產生編譯錯誤,則系統(tǒng)將( C )A. 生成可執(zhí)行目標文件 B. 生成目標文件 。C. 輸出運行結果 D. 自動保存源文件二、填空題:1、C 語言只有 32 個關鍵字和 9 種控制語句。2、每個源程序有且只有一個 main 函數,系統(tǒng)總是從該函數開始執(zhí)行C語言程序。3、C 語言程序的注釋可以出現在程序中的任
3、何地方,它總是以 * 符號作為開始標記,以 */ 符號作為結束標記。4、C 語言中,輸入操作是由庫函數 scanf 完成的,輸出操作是由庫函 數 printf 完成的。5、系統(tǒng)默認的C 語言源程序文件的擴展名是 .c ,經過編譯后生成的目標文件的擴展名是 .obj ,經過連接后生成的可執(zhí)行文件的擴展名是 .exe 。6、C 語言的標識符只能由字母、數字和 下劃線 三種字符組成。第三章數據類型、運算符和表達式一、選擇題: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 語言中,字符型數據在計算機內存中,以字符的( 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、若有代數式 ,則不正確的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 為整型變量,不能正確表達數學關系: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值的數據類型是( C )。A. int B. float C. double D. 不確定18、已知字母A的ASCII碼為十進制數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 語言中,要求運算對象只能為整數的運算符是( A )。A. % B. / C. > D. *21、若有說明語句:char c='
9、72';則變量c在內存占用的字節(jié)數是( A )。A. 1 B. 2 C. 3 D. 422、字符串"ABC"在內存占用的字節(jié)數是( 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、數學式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用來記錄每行已打印數的個數*/ 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章 數組習題A卷1. 單項選擇題(1) int a4=5,3,8,9;其中 a3的值為( )。DA. 5 B. 3 C. 8 D. 9(2) 以下 4 個字符串函數中,( )所在的頭文件與其他 3 個不同。AA. gets B. strcpy C. strlen D. strcmp(3) 以下 4 個數組定義中,( )是錯誤的。 DA. int a7; B. #define N 5
21、 long bN; C. char c5; D. int n,dn;(4) 對字符數組進行初始化,( )形式是錯誤。 BA. char c1 ='1', '2', '3' B. char c2 =123; C. char c3 = '1', '2', '3', '0' D. char c4 ="123"(5) 在數組中,數組名表示( )。 AA. 數組第 1 個元素的首地址 B.數組第 2 個元素的首地址C. 數組所有元素的首地址 D.數組最后 1 個元素的首地址
22、(6) 若有以下數組說明,則數值最小的和最大的元素下標分別是( )。 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) 若有以下說明,則數值為 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) 合法的數組定義是( )。 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、數組定義是( )。 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) 下列定義的字符數
25、組中,輸出 printf("%sn", str2) ;的輸出是( )。 Cstatic str320 = "basic", "foxpro", "windows"A. basic B. foxpro C. windows D. 輸出語句出錯(14) 下列各語句定義了數組,其中哪一個是不正確的( )。 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) 數組定義為 int a32=1,2,3,4,5,6,值為6的數組元素是( )。 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的長度的函數)char s12="a book!"printf("%d",strlen(s);A. 12 B. 8 C. 7 D. 11(19) 若有以下說明和語句,則輸出結果是( )。B(strlen(s)為求字符串s的長度的函數)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 語言中,數組的各元素必須具有相同的 ,元素的下標下限為 ,下標必須是正整數、0、或者 。但在程序執(zhí)行過程中,不檢查元素下標是否 。數據類型,0,符號常量,越界(2) C 語言中,數組在內存中占一片 的存儲區(qū),由 代表它的首地址。數組名是一個 常量,不能對它進行賦值運算。連續(xù),數組名,地址(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個整型元素的數組。step是一個有4個實型元素的數組,元素值分別為1.9,
31、-2.33, 0,20.6。grid是一個二維數組,共有4行,10列整型元素。 int mesh10; float step4 = 1.9, -2.33, 0, 20.6; int grid410;(7) array是一個一維整形數組,有10個元素,前6個元素的初值是9,4,7,49,32,-5,正確的說明語句為:。該數組下標的取值范圍是從_到_(從小到大)。用scanf函數輸入數組的第二個元素表示為: 。用賦值語句把39存入第一個元素表示為: 。把第六個和第四個元素之和存入第一個元素表示為: 。int array10 =9,4,7,49,32,-5; 0 9 scanf("%d&q
32、uot;,&array1); array0 =39; array0= array5+array3;(8) 寫出以下初始化數組的長度:int chn3;數組chn的長度為_。float isa=1.0,2.0,3.0,4.0,5.0;數組isa的長度為_。int doom8;數組doom的長度為_。float pci42;數組pci的長度為_。int ast33;數組ast的長度為_。int att34;數組att的長度為_。float dell3=1,4,7,2,5,3,6,9;數組dell的長度為_。 6 20 16 32 18 24 36(9) 若有以下整型的a數組,數組元素和它們
33、得值如下所示:數組元素: a0a1 a2 a3 a4 a5 a6 a7 a8 a9元素的值: 9 4 12 8 2 10 7 5 1 3請寫出對該數組的說明,并賦以上初值。 該數組的最小下標值為_,最大下標值為_。寫出下面各式的值:aa9的值為_ ;aa4+a8的值為_。 int a10=9,4,12,8,2,10,7,5,1,3; 0 9 8 8(10) 字符串"abn012/""的長度為_。103. 判斷題( × )(1) C允許對數組的大小作動態(tài)定義,即可用變量定義數組的大小。 ( × )(2) 字符數組不要求它的最后一個字符為0,甚至可
34、以不包含0。 ( × )(3) 數組定義 int a10; 也可以寫成 int a(10); 。( )(4) 在對全部數組元素賦初值時,可以不指定數組長度。( × )(5) 定義s為5×6(5行6列)的數組可寫成 float a5,6;( )(6) 數組定義 int a10; 表示數組名為a,此數組有10個元素。( × )(7) 數組定義 int a10; 表示數組名為a,此數組有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 個數,輸出它們的平均值,輸出與平均
36、值之差的絕對值為最小的數組元素。請?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個數據的形式輸出 a 數組,請?zhí)羁?。void
37、main( )int a50,i;printf("輸入50個整數:");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) 下面程序的功能是輸出數組 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個數存放在一個數組中,并且輸出其中最大者與最小者、20個數的和及它們的平均值。請?zhí)羁?。void main()char array ;int max,min,average,sum;int i;for(i=0;i< ;i+)printf("請輸入第%d個數:",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個數中最大值是%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章 函數習題A卷1. 單項選擇題(1)C 語言總是從 函數開始執(zhí)行。 AA. main B. 處于最前的 C.處于最后的 D. 隨機選一個(2)函數在定義時,省略函數類型說明符,則該函數值的類型為 。AA. int B. float C. long D. double(2)以下 函數,真正地沒有返回值。 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 語言中,有關函數的說法,以下正確的是 。 AA. 函數可嵌套定義,也可嵌套調用 B. 函數可嵌套定義,但不可嵌套調用C. 函數不可嵌套定義,但可嵌套調用 D. 函數不可嵌套定義,也不可嵌套調用(4)以下函數調用語句中,含有實參的個數為 。Cfun(2,3),(4,5+6,7);A. 1 B. 2 C. 5 D. 6(5)函數調用可以在 。 DA. 函數表達式中 B. 函數語句中 C. 函數參數中 D. 以上都是(6)被調函數返回給主調函數的值稱為 。CA. 形參 B.
49、 實參 C. 返回值 D. 參數(7) ,可以不進行函數類型說明。 DA. 被調函數的返回值是整型或字符型時 B. 被調函數的定義在主調函數定義之前時C. 在所有函數定義前,已在函數外預先說明了被調函數類型 D. 以上都是(8)被調函數通過 語句,將值返回給主調函數。 DA. if B. for C. while D. return(9)被調函數調用結束后,返回到 。 DA.主調函數中該被調函數調用語句處B.主函數中該被調函數調用語句處C.主調函數中該被調函數調用語句的前一語句D.主調函數中該被調函數調用語句的后一語句(10)以下對 C語言函數的有關描述中,正確的是 。AA. 在 C 中,調用
50、函數時,只能把實參的值傳送給形參,形參的值不能傳送給實參B. C函數既可以嵌套定義又可遞歸調用C. 函數必須有返回值,否則不能使用函數D. C程序中有調用關系的所有函數必須放在同一個源程序文件中(11)C 語言中函數的隱含存儲類型是 。 CA. auto B. static C. extern D. 無存儲類型(12)能把函數處理結果的兩個數據返回給主調函數,在下面的方法中不正確的是 。AA. return 這兩個數 B. 形參用兩個元素的數組C. 形參用兩個這種數據類型的指針 D. 用兩個全局變量(13)C語言可執(zhí)行程序從什么地方開始執(zhí)行 ( )。 CA. 程序中第一條可執(zhí)行語句 B. 程序
51、中第一個函數C. 程序中的main函數 D. 包含文件中的第一個函數(14)有一個函數原型如下所示,則該函數的返回類型為( ) 。 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) 函數中的形參和調用時的實參都是數組名時,傳遞方式
52、為 ,都是變量時,傳遞方式為 。 址傳遞,值傳遞(5) 函數的形式參數的作用域為 ,全局的外部變量和函數體內定義的局部變量重名時, _變量優(yōu)先。 該函數中,局部(6) 若自定義函數要求返回一個值,則應在該函數體中有一條 語句,若自定義函數要求不返回一個值,則應在該函數說明時加一個類型說明符 。 return,void(7) 若函數的形式參數是指針類型,則實參可以是 或 。指針,數組名(8) 函數的參數為 char *類型時,形參與實參結合的傳遞方式為 。址傳遞(9) 函數的實參為常量時,形參與實參結合的傳遞方式為 。值傳遞(10) 下面這個函數的功能是求兩個整數的積,并通過形參傳回結果,請?zhí)羁?/p>
53、。int int int* *resultvoid mul(_x,_y,_result)_=x*y;3. 判斷題( × )(1) 函數說明指的是在程序中設定一個函數模塊。( )(2) 形參只有在被調用時才分配存儲空間。( × )(3) 在C的函數中,最好使用全局變量。( × )(4) 在調用函數時,實參傳值給形參,調用結束時,形參值傳給實參。 ( )(5) 所有函數定義都是并行的,相互獨立的。( × )(6) 函數的隱含存儲類型是extern。( × )(7) 形參可以是常量、變量或表達式。( × )(8) 函數調用可以作為一個函數的
54、形參。( )(9) C語言規(guī)定,實參應與其對應的形參類型一致。( × )(10) 定義函數時,形參的類型說明可以放在函數體內。4. 程序填空題(1) 對數組按值從大到小的順序排序后輸出,請?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) 下列函數在 n 個元素的一維數組中,找出最大值、最小值并傳送到調用函數,請?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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高端車隊駕駛員薪資福利合同4篇
- 2025年度智能自動化車間生產責任承包合同規(guī)范范本4篇
- 二手房按揭購房權益保障合同版
- 二零二五年度大廈物業(yè)設施設備租賃服務合同4篇
- 2025年度傳統(tǒng)醫(yī)學知識傳授合同書示范文本4篇
- 2025年零售卷閘鐵門行業(yè)深度研究分析報告
- 2025年白色水煮豬鬃行業(yè)深度研究分析報告
- 二零二五年度農業(yè)土地托管與農業(yè)保險聯合服務合同
- 2025年中國膏藥市場運行態(tài)勢及投資戰(zhàn)略咨詢研究報告
- 2025版土方收購合同范本:建筑垃圾資源化利用合作協(xié)議3篇
- 人教版高中數學必修二《第十章 概率》單元同步練習及答案
- 智慧校園信息化建設項目組織人員安排方案
- 浙教版七年級上冊數學第4章代數式單元測試卷(含答案)
- 一病一品成果護理匯報
- AQ-T 1009-2021礦山救護隊標準化考核規(guī)范
- 鹽酸??颂婺崤R床療效、不良反應與藥代動力學的相關性分析的開題報告
- 消防設施安全檢查表
- 組合結構設計原理 第2版 課件 第6、7章 鋼-混凝土組合梁、鋼-混凝土組合剪力墻
- 建筑公司資質常識培訓課件
- GB/T 26316-2023市場、民意和社會調查(包括洞察與數據分析)術語和服務要求
- 春節(jié)值班安全教育培訓
評論
0/150
提交評論