三、C语言的数据表现形式
1.常量:程序运行过程不能被改变的数据–只读–不能做等号的左值
整型常量:123,-11
实型常量:
十进制小数形式:3.14,-4.156
指数形式:0.314e1 ,31.4e-1
规范化指数形式:小数点前第一位为0,小数点后第一位不为0
字符型常量:' '括起来的单个字符,'a'
转义字符 \n -换行 \t --tab '\n' '\t'
字符串常量: " " 括起来的一串字符
"hello world"
符号常量:
#define PI 3.14 //放在程序的开头
#define N 100
2.变量:程序运行过程能被改变的数据-保存数据
定义变量的一般形式:
<存储类型> <数据类型> 变量名;
存储类型:
auto:自动类型
在定义局部变量时,用auto显式声明代表该变量在栈区(先入后出的一种存储方式)随机分配一片存储空间。
如果在定义变量时缺省存储类型,改变变量默认为auto类型
register:寄存器类型
register声明的变量,在程序运行时直接加载到寄存器上,但是计算机上寄存器有限,可能会加载失败,失败之后自动转为auto类型。
register int a = 10;//可能失败->auto int a = 0; int a = 0;
extern:引用类型 --该变量不能初始化,代表该变量在别处定义,要在此处使用。
extern int a;
1.在一个文件中扩张全局变量的作用范围。
2.在一个源程序中扩展一个文件的全局变量的作用范围。
static:静态类型
1.修饰全局变量,限制全局变量只能在本文件中使用,该变量不能被其他文件引用。
2.修饰局部变量,将局部变量的生命周期,延长到整个程序结束,并且该变量只会被定义一次。
const:修饰只读
const 修饰变量,只能读,不能写。
该变量不能做为等号左值。
const int a = 10;
a = 11;//报错
数据类型:
整型:
char:字符型 一个字节
unsigned:0 - 2^8 -1
signed :-2^7 - 2^7 -1
注意:在定义变量时,如果缺省符号,默认为有符号。
short:短整型 2个字节
unsigned:0 - 2^16 -1
signed :-2^15 - 2^15 -1
int :整型 4个字节
long : 长整型 8个字节(64位) 4个字节(32位)
浮点型:
float:单精度浮点型 4个字节
精确度:6-7
double:双精度浮点型 8个字节
精确度:15-16
注意:正常输出时,都只显示6位小数点,需要精度更高时“%.15d”可以显示更多位数小数。
变量名:标识符
命名规则:由字母、数字、下滑线组成
不能以数字开头
不能与关键字重名
3.变量的初始化:在定义时赋值
int a = 10;
int a,b,c,d =10;
4.变量的赋值
int a,b,c,d;
char c;
a = 10;
c = 'a';
5.全局变量 和局部变量
全局变量
定义位置:定义在所有模块({})之外的变量
生命周期:从定义开始,到程序结束
作用范围:整个源文件
没有初始化:默认为0
局部变量
定义位置:定义在模块({})之内的变量
生命周期:从定开始到模块结束
作用范围:在定义它的模块之内。
没有初始化:随机值。