常量
C语言中的常量和变量的定义的形式有所差异,
C语言中的常量分为以下几种:
字面常量 比如说直接写出来的 1 2 3 4;
const 常属性 const修饰的常变量
#define 定义的常量
枚举类型常量 一一列举 enum Sex {MALE,FEMALE,SECRET};
字符串+转义字符+注释
这种由双引号引起来的一串字符称为字符串字面值,或者简称字符串 "abcd"
\0是字符串的结束标志,在计算字符串长度时只算结束标志,不算作字符串的内容
数据在计算机上存储的时候,存储的是二进制,所以就有了ASCII表来对应字符的二进制
清楚转义字符的使用(键盘输入的都是字符)
strlen 库函数 计算字符串的长度
\\ 单行注释
\* */ 整行注释
ctrl +K+C 加注释
ctrl+K+U 取消注释
选择语句
if elseif else
循环语句 做一些重复性的事情会用做
while() 括号内是一个判断 for循环 do{}while()
函数分二种自定义函数(设计)和库函数,函数的特点就是简化代码,代码复用。
数组定义:int arr[10] = {1,2,3,4,5}; 数组在内存当中是连续存放的,是存放相同数据类型的集合
C语言的操作符三个大类: 单目操作符、双目操作符、三目操作符
算术操作符: + - * / %
移位(二进制位)操作符: <<(左移) >>(右移)
位(2进行)操作符: & | ^(二进制相同则为0 相异则为1)
赋值操作符分两种: 一个=是赋值 二个==判断是否相等
单目操作符:
! 逻辑反操作 真变成假 假变成真
- 负值 + 正值
& 取地址
sizeof 操作数的类型长度 计算的是变量或者类型所占空间的大小,单位是字节
~ 对一个数的二进制按位取反
负数在内存当中存储的是二进制的补码
原码、反码 、补码
后置++ 先使用再 ++;
前置++ 先++再使用
* 间接访问操作符(解引用操作符)
(类型) 强制类型转换
关系操作符:> >= < <= !=(不等于) ==(用于测试是否相等)
逻辑操作符:&& 逻辑与 ||逻辑或
条件操作符(也叫三目操作符): exp1?exp2:exp3 exp1的表达式为真执行epx2 为假则执行 exp3
逗号表达式: (1,2,3,4);
[] 下标引用操作符
()---函数调用操作符
. ->结构体成员
C语言关键字 32个
auto (自动变量) break (打破) char const continue default do double else enum extern(引入外部符号) float for goto if register (计算机存储数据 寄存器、高速缓存、内存、硬盘 建议把变量放到寄存器中) short signed(有符号的,默认都是定义有符号的) unsigned(无符号位的) sizeof static struct(结构体) typedef(重新定义数据类型别名) union(联合体或共用体)
void (无、空) volatile(让编译器每次操作该变量时一定要从内存中真正取出) while
static 修饰局部变量,使其生命周期变长,
修饰全局变量,改变了它的作用域只能在自己的源文件当中使用,
修饰函数,改变了它的链接属性,外部链接属性变成了内部链接
#define MAX 10 宏只是替换,要注意加括号
指针:内存是电脑上特别重要的存储器,计算机中所有程序的运行在内存当中,
32位的机器上 2的32次方的比特位空间=4G
内存空间是以字节为单位 & 取地址符
有一种变量是用来存放地址的------指针变量
* 解引用操作符
指针在32位系统上是四个字节,在64位系统上是八个字节 ,