版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)五 函數(shù)與編譯預(yù)處理1、 任務(wù)名稱:通過調(diào)試該程序,熟悉函數(shù)的調(diào)用方法及單步跟蹤鍵F7和F8的不同。源代碼:#include void main() void fun(int i, int j, int k); int x,y,z; x=y=z=6; fun(x,y,z); printf(x=%d;y=%d;z=%dn,x,y,z);void fun(int i, int j, int k) int t; t=(i+j+k)*2; printf(t=%dn,t);運(yùn)行結(jié)果:2、 任務(wù)名稱:源代碼:#include void main() int x=10,y=20;void swap (i
2、nt ,int);printf(1)in main :x=%d,y=%dn,x,y);swap(x,y);printf(4)in main :x=%d,y=%dn,x,y); void swap (int m,int n) int temp;printf(2)in main :m=%d,n=%dn,m,n);temp=m;m=n;n=temp;printf(3)in main :m=%d,n=%dn,m,n);運(yùn)行結(jié)果:源代碼:#include void main() int x=10,y=20;void swap (int ,int);printf(1)in main :x=%d,y=%dn
3、,x,y);swap(x,y);printf(4)in main :x=%d,y=%dn,x,y); void swap (int x,int y) int temp;printf(2)in main :x=%d,y=%dn,x,y);temp=x;x=y;y=temp;printf(3)in main :x=%d,y=%dn,x,y);運(yùn)行結(jié)果:運(yùn)行結(jié)果分析:形參具有“用之則建,用完則撤”的特點(diǎn)。在函數(shù)定義時(shí),函數(shù)名后面圓括號(hào)內(nèi)的參數(shù)稱為形參;在函數(shù)調(diào)用時(shí),函數(shù)名后面圓括號(hào)內(nèi)的參數(shù)稱為實(shí)參。對(duì)于實(shí)參,在調(diào)用函數(shù)中對(duì)其進(jìn)行定義時(shí),不僅指明它的類型,而且系統(tǒng)還為其分配存儲(chǔ)單元。而對(duì)于形參,定義時(shí)
4、僅僅只是指明它的類型,并不在內(nèi)存中為它們分配存儲(chǔ)單元,只是在調(diào)用時(shí)才為其分配臨時(shí)存儲(chǔ)單元,函數(shù)執(zhí)行結(jié)束,返回調(diào)用函數(shù)時(shí),該存儲(chǔ)單元立即撤銷。3、 任務(wù)名稱:實(shí)現(xiàn)求素?cái)?shù)源代碼:#include #include void main() int m; void prime(int ) ; /* 申明求素?cái)?shù)函數(shù) */printf(Please input a data m=:);scanf(%d,&m); prime(m); /* 調(diào)用求素?cái)?shù)函數(shù) */ printf(n);void prime(int n) int i,k; k=sqrt(n); for(i=2;i=k+1)printf(This
5、is a prime number);else printf(This isnt a prime number);運(yùn)行結(jié)果:4、 任務(wù)名稱:從鍵盤上輸入的若干個(gè)數(shù)并求出最大值。源代碼:#include void main( ) int i;int s10,max;int Findmax(int x ,int n );printf(Input 10 number : n); for(i=0;i10;i+) scanf(%d,&si); for (i=0;i10; i+)printf(%4d,si);printf(nthe max is %dn ,Findmax(s,10);int Findmax
6、( int x , int n ) int max,i; max=x0; for ( i=1; in; i+) if(maxxi) max=xi; return (max);運(yùn)行結(jié)果:5、 任務(wù)名稱:從鍵盤上輸入的若干個(gè)數(shù)按升序排序源代碼:#include void main( ) int i , k; void sort(int x,int n);float s100, j ;printf( Input number : n);for (i=0; scanf(%f,&j); i+)si=j;sort(s, i);for (k=0; ki; k+)printf( %f , sk);printf
7、(n);void sort( int x, int n ) int i, j, temp,min; for ( i=0; in-1; i+) min=i; for(j=i+1;jn;j+) if ( xj xmin)min=j; if(min!=i) temp=xi; xi=xmin; xmin=temp; 運(yùn)行結(jié)果:6、 任務(wù)名稱:編寫程序,實(shí)現(xiàn)由主函數(shù)輸入m、n,按下述公式計(jì)算并輸出的值。源代碼:#include void main( ) float fac(int n);int n,m;float C;printf(輸出兩個(gè)整數(shù):);scanf(%d,%d,&n,&m);if(mn) C
8、=fac(m)/(fac(n)*fac(m-n);printf(C=%f,C);elseprintf(數(shù)據(jù)錯(cuò)誤);printf(n);float fac(int n)float f;if(n0)printf(n0,錯(cuò)誤);else if (n=0|n=1)f=1;elsef=fac(n-1)*n;return(f);運(yùn)行結(jié)果:7、 任務(wù)名稱:說明下面程序的功能。源代碼:#include void main( ) int m, k; void dtoo( int n ,int r ); printf(Pleae input the decimal number:); scanf(%d,&m);p
9、rintf( nPlease input a number in (2,8,16):);scanf(%d,&k); dtoo(m,k);printf(n);void dtoo( int n ,int r ) if(n=r) dtoo(n/r,r); printf(%d,n%r); 運(yùn)行結(jié)果:運(yùn)行結(jié)果分析:此程序是輸出較小值8、 任務(wù)名稱:上機(jī)驗(yàn)證源代碼:# define LOW 10# define HIGH 5# define CHANGE 2int i = LOW ;#include void main( ) int workover ( int i ) , reset ( int i )
10、; int i = HIGH ; reset ( i / 2) ; printf( i = %d n , i ); reset ( i = i / 2) ; printf( i = %d n , i ); reset ( i / 2) ; printf( i = %d n , i ); workover ( i ); printf( i = %d n , i ); int workover ( int i ) i = ( i % i ) * ( i * i ) / ( 2 * i ) + 4) ; printf( i = %d n , i ); return ( i );int reset (
11、 int i ) i = i = CHANGE ? HIGH : LOW ; return ( i );運(yùn)行結(jié)果:運(yùn)行結(jié)果分析:“變量用之不盡,一寫就走”。在main()主函數(shù)中reset(i/2)和reset(i=i/2)不同,第一個(gè)reset的i沒有被賦值到,所以該函數(shù)調(diào)用結(jié)束后還保持原來的值;而第二個(gè)reset的i被賦值了,所以函數(shù)調(diào)用結(jié)束后以前的值就沒有。全局變量:在所函數(shù)外面定義的變量,其有效范圍到整個(gè)源程序結(jié)尾;局部變量:在函數(shù)內(nèi)部定義的變量或在函數(shù)頭部定義的形參,其有效范圍只在所定義的函數(shù),局部變量具有“用之則建,用完則撤”的特點(diǎn)。在不同函數(shù)內(nèi)定義的變量同名互不干擾。如果一個(gè)源程
12、序中的局部變量和全局變量同名,則局部變量?jī)?yōu)先。9、任務(wù)名稱:觀察靜態(tài)局部變量在調(diào)用過程中的變化。源代碼:#include void main( )int i ; int f(int);for ( i = 1; i = 5; i +) printf( (%d):% dn, i,f(i);printf( n);int f ( int n)static int j = 1;j = j * n;return( j );運(yùn)行結(jié)果:運(yùn)行結(jié)果分析:靜態(tài)局部變量。如果希望在函數(shù)調(diào)用結(jié)束后仍然保留函數(shù)中定義的局部變量的值,則可以將該局部變量定義為靜態(tài)局部變量(或稱局部靜態(tài)變量)。靜態(tài)局部變量具有這樣一些特點(diǎn):全
13、局壽命:靜態(tài)局部變量的數(shù)據(jù)存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)的存儲(chǔ)單元中,在函數(shù)調(diào)用結(jié)束后,它的值并不消失,直到整個(gè)應(yīng)用程序執(zhí)行結(jié)束,它的存儲(chǔ)空間才被收回去。局部可見性:其作用域只在定義它的函數(shù)內(nèi)部,盡管它的值在函數(shù)調(diào)用結(jié)束后并不消失,但其他函數(shù)仍然不能訪問它,在進(jìn)入到它所在的函數(shù)內(nèi),它的值才可見。初始化的特點(diǎn):若在定義該局部變量時(shí)有賦初值的,則賦初值只在編譯過程中進(jìn)行,只賦值一次;若沒有賦初值,則默認(rèn)的初值為0(數(shù)值型)或空字符(字符型)。10、 任務(wù)名稱:在程序運(yùn)行前宏NUM的值源代碼:#include stdio.h#define N 2#define M N+1#define NUM (M+1)*M/2main() int i,n=0; for (i=1; i(y)?(x):(y)#define PR printf#include void main() int a,b,c,d,x;a=5;b=10;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 項(xiàng)目管理人員安全培訓(xùn)試題(基礎(chǔ)題)
- 企業(yè)主要負(fù)責(zé)人安全培訓(xùn)試題高清
- 廠級(jí)安全培訓(xùn)試題全面
- 廠級(jí)職工安全培訓(xùn)試題附完整答案(典優(yōu))
- 2023-2024學(xué)年貴州省織金縣第一中學(xué)高三5月考試數(shù)學(xué)試題
- 第六單元-第1課時(shí)-平移和旋轉(zhuǎn)(分層作業(yè))-【上好課】三年級(jí)數(shù)學(xué)上冊(cè)同步高效課堂系列(蘇教版)
- 2024屆菏澤市重點(diǎn)中學(xué)高三下期末質(zhì)量調(diào)研(一模)數(shù)學(xué)試題
- 店長(zhǎng)工作總結(jié)結(jié)尾
- 校自律會(huì)工作總結(jié)
- 拼音公開課課件
- 博物館陳列布展互動(dòng)多媒體軟件設(shè)計(jì)開發(fā)技術(shù)方案框架
- 《13875界面設(shè)計(jì)》自考復(fù)習(xí)必備試題庫(含答案)
- 土的擊實(shí)試驗(yàn)
- 德育工作講座稿
- GB 4806.9-2023食品安全國家標(biāo)準(zhǔn)食品接觸用金屬材料及制品
- 生理心理學(xué)學(xué)習(xí)與記憶課件
- 手術(shù)室安全管理課件
- 建筑拆除方案PPT模板
- 2022湖北國際物流機(jī)場(chǎng)限公司招聘【105人】上岸筆試歷年難、易錯(cuò)點(diǎn)考題附帶參考答案與詳解
- 特殊的比較級(jí)最高級(jí)單詞歸納匯總表格(較全)
- 優(yōu)質(zhì)課課件-碳酸鈉與碳酸氫鈉
評(píng)論
0/150
提交評(píng)論