C语言的语法--C语言的特点
程序以函数为单元,并且有且仅有一个主函数 main();
变量的声明和定义必须在函数头部;
语句必须以“;”结束;
注释:/*…*/
C语言允许直接访问物理地址;可以直接对硬件进行操作;能进行位(bit)操作
第1页/共43页
C语言的语法--C语言的数据类型
整型:int、short、long(数据在内存中以2进制形式存放)
字符型:char
浮点型:float、double
指针:char*、int*、float*
一维整形数组:int a[10]; 数组是有序数据的集合,数组中的每一个元素都属于同一个数据类型
结构体:struct
公用体:union
无符号数:unsigned(unsigned int;unsigned char)
第2页/共43页
C语言的基本运算-算术运算
运算符
名称
例子
运算功能
+
加
a+b
求a与b的和
-
减
a-b
求a与b的差
*
乘
a*b
求a与b的积
/
除
a/b
求a除以b的商
%
取余
a%b
求a除以b的余数
++
自增
a ++
a的值加1
--
自减
a --
a的值减1
-
取负
- a
求a的负数
第3页/共43页
C语言的基本运算-算术赋值运算
运算符
名称
例子
等效于
+=
加赋值
a+=b
a= a+ b
-=
减赋值
a-=b
a= a- b
*=
乘赋值
a*=b
a= a* b
/=
除赋值
a/=b
a= a/b
%=
取余赋值
a%=b
a= a%b
注意:5/2 == 2; 5/ ==
第4页/共43页
C语言的基本运算-位运算
运算符
名称
例子
运算功能
&
位与
a&b
a和b按位与
|
位或
a|b
a和b位或
~
位反
~ a
a按位取反
>>
右移位
a >>2
a右移2位
<<
左移位
a<<1
a左移1位
第5页/共43页
位运算的举例-位与运算
规则:
两个运算量中相应位都是1,则该位的结果为1,否则为0。例:
0 1 0 1 0 1 0 1
0 1 0 1 1 0 1 0
0 1 0 1 0 0 0 0
与
x=0x55(01010101)
y=0x5a(01011010)
x&y=0x50(01010000)
第6页/共43页
位运算的举例-位或运算
规则:
两个运算量中相应位只要有一个是1,则该位的结果为1,否则为0。例:
0 1 0 1 0 1 0 1
0 1 0 1 1 0 1 0
0 1 0 1 1 1 1 1
或
x=0x55(01010101)
y=0x5a(01011010)
x|y=0x5f(01011111)
第7页/共43页
位运算的举例-位反运算
规则:
一个运算量的每一位都取反,即将1变为0,0变为1。例:
0 1 0 1 0 1 0 1
1 0 1 0 1 0 1 0
反
x=0x55(01010101)
~x=0xaa(10101010)
第8页/共43页
位运算的举例-移位运算
规则:
对整型操作数中的每一位向右或向左移动,变量一端被移出的位被舍弃,另一端空出的位则以0填补。例:
0 1 0 1 0 1 0 1
0 0 0 0 0 1 0 1
移位(舍弃0101)
x=0x55(01010101)
x >>4 =0x05
*在计算机系统中常常采用移位运算以快速实现乘法和除法的运算,每左移1位等效于乘以2,每右移1位等效于除以2。
第9页/共43页
位运算的应用举例
方法1:先右移n位,再与“0x01”进行与运算
bit = (byte>>n)&0x01;
方法2:使用屏蔽字
unsigned char MASK[8] = {
0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80};
bit = byte & MASK[n];
0 0 0 0 1 1 1 0
1
思考:如何从一个字节byte中取出
C语言的基本知识PPT课件 来自淘豆网www.taodocs.com转载请标明出处.