语句:空语句(;)、表达式语句(表达式如int a=20;)、函数调用语句(函数如printf();)、复合语句即代码块({})、控制语句(控制程序,九种语句,if语句,switch语句,for语句,while语句,do while语句,break,goto,continue,return语句)
c语言支持顺序、选择、循环结构
注释 //(单行) /* */(不可嵌套,一行或多行) 选中然后工具栏注释 快捷键
1.数据类型
内置类型:整型类型、字符类型、浮点型类型 、布尔类型:布尔值(表示真假的变量)
自定义类型:数组、结构体、联合体、枚举
sizeof操作符,可计算长度 sizeof(类型)算出来的是字节长度(字节是计算机中的一种单位),如果计算变量或表达式,可不用()。sizeof的返回值只能是无符号整数即size_t类型,用%zd打印。如果sizeof中放的是表达式,表达式不会计算
bit比特位 Byte字节 1Byte=8bit 1KB=1024Byte 1MB=1024KB GB TB PB 2^10
一个二进制位的存储需要一个bit的空间
2.signed和unsigned
signed 关键字,表示一个类型带有正负号,包含负数。
unsigned关键字,表示一个类型不带有正负号,即0和正数
char有无符号取决于编译器,大多数编译器中char=signed char
int=signed int
对于有符号的整数打印用%d
对于无符号整数打印用%u
3.数据类型的取值范围
取值范围可从everything中搜索limits.h文件,拖到vs2022中查看
4.变量
类型是为了创建变量,类型像模具,变量-经常变化的量
变量分类:局部变量(存放在内存的栈区) 全局变量(存放在内存的静态区)(整个工程都可使用,大括号外的) 内存中有栈区、堆区、静态区。
当全局变量和局部变量名字相同时,局部优先
5.算数操作符(操作符也叫运算符)
双目操作符(有两个操作数)+ - * / %
% 取模运算,反悔两个整数相除的余数,浮点数无法使用
6.赋值操作符=
连续赋值,a=b=c+3顺序从右向左
复合赋值
7.单目操作符,56都属于双目操作符
++ a++和++a结果一样
前置++,先++,后使用:a=5;b=++a; 结果:a=6,b=6
后置++, 先使用,后++:a=5;b=++a; 结果:a=6,b=5
--
+正号 几乎没影响
-负号
8.强制类型转换
(类型) int a=3.14错误,纠正为int a=(int)3.14