6 使用者函數 6.1 函數定義 宣告函數 呼叫函數 呼叫多個函數 6-6

Slides:



Advertisements
Similar presentations
C++语言程序设计教程 第5章 构造数据类型 第6章 C++程序的结构.
Advertisements

C语言程序设计 主讲教师 :张群燕 电话:
日月光·伯爵居项目介绍.
香港故事之 三年零八個月的艱苦歲月 組員: 梁珮瑩 吳遠莉 李琪 李青儀 方松皓.
我的故事 ————往事回首.
女生成功靠什么? 09英本四班 傅柏双.
国际投资环境罗氏评级法 美国.
社会保障学 第5章 失业保险.
第一章 C语言概述 计算机公共教学部.
主 题 班 会 团 结   协 作    力 量.
理想.
固定与搬运技术 义乌市中心医院 陈红卫.
簡介內容 校長的話 創校簡史 校訓 辦學理念 辦學特色 未來展望 優質校園 全新設備 優秀師資 優質學習環境 辦學績效 體育績優
案例分析 胎记美容记 第6小组
第4章 数组 数组是由一定数目的同类元素顺序排列而成的结构类型数据 一个数组在内存占有一片连续的存储区域 数组名是存储空间的首地址
人生五色臉 年輕十歲必學的小動作,九個保持身體健康的的小訣竅 人們常在不經意間做些小動作,並認為這是身體的本能反應,
C语言程序设计 第八章 函数.
Introduction to the C Programming Language
第5章 函数与模块化设计 学习目的与要求: 掌握函数的定义及调用方法 理解并掌握参数的传递方法 理解函数的嵌套与递归调用
第5章 函数与预处理 《 C语言程序设计》 (Visual C++ 6.0环境) 本章导读
主讲教师:吴琼 微信群:C语言2016 QQ群: 密码scu2016 昵称:“真名+学号”
資料大樓 --談指標與陣列 綠園.
函數(一) 自訂函數、遞迴函數 綠園.
第4章 函数与预处理 4.1 概述 4.2 定义函数的一般形式 4.3 函数参数和函数的值 4.4 函数的调用 *4.5 内置函数
Scope & Lifetime 前言 Local Scope Global Functions & Objects
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
Object-Oriented Programming in C++ 第一章 C++的初步知识
第三章 C++中的C 面向对象程序设计(C++).
第12章 從C到C++語言 12-1 C++語言的基礎 12-2 C++語言的輸出與輸入 12-3 C++語言的動態記憶體配置
第 6 章 函式.
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
第7章 编译预处理 本章要求: 本章重点: 本章难点: 掌握用#define定义无参数宏和带有参数宏定义和调用方法;
第四章 小技巧.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
C++语言程序设计 第二章 C++简单程序设计.
切換Dev c++顯示語言 工具->環境選項(V)->介面->language (Chinese TW)
2.1 C语言的数据类型 2.2 常量与变量 2.3 变量赋初值 2.4 各类数值型数据间的混合运算 2.5 C语言的运算符和表达式
第七章 函数及变量存贮类型 7.1 函数基础与C程序结构 7.2 函数的定义和声明 7.3 函数的调用 7.4 函数的嵌套与递归
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
C++ 程式設計 基礎篇 張啟中 Chang Chi-Chung.
Chapter 2 & Chapter 3.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
C语言大学实用教程 第5章 函数与程序结构 西南财经大学经济信息工程学院 刘家芬
程式結構&語法.
第 二 章 数据类型、运算符与表达式.
C语言复习2----函数.
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
Oop8 function函式.
物件導向程式設計 CH2.
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
Chap 5 函数 5.1 计算圆柱体积 5.2 数字金字塔 5.3 复数运算.
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
第11章 從C到C++語言 11-1 C++語言的基礎 11-2 C++語言的資料型態與運算子 11-3 C++語言的輸出與輸入
C程序设计.
第5章 函 数.
C语言程序设计 李祥 QQ:
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
项目1 C程序设计起步 学习目标: 通过该项目你可以知道: C语言的用途。 C语言的基本符号和关键字。 C语言程序的结构及特点。
第6章 预 处 理.
第7章 程序的结构 四、生存期与存储属性 五、extern关键字与外部连接属性 六、static关键字与内部连接属性.
第二章 类型、对象、运算符和表达式.
第二章 基本数据类型 ——数据的表示.
挑戰C++程式語言 ──第9章 函數.
#include <iostream.h>
《数据结构与算法设计》第一部分 面向对象的C++程序设计基础.
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
變數與資料型態  綠園.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

