基本数据类型
char | 字符数据类型 | %c | 1字节 |
short | 短整型 | %d | 2字节 |
int | 整型 | %d | 2字节或4字节 |
long | 长整型 | %l | 4字节 |
long long | 更长的整型 | %ll | 8字节 |
float | 单精度浮点数 | %f | 4字节 |
double | 双精度浮点数 | %lf | 8字节 |
注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。
long类型占用字节数大于等于int类型所占字节数,不一定非要大于。
int 与 short 也是如此。
变量
分类:局部变量和全局变量。
当局部变量和全局变量同名时,局部变量优先使用。所以此处输出的为101。
作用域和生命周期
作用域(空间维度)
名字的作用域是程序文本的一部分,名字在其中可见。换句话说就是你什么时候可以看见它并找到它。
局部变量的作用域:变量所在的局部范围。
全局变量的作用域:整个工程。
生命周期(时间维度)
指的是程序执行过程中该对象存在的一段时间。
局部变量的生命周期:进入作用域到出去作用域的时间。
全局变量的生命周期:整个程序的时间。
常量
- 字面常量
- const修饰的常变量
- #define定义的标识符常量
- 枚举常量
字面常量
- 整数常量 “1”, “231”......
- 浮点常量 "1.2" ,"3.58" ,"314159E-5L"......
- 字符常量 "a" ,"\121","\x123"......
- 字符串常量 "lspaidameinv"
const修饰的常变量(本质仍是变量)
如上图所示,x的值无法被修改。
#define定义的标识符常量
#define定义的标识符常量也无法修改。
枚举常量
某一些事项可以被一一列举出来,例如性别,星期,月份,季节等等。
字符
字符串
"hello world"
这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。
注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串内容。
char arr[ ]="wo shi da shuai ge"
转义字符
\0就是一个转义字符,根据字面意思我们可以猜测出转义字符就是转变字符本身的含义使其具有不同的独特的含义。
注意以下问题:
1.转义字符中只能使用小写字母,每个转义字符只能看作一个字符。
2.在C程序中,使用不可打印字符时,通常用转义字符表示。
3.转义字符’\0’表示空字符NULL,它的值是0。而字符'0'的ASCII码值是48。因此,空字符’\0’不是字符0。数字0的值就为0,与“\0"具有同样的效果,但二者是不同的。
4.空字符不等于空格字符,空格字符的ASCII码值为32而不是0。
5.如果反斜线之后的字符和它不构成转义字符,则’\’不起转义作用将被忽略。
6.转义字符也可以出现在字符串中,但只作为一个字符看待。
语句
顺序语句
自上而下,顺其自然的执行的语句。
选择语句
在一个或者多个节点进行判断而选择不同路径的语句。
有if...else..语句,switch语句。
循环语句
循环执行某一部分直至条件不满足循环所需的条件。
while语句,for语句,do...while语句。