一:变量
1:基础变量
a:变量在程序中用变量名表示,变量名由用户根据其用途任意命名。
b:变量名由字母、数字、下划线组成,不能以数字开始,不能和C的关键字重名。
c:数据越大,存储空间越大
d:变量在内存空间中的首地址,称为变量的地址。(到指针时补充)
2:变量的说明
a:变量在程序中使用时,必须预先说明它们的存储类型和数据类型。基础表示为
<存储类型> <数据类型> <变量名>;(但是我们在写一般都将存储类型省略,这样我们的电脑会默认为auto存储类型)
b:存储类型有auto、register、static和 extern
c:<数据类型>可以是基本数据类型, 也可以是 自定义的数值
3:变量的存储类型
1:auto存储类型
a:是一个局部变量
b:说明的变量只能在某个程序范围内使用,通常在函数体内或函数中的复合语句中
c:在函数体的某程序段内说明auto存储类型的变量时,以省略关键字auto,
d:一般存储类型用auto变量默认为随机数(但有些软件会把他默认为0)
f:代码展示
默认为0
因为是局部变量,所以if里面的定义了a,外面a没有定义所以报错
2:regiser类型
a:称为寄存器型,register变量想将变量放入CPU的寄存器中,这样可以加快程序的运行速度。
b:register变量必须是能被CPU所接受的类型。这通常意味着register变量必须是一个单个的
值,并且长度应该小于或等于整形的长度。 不能用“&”来获取register变量的地址。
c:代码展示
%p是打印地址
3(重点):存储类型static
a:static变量称为静态存储类型的变量,既可以在函数体内,也可在函数体外说明情况。(默
认为0)
b:在内存中以固定地址存放,而不是以堆栈形式存放(通俗来理解堆栈就是函数或作用域里结束之后会自动申请内存和释放内存)
c:只要程序没有结束,就不会随着说明他的程序段的约束而消失,它下次再调用该函
数,该存储类型的变量不会重新说明,而且还保留上次调用存储。
d:代码展示
static可以修饰全局变量
下次再调用该函数,该存储类型的变量不会重新说明,而且还保留上次调用存储。
4:存储类型extern
a:当变量在一个文件中的函数体外说明,所有其他文件中的函数或程序段都可引用这个变
量,
b:static修饰的全部变量,其他文件无法使用
c:代码展示
二:运算符
1算数运算符
a:C语言提供的算数运算符: + 、- 、 * 、 / 、% 、++ 如:(float、double 不能取余)
b:代码展示
float不能取余