6 使用者函數 6.1 函數定義 6-2 6.1.1 宣告函數 6-3 6.1.2 呼叫函數 6-4 6.1.3 呼叫多個函數 6-6 6 使用者函數 6.1 函數定義 6-2 6.1.1 宣告函數 6-3 6.1.2 呼叫函數 6-4 6.1.3 呼叫多個函數 6-6 6.1.4 多重呼叫函數 6-8 6.1.5 宣告函數原型 6-10 6.2 傳遞參數 6-12 6.2.1 傳遞單一參數 6-12 6.2.2 傳遞多個參數 6-14 6.2.3 傳遞常數符號 6-16 6.2.4 傳遞變數數值 6-18 6.2.5 傳遞變數位址 6-20 6.2.6 傳遞預設參數 6-22 6.3 函數傳回值 6-23 6.3.1 return敘述 6-24 6.3.2 傳回數值 6-26 6.3.3 傳回布林值 6-27 6.4 變數範圍 6-28 6.4.1 區域變數auto 6-28 6.4.2 公用變數 6-30 6.4.3 外部變數extern 6-32 6.4.4 暫存器變數register 6-35 6.4.5 靜態變數static 6-36 6.5 函數特殊用途 6-38 6.5.1 遞迴函數 6-38 6.5.2 exit函數 6-40 6.5.3 定義函數巨集 #define 6-41

6.1 函數定義 函數呼叫與返回

