1.什么是变量?
A.在程序运行过程中,它的值可以改变的数据,代表着一个存储空间,需要用变量名来找到这个数据
2.变量在什么地方使用?
A.可以理解为某一个值期初可能不确定是什么值,但在程序运行过程中可能会确定这个值,也可能会动态改变这个值。
3.怎么定义变量?
例如:int a; char b;
格式2:数据类型 变量名称,变量名称;
例如:int a,b;
4.变量命名规范有哪些?
A.严格的遵守标识符的命名原则
B.变量名要尽量有意义
C. 变量名要按照驼峰命名法(遵从命名规范)
5.变量怎么初始化?
A.注意点:如果变量没有进行初始化
如:int a; // 那么这个时候a的值
1)随机数
2)上次程序分配的存储空间,存数一些数据
3)系统正在用的一些数据
B.初始化的几种方式?
1)定义的同时进行初始化
如:int a = 10;int a,b=10; //部分初始化
2)先定义,后初始化
如:int a;a = 10;
3)使用一个变量进行初始化
如: int a;int b = 10;a = b; //使用b去初始化a
4)还可以批量的进行初始化
如:int a,b,c;a = b =c =0;
C.变量的作用域
1)局部变量的作用域
a.局部变量一般指函数或代码块内定义的变量,作用域仅限从定义开始,到函数结束或遇到}即表示作用域结束。
b.局部变量的注意点
(1)主函数中定义的变量也只能在主函数中使用,不能在其它函数中使用。同时,主函数中 也不能使用其它函数中定义的变量。因为主函数也是一个函数,它与其它函数是平行关系。
(2)形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。
(3)允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不 干扰,也不会发生混淆。虽然允许在不同的函数中使用相同的变量名,但是为了使程序明了易懂,不提倡在不同的函数中使用相同的变量名。
2)全局变量的作用域
a.在函数外部定义的变量,其作用域为整个源程序
b.定义全局变量的格式:
格式:[extern] 类型说明符 变量名;(extern可以省略)
c.全局变量的使用:
一般在函数中使用全局变量,需要在使用前做全局变量说明。
例如:
void test()
{
// 全局变量声明
Extern int a;
}
// 定义一个全局变量a
int a = 10;
d.外部变量在函数中使用前的说明格式:
格式:extern 类型说明符 变量名;(外部变量定义可作初始赋值,外部变量说明不能再赋初始值, 只是表明在函数 内要使用某外部变量。)
e.使用外部变量增加程序的耦合性,不利于模块化编程,一般不建议使用
f.注意点:在同一源文件中可以允许外部变量和局部变量同名,但是如果同名了一般是就近原则来选择变量作用域,即函数中有同名变量,则函数外的全局变量就失效了。
g.练习
int a = 10;
printf("%d\n",a); // 值是10
{
a = 40;
int a = 20;
a = 30;
printf("a = %d\n",a); // 值是30
int b = 20;
printf("b = %d\n",b); // 值是20
}
// printf("b = %d\n",b); (错误,不能访问代码块中的b)
printf("a = %d\n",a); // 值是40
A.在程序运行过程中,它的值可以改变的数据,代表着一个存储空间,需要用变量名来找到这个数据
2.变量在什么地方使用?
A.可以理解为某一个值期初可能不确定是什么值,但在程序运行过程中可能会确定这个值,也可能会动态改变这个值。
3.怎么定义变量?
A.定义变量的格式:
格式1: 数据类型 变量名称 ;例如:int a; char b;
格式2:数据类型 变量名称,变量名称;
例如:int a,b;
4.变量命名规范有哪些?
A.严格的遵守标识符的命名原则
B.变量名要尽量有意义
C. 变量名要按照驼峰命名法(遵从命名规范)
5.变量怎么初始化?
A.注意点:如果变量没有进行初始化
如:int a; // 那么这个时候a的值
1)随机数
2)上次程序分配的存储空间,存数一些数据
3)系统正在用的一些数据
B.初始化的几种方式?
1)定义的同时进行初始化
如:int a = 10;int a,b=10; //部分初始化
2)先定义,后初始化
如:int a;a = 10;
3)使用一个变量进行初始化
如: int a;int b = 10;a = b; //使用b去初始化a
4)还可以批量的进行初始化
如:int a,b,c;a = b =c =0;
C.变量的作用域
1)局部变量的作用域
a.局部变量一般指函数或代码块内定义的变量,作用域仅限从定义开始,到函数结束或遇到}即表示作用域结束。
b.局部变量的注意点
(1)主函数中定义的变量也只能在主函数中使用,不能在其它函数中使用。同时,主函数中 也不能使用其它函数中定义的变量。因为主函数也是一个函数,它与其它函数是平行关系。
(2)形参变量是属于被调函数的局部变量,实参变量是属于主调函数的局部变量。
(3)允许在不同的函数中使用相同的变量名,它们代表不同的对象,分配不同的单元,互不 干扰,也不会发生混淆。虽然允许在不同的函数中使用相同的变量名,但是为了使程序明了易懂,不提倡在不同的函数中使用相同的变量名。
2)全局变量的作用域
a.在函数外部定义的变量,其作用域为整个源程序
b.定义全局变量的格式:
格式:[extern] 类型说明符 变量名;(extern可以省略)
c.全局变量的使用:
一般在函数中使用全局变量,需要在使用前做全局变量说明。
例如:
void test()
{
// 全局变量声明
Extern int a;
}
// 定义一个全局变量a
int a = 10;
d.外部变量在函数中使用前的说明格式:
格式:extern 类型说明符 变量名;(外部变量定义可作初始赋值,外部变量说明不能再赋初始值, 只是表明在函数 内要使用某外部变量。)
e.使用外部变量增加程序的耦合性,不利于模块化编程,一般不建议使用
f.注意点:在同一源文件中可以允许外部变量和局部变量同名,但是如果同名了一般是就近原则来选择变量作用域,即函数中有同名变量,则函数外的全局变量就失效了。
g.练习
int a = 10;
printf("%d\n",a); // 值是10
{
a = 40;
int a = 20;
a = 30;
printf("a = %d\n",a); // 值是30
int b = 20;
printf("b = %d\n",b); // 值是20
}
// printf("b = %d\n",b); (错误,不能访问代码块中的b)
printf("a = %d\n",a); // 值是40
D.变量在内存中的存储细节