![C語言函數(shù)自測練習(xí)_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a201.gif)
![C語言函數(shù)自測練習(xí)_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a202.gif)
![C語言函數(shù)自測練習(xí)_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a203.gif)
![C語言函數(shù)自測練習(xí)_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a204.gif)
![C語言函數(shù)自測練習(xí)_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a20/fd5e83d7-f8e9-4bc9-a7a0-7faff7614a205.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、函數(shù)自測練習(xí)一、選擇題 1. C語言規(guī)定,簡單變量做實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是 。 A. 地址傳遞 B. 由實參傳給形參,再由形參傳回給實參 C. 由用戶指定傳遞方式 D. 單向值傳遞 2. C語言規(guī)定,函數(shù)返回值的類型是由 。 A. return語句中的表達(dá)式類型所決定 B.調(diào)用該函數(shù)時的主調(diào)函數(shù)類型所決定 C.調(diào)用該函數(shù)時系統(tǒng)臨時決定 D.在定義該函數(shù)時所指定的函數(shù)類型所決定 3. 下面函數(shù)調(diào)用語句含有實參的個數(shù)為 。 func(exp1,exp2),(exp3,exp4,exp5); A. 1B. 2 C. 4D. 5 4. 以下敘述中錯誤的是 。 A. C程序必須由一個或
2、一個以上的函數(shù)組成 B.函數(shù)調(diào)用可以作為一個獨立的語句存在 C.若函數(shù)有返回值,必須通過return語句返回 D.函數(shù)形參的值也可以傳回給對應(yīng)的實參 5*. 若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是 。 A. 數(shù)組的首地址 B. 數(shù)組第一個元素的值 C. 數(shù)組中全部元素的值 D. 數(shù)組元素的個數(shù) 6. 以下不正確的說法為_。 A. 在不同函數(shù)中可以使用相同名字的變量 B. 形式參數(shù)是局部變量 C. 在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效 D. 在函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效 7. 凡是函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別為 。 A.自動(auto) B.靜態(tài)(
3、static) C.外部(extern)D.寄存器(register) 8*.以下敘述中正確的是 。 A. 預(yù)處理命令行必須位于C源程序的起始位置 B. 在C語言中,預(yù)處理命令行都以"#"開頭 C. 每個C程序必須在開頭包含預(yù)處理命令行:#include<stdio.h> D. C語言的預(yù)處理不能實現(xiàn)宏定義和條件編譯的功能9為了保證不使函數(shù)帶回任何值,則函數(shù)返回值的類型必須定義為_ 。 A. int B. char C. void D. float 10局部變量的作用范圍是_。 A. 整個C源程序文件內(nèi)。 B. 從定義變量的位置開始到本源文件結(jié)束。 C. 只在一
4、個函數(shù)內(nèi)有效。 D. 只在主函數(shù)內(nèi)有效。11在C語言中,若對函數(shù)類型未加顯式說明,則函數(shù)的隱含類型是_。 Avoid Bdouble Cint Dchar 12以下敘述中正確的是_ 。 A. 在不同的函數(shù)中可以使用相同名字的變量 B. 函數(shù)調(diào)用中,形參變量和實參變量實際是同一個變量 C. 一個函數(shù)內(nèi)只能包含一個return語句 D. 用戶自定義函數(shù)只能由主函數(shù)調(diào)用,不能由另外的用戶自定義函數(shù)調(diào)用13以下關(guān)于預(yù)處理命令的說法中正確的是_ 。 A. #include命令只能包含后綴名為“.h”的文件,不能包含后綴名為“.c”的文件 B. 用#define宏定義時,可以引用已定義的宏名,可以層層替換
5、 C. 一個#define命令可以定義多個符號常量 D. #define命令必須放在程序的第一行14以下說法中正確的是 。A. C語言程序總是從第一個的函數(shù)開始執(zhí)行。B. 在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義。C. C語言程序中的main()函數(shù)必須放在程序的最開始部分。D. C語言程序總是從main()函數(shù)開始執(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è)計中的模塊化思想,在C語言中是采用 實現(xiàn)的。 2在C語言中,一個函數(shù)一般由兩個部分組成,它們是 和 。 3標(biāo)準(zhǔn)函數(shù)是指 ;用戶自定義函數(shù)是指 。 4若函數(shù)定義時沒有明確說明函數(shù)的類型,則其默認(rèn)的類型是 。 5若程序中調(diào)用了數(shù)學(xué)函數(shù)fabs(),則需要使用#include命令來包含頭文件 。 6.return 語句可以返回 個函數(shù)值。 7C語言中,自定義函數(shù)可以使用_語句返回一個值。 8遞歸函數(shù)是指 。 9變量的生命周期是指 ;變量的作用域是指 。 10用typedef定義整型一維數(shù)組:typedef int ARRAY10;則使用ARRAY對整型數(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í)行時輸入“5”時的輸出結(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í)行時輸入“3 5”時的輸出結(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í)行時輸入“12 15 23 35 120 60”時的輸出結(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í)行時輸入“12 15
12、9”時的輸出結(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í)行時輸入“5 3”時的輸出結(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. 以下程序的功能是求三個數(shù)的最小公倍數(shù),請
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是否為素數(shù),是素數(shù),函數(shù)返回1,否則返回0。請?zhí)羁読nt isprime(int a)int i;for(i=2;i<=a/2;i+)if(a%i=0) ; ;3以下函數(shù)的功能是求n的階乘,請?zhí)羁?。long f(int n)int i;long s; s= ;for(i=1;i<=n;i+) s= ;return s;4以下程序中,函數(shù)fun的功能是計算x2-2x+6 ,主函數(shù)中將調(diào)用fun函
27、數(shù)計算: (x+8)2-2(x8)+6和sin2(x)-2sin(x)+6請?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編寫一個自定義函數(shù),其功能是判斷一個整數(shù)是否為素數(shù)。主函數(shù)負(fù)責(zé)輸入兩個整數(shù)m、n,然后通過調(diào)用自定義函數(shù)判斷并輸出m和n之間(包括m和n)的所有素數(shù)。(注:必須使用自定義函數(shù),否則程序正確只得一半分)2編寫一個函數(shù),該函數(shù)可以檢驗一個整數(shù)表示的年份是否為閏年。若是,函數(shù)返回1,否則返回0。主函數(shù)負(fù)責(zé)輸入一個表示年份的整數(shù),并調(diào)用判斷閏年的函數(shù)輸出該年份是否是閏
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TS 6201:2025 EN Health informatics - Personalized digital health framework
- 2025版新型實木地板安裝與維護(hù)一體化合同
- 2025年在線教育平臺課程銷售傭金及教學(xué)資源合作合同
- 2025年度綜合性幼兒園運(yùn)營管理承包合同
- 2025年激光測距儀、測向儀合作協(xié)議書
- 2025年鋼鐵廠鋼筋施工勞務(wù)承包合同:成本控制
- 業(yè)務(wù)部門財務(wù)支持計劃
- 幼兒園小班的校園文化建設(shè)工作計劃
- 玩中學(xué)學(xué)中玩計劃
- 細(xì)化貨物標(biāo)識與管理的措施計劃
- 表冷器更換施工方案
- 瀝青集料篩分反算計算表格(自動計算)
- 2023年國家護(hù)理質(zhì)量數(shù)據(jù)平臺
- 惡性高熱課件
- 真空滅弧室基本知識課件
- 川教版四年級(上、下冊)生命生態(tài)與安全教案及教學(xué)計劃附安全知識
- 工齡認(rèn)定文件
- 教師招聘考試歷年真題(物理)及答案
- 給藥護(hù)理 口服給藥法
- 初中歷史人教版八年級上經(jīng)濟(jì)和社會生活中國近代民族工業(yè)的發(fā)展
- YS/T 562-2009貴金屬合金化學(xué)分析方法鉑釕合金中釕量的測定硫脲分光光度法
評論
0/150
提交評論