c语言递归函数变量作用域,C语言课程变量的作用域和生存周期、递归.ppt
C語言課程變量的作用域和生存周期、遞歸
函數的定義和函數的調用 函數定義格式: 返回值類型 函數名(類型 參數1,類型 參數2,…) { 函數體 return 表達式; } 函數調用格式: 函數名(參數1,參數2,…); 函數定義的語法遠比函數調用的要嚴格很多 函數原型 函數和變量一樣,要先定義后使用 如果函數調用出現在函數定義之前,必須使用函數原型說明該函數有幾個參數,參數的類型,和返回值的類型,才能保證編譯器正常完成工作 示例 double add(double,double); int main() { …… add(a,b); return 0; } double add(double x,double y) { …… } 對函數接口加以注釋說明 /* 函數功能:實現××××功能 函數參數:參數1,表示××××× 參數2,表示××××× 函數返回值: ××××× */ 返回值類型 函數名(參數表) {函數體return 表達式; } 主要內容 變量的作用域和生存周期 函數的嵌套調用和模塊化原則 函數的遞歸調用 重點 & 難點 變量的作用域和生存周期 重點、難點 模塊化原則 重點、難點 需要實踐和經驗 函數的遞歸調用 難點 變量的作用域 #include int main() { int a = 1; { int a = 2; printf("In the INNER block, a = %d\n", a); } printf("In the OUTER block, a = %d\n", a) return 0; } #include int main() { int a; { int b; { int c; a = 0; b = 0; c = 0; d = 0; } a = 0; b = 0; c = 0; d = 0; } { int d; a = 0; b = 0; c = 0; d = 0; } a = 0; b = 0; c = 0; d = 0; return 0; } 比較兩程序 #include int main() { int a = 3, b = 5,temp; printf("before swap,a=%d,b=%d",a,b); temp = a; a = b; b = temp; printf("after swap,a=%d,b=%d",a,b); return 0; } #include void swap(int a,int b) { int temp; temp = a; a = b; b = temp; } int main() { int a = 3, b = 5,temp; printf("before swap,a=%d,b=%d",a,b); swap(a,b); printf("after swap,a=%d,b=%d",a,b); return 0; } 說明 被大括號括起來的區域,叫做語句塊(Block) 函數體、循環體、分支結構都可以看作語句塊 變量的作用域規則是: 每個變量僅在定義它的語句塊內(包含下級語句塊)內有效,并擁有自己的內存空間 同一語句塊內不可以定義同名變量,不同語句塊內可以定義同名變量 變量的作用是表征變量的作用范圍,屬于空間概念 按照變量的作用域,變量可以分為全局變量和局部變量 #include int a = 3, b = 5; //定義全局變量 void swap() { int temp; temp = a; a = b; b = temp; } int main() { printf("before swap,a=%d,b=%d",a,b); swap(a,b); printf("after swap,a=%d,b=%d",a,b); return 0; } #include extern int a,b; void swap() { int temp; temp = a; a = b; b = temp; } int main() { printf("before swap,a=%d,b=%d",a,
總結
以上是生活随笔為你收集整理的c语言递归函数变量作用域,C语言课程变量的作用域和生存周期、递归.ppt的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 桂林电子科技大学C语言大作业,桂林电子科
- 下一篇: 猎魂觉醒哪个职业是亲儿子