版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
函數(shù)
本章涉及指針,需要先學數(shù)組、指針部分內容本章主要內容函數(shù)的定義頭文件的產(chǎn)生函數(shù)定義過程簡單參數(shù)傳遞變量的作用范圍函數(shù)的嵌套函數(shù)使用事例#include"stdio.h"doublefun(intn){/*函數(shù)定義*/ inti; doublel=1; if(n<2)return1; elsefor(i=2;i<=n;i++)l*=i;
returnl;}intmain(){intn,m;doublec;printf("輸入nm:\n");scanf("%d%d",&n,&m);c=fun(n)/(fun(m)*fun(n-m));/*調用函數(shù)*/
printf("%lf",c);}問題:計算
c=n!/(m!(n-m)!)n和m都是輸入的整數(shù)函數(shù)的定義函數(shù)定義格式:[返回值類型]函數(shù)名(形式參數(shù)表){函數(shù)體}說明:類型說明符省略時,相當于整形函數(shù)中聲明的參數(shù)稱為形式參數(shù),調用時代入的值稱為實際參數(shù)形式參數(shù)表可以為空,但是兩側的()不能省略函數(shù)用return語句返回值,返回值類型必須與函數(shù)頭聲明的返回類型一致沒有返回值時,類型應聲明成void,這種情況下,可以沒有return語句或用空return函數(shù)必須先聲明后使用,如果函數(shù)說明出現(xiàn)在調用之后時,要先用函數(shù)頭說明函數(shù)舉例:floatarea(floatradius){floata;a=3.14*radius*radius;returna;}函數(shù)聲明在main函數(shù)后時#include"stdio.h"doublefun(intn);/*函數(shù)的原型聲明,還可以寫作double(int任意變量名)或doublefun(int)*/intmain(){intn,m;doublec;printf("輸入nm:\n");scanf("%d%d",&n,&m);c=fun(n)/(fun(m)*fun(n-m));/*調用函數(shù)*/ printf("%lf",c);}doublefun(intn){/*函數(shù)定義*/ inti; doublel=1; if(n<2)return1; elsefor(i=2;i<=n;i++)l*=i; returnl;}頭文件的產(chǎn)生
函數(shù)定義過程1.函數(shù)返回數(shù)值類型是什么2.函數(shù)名叫什么3.函數(shù)要接受幾個參數(shù),分別是什么類型4.函數(shù)實現(xiàn),使用參數(shù),計算結果5.返回結果6.一般函數(shù)只是來料加工,不包含輸入輸出函數(shù)的定義與執(zhí)行引用(C++選學)//引用就是別名,給一個變量多個名字#include<stdio.h>intmain(){ inta=20,&y=a; y=30; printf("%d\n",a);}參數(shù)傳遞方式值傳遞地址傳遞引用傳遞參數(shù)傳遞-數(shù)值傳遞#include<stdio.h>voidf(intb){ b++; printf("b=%d\n",b);}intmain(){inta=1;f(a); printf("a=%d\n",a);;}參數(shù)傳遞-地址傳遞#include<stdio.h>voidf(int*b){ (*b)++; printf("*b=%d\n",*b);}intmain(){inta=1;f(&a); printf("a=%d\n",a);}參數(shù)傳遞-引用傳遞(選學)#include<stdio.h>voidf(int&b){ b++; printf("b=%d\n",b);}intmain(){inta=1;f(a); printf("a=%d\n",a);}參數(shù)傳遞舉例#include"stdio.h"voidfun(int*b){intt=5;printf("1thb=%d\n",*b);
*b=t;/*給*b(變量a)賦值*/printf("2thb=%d\n",*b);}intmain(){m1:inta=2;m2:fun(&a);m3:printf("3tha=%d\n",a);}#include"stdio.h"voidfun(int*b){intt=5;printf("1thb=%d\n",*b);
b=&t;/*給變量b賦值t的地址*/printf("2thb=%d\n",*b);}intmain(){m1:inta=2;m2:fun(&a);m3:printf("3tha=%d\n",a);}參數(shù)傳遞舉例#include<stdio.h>voidf(inta,int*b){ intt; t=a;a=*b;*b=t;}intmain(){intx=2,y=3;f(x,&y); printf("%d,%d\n",x,y);}變量作用范圍全局級變量:全局有效函數(shù)級變量:本函數(shù)內有效復合語句級變量:本復合語句內有效當出現(xiàn)不同級別變量重名時,遵從局部優(yōu)先原則,最內層有效變量作用范圍示例(一)#include<stdio.h>inta;voidf(intb){ intc; a=1; b=2; d=3;}intmain(){ intd; { inte; a=1; b=2; c=3; d=4; e=5; } a=1; b=2; c=3; d=4; e=5;}變量作用范圍示例(二)#include<stdio.h>inta=10;voidf1(){a++;printf("f1:%d\n",a);}voidf2(){inta=-5;a++;printf("f2:%d\n",a);}intmain(){ inta=1;//刪除后再運行一次
a++; printf("1:%d\n",a); {inta=-3;a++;printf(“2:%d\n",a);} printf(“3:%d\n",a); {a++;printf(“4:%d\n",a);}printf(“5:%d\n",a); f1(); printf(“6:%d\n",a); f2(); printf(“7:%d\n",a);}嵌套#include<stdio.h>voidf1(){ putchar('1');putchar('2');}voidf2(){putchar('3');f1();putchar('4');}intmain(){ putchar('5');f2();putchar('6');}函數(shù)舉例-1//問題:用牛頓迭代法求方程f(x)=2*x*x*x-4*x*x+3*x-6根//x=x0-f/f'#include<stdio.h>#include<math.h>doublef(doublex){ return2*x*x*x-4*x*x+3*x-6;}doublefb(doublex){ return6*x*x-8*x+3;}intmain(){ doublex0,x=0; x0=3.0; x=x0-f(x0)/fb(x0); while(fabs(x-x0)>1e-5){ x0=x;x=x0-f(x0)/fb(x0); } printf("%lf\n",x); }函數(shù)舉例-21.分別用矩形法和梯形法求#include<stdio.h>#include<math.h>doublef(doublex
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國絕熱隔音材料行業(yè)十三五發(fā)展規(guī)劃及投資需求分析報告
- 2024-2030年中國糖果、巧克力行業(yè)競爭策略及投資盈利預測報告
- 2024-2030年中國粉狀氧化銅行業(yè)發(fā)展狀況規(guī)劃分析報告
- 2024-2030年中國窗簾裝飾材料項目可行性研究報告
- 2024-2030年中國福建省小水電行業(yè)發(fā)展前景預測規(guī)劃分析報告
- 春季高考職業(yè)教育升學班校企合作方案
- 2024-2030年中國石英坩堝行業(yè)前景預測發(fā)展策略分析報告
- 2024全新家具定制與維修服務的2024年度合同范本
- 工業(yè)園區(qū)混凝土擋土墻施工方案
- 2024年建筑項目全面勞務清包合同模板
- 裝修垃圾清運處置方案
- JC-T 2536-2019水泥-水玻璃灌漿材料
- 品牌授權協(xié)議書
- 藝術設計就業(yè)職業(yè)生涯規(guī)劃
- 《狙擊手》和《新神榜楊戩》電影賞析
- 槍庫應急處置預案
- 老年患者術后譫妄的護理干預
- 《凸透鏡成像的規(guī)律》課件
- 倉庫管理中的客戶服務和溝通技巧
- 規(guī)劃選址及用地預審
- 土砂石料廠項目融資計劃書
評論
0/150
提交評論