C语言的三部分之一.pptVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言的三部分之一

phinex hung 2002 Chapter 5 函式 (Function) 函式 (Function) C語言的三部分之一 宣告與流程控制,函式,指標 何謂函式? 小的模組單元 為何需要函式? 由繁化簡 已用過或學過的函式 main(), printf(), scanf(), … 常用的內建函式 (1/2) 數學運算 pow(), sqrt(), log(), … 字元處理 isascii(), isdigit(), isspace(), … 字串處理 strcpy(), strcmp(), strcat(), … 輸入/輸出 fopen(), fclose(), fgets(), … 記憶體管理 malloc(), calloc(), realloc(), … 常用的內建函式 (2/2) 資料轉換 atoi(), atof(), strtol(), … 時間 time(), clock(), stime(), … 其他 sleep(), system(), … 內建函式的用法 標頭檔 #includexxx.h 額外的編譯指令 數學函式 (libm.a): gcc -Wall -lm xxx.c -o xxx 函式的用法 (用man察看) double pow(double x, double y) 輸入double type的x跟y,會傳回一個double的xy 內建函式應用範例 #include math.h #include stdio.h int main(void) { int x, y; printf(input two num:); scanf(%d %d, x, y); printf(%d**%d = %f\n, x, y, pow((double) x, (double) y)); return 0; } 寫自己的函式 #include stdio.h long pow(int a, int b) { long p = 1; int i; for(i = 0; i b; i++) p *= a; return p; } int main(void) { int x, y; printf(input two num:); scanf(%d %d, x, y); printf(%d**%d = %ld\n, x, y, pow( x, y)); return 0; } 前置處理器 (Pre-compiler) 處理 ’#’ 開頭的資訊 將程式內容置換成定義值 範例: 函式的格式 傳回值型態 函式名稱(傳入值型態 …){ //函式主體內容 } 傳回值與傳入值型態:void, int, int *, char, … 傳回值用:return() 傳入值的名稱不一定要和呼叫者一致,但型態一定要一致 呼叫者:pow(x, y) 自訂函式:long pow(int a, int b) 自訂函式中的內部宣告的名稱,不得和傳入值一樣 函式的格式 傳回值型態 函式名稱(傳入值型態 …){ //函式主體內容 } Ex. long pow (int a); int compare (int a, int b); int printi (void); void abc (void); 函式宣告 (1/3) 如函式主體在呼叫者之後,則必須先宣告 若函式主體在呼叫者之前,則不需要先宣告 原因: statement by statement 一行一行的執行 函式宣告 (2/3) 錯誤例子 函式宣告 (3/3) 兩種不同的函示使用方法 函式使用注意事項 使用函式之前,必須先做過函式的宣告,才可以使用 避免使用與語言保留字一樣或類似的函式名稱 使用函式不一定要有回傳值或傳入值(void) 傳入函式與接受自函式的數值變數,其型態必須與函式的定義一致。如果不一樣則必須做變數型態轉換 變數值傳入函式後,即使在函式中該變數值有所變化,也不會影響到呼叫者中的該變數值?傳值呼叫(call by value) 如果要將傳入的變數值有所變化必須透過傳址呼叫(call by reference)的方式,此時必須用到指標 函式範例 #include stdio.h long pow( int a , int b) //傳入值與傳回值型態 { long p = 1; //函式內部宣告 int i; //為local的變數,函式結束就消失 for(i = 0; i b; i++) //函式主體內容 p *= a; return p; //將運算值傳回 } int main(void) { int x, y;

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档