最新课件-C语言程序设计电子教案06函数与变量作用域

发布于:2021-06-22 12:52:49

Lesson 6 使用函数封装代码 本课内容 无参函数与有参函数 函数参数传递原则 全局变量与局部变量 函数原型声明 函数递归调用 无参函数调用 main() { printf(A); fun(); printf(B); } ACDB void fun() { printf(C); printf(D); } 有参函数 int fun(int x, int y) { int z; z = x + y; return z; } main() { int a = 3, b = 4, c; c = fun(a, b);* 10; printf(c=%d, c); } x 3 3 a y 4 4 b z 7 70 7 c c=70 参数传递原则 int fun(int x, int y) { int z = x + y; x y z x++, y++; 4 5 3 4 7 return z; } main() 7 3 4 { int a = 3, b = 4, c; a c b c = fun(a, b); 单向值传递 printf(%d,%d,%d, a,b,c); 3,4,7 } 实参和形参 int fun(int x, int y) { int z; z = x + y; return z; } main() { int a = 3, b = 4, c; c = fun(a * 10, b * 10) + 100; printf(c = %d, c); c = 170 } 声明形参其它形式 int f(int x, int y) int f(x, y) { int x, y; int z = x + y; { int z = x + y; return z; return z; } } main() { printf(%d, f(2,3)); } 局部变量 int fun(int x, int y) { int z = x + y; => z = a + b; return z; } main() { int a = 3, b = 4, c; c = fun(a, b); printf(%d, c); => (%d, z); } 局部变量同名 int fun(int x, int y) { int a = x + y; return a; } x 3 y 4 a 7 main() 7 3 4 { a b c int a = 3, b = 4, c; c = fun(a, b); printf(%d,%d,%d, a,b,c); 3,4,7 } 参数传递9-1 [2009.9.24]以下程序的运行结果是 void fun(int p) { int d = 2; p = d++; printf(%d, p); } main() { int a = 1; fun(a); printf(%d\n, a); } 21 参数传递9-2 [2010.9.24]以下程序的运行结果是 int f(int x) { return x * 2; } main() { int n = 1, m; m = f(f(f(n))); printf(%d, m); } 8 参数传递9-3 [2009.3.24]以下程序的运行结果是 int f(int x, int y) { return (y - x) * x; } main() { int a = 3, b = 4, c = 5, d; d = f(f(a, b), f(a, c)); printf(%d\n, d); } 9 参数传递9-4 6 [2011.3.32]以下程序的运行结果是 int fun(int x, int y) { if (x != y) return (x+y)/2; else return x; } main() { int a = 4, b = 5, c = 6; printf(%d, fun(2*a, fun(b,c))); } 参数传递9-5 8 [2006.9.25]以下程序的运行结果是 fun(int x, int y) { return x + y; } main() { int a = 1, b = 2, c = 3, s; s = fun((a++, b++, a+b), c++); printf(%d, s); } 参数传递9-6 [2004.9.28]以下程序的运行结果是 4 int f(int a) { return a / 2; } main() { int a[6] = {1,3,5,2,0,7}, i, s = 0; for (i = 0; a[i]; i++) s += f(a[i]); printf(%d, s); } 参数传递9-7 [2005.9.12]程序运行时输入:1234<回车>,程 序输出结果是 10 int sub(int n) { return (n / 10 + n % 10); } main() { int x, y; scanf(%d, &x); y = sub(sub(sub(x))); printf(%d, y); } 参数传递9-8 4,3,7 [2005.4.26]以下程序的运行结果是 int f1(int x, int y) { return x>y?x:y; } int f2(int x, int y) { return x>y?y:x; } main() { int a=4, b=3, c=5, d=2, e, f, g; e = f2(f1(a, b), f1(c, d)); f = f1(f2(a, b), f2(c, d)); g = a + b + c + d - e - f; printf(%d,%d,%d\n, e, f, g); } 参数传递9-9 [2006.4.33]以下程序的运行结果是 5.00

相关推荐

最新更新

猜你喜欢