内容正文:
教案
编号:PTGZ-228 流水号:08
(首页)共 3页
课程
《C语言》
一体化 理论
章节(课题)及内容
C语言变量的作用域
班级日期
中职
2024.04
授课方式
讲授与任务驱动相结合
课时
1
作业题数
1
拟用时间
40分钟
教学目标
使学生理解以下理论知识:
1. 理解变量的作用域概念。
2. 掌握局部变量和全局变量的区别。
3. 能够正确使用变量的作用域。
教学资源准备
多媒体设备
课本教材
学生练习素材
教学重点
1. 变量的作用域概念。
2. 局部变量和全局变量的区别。
教学难点
1. 理解变量的作用域范围。
2. 区分不同作用域中变量的生命周期。
教学方法
讲授法、任务驱动法、演示法、体验探究法等。
1. 讲解结合示例演示。
2. 互动讨论和实例练习。
授课教师: 审阅签名:
教学过程
教学活动内容
时间分配教学方法
课前导入
课前导入: 请学生回顾变量的定义和声明方式,了解变量在不同作用域中的表现和生命周期。
2分钟
讲授新课
练习指导
讲授新课:
1. 变量的作用域概念。
2. 局部变量和全局变量的区别。
3. 静态变量的作用域。
代码例子:
c
#include <stdio.h>
int globalVar = 10; // 全局变量
void testFunction() {
int localVar = 20; // 局部变量
printf("Local variable: %d
", localVar);
}
int main() {
printf("Global variable: %d
", globalVar);
testFunction();
return 0;
}
变量的作用域指的是变量在程序中可见和可访问的范围。在C语言中,变量的作用域可以分为以下几种:
1.
局部作用域(Local Scope):局部变量的作用域限定在定义它们的代码块内部,通常是在函数内部定义的变量。一旦超出该代码块,局部变量就不再可见。
全局作用域(Global Scope):全局变量的作用域从定义处开始,直到文件结束。全局变量可以在整个程序中被访问,但应注意全局变量可能被不同函数中的局部变量遮盖。
函数原型作用域(Function Prototype Scope):函数原型中声明的变量具有函数原型作用域,只在函数原型中有效。
块作用域(Block Scope):在C99标准中引入了块作用域,即在代码块内部定义的变量只在该代码块内部可见,超出该代码块就不再有效。
理解变量的作用域概念有助于避免变量命名冲突、提高代码的可读性和维护性。合理地使用局部变量和全局变量,可以有效控制变量的可见范围,避免不必要的变量污染和混淆。
局部变量和全局变量是在C语言中常见的两种变量类型,它们之间有以下区别:
1.
作用域:
2.
· 局部变量的作用域限定在定义它们的代码块内部,通常是在函数内部定义的变量。
· 全局变量的作用域从定义处开始,直到文件结束,可以在整个程序中被访问。
3.
生存周期:
4.
4. 局部变量的生命周期仅在其所在的代码块内,当代码块执行完毕时,局部变量会被销毁。
4. 全局变量的生命周期从程序开始到程序结束,始终存在于内存中。
5.
存储位置:
6.
6. 局部变量通常存储在栈内存中,随着函数的调用和返回而动态分配和释放。
6. 全局变量存储在静态存储区,程序运行期间一直存在,直到程序结束。
7.
初始化:
8.
8. 局部变量不会自动初始化,如果没有显式赋初值,其值是不确定的。
8. 全局变量如果没有显式初始化,会被自动初始化为0或NULL。
9.
命名冲突:
10.
10. 局部变量的命名只在定义它们的代码块内有效,不会与其他代码块中的同名变量冲突。
10. 全局变量的命名在整个程序中有效,可能会与其他文件中的全局变量发生命名冲突。
理解局部变量和全局变量的区别有助于合理使用变量,避免命名冲突、控制变量的作用范围和生命周期,提高程序的可读性和可维护性。
10分钟
7分钟
自主学习
8分钟
练习训练
习题练习:
1. 编写一个函数,包含一个全局变量和一个局部变量,观察它们在函数内外的表现。
2. 分析以下代码片段中变量的作用域:
c
#include <stdio.h>
int main() {
int x = 10;
if (x > 5) {
int y = 20;
pr