C语言:是高级语言中的一种,是面向过程语言。(强语言)
程序=算法+数据
1、数据:基本数据类型(整型,字符整型,浮点型)
常量:不可改变的量
变量:可以改变的量
整型:
整型常量:十进制(0 -1 9 ) 八进制01010 16进制0x 【0 1 2,...,9,a,b,c,d,e,f】
整型变量:可以改变的量
类型:int short long (4 2 8Byte)
有无符号:signed unsigned (图4)
定义变量:[有无符号] 类型 变量名; (分配存储空间)
注:如果没有标名有无符号,则默认为有符号位
[signed] short a;
字符:
1.字符常量:'a'
普通字符:'a'
转义字符:'\n' '\'' '\t' '\\'
字符串常量:"abcdef"
2.字符变量:
3.ASCII码:由于计算机只能识别0/1,只能由一串01组成的来替代字符
3、各进制转换为十进制:
十进制的权:10
二进制的权:2 1010---》
八进制的权:8
4、计算机的存储单元:存储信息的空间
最小的存储单元:bit (0或1) 10->1010 16bit
基本存储单元:Byte 1Byte=8bit
其他: 1Kb=1024Byte=2^10Byte
1MB=1024KB
1GB=1024MB
1TB=1024GB
原码(二进制):10-》 0000 1010 -1-》1000 0001
反码 10-》 1111 0101 (原码取反)-1-》 1111 1110
补码 10-》 1111 0110 (反码+1) -1-》 1111 1111
字符类型:
整型:
字符常量:'a' 一个字符
字符串常量: "abcd" 多个字符
字符变量:
1.定义变量
[有无符号] 类型 变量;
浮点型:
1、浮点型常量: (十进制)3.14 科学表示3e12
2、浮点型变量:float double
程序=算法+数据
运算符:
表达式:由运算符与数据组成的式子
注:每一个表达式都有运算的结果
1、求空间长度运算符: sizeof (笔试)
2、赋值 左值=右值
1.隐式转换(不同类型)
整型=浮点型; 取整形数部赋值给整型
2.溢出
注:结合:从右往左
隐式类型转换:编译系统是不能直接运算不同类型间的数据,必须转换为同类型方能运算。
3、算术运算符: + - * / %
优先级: * / % 》 + - 结合:从左往右
注:%只对整型数据 int%int
注: int / int =int
char-(char)->char
char-(int)->int-(float/double)->double (为了提高精度)4、位运算符:(对bit进行操作) >> << & | ^ ~
右移: data>>n
右移:a 1101
>>1
a 0110
左移: a 1101
<<2
a 0100
按位与: c=a&b
a 0101
b 0011
c 0001 结果
按位或: c=a|b
a 1100
b 0011
c 1111 结果
按位取反:b=a~
a 1101 0011
b 0010 1100 结果
按位异或:c=a^b
a 1100 1001
b 1010 0111
c 0110 1110 结果
5、判定运算符: > < >= <= != !
结果:逻辑值 真1 假0
1>2 的结果为0
2>1 的结果为1
结果:真 输出1
假 输出0
逻辑运算符:
与: && 一假则假
或: || 一真则真
6、自增自减运算符:++ -- 注:i的值必须是变量
i++ ++i 或 i-- --i
前自增、减: ++i --i (i)先自增/减,(结果)再取(i)值
后自增、减: i++ i-- (结果)先取(i)值 ,(i)再自增/减
后 自增:i=1 i++ 先i=1运算 再运算时i=2 (++=+1)
自减:i=1 i-- 先i=1运算 再运算时i=0 (--=-1)
前 自增:i=1 ++i 先i=2运算 再运算时i=2
自减:i=1 --i 先i=0运算 再运算时i=0
7、三目运算符: 表达式1?表达式2:表达式3
结果: 表达式1为真,则取表达式2,否则取表达式3
(表达式1非0则为真 表达式1=0则为假)
int i=1;
int s=++i;
s=0?2:3;
printf("s=%d",s);
结果为2.