




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、函數(shù)一、選擇題1以下說(shuō)法中錯(cuò)誤的是AC程序中可以只包含一個(gè)main函數(shù)_。BC程序由一個(gè)main函數(shù)和若干其它函數(shù)構(gòu)成CC程序中可以沒(méi)有main函數(shù),但至少包含一個(gè)其他函數(shù)DC程序由函數(shù)組成,函數(shù)是構(gòu)成程序的基本單位2以下說(shuō)法中正確的是_。Amain函數(shù)和其他函數(shù)間可相互調(diào)用Bmain函數(shù)可以調(diào)用其他函數(shù),但其他函數(shù)不能調(diào)用main函數(shù)C因?yàn)閙ain函數(shù)可不帶參數(shù),所以其后的參數(shù)小括號(hào)能省略D根據(jù)情況可以不寫main函數(shù)3以下正確的函數(shù)首部定義形式是_。 Adouble fun(int x,int y) Bdouble fun(int x; int y) Cdouble fun(int x,
2、int y); Ddouble fun(int x,y);4C語(yǔ)言規(guī)定,函數(shù)返回值的類型是由_。A return語(yǔ)句中的表達(dá)式類型所決定 B在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定C調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定 D 調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型所決定5在C語(yǔ)言程序中,以下正確的描敘是_。A函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套C函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套D函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套6以下正確的說(shuō)法是_。A用戶若需調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前必須重新定義B用戶若需調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前不必使用預(yù)編譯命令將函數(shù)所在文件包括到用戶源文件中,系統(tǒng)自動(dòng)去調(diào)C
3、系統(tǒng)根本不允許用戶重新定義標(biāo)準(zhǔn)庫(kù)函數(shù)D用戶可以重新定義標(biāo)準(zhǔn)庫(kù)函數(shù),若如此,該函數(shù)將失去原有含義7以下所列的各函數(shù)原型中,正確的是_。Avoid abc(var a:intergervar b:interger) Bvoid abc(int a,b)Cvoid abc(int a,int b) Dsub abc(a as interger,a as interger)8在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是_。A地址傳遞 B單向值傳遞C由實(shí)參傳給形參,再由形參傳給實(shí)參 D傳遞方式由用戶指定9在C語(yǔ)言中,以下正確的說(shuō)法是_。A實(shí)參和與其對(duì)應(yīng)的形參各占用獨(dú)立的存儲(chǔ)單元B實(shí)
4、參和與其對(duì)應(yīng)的形參共占用一個(gè)存儲(chǔ)單元C只有當(dāng)實(shí)參和與其對(duì)應(yīng)的形參同名時(shí)才共占用存儲(chǔ)單元D形參是虛擬的,不占用存儲(chǔ)單元10下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為_(kāi)。func( (expl,exp2),(exp3,exp4,exp5) );A l B2 C4 D 511以下程序的輸出結(jié)果是_。fun(int x,int y,int z) z=x*x+y*y;main()int a=3l;fun(5,2,a);printf(“d”,a); A 0 B29 C3l D無(wú)定值11以下程序的輸出結(jié)果是_。int a,b,void fun() a=100;b=200;main() int a=5,b=7;fun(
5、);printf(ddn”,a,b);A 100 200 B5 7 C200 100 D 7 512以下程序的輸出結(jié)果是_。int d=1;fun(int p)int d=5;d+=p+;printf(“%d”,d);main() int a=3; fun(a);d+=a+;printf(“dn”,d);A 8,4 B9,6 C9,4 D 8,513以下不正確的說(shuō)法為_(kāi)。A在不同函數(shù)中可以使用相同名字的變量 B形式參數(shù)是局部變量C在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D在函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效14若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是_。A數(shù)組的首地址 B數(shù)組第一
6、個(gè)元素的值C數(shù)組中全部元素的值 D數(shù)組元素的個(gè)數(shù)15已有以下數(shù)組定義和f函數(shù)調(diào)用語(yǔ)句,則在f函數(shù)的說(shuō)明中,對(duì)形參數(shù)組array的錯(cuò)誤定義方式為_(kāi)。int a34; f(a); Af(int array6) Bf(int array3) Cf(int array4) Df(int array25)16在C語(yǔ)言中,函數(shù)的隱含存儲(chǔ)類型是_。Aauto Btatic Cextern D無(wú)存儲(chǔ)類型17以下程序的輸出結(jié)果為_(kāi)。main()int a=5;fun(a);printf(“n”);fun(int b) if(b>0) fun(b-1);printf(“d”,b);)A 5 4 3 2 l
7、B0 1 2 3 4 5 Cl 2 3 4 5 D 5 4 3 2 1 018以下程序的輸出結(jié)果是_。#include<stdio-h>f(int a) int b=0;static c=3;a=c+,b+;return a;main()int a=2,i,k;for(i=0;i<2;i+)k=f(a+);printf(%d”,k);A 3 B 0 C5 D 4二、填空題1C語(yǔ)言規(guī)定,可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是 。 main函數(shù)開(kāi)始2C語(yǔ)言中,函數(shù)的定義由函數(shù)首和_兩部分組成。函數(shù)體3.函數(shù)實(shí)參傳遞到形參有兩種方式_和_。4C語(yǔ)言允許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型是
8、_。 int 5定義變量可以在函數(shù)的內(nèi)部,也可以在函數(shù)的外部,在函數(shù)外部定義的變量一般稱為_(kāi)變量 全局6若自定義函數(shù)要求返回一個(gè)值,則在該函數(shù)體中應(yīng)有一條_語(yǔ)句;若自定義函數(shù)要求不返回值,則應(yīng)在該函數(shù)說(shuō)明時(shí)加一個(gè)類型說(shuō)明符_。return void7函數(shù)形參的作用域_,全局的外部變量與函數(shù)體內(nèi)定義的局部變量同名時(shí),在函數(shù)體內(nèi),_變量起作用。整個(gè)函數(shù)體內(nèi) 局部8靜態(tài)局部變量的作用域_。定義它的函數(shù)或復(fù)合語(yǔ)句內(nèi)部9下面add函數(shù)的功能是求兩個(gè)參數(shù)的和,并將和值返回調(diào)用函數(shù)。函數(shù)中錯(cuò)誤的部分是 _;改正后為_(kāi)。 void float void add (float a,float b) float
9、c;c=a+b;return c; 10.在一個(gè)函數(shù)內(nèi)部調(diào)用另一個(gè)函數(shù)的調(diào)用方式稱為_(kāi)。在一個(gè)函數(shù)內(nèi)部直接或間接調(diào)用該函數(shù)稱為函數(shù)_的調(diào)用方式。嵌套 遞歸11.C語(yǔ)言變量按其作用域分為_(kāi)和_。按其生存期分為_(kāi)和_。局部變量 全局變量 動(dòng)態(tài)存儲(chǔ)變量 靜態(tài)存儲(chǔ)變量12.C語(yǔ)言變量的存儲(chǔ)類別有_、_、_和_。auto static register extern13.被調(diào)用函數(shù)執(zhí)行結(jié)束時(shí),此函數(shù)中定義的_類型的變量不被釋放。靜態(tài)或static14.靜態(tài)型外部變量的作用域是 _。源程序文件15.在一個(gè)C程序中,若要定義一個(gè)只允許本文件中函數(shù)使用的全局變量,則該變量需要定義的存儲(chǔ)類別為_(kāi)。static1
10、6.變量賦初值可以在兩個(gè)階段,即_和_。編譯階段 運(yùn)行階段三、程序閱讀1分析下列程序,寫出運(yùn)行結(jié)果_。15int fun(int a,int b) return(a+b);main()int x=2,y=5,z=8,r;r=fun(fun(x,y),z);printf(“dn”,r);2.以下程序的運(yùn)行結(jié)果是 (4) 。i=2,j=7,x=5 i=7,j=6,x=7mian() int i=2,x=5,j=7;fun(j,6);printf(“i=d;j=d;x=dn”,i,j,x);fun(int i,int j) int x=7;printf(“i=d;j=d;x=dn”,i,j,x);3
11、.分析下列程序,寫出運(yùn)行結(jié)果_。 64 #include “stdio.h”main()int x,n;long p,pw();x=2;n=6;p=pw(x,n);printf(“%ld”,p);long pw(int x,int n)int i,p=1for(i=0;i<n;i+) p*=x;return(p);4以下程序的運(yùn)行結(jié)果是_. A+B=9 int a=5;int b=7; main() int a=4,b=5,c; c=plus(a,b); printf("A+B=%dn",c); plus(int x,int y) int z; z=x+y; retu
12、rn(z); 5. 分析下列程序,寫出運(yùn)行結(jié)果_。 8 #include “stdio.h”int abc( );main()int a=24,b=16,c;c=abc(a,b);printf(“%dn”,c);int abc(int x,int y)int t;while(y)t=x%y;x=y;y=t;6. 分析下列程序,寫出運(yùn)行結(jié)果_。 84 int d=1;fun( int p)int d;d+=p+;printf(“%d”,d);main()int a=3;fun(a);d+=a+;printf(“%dn”,d);7. 分析下列程序,寫出運(yùn)行結(jié)果_。4 long fib( int n
13、) if(n>2) return(fib(n-1)+fib(n-2);else return (2);main()printf(“%dn”,fib(3);8. 分析下列程序,寫出運(yùn)行結(jié)果_。1long fun( int n) long s;if(n=1|n=2) s=2else s=n-fun(n-1); return s;main()printf(“%dn”,fun(3);9. 分析下列程序,寫出運(yùn)行結(jié)果_。 3600 int w=3;main()int w=10;printf(“%dn”,fun(5)*w);fun(int k)if(k=0) return w;return (fun
14、(k-1)*k);10. 分析下列程序,寫出運(yùn)行結(jié)果_。 6 15 15 int d=1;fun(int p)static int d=5;d+=p; printf(“%d”,d);return(d);main()int a=3;printf(“%dn”,fun(a+fun(d);11. 分析下列程序,寫出運(yùn)行結(jié)果_。 9 f( int a)int b=0; static int c=3;b+;c+;return (a+b+c);main()int a=2,i;for(i=0;i<3;i+)printf(“%d”,f(a);12. 分析下列程序,寫出運(yùn)行結(jié)果_。 sum=55#inclu
15、de “stdio.h”int isum(int b)int s,i;s=i=0;while(bi!=-999)s=s+bi+;return(s);main()static int a=1,2,3,4,5,6,7,8,9,10,-999;printf(“sum=%dn”,isum(a);13. 分析下列程序,寫出運(yùn)行結(jié)果_。81fun(int a5)int i;for(i=1;i<5;i+) ai=ai-1*3;main()int a5=1;fun(a);printf(“%dn”,a4);14.下面程序的輸出結(jié)果_。 3,4 main() static int a=1,2,3,4; in
16、t i, j=2; for(i=l;i<3;i+) f1(a); j+; printf(“d,dn”,a0,j); fl(int a4) int i ,j=l; for(i=l;i<4;i+) ai-l=ai; j+;15.以下程序的運(yùn)行結(jié)果是_。 , 其算法是_。-737510 冒泡排序main() int a5=5,10,-7,3,7,i,t,j; sort(a); for(i=0;i<=4;i+)printf(“d”,ai);sort(inta) int i,j,t; for(i=0;i<4;i+) for(i=0;j<4-i;j+) if(aj>aj
17、+l t=-aj;aj=aj+1;aj+1=t; 16.以下程序的運(yùn)行結(jié)果是_ ,其算法是_。 -13689 選擇排序 main()int a5=9,6,8,3,一1,i,t,j,p;sort(a);for(i=0;i<=4;i+)printf(“d”,ai);sort(inta) int i,j,t,p; forr(j=0;j<4;j+) p=j; for(i=j;i<=4;i+) if(ai<ap) p=i; t=ap; ap=aj; aj=t; 17. 分析下列程序,寫出運(yùn)行結(jié)果_。s=-9#define N 3int fun(int aNN)main()int
18、aNN=1,-2,-5,-1,2,5,-4,4,3,s;s=fun(a);printf(“s=%dn”,s);int fun(int aNN)int i,j,sum=0;for(i=0;i<N;i+) for(j=0;j<N;j+) if(aij<i+j) sum=sum+aij;四、程序填空1.函數(shù)gongyu的作用是求整數(shù)num1和num2的最大公約數(shù),并返回該值。請(qǐng)?zhí)羁铡?gongyu(int num1,int num2) int temp,a,b; if(num1(_) num2) < temp=num1;num1=num2;num2=temp; a=num1;
19、b=num2; while(_) b!=0 temp=a%b;a=b;b=temp; return(a);2.下面程序的功能是在fun函數(shù)中計(jì)算20個(gè)學(xué)生的平均成績(jī),返回主函數(shù)輸出,請(qǐng)?zhí)羁?。xi return(ave ) fun(a,20)float fun ( float x , int num)int i;float ave ,s=0;for(i=0;i<num;i+) s+=_ave=s/num;_#include <stdio.h>main()float a20,t;int i,n;for(i=0;i<20;i+) scanf(“%f”,&t); ai=
20、t;printf(“average=%fn”,_)3.以下函數(shù)是求x的y次方,請(qǐng)?zhí)羁铡?double fun(double x,double y) int x;double z=10; for(i=1; (1) ;i+) i<=y z= (2) ; z*x return z;4.下面程序的功能是:第一個(gè)數(shù)是1,從地二個(gè)數(shù)起每個(gè)數(shù)都是它的前一項(xiàng)加5,求第n個(gè)數(shù)是多少?請(qǐng)?zhí)羁眨╪從鍵盤輸入,用遞歸的方法實(shí)現(xiàn)該算法)1 add(n-1) add(n)#include <stdio.h>long add(int n)long m;if(n=1) m=_else m=5+_;retur
21、n (m);main()long m;int n;scanf(“%d”,&n);m=_printf(“%ldn”,m);5.下面程序的功能是用函數(shù)的遞歸調(diào)用求1!+2!+3!+4!+.+10!,請(qǐng)?zhí)羁?。n*f(n-1) 0 f(i)#include <stdio.h>long f (int n)if(n=1 );return(1);else return (_)main()int i=1;long s;s=_while(i<=10)s+=_;i+;printf(“%ld”,s);6.函數(shù)acopy將整型數(shù)組a的內(nèi)容逆序復(fù)制到整型數(shù)組b中(-999為數(shù)組的結(jié)束標(biāo)志),請(qǐng)
22、填空。int a ,int b bj=ai bi+#include <stdio.h>void acopy(_)int i=0;j=0;while(aj!=-999) j+;bj=aj;j-;while(ai!=-999)_;i+;j-;main()static int a=1,3,5,7,9,2,4,6,7,10,-999;int b20,i=0;acopy(a,b);while(bi!=-999)printf(“%3d”,_);7.下面程序是將字符串str的字符按相反的次序存放,請(qǐng)?zhí)羁铡?#include<stringh> void invert(char str)
23、 int i,j,k; for(i=0,j= (1) ;i<j;i+,j-) strlen(str)-1 k=str i; (2) ;strj=k; stri=strj五、編程1.請(qǐng)編寫函數(shù)fun,函數(shù)的功能是:根據(jù)以下公式計(jì)算s,計(jì)算結(jié)果作為函數(shù)值返回;n通過(guò)形參傳入。S=1+1/(1+2)+1/(1+2+3)+、+1/(1+2+3+、+n)float fun( int n ) int I ,j,t=0;for( i=1;i<=n;i+) t+=i ; s=s+1.0/t; return s ;2編寫一個(gè)函數(shù),重復(fù)打印給定的字符n次。#include “stdio.h”#defi
24、ne N 10main()int i;char c;printf(“Enter a character:”);c=getchar();for(i=0;i<N;i+)printf(“%c”,c);3.編寫一個(gè)函數(shù)求出一個(gè)正整數(shù)的所有因子。如72=2*2*2*3*3#include “stdio.h”void factors(int number)int i,factor; for(i=2;i<=number;i+) if(number%2=0) factor=i; break; printf(“%d *”,factor);if(number!=i)number=number/i;fa
25、ctors(number);else for(i=0;i<2;i+) putchar(b);putchar();main()int a;printf(“please enter a numbern”);scanf(“%d”,&a);printf(“%d=”,a);factors(a);4試編程求S的值。要求在主函數(shù)中輸入n (n的值大于等于0),輸出結(jié)果S.功能函數(shù)void fun(float *sn, int n)用來(lái)計(jì)算S,計(jì)算結(jié)果通過(guò)形參指針sn傳回,n的值通過(guò)參數(shù)傳入。S的計(jì)算公式如下所示: # include <stdio.h>void fun( float
26、 *sn, int n) float s=0.0, w, f=-1.0; int i=0; for(i=0; i<=n; i+) f=1* f; w=f/(2*i+1); s+=w; *sn =s; void main() float s; int n; scanf(“%d”,&n);fun(&s,n); printf(“s=%d”,s); 5.編寫函數(shù)打印乘法口訣表。void fun( int n)int i;for(i=1;i<=n;i+) printf(“%d*%d=%2d”,n,i,n*i);printf(“n”);main() int n;for(n=1;
27、n<=9;n+) fun(n);6.通過(guò)函數(shù)調(diào)用方式將一個(gè)十進(jìn)制數(shù)轉(zhuǎn)換成相應(yīng)的二進(jìn)制數(shù)。#include “stdio.h”int i=0void change(int a,int b)while(a!=0) bi=a%2;a=a/2; i=i+1;main()int a,b16,j;scanf(“%d”,&a);change(a,b);for(j=i-1;j>=0;j-)printf(“%d”,bj);7寫一個(gè)函數(shù),將兩個(gè)字符串聯(lián)接。char concatenate(char string1,char string2,char string) int I,j; for(I=0;string1I!=0;I+) stringI=string1I; for(
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 舞蹈社團(tuán)活動(dòng)風(fēng)采展示
- 蛋制品加工過(guò)程的安全控制
- 危廢處理車間工作總結(jié)
- 通訊寫作技巧培訓(xùn)
- 藍(lán)黃色商務(wù)年終總結(jié)
- 醫(yī)院藥品二級(jí)庫(kù)房管理
- 腰痛臨床表現(xiàn)
- 小學(xué)英語(yǔ)連系動(dòng)詞的使用技巧
- 建筑行業(yè)古建筑保護(hù)與維修知識(shí)考點(diǎn)梳理
- 急診科醫(yī)生面對(duì)暴力和攻擊的應(yīng)對(duì)策略
- 數(shù)據(jù)挖掘?qū)д?第5章-分類-其他技術(shù)
- 年產(chǎn)4萬(wàn)噸鄰苯二甲酸酐的工藝設(shè)計(jì)
- 西醫(yī)醫(yī)師開(kāi)具中藥及中藥飲片處方權(quán)限考核試題及答案
- DB37-T 5026-2022《居住建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)》
- BACnet介紹解讀課件
- 全套IECQ QC080000-2017 有害物質(zhì)過(guò)程管理體系程序文件
- 《三角形的分類》-完整版課件
- 鐵路工程預(yù)算定額標(biāo)準(zhǔn)
- 叉車使用申請(qǐng)表
- 《中外歷史綱要上》第4課 西漢與東漢-統(tǒng)一多民族封建國(guó)家的鞏固(課件)(共23張PPT)
- [轉(zhuǎn)載]鄭桂華《安塞腰鼓》教學(xué)實(shí)錄
評(píng)論
0/150
提交評(píng)論