6.2变量(教案) -《C语言程序与设计》同步教学(高教版.第五版)(2)
第 周 课时数: 节讲授
课题 | 变量 | 课型 | 讲授 | |
教学 目的 | 1.局部变量 2.全局变量 3.变量的存储类别 4.静态局部变量 5.const常量 6.寄存器变量 7.外部变量 8.extern关键字示例 | |||
重点 难点 | 重点: C语言的特点 难点: C 程序上机步骤 | |||
教具 准备 | 多媒体、计算机、DevC++6.0软件 | |||
教学 反思 | 学生对编程有一定的兴趣,又有一定畏难心理,要鼓励学生不怕难,多编写程序。 | |||
教学内容 | 教法设计 | |||
课前 准备
课程 导入
讲授 新课
| 德育三分钟 1、 常规检查 2、 上课纪律强调
C语言中的主要变量类型?
一、局部变量 1.局部变量是在函数内部声明的变量,这包括函数的形参。它们仅在包含该变量声明的函数中才起作用,在该函数外不能使用这些变量。 2.局部变量示例 void local_value( ) { int a = 1, b = 2; printf( “%d%d” , a, b); } main( ) { int a = 5; float b = 2.5; printf( “%d%f” , a, b ); } 3.适用于函数内部使用的数据,不会污染全局命名空间 |
| ||
1
学科网(北京)股份有限公司
学科网(北京)股份有限公司
| 4.void local_value( ) { int a = 1, b = 2; printf( “%d%d” , a, b); } main( ) { int a = 5; float b = 2.5; printf( “%d%f” , a, b ); } 由于局部变量只在本函数内有效,因此可以在程序的各个部分使用同名变量,同样,在参数传递时,实参也允许和形参同名。
二、全局变量 1.全局变量是在代码文件中定义的全局变量,在整个源文件中皆可访问。如果要在其他源文件中使用该变量,需要使用extern关键字引用。 全局变量的空间开辟在全局变量区,全局变量的生命周期同程序的生命周期相同。
2.int a = 5, b =10; // 全局变量 void modify ( ) { a++; b--; printf( “%d,%d \n” , a, b ); } main( ) { modify( ); printf( “%d,%d\n” , a, b ); } |
|
1
学科网(北京)股份有限公司
学科网(北京)股份有限公司
|
三、 变量的存储类别 1.静态存储方式 动态存储方式 2.自动变量 自动变量是动态分配内存的,其值存储在动态存储区中。调用函数时为自动变量分配内存,调用结束释放内存。也可为自动变量添加auto关键字声明。
局部变量使用static关键字声明,就属于 “静态局部变量” 。这种变量属于静态存储类型,在静态存储区分配内存。 void sub( ) { int a = 0; static int b = 0; a++; b++; printf( “%d,%d \n” , a, b ); } main( ) { int i; for( i = 1; i <= 3; i++) sub( ); }
四、const常量
1.const变量,为只读变量,在编码过程中只可对该变量进行读,不可修改该变量的值。该变量会被存放在常量区,生命周期伴随程序的整个生命周期。 。 五、寄存器变量 为了提高程序的性能,C语言允许将变量存储在CPU的寄存器中。 这种存储类别的变量称为 “寄存器变量” ,可以使用register关键字声明。 只有局部变量和形式参数才允许声明为寄存器变量。
六、外部变量(全局变量) 1.是在函数外部定义的,其作用域是从定义处开始到文件结束。系统对外部变量采用静态存储方式,即编译时分配内存,程序运行结束释放。 2.同静态变量类似,未显式初始化的外部变量初值是0。 3.如果在外部变量定义处之前需要使用该变量,则需要在使用之前使用extern关键字声明该变量,以表示该变量是一个已定义过的外部变 |
|
1
学科网(北京)股份有限公司
学科网(北京)股份有限公司