6.1.1 宣告函數 傳回型態 函數名稱 (參數列) { //函數本體 return 傳回值; } 範例 6.1.1 宣告函數 傳回型態 函數名稱 (參數列) { //函數本體 return 傳回值; } 範例 void womain(void) //使用者函數 { cout << "How are you doing main, from womain."; cout << endl; }

6.1.2 呼叫函數 函數名稱 (參數0, 參數1, 參數2, …); 範例 womain(); //呼叫使用者函數womain

6.1.2 呼叫函數 (續) 呼叫函數方塊圖

6.1.3 呼叫多個函數 呼叫多個函數方塊圖

6.1.3 呼叫多個函數 (續) 範例

6.1.4 多重呼叫函數 多重呼叫函數方塊圖

6.1.4 多重呼叫函數 (續) 範例

6.1.5 宣告函數原型 傳回型態 函數名稱 (參數型態0, 參數型態1, 參數型態2, …); 範例 6.1.5 宣告函數原型 傳回型態 函數名稱 (參數型態0, 參數型態1, 參數型態2, …); 範例 void womain(void); //宣告使用者函數原型 void main(void) //main 函數 { cout << "Hi womain, This is main." << endl; womain(); //呼叫使用者函數womain cout << "Fine, thank you!" << endl; } void womain(void) //使用者函數 cout << "How are you doing main, from womain."; cout << endl;

6.2 傳遞參數 傳遞參數流程

6.2.1 傳遞單一參數 範例 void number(int); //宣告函數原型

6.2.2 傳遞多個參數 void sum(int, int, int); //宣告函數原型

6.2.3 傳遞常數符號 void area(float, float); //宣告函數原型

6.2.4 傳遞變數數值 void calculate(int, int, int); //宣告函數原型

6.2.5 傳遞變數位址 void swap(int &, int &); //宣告函數原型

6.2.6 傳遞預設參數 範例 void weight(float lb = 1.0); //指定參數預設值 6.2.6 傳遞預設參數 範例 void weight(float lb = 1.0); //指定參數預設值 void weight(float lb) //重量轉換函數 { cout << lb << "磅 = " << lb/2.20462 << "公斤"; //顯示函數傳回值 cout << endl; }

6.3 函數傳回值 函數傳回值

6.3.1 return敘述 return 傳回值; 範例一 int main() //傳回整數資料給OS { //敘述區 } 範例二 void main() //不須傳回任何資料給OS //不須要return敘述 } //main函數結束點

6.3.1 return敘述 (續)

6.3.2 傳回數值

6.3.3 傳回布林值

6.4 變數範圍 變數範圍是指變數可使用的範圍,包括區域變數、公用變數、外部變數、靜態變數、與暫存器變數。例如在main函數區塊內宣告的變數只有main函數區塊內的敘述可以使用,其他函數則不能直接存取main函數內的變數。 同理,任何函數內的區域變數只有該函數內的敘述可以使用。而公用變數則可提供同一程式中所有函數的敘述使用。

6.4.1 區域變數auto auto 資料型態 變數名稱 = 初值; 範例一 void main() //沒有傳回值 { auto int ft; //宣告main區域變數 . } //不需要return敘述 double long(int ft) auto double m; //宣告long區域變數 }

6.4.1 區域變數auto (續) 範例二 void main() { //沒有傳回值 for (int count=0; count<10; count++) //main區域變數count . } //不需要return敘述 double length(int ft) { for (int count=1; count<=5; count++) //length區域變數count }

6.4.2 公用變數 資料型態 變數名稱 = 初值; 範例 double m; //宣告公用變數 double ft; //宣告公用變數 6.4.2 公用變數 資料型態 變數名稱 = 初值; 範例 double m; //宣告公用變數 double ft; //宣告公用變數 void main() { . m = 10; //10存入公用變數m length(); //呼叫函數 cout << m << '\t' << ft; //顯示公用變數值 } void length() { //重量轉換函數 ft = 3.20808 * m; //運算值存入公用變數ft

6.4.3 外部變數extern extern 資料型態 變數名稱 = 初值; 範例 double degree(void) { //溫度轉換函數 extern double c; //宣告外部變數 double f; //宣告區域變數 f = ((9 * c ) / 5) + 32; //攝氏轉成華氏 } double c; //宣告公用變數 void main(void) { //main函數 for (c = 36; c <= 40; c++) //攝氏溫度=計數

6.4.4 暫存器變數register register 資料型態 變數名稱 = 初值; 範例 int main(void) //main函數 { register double f; //宣告暫存器變數 . } double degree(double fahr) //溫度轉換函數 register double c; //宣告暫存器變數

6.4.5 靜態變數static static 資料型態 變數名稱 = 初值; 範例 void main(void) { for (count = 1; count <= 100; count += 2) //呼叫函數迴圈 oddsum = total(count); //oddsum=函數傳回值 } int total(int n) { static int sum; //宣告靜態變數 sum += n; //sum(n+1)=sum(n)+n

6.5.1 遞迴函數 遞迴函數呼叫(Recursive Function Calls)就是函數中包含一個呼叫自己的敘述。 範例 6.5.1 遞迴函數 遞迴函數呼叫(Recursive Function Calls)就是函數中包含一個呼叫自己的敘述。 範例 int total(int n) //計算總和函數 { if (n > 1) //若 n > 1 return n + total(n-1); //呼叫函數自身 else //若n<=1 return 1; //結束遞回呼叫,並傳回1 }

6.5.1 遞迴函數 (續)

6.5.2 exit函數 #include <cstdlib> void exit(int 傳回值) 範例 void main(void) { if(!display_mode()) exit(1); play(); }

6.5.3 定義函數巨集 #define #define 巨集名稱 數值 #define 巨集名稱 字串 #define 巨集名稱 函數 範例一 #define PI 3.14159 //定義符號 pi 範例二 #define BEGIN  { //定義起始符號 #define END  } //定義結束符號 #define TAB  '\t' //定義定位符號

6.5.3 定義函數巨集 #define (續) 範例三 #define ABS(n) (n<0 ? –n : n) //定義取絕對值函數巨集 #define EVEN(n) (n%2==0 ? "偶數" : "奇數") //定義判斷奇偶數函數巨集