C语言学习笔记-悉心整理.doc
C语言程序根底
根本元素
假设干函数构成C语言程序,必须有一个main函数
根本数据类型
整数:int,shortint/short,longint/long.
实数:float,double
字符:char
类型
定义符
根本C中占的字节数
.NETC中占的字节数
整数
short
2
2
int
2
4
long
4
4
实数
float
4
4
double
8
8
字符
char
1
1
注意:
1,数据在计算机中的存放是以补码的形式存放,所以计算每个数据类型的取值范围时候要注意。
2,float的有效位数是7位,double的有效位数是16位
3,转义字符:\n\t\b\r\\\’\”\ddd\xhh,转义字符定义一定要用这个形式。
4,char和int可以通用,当把字符赋值给整型变量时,采用符号扩展,把整数赋值给字符变量时,截取整数的低字节的值。
5,使用sizeof〔〕函数可以获得变量所占的字节数
常量与变量
变量名用标示符表示,由字母数字下划线组成,必须是字母或者下划线开头。
变量必须先定义在使用:类型标示符变量列表;
可采用的定义以及赋初始值的格式:
inta,b,c;
a=1,b=2,c=3;
或
inta=1,b=2,c=3;
可以用#define定义常量,例如#definePI3.1415926,一般常量用大写表示,变量小写
运算符和表达式
算术运算符和表达式:+-*/%(模运算)
两个整数相除,结果一定是整数
模运算符〔求余〕要求两个运算对象必须是整数,结果的符号与被除数〔分子〕一致。
赋值运算符和表达式:=
变量=表达式
顺序是自右到左。
复合赋值运算符:+=-=*=/=%====^=|=
以+=为例:a+=b等效于a=a+b;
结合顺序也是从右向左
强制类型转换符号
如:〔int〕x;将该表达式的值强制转换成int型
自增、自减:++--
++i,i++,--i,i—
++i先将i的值加1,再使用i
i++先使用i的值,再将i的值加1
例子:k=(i++)+(++i)+(i++)等效于i=i+1,k=i+i+i,i=i+1,i=i+1
k=(++i)+(++i)+(++i)等效于i=i+1,i=i+1,i=i+1,k=i+i+i
逗号运算符:“,”优先级最低的符号
形式:表达式1,表达式2,……,表达式n
运算顺序,从左向右,最后最右边表达式n的值是整个逗号表达式的值
关系表达式及运算符
关系运算,结果只能是“真”或者“假”。
关系运算符
含义
优先级
6
=
6
==
7
6
=
6
!=
7
逻辑运算
逻辑运算符与||有一些较为特殊的属性,由与||连接的表达式按从左到右的顺序进行求值,并且,在知道结果值为真或假后立即停止计算。
根据定义,在关系表达式或逻辑表达式中,如果关系为真,那么表达式的结果值为数值1;如果为假,那么结果值为数值0。
逻辑非运算符!的作用是将非0操作数转换为0,将操作数0转换为1。
条件运算
在表达式 expr1?expr2:expr3 中,首先计算expr1,如果其值不等于0(为真),那么计算expr2的值,并以该值作为条件表达式的值,否那么计算expr3的值,并以该值作为条件表达式的值。
位运算
C语言提供了6个位操作运算符。这些运算符只能作用于整型操作数,即只能作用于带符号或无符号char、short、int、long类型:
按位与〔AND〕
| 按位或〔OR〕
^ 按位异或〔XOR〕
左移
右移
~ 按位求反
运算符优先级与求值次序
()[]?. 从左至右
!~++??+?*(type)sizeof 从右至左
*/% 从左至右
+? 从左至右
从左至右
== 从左至右
==!= 从左至右
从左至右
^ 从左至右
| 从左至右
从左至右
|| 从左至右
?: 从左至右
=+=?=*=/=%==^=|=== 从右至左
, 从右至左
一元运算符+、、与*匕相应的二元运算符+、、与*的优先级高。
顺序结构程序设计
C程序的结构
C语句:控制语句
if()~else~;switch();{case…};while()~;do~while();for()~;continue;break;return;goto
函数调用语句
例如:printf〔〕;
表达式语句
例如:a=10;b=a+10;
空