C语言:只是一门语言,面向过程(函数)
目标:编写程序
程序=数据+算法
数据:
分类:
1、是否可变 1,常量 2,变量
2、类型:整型,浮点型,字符型
3、整型:
整型常量(字面型常量):
十进制: 100
整型变量: 短整型short 2Byte 基本整型int 4Byte 长整型long 4Byte
1、定义变量:分配空间
类型 +a;
[signed/unsinged] short a;
PS:1、定义变量是不允许同名定义(错误)
2、不去添加[signed/unsinged],默认为有符号
short a == signed short a;
有符号:
[] [][][][][][][][] [][][][][][][][][]
符号位 数值位
1 - 最小值: 0 000000000000000 -32768 +0
0 + 最大值: 0 111111111111111 32767
无符号:
[][][][][][][][][] [][][][][][][][][]
最小值:00000000 00000000 0
最大值:11111111 11111111 65535
2、初始化:在定义变量的同时赋值
short a=10;初始化
short a
a=10, 不是初始化, 是赋值。
PS:初始化时,注意容量空间大小
3、引用:引用空间的内容(引用空间长度由类型决定)
PS:1、使用变量,必须先定义。
4字符型
字符常量(字面) 'a'
ASCII:计算机只能识别二进制语言,所以有特定二进制序列代表字符
'a'---97 'b'---98 '0'----48
转义字符:
'\n' 换行 '\t' tab键 '\0' ---ASCII为0 '\\'
字符变量:char 1Byte
定义字符变量:
char +变量名; 1byte
初始化:在定义变量的同时赋值
char a='a';
整型变量:只能存放整型的值
浮点型:(小数)实数
1、浮点型常量:十进制 3.14 指数(e为10)法: 3e1 3e-1
2、浮点型变量:单精度 float4Byte 双精度:double 8Byte
程序=算法+数据
运算符:
弄懂:结合性,优秀级,溢出
运算符表达式: 1+1 结果:运算结果,表达式一定有结果。
1、求空间长度
sizeof 类型/变量名
结果:空间长度
2赋值运算符: =
PS:1、左侧必须是左值(可变空间)
2、(等位赋值)可能出现溢出
3、不同类型之间赋值
浮点型—》整型
short a=3.14 将3.14中的整型赋赋值给a
float b=100; 将100赋值给b,小数位补0
3、算术运算符:+ - * / % (优秀级:先乘除,后加减)
结果:算术结果
PS:同类型运算,得到同类型结果
不同类型--按照隐式类型转换
整型%整型 结果:就是余数
3/2 =商---余
3%2= 余数
4、隐式类型转换:(C语言是强类型,在运算过程,必须转换为同类型才能运算)
1、大小不一:将小位转高位
short-->int
char--->int
float-->double
2、不同类型:
int---double
强制类型转换:由程序决定类型
(类型)表达式
5、判断运算符:> < >= <= != ==
结果:真1 假0
6、逻辑运算符: 表达式1||表达式2 && ! (从左往右)
表达式1||表达式2 一真则真 (表达式结果为非0即为真,0为假)
表达式1&&表达式2 一假则假
!表达式
7、三目运算符:
表达式1?表达式2:表达式3 结果:若表达式1为真,结果就为表达式2的结果,否则为表达式3的结果
8、自增自减: ++ -- (将自身值+1)
i=0
前自增: ++i 结果=1 i=1 总结:(i)先自加,(结果)后取值
后自增: i++ 结果=0 i=1 总结:(结果)先取值,(i)再自加
9、优先级运算符:有括号先执行括号,先内再外