变量
-
什么是变量:在程序运行期间值可以发生变化的叫做变量,相当于存放数据的盒子
-
定义:
类型名 变量名;
int num; -
取名规则:
1.由字母、数字、下划线组成
2.不能以数字开头
3.不能与C语言32个关键字重名
4.见名知意(功能、类型、范围…)
注意:变量的初始值默认是随机的,为了安全起见,一般会在定义时初始化为0
-
使用:
1.赋值: 变量名 = val;
2.参与运算: 变量名*10; -
变量的输出:
int printf(const char *format, ...);
功能:输出数据
format:“提示信息+占位符”
…: 变量名列表
返回值:成功输出的字符个数
- 变量的输入:
int scanf(const char *format, ...);
功能:输入数据
format:“占位符”
… : 变量地址列表
返回值:成功输入的变量个数
注意:scanf需要变量类型和地址(变量地址 == &变量名)
- 类型占位符:C语言通过占位符的方式传递变量的类型
变量类型 | 占位符 |
---|---|
char | %hhd |
short | %hd |
int | %d |
long | %ld |
long long | %lld |
unsigned char | %hhu |
unsigned short | %hu |
unsigned int | %u |
unsigned long | %lu |
unsigned long long | %llu |
float | %f |
double | %lf |
long double | %LF |
char | %c |
-
数据的格式化输出
%nd 显示n个字符宽度,不足时补空格,右对齐%-nd 显示n个字符宽度,不足时补空格,左对齐
%0nd 显示n个字符宽度,不足时补0,右对齐
%n.mf 显示n个字符宽度(小数点也算一位),不足时补空格,右对齐,m表示小数点后显示的位数(四舍五入)
%g 不显示小数点后多余的0
-
类型转换问题
只有相同类型的数据才能进行运算,如果类型不相同的数据需要先转换成相同的类型才能运算
1.自动类型转换:
转换规则:以不丢失数据为基础,可以适当地牺牲一些空间
①字节少的向字节多的转
②有符号的向无符号的转
③整型向浮点型转
特殊特例:当运算对象类型只是 char或者short,且类型不同,编译器会做类型提升,提升为int再运算
2.强制类型转换:
(新类型名)数据;
有丢失数据的风险,但是需要使用时还是得用
常量
什么是常量:在程序运行期间数值不变化的叫做常量