习惯用符号常量并作亚及 #include <stdio.h> 注意语法格式 *define PI 3. 14 问题 float I(flat):/函数声明* 函数声明后有分号 般都写在前面 float s( float):腆函数声明 float I( float r)函数定义:求周长 return只能返回一个值 I return PIr 2:3 暂时还不能用一个函数 float s(ftr)/函数定义:求面积求两个值 [return PTrr:J void maino float r, cir, area rinf("please input r: ) scanf( gf &r printf"circumference=%7 2f\n, area=%7 2f\n.(o), s(r)): 第二种调用方式:(),s(r)作为prnO的参数*/
1 #include <stdio.h> #define PI 3.14 float l(float); /*函数声明*/ float s(float); /*函数声明*/ float l(float r) /*函数定义:求周长*/ { return PI*r*2; } float s(float r) /*函数定义:求面积*/ { return PI*r*r; } void main() { float r, cir, area; printf("please input r:"); scanf("%f",&r); cir =l(r); /*函数调用*/ area =s(r); /*函数调用*/ printf("circumference=%7.2f\n,area=%7.2f\n", cir, area); } 作业及 问题 习惯用符号常量,并 注意语法格式 •函数声明后有分号 •一般都写在前面 •return只能返回一个值 •暂时还不能用一个函数 求两个值。 printf("circumference=%7.2f\n,area=%7.2f\n",l(r),s(r)); /*第二种调用方式: l(r),s(r) 作为printf()的参数*/
第4讲 多函数程序设计一变量的作用域 选择结构程序设计
第4讲 多函数程序设计-变量的作用域 选择结构程序设计
include <stdio. h define PI 3.14 问题 flat( float):/函数声明 float s( float):腆函数声明 若这样起名会 flat(f|la↑r)函数定义:求周长* 怎样? [return Prr*2: 3 float s(fltn)/函数定义:求面积 [return parr:y 会有错误提示, void maino ○ 因为相同的名字 [ float 造成了冲突。 printf("please input r: ) scanf( %f", &r): l=(r):函数调用*/ s=s(r):函数调用*/ printf circumference=77 2f\n, area=77 2f\n",I, s):
3 #include <stdio.h> #define PI 3.14 float l(float); /*函数声明*/ float s(float); /*函数声明*/ float l(float r) /*函数定义:求周长*/ {return PI*r*2; } float s(float r) /*函数定义:求面积*/ { return PI*r*r; } void main() { float r, l, s; printf("please input r:"); scanf("%f",&r); l=l(r); /*函数调用*/ s=s(r); /*函数调用*/ printf("circumference=%7.2f\n,area=%7.2f\n", l, s); } 问题 若这样起名会 怎样? 会有错误提示, 因为相同的名字 造成了冲突
include <stdio. h> define PI 3.14 问题 float I(flat):/函数声明* float s( float):腆函数声明* 若这样起名又 float I( float r/函数定义:求周长* 会怎样?会冲 [return PIr 2: 3 突吗? float s( float r)/函数定义:求面积*/ [return pIrr: y 不会,它们虽然 void maino 是不同的r,但 float r, cir, area, 因为它们的作用 printf("please input r: ) 域不同,所以不 scanf( %of &r: 会产生冲突。 cir=():/函数调用*/ area=s():/函数调用*/ printf( circumference=%67 2f\n, area=672f\n",cir, area)
4 #include <stdio.h> #define PI 3.14 float l(float); /*函数声明*/ float s(float); /*函数声明*/ float l(float r) /*函数定义:求周长*/ {return PI*r*2; } float s(float r) /*函数定义:求面积*/ { return PI*r*r; } void main() { float r, cir, area; printf("please input r:"); scanf("%f",&r); cir =l(r); /*函数调用*/ area =s(r); /*函数调用*/ printf("circumference=%7.2f\n,area=%7.2f\n", cir, area); } 问题 若这样起名又 会怎样?会冲 突吗? 不会,它们虽然 是不同的r,但 因为它们的作用 域不同,所以不 会产生冲突
涉及的语法 作用域 作用域:即作用范围 可分为: 局部变量 全局变量
5 涉及的语法 -作用域 ▪ 作用域:即作用范围 ▪ 可分为: ▪ 局部变量 ▪ 全局变量