版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、函數(shù)自測(cè)練習(xí)一、選擇題 1. C語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是 。 A. 地址傳遞 B. 由實(shí)參傳給形參,再由形參傳回給實(shí)參 C. 由用戶指定傳遞方式 D. 單向值傳遞 2. C語(yǔ)言規(guī)定,函數(shù)返回值的類型是由 。 A. return語(yǔ)句中的表達(dá)式類型所決定 B.調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型所決定 C.調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定 D.在定義該函數(shù)時(shí)所指定的函數(shù)類型所決定 3. 下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為 。 func(exp1,exp2),(exp3,exp4,exp5); A. 1B. 2 C. 4D. 5 4. 以下敘述中錯(cuò)誤的是 。 A. C程序必須由一個(gè)或
2、一個(gè)以上的函數(shù)組成 B.函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語(yǔ)句存在 C.若函數(shù)有返回值,必須通過(guò)return語(yǔ)句返回 D.函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參 5*. 若用數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是 。 A. 數(shù)組的首地址 B. 數(shù)組第一個(gè)元素的值 C. 數(shù)組中全部元素的值 D. 數(shù)組元素的個(gè)數(shù) 6. 以下不正確的說(shuō)法為_(kāi)。 A. 在不同函數(shù)中可以使用相同名字的變量 B. 形式參數(shù)是局部變量 C. 在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效 D. 在函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效 7. 凡是函數(shù)中未指定存儲(chǔ)類別的局部變量,其隱含的存儲(chǔ)類別為 。 A.自動(dòng)(auto) B.靜態(tài)(
3、static) C.外部(extern)D.寄存器(register) 8*.以下敘述中正確的是 。 A. 預(yù)處理命令行必須位于C源程序的起始位置 B. 在C語(yǔ)言中,預(yù)處理命令行都以"#"開(kāi)頭 C. 每個(gè)C程序必須在開(kāi)頭包含預(yù)處理命令行:#include<stdio.h> D. C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能9為了保證不使函數(shù)帶回任何值,則函數(shù)返回值的類型必須定義為_(kāi) 。 A. int B. char C. void D. float 10局部變量的作用范圍是_。 A. 整個(gè)C源程序文件內(nèi)。 B. 從定義變量的位置開(kāi)始到本源文件結(jié)束。 C. 只在一
4、個(gè)函數(shù)內(nèi)有效。 D. 只在主函數(shù)內(nèi)有效。11在C語(yǔ)言中,若對(duì)函數(shù)類型未加顯式說(shuō)明,則函數(shù)的隱含類型是_。 Avoid Bdouble Cint Dchar 12以下敘述中正確的是_ 。 A. 在不同的函數(shù)中可以使用相同名字的變量 B. 函數(shù)調(diào)用中,形參變量和實(shí)參變量實(shí)際是同一個(gè)變量 C. 一個(gè)函數(shù)內(nèi)只能包含一個(gè)return語(yǔ)句 D. 用戶自定義函數(shù)只能由主函數(shù)調(diào)用,不能由另外的用戶自定義函數(shù)調(diào)用13以下關(guān)于預(yù)處理命令的說(shuō)法中正確的是_ 。 A. #include命令只能包含后綴名為“.h”的文件,不能包含后綴名為“.c”的文件 B. 用#define宏定義時(shí),可以引用已定義的宏名,可以層層替換
5、 C. 一個(gè)#define命令可以定義多個(gè)符號(hào)常量 D. #define命令必須放在程序的第一行14以下說(shuō)法中正確的是 。A. C語(yǔ)言程序總是從第一個(gè)的函數(shù)開(kāi)始執(zhí)行。B. 在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義。C. C語(yǔ)言程序中的main()函數(shù)必須放在程序的最開(kāi)始部分。D. C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行。 *15有以下程序#include “stdio.h”#define N 5+3int main( )int i1;i1=N*N; printf("%d",i1);return 0;程序的運(yùn)行結(jié)果是 。A. 64 B. 19 C. 43 D
6、. 23二、填空題 1結(jié)構(gòu)化程序設(shè)計(jì)中的模塊化思想,在C語(yǔ)言中是采用 實(shí)現(xiàn)的。 2在C語(yǔ)言中,一個(gè)函數(shù)一般由兩個(gè)部分組成,它們是 和 。 3標(biāo)準(zhǔn)函數(shù)是指 ;用戶自定義函數(shù)是指 。 4若函數(shù)定義時(shí)沒(méi)有明確說(shuō)明函數(shù)的類型,則其默認(rèn)的類型是 。 5若程序中調(diào)用了數(shù)學(xué)函數(shù)fabs(),則需要使用#include命令來(lái)包含頭文件 。 6.return 語(yǔ)句可以返回 個(gè)函數(shù)值。 7C語(yǔ)言中,自定義函數(shù)可以使用_語(yǔ)句返回一個(gè)值。 8遞歸函數(shù)是指 。 9變量的生命周期是指 ;變量的作用域是指 。 10用typedef定義整型一維數(shù)組:typedef int ARRAY10;則使用ARRAY對(duì)整型數(shù)組a10、b
7、10、c10可以定義為 。三、讀程序、寫結(jié)果題1寫出下列程序的執(zhí)行結(jié)果。#include <stdio.h>void fun(int x) while(x) printf(“%d”,x%10); x/=10; printf(“n”);int main() int num=2936;fun(num);printf("%d n",num); return 0;2寫出下列程序的執(zhí)行結(jié)果。#include <stdio.h>int fun(float x,float y,float z)if(x+y>z&&x+z>y&&a
8、mp;y+z>x)return 1;else return 0;int main()float a=1,b=2,c=3;int i;for(i=0; i<4; i+)if(fun(a+i,b+i,c+i)=1)printf("yes!");elseprintf("no!");return 0;3寫出下列程序在執(zhí)行時(shí)輸入“5”時(shí)的輸出結(jié)果。# include <stdio.h>int factorial(int n);int main() int fact; int x; scanf(“%d”,&x); fact=facto
9、rial(x); printf(“fact=%d”,fact); return 0;int factorial(int n) int result=1,i; for(i=1;i<=n;i+) result=result*i; return result;4程序如下:#include <stdio.h>int judge(int x,int y);int main()int x,y,z,t,m;scanf("%d%d%d",&x,&y,&z);t=judge(x,y);m=judge(t,z);printf("m=%dn&q
10、uot;,m);return 0;int judge(int x,int y)int t;if(x<y) t=x;else t=y;return t;編譯并運(yùn)行以上程序,分兩次運(yùn)行程序,分別輸入“2 5 4”和“6 3 7”,兩次運(yùn)行程序的結(jié)果應(yīng)該是什么? 5寫出下列程序在執(zhí)行時(shí)輸入“3 5”時(shí)的輸出結(jié)果。#include <stdio.h>int fun(int a,int b) if(a>b) return a; else return b;int main()int x,y; scanf("%d%d",&x,&y); print
11、f("%dn",fun(x,y); return 0;6寫出下列程序在執(zhí)行時(shí)輸入“12 15 23 35 120 60”時(shí)的輸出結(jié)果。#include <stdio.h>int fun(int x)return x%5;int main( )int i,a;for(i=1;i<=6;i+) scanf("%d",&a); if(fun(a) printf("%d yesn",a); else printf("%d non",a); return 0;7寫出下列程序在執(zhí)行時(shí)輸入“12 15
12、9”時(shí)的輸出結(jié)果。#include "stdio.h"int fun(int x, int y)int z;z=(x>y)?x:y;return z;int main( )int z,a,b,c;scanf("%d%d%d",&a,&b,&c); z=fun(a,b); z=fun(z,c); printf("z=%dn",z);return 0;8寫出下列程序的執(zhí)行結(jié)果。#include <stdio.h>void fun(int, int);int main()int i, j, x, y
13、, n, g; i=2; j=3; g=x=5; y=9; n=7; fun(n, 6); printf(“g=%d, i=%d, j=%d n”, g, i, j ); printf(“x=%d, y=%dn”, x, y); return 0;void fun(int i, int j) int x, y, g; g=8, x=7, y=2; printf(“g=%d, i=%d, j=%d n”, g, i, j ); printf(“x=%d, y=%dn”, x, y); x=8; y=6;9寫出下列程序的執(zhí)行結(jié)果。#include <stdio.h>void fun()
14、 int a,b; a=100;b=200;int main( ) int a=5,b=7; fun();printf("%d %dn",a,b);return 0;10寫出下列程序在執(zhí)行時(shí)輸入“5 3”時(shí)的輸出結(jié)果。#include <stdio.h>int main() float c; int m,n; float fun(int x); printf(“input m,n:”); scanf(“%d%d”,&m,&n); if(m<=n) printf(“data error!”); else c=fun(m)/(fun(n)*fu
15、n(m-n); printf(“The result is %8.1f”,c); return 0;float fun(int x) int i; float t=1; for (i=1;i<=x;i+) t=t*i; return(t);11. 寫出下列程序的執(zhí)行結(jié)果。#include <stdio.h>int main() int m,n,t,r; int fun1(int m,int n); int fun2(int m,int n,int h); m=42; n=12; t=fun1(m,n); printf("t=%dn",t); r=fun2(
16、m,n,t); printf("r=%dn",r); return 0;int fun1(int m,int n) int t,r; if(m<n) t=m;m=n;n=t; while(n!=0) r=m%n; m=n; n=r; return(m);int fun2(int m,int n,int h) return m*n/h;12寫出下列程序的執(zhí)行結(jié)果。#include <stdio.h>void fun(int a,int b) int t=a; a=b; b=t;int main() int x=2,y=5; fun(x,y); printf(
17、“%d : %dn”,x,y); return 0;13寫出下列程序的執(zhí)行結(jié)果。#include <stdio.h>int fun (int n) int k=1,i; for(i=1;i<=n;i+) k*=i ; return k ; int main()int d=5, result=0; result =fun(d); printf(“result=%dn”, result); return 0;14寫出下列程序的執(zhí)行結(jié)果。#include "stdio.h" int m=3,p=4,q=8;void sub(int x,int y) int p=
18、7; printf("%d,%d,%dn", m,p,q); m=x+y; p=x/y; q=m+p; printf("%d,%d,%dn", m,p,q); int main( ) int m=4; printf("%d,%d,%dn", m,p,q); sub(m,p); printf("%d,%d,%dn", m,p,q); return 0 15寫出下列程序的執(zhí)行結(jié)果。#include "stdio.h" int f ( int m ) int a=0; int b=5; a
19、=a+m; b=b+m;printf(“a=%d,b=%d n”, a,b); return (a+b); int main( ) int x=3 , y;y = f (x)+6;printf(“y=%d n”, y);return 0 16寫出下列程序的執(zhí)行結(jié)果。#include "stdio.h"int p(int b) if(b%5)return 0; return 1;int main( ) int a10=10,7,15,5,8,9,11,35,26,78; int k; for(k=0;k<10;k+) if(p(ak) printf("
20、;%dn",ak); return 0 17寫出下列程序的執(zhí)行結(jié)果。#include "stdio.h"int f1(int n)int i,k=1;for(i=1;i<=n;i+) k*=i;return k;int f2(int n) int i,k=0;for(i=1;i<=n;i+) k+=f1(i);return k;int main() int x=4;printf(“%d,%dn”,f1(x),f2(x);return 0;18寫出下列程序的執(zhí)行結(jié)果。#include "stdio.h"int a=3,b=5
21、,c;void f(int b) c=a+b;printf("%d %d %dn",a,b,c);void main() int a=8;f(3);printf("%d %d %dn",a,b,c);19寫出下列程序的執(zhí)行結(jié)果。#include "stdio.h"int gcd(int m,int n) int r;r=m%n;if (r=0) return n;else gcd(n,r);int main( ) int m=12,n=16; int x; x=gcd(m,n); printf("%dn",x);
22、return 0;20寫出下列程序的執(zhí)行結(jié)果。 #include <stdio.h>int gcd(int m,int n) int r,t; if(m<n) t=m; m=n; n=t; while(n!=0) r=m%n; m=n; n=r; return m;int main( ) int x=18,y=12,t;t=gcd(x,y);printf(“gcd of %d and %d is %dn”,x,y,t); return 0; *21. 寫出下列程序的執(zhí)行結(jié)果。 #include <stdio.h>int age(int n) int c; if(
23、n = 1 ) c=10; else c=age(n-1)+2; return c;int main() printf(“%dn”,age(3); return 0;*22寫出下列程序的執(zhí)行結(jié)果。 #include <stdio.h>void dtob(int n) int i; if(n>1) i=n%2; dtob(n/2); else i=n; printf(“%d”,i);int main( ) int i=9; printf(“%dn”,i); dtob(i); return 0;*23寫出下列程序的執(zhí)行結(jié)果。#include<stdio.h>void
24、inc () static int x=0; x+=2; printf("%d",x);int main() inc (); inc (); return 0;*24寫出下列程序的執(zhí)行結(jié)果。#include <stdio.h>int f(int a) int b=1;static int c=2; b+;+c; return(a+b+c); int main( ) int a=2, i; for(i=0;i<3;i+) printf("%4d",f(a); return 0; 四、程序填空題1. 以下程序的功能是求三個(gè)數(shù)的最小公倍數(shù),請(qǐng)
25、填空。#include “stdio.h”int max(int x,int y,int z) if(x>y && x>z) return(x); else if( ) return(y); else return(z);int main( ) int x1,x2,x3,i=1,j,x0; printf("Input 3 number; "); scanf("%d%d%d",&x1,&x2,&x3); x0=max(x1,x2,x3); while(1) j=x0*i; if( ) break; i=i
26、+1; printf("The is %d %d %d 最小公倍數(shù) is %dn",x1,x2,x3,j);return 0;2. 以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,否則返回0。請(qǐng)?zhí)羁読nt isprime(int a)int i;for(i=2;i<=a/2;i+)if(a%i=0) ; ;3以下函數(shù)的功能是求n的階乘,請(qǐng)?zhí)羁?。long f(int n)int i;long s; s= ;for(i=1;i<=n;i+) s= ;return s;4以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6 ,主函數(shù)中將調(diào)用fun函
27、數(shù)計(jì)算: (x+8)2-2(x8)+6和sin2(x)-2sin(x)+6請(qǐng)?zhí)羁?#include “stdio.h”#include <math.h>double fun(double x) return(x*x-2*x+6); int main( ) double x,y1,y2;printf("Enter x:"); scanf("%lf",&x);y1=fun( );y2=fun( );printf("y1=%lf ",y1,y2);return 0;五、編程題1編寫一個(gè)自定義函數(shù),其功能是判斷一個(gè)整數(shù)是否為素?cái)?shù)。主函數(shù)負(fù)責(zé)輸入兩個(gè)整數(shù)m、n,然后通過(guò)調(diào)用自定義函數(shù)判斷并輸出m和n之間(包括m和n)的所有素?cái)?shù)。(注:必須使用自定義函數(shù),否則程序正確只得一半分)2編寫一個(gè)函數(shù),該函數(shù)可以檢驗(yàn)一個(gè)整數(shù)表示的年份是否為閏年。若是,函數(shù)返回1,否則返回0。主函數(shù)負(fù)責(zé)輸入一個(gè)表示年份的整數(shù),并調(diào)用判斷閏年的函數(shù)輸出該年份是否是閏
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 碼頭電力供應(yīng)應(yīng)急預(yù)案
- 醋酸乙酯課程設(shè)計(jì)
- 展覽館建設(shè)院墻施工合同
- 績(jī)效與薪酬管理課程設(shè)計(jì)
- 2024新裝變壓器合同
- 塞浦路斯餐廳租賃合同
- 熟食店衛(wèi)生所合同范本
- 快遞公司商鋪出租合同細(xì)節(jié)
- 軟件開(kāi)發(fā)與算法課程設(shè)計(jì)
- 2024標(biāo)準(zhǔn)的員工勞動(dòng)合同
- 短視頻運(yùn)營(yíng)及帶貨邏輯課件
- 2024年中國(guó)陶茶具市場(chǎng)調(diào)查研究報(bào)告
- 《傳播學(xué)概論(第四版)》全套教學(xué)課件
- 2022年江蘇省普通高中學(xué)業(yè)水平測(cè)試生物試卷
- 人教版(2024)七年級(jí)英語(yǔ)上冊(cè)教學(xué)課件Unit 3 Lesson 6 Reading Plus
- 第4章 跨境電商選品與定價(jià)
- 《介紹教室》(教案)-2024-2025學(xué)年一年級(jí)上冊(cè)數(shù)學(xué)北師大版
- 中醫(yī)科研思路
- 中醫(yī)創(chuàng)新項(xiàng)目
- 《犯罪心理學(xué)(馬皚第3版)》章后復(fù)習(xí)思考題及答案
- 青驕第二課堂2021年禁毒知識(shí)答題期末考試答案(初中組)
評(píng)論
0/150
提交評(píng)論