1.数据类型
2.变量类型
3.常数类型
1.数据类型
char // 字符数据类型——1字节
short // 短整型——2字节
int // 整形——4字节
long // 长整形——4字节
long long // 更长整形——8字节
float // 单精度浮数点——4字节
double // 双精度浮数点——8字节
————变量:可以被改变的量
(1) 局部变量 (在代码块内部定义的变量)————|
|————{ }为一个代码块
(2)全局变量(在代码块外部定义的变量)———|
例:
int a = 100; //全局变量
int main{
int a = 10; //局部变量
printf("%d",a);
}
需要注意的是,当两者都有的时候,为局部变量优先;
但如果局部输入的量在输出之后,将会输出全局变量。在平时写代码时,局部变量和全局变量最好不要重名。
2.1 变量定义的一般形式
类型名 变量名表;
#include
int main(){
int celesius,fahr; //定义两个整型变量celesius,fahr.用于存放整数
float x; //定义一个单精度浮数点变量x,用于存放实数
double area,length;//定义两个双精度浮数点变量area length,用于存放实数
2.2 变量的作用域和生命周期
作用域
(1)局部变量的作用域,为所在的{}的范围之内
(2)全局变量的作用域,是整个函数
生命周期
(1)局部:简单的说,从{开始,到}结束
(2)全局:main 函数的结束,整个函数的生命周期
————不能被改变名称的量,是一个固定的数据
【1】数值型常数
(1)整型常数 如‘234’ ‘43’等 --无符号短整型取值范围0~65535
--有符号短整型取值范围-32768~+32767
(2)实型常数
也称为浮数点,由整数和小数部分组成
【2】字符型常数
(1)字符常量:只能包括一个字符 如'A'
(2) 字符串常量:'welcome'--系统会自动在字符串后加上“/0“
//因此,输入不同所出现的东西也会有点不同
#include
int main(){
char arr1 [] = {abc} //正常
char arr2 [] = {'a','b','c'}; //最后会出现乱码
char arr3 [] = {'a','b','c','/0'}; //正常
printf("%s\n",arr1);
prinyf("%s\n",arr2);
printf("%s\n",arr3);
return 0;
}
【3】转义字符
转义字符 | 意义 | 转义字符 | 意义 |
\n | 回车换行 | \\ | 反斜杠 |
\t | 横向跳到下一制表位置 | \' | 单引号符 |
\v | 竖向跳格 | \a | 鸣铃 |
\b | 退格 | \ddd | 1~3位八进制数代表字符 |
\r | 回车 | \xhh | 1~2位16进制数代表字符 |
\f | 走纸换页 |
【4】枚举常量
#include
enum Sex{ //列出sex的可能取值
MALE,
FRMALE,
SECURT,
printf("%d\m",MALE);
printf("%d\n",FEMALE);
printf("%d\n",SECURT);
// 会依次打出012
【5】#define定义的标识符常量
如 #define Max 100
在后面的程序总所有的、Max 的值都是100,这样就避免了写错后,要一个一个改的烦恼,直接在define 上修改就可以了
【6】const 修饰的常变量
#include
int main(){
const int num = 10;
printf("num=%d",num);
num = 20; //这个代码是错误的
printf("num=%d",num);
return 0 ;
}
上述为错误的代码,因为我们的左边只能放变量,而被const 修饰后 num变成的常量
以上为我的总结,谢谢大家,如有错误,欢迎在评论区指出