C语言程式设计--函数课件

PPT
  • 阅读 54 次
  • 下载 0 次
  • 页数 28 页
  • 大小 342.866 KB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
C语言程式设计--函数课件
可在后台配置第一页与第二页中间广告代码
C语言程式设计--函数课件
可在后台配置第二页与第三页中间广告代码
C语言程式设计--函数课件
可在后台配置第三页与第四页中间广告代码
C语言程式设计--函数课件
C语言程式设计--函数课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 28
  • 收藏
  • 违规举报
  • © 版权认领
下载文档15.00 元 加入VIP免费下载
文本内容

【文档说明】C语言程式设计--函数课件.ppt,共(28)页,342.866 KB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-44473.html

以下为本文档部分文字说明:

C語言程式設計--函數本章學習重點7-1函數的概念7-2函數的基本形式7-3函數的呼叫7-4遞迴函數7-5常用的數學函數7-6儲存類別函數的概念函數的優點分工合作較好的可讀性便於修改、除錯提高撰寫程式的效

率函數可分成兩種型態函數庫中原先就有的現成函數使用者依程式需求設計的函數函數的基本形式函數定義的語法傳回值型態函數名稱(參數傳遞)參數傳遞型態{函數主體}範例Ch7_2Ch7_2兩數相加的函數1#in

clude<stdio.h>2voidmain()3{4inta=3,b=2,c;5intsum(int,int);6c=sum(a,b);7printf("sum(%d,%d)=%d\n",a,b,c);8}9

intsum(x,y)10intx,y;11{12intz;13z=x+y;14return(z);15}程式執行結果說明sum(3,2)=5範例Ch7_2主程式副程式3322abxy55cz函數呼叫的語法語法函數名稱(參數);說明

函數如果不需要呼叫參數,則括號內的參數可以省略。若參數包含一個以上時,需以逗號隔開。呼叫與被呼叫的函數其參數是相對應的,且型態要一致。函數的傳回值函數的傳回值,有以下幾種情況:函數沒有傳回值,傳回值型態為void函數傳回值為整數(int)時,

可以省略函數有傳回值時,可以在傳回值上做運算函數的傳回值型態應該和return中的型態要一樣使用return可以立即結束函數的執行Ch7_3計算圓面積的函數1#include<stdio.h>2do

ublearea(r)3floatr;4{5doubles;6s=r*r;7return(s);8}9voidmain()10{11floatr;12doublea;範例Ch7_3程式執行結果Pleaseinputthecircler:5

Thecircleareais78.54000013printf("Pleaseinputthecircler:\n");14scanf("%f",&r);15a=area(r)*3.1416;16printf("Thecircleareais%

f\n",a);17}範例Ch7_3範例Ch7_4Ch7_4函數求絕對值與平方值1#include<stdio.h>2voidmain()3{4intabs(int);5intsqrt(int);6inta=–3,b,c;7b=abs(a

);8c=sqrt(a);9printf("theabsofa=%d\n",b);10printf("thesqrtofa=%d\n",c);11}12intabs(intx)13{14inty;15if(x<0)16y=–x;17else18y

=x;19returny;20}21intsqrt(intz)22{23ints;24s=z*z;25returns;26}範例Ch7_4程式執行結果theabsofa=3thesqrtofa=9範例Ch7_4遞迴函數遞迴函數是指在程式中直接或間接呼叫該程式本身。程式中使用遞迴函數,將可

處理須重覆運算的問題。費氏數列費氏數列的規則如下所示:費氏數列的數學表示式:0ifn=0Fib(n)=1ifn=1fib(n–1)+fib(n–2)ifn>=2n0123456…fib(n)0112358…範例Ch7_5Ch7_5遞迴函數求費氏數列1#include<stdio.h

>2intfib(intn)3{4if(n==0)return(0);5elseif(n==1)return(1);6elsereturn(fib(n–1)+fib(n–2));7}8voidmain()9{10intfib(

int);11ints;12s=fib(6);13printf("Thefib(6)=%d\n",s);14}程式執行結果說明:Thefib(6)=8f(2)f(1)f(3)f(1)f(0)f(2)f(1)f(0)f(4)f(

2)f(1)f(3)f(1)f(0)f(2)f(1)f(0)f(4)f(2)f(1)f(3)f(1)f(0)f(5)f(6)範例Ch7_5階乘函數定義如下:1ifn=0n*fact(n–1)ifn>=1說明:fact(n)3!=3

*2!=3*2*1!=3*2*1*0!=3*2*1*1=6fact(3)=3*fact(2)=3*2*fact(1)=3*2*1*fact(0)=3*2*1*1=6範例Ch7_7Ch7_7利用遞迴函數求n階乘1#include<stdio.h>2void

main()3{4intfact(int);5intn;6printf("請輸入n階乘:");7scanf("%d",&n);8printf("%d!=%d\n",n,fact(n));9}10intfact(in

tn)11{12if(n==0)return(1);13elsereturn(n*fact(n–1));14}程式執行結果說明:請輸入n階乘:66!=7206!=6*fact(5)=6*5*fact(4)=6*5*4*fact(3)=6*5*4*3*fact(2)=

6*5*4*3*2*fact(1)=6*5*4*3*2*1*fact(0)=6*5*4*3*2*1*1=720範例Ch7_7常用的數學函數在程式中使用下列數學函數時,需在開頭加上#include<math.h>函數功能敘述格式x和y的資料型態exp指數函數exexp(x);double或fl

oatlog自然對數函數;ln(x)log(x);double或floatlog10以10為底的對數函數log10(x);double或floatsqrtx的開平方根值sqrt(x);double或floatfabsx的絕對值fabs(x);double或floatpow

x的y次方值;xypow(x,y)doublesin正弦函數sin(x)double或floatcos餘弦函數cos(x)double或floattan正切函數tan(x)double或float儲存類別

C語言的儲存類別(storageclass),也就是變數的生命期(lifetime)及可見度(scope)。一般儲存類別的宣告語法如下:儲存類別資料型態識別字一般將儲存類別區分為auto、static、register、extern四大類。儲存類別關鍵字生命期可見度自動auto暫時區域變數靜態

static永久可成為全域變數暫存器register暫時區域變數外部extern永久全域變數內在(auto)變數宣告為auto的變數,它的生命期只存活在函數的區塊(block)中。它是一個區域變數(localvariable)。#include<stdio.h>voidmain(){autoi

nti;.{autointj;.變數j變數i.可見度可見度}.}靜態(static)變數內部靜態(staticauto)變數內部靜態變數是屬於區域變數(localvariable)。外部靜態(staticexternal)變數外部靜態變數是屬於全域變數(globalvaria

ble)。staticintx;/*外部靜態變數*/voidmain(void){staticinty;/*內部靜態變數*/變數x.可見度(整個程式).變數y.可見度}範例Ch7_12Ch7_12全域變數

與區域變數1#include<stdio.h>2voidfunction(void);3staticintx=1;4voidmain()5{6staticintx=3;7printf("外在區域變數x=%d\n",x);8{9staticintx=10;10printf("內在區域變數x=%d\n

",x);11}12printf("外在區域變數x=%d\n",x);13function();14printf("區域變數x=%d\n",x);15}16voidfunction(void)17{18printf("全域變數x=%d\n",x);19}•程式執行結果外在

區域變數x=3內在區域變數x=10外在區域變數x=3全域變數x=1區域變數x=3範例Ch7_12語法extern資料型態變數名稱;inta;voidmain(){‧‧}voidadd(){externinta;‧‧}prog_1.cprog_2.c外在(external

)變數合併兩個程式:prog_1.c(主程式)prog_2.c編譯器prog_1.objprog_2.obj連結程式prog_1.exe外在(external)變數

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?