变量的初始人化:在定义变量的同时给变量赋予初值。 方法:
(1)先说明变量类型,然后再赋值。
(2)在对变量类型说明的同时,给变量赋初值。 先定义后赋值 int a,b,c; char d; floatb f; a=2; b=5; c=10; d=‘a’; f=5.7;
定义和赋值同时进行 int a=5; short b=10; char c=‘a’; float d=7.8;
3.对几个变量同时赋一个初值 Int a1=10,a2=10,a3=10;
初始化不是在编译阶段完成的,而是在程序运行时执行本函数时
赋以初值的。相当于一个赋值语句。例如: int a=10; 相当于: int a;
a=10; 又如: Int a;,b,c=20; 相当于: Int a,b,c; C=20;
第三讲 运算符以及数据类型 2.6 运算符及表达式 2.7 数据类型转换 2.8 类型定义 2.6 运算符及表达式
C语言运算符可以分为:算术运算符、逻辑运算符、关系运算符、位运算符、赋值运算符。 2.6.1 算术运算符和算术表达式
1. 算术运算符:加、减、乘、除及取模即:+,-,*,/,%来表示。 C语言规定:
(1)模运算符%,仅用于整型变量或整型常量。
(2)优先级:一个表达式中如有多个运算符,则计算先后次序为相应运算符的优先级高的优先。乘、除、模优先级高于加、减的优先级。
(3)结合方向:是一个运算对象两侧的运算符的优先级别相同时,应遵循的处理规则。
算术运算符的结合方向是从左至右; 赋值运算符的结合方向是从右至左。
算术表达式:由算术运算符、括号以及操作对象组成的符号C语言语法规则的表达式称为算术表达式。 2.6.2 赋值语句 1. 赋值运算符
语言的赋值运算符是“=”,它的作用是赋值运算符右边表达式的值赋给其左边的变量。
例如:a=10,x=a+5,前者是把常量10赋给变量a,后者是将表达式a+5的值赋给变量x.
注意:如果“=”两侧的类型不一致,在赋值时要进行类型转换。例如a=b,执行该语句时,b的结果转换为a的类型后才能进行赋值运算。 2. 复合赋值运算符
C语言允许在赋值运算符“=“之前加上其它运算符,以构成其复合运算符。复合运算符多数为双目。 复合运算符有:
+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|= 例:
a+=2 等价于 a=a+2
x*=y+5 等价于 x=x*(y+5) x%=8 等价于 x=x%8 赋值运算符都是自右向左执行。 3. 赋值语句与赋值表达式 赋值语句最简单的形式是: <变量>= <表达式>;
功能:是赋值运算符右边的“表达式”的值赋给左边的变量。
赋值表达式也可以包含复合的赋值运算符,例: 如果a=10,表达式a+=a-=a*a的值为-180。其步骤为: (1)先进行a-=a*a的计算,它相当于a=a-a*a=10-10*10=-90. (2)再进行a+=-90的计算,它相当于a=a+(-90)=-90-90=-180. 4. 自增自减运算符
i++(或i--)表示在使用该表达式值之后将i值加1(或减1)。 ++i(或--i)表示在使用该表达式值之前将i值加1(或减1)。 说明:
(1)++和--仅适用于变量,不能用于常量或表达式。 (2)++和--运算符的结合方向是“至右向左”。 Main() {int a=100;
printf(“a++=%d\\n”,a++); printf(“++a=%d\\n”,++a); printf(“a--=%d\\n”,a--); printf(“--a=%d\\n”,--a); }
输出结果: a++=100 ++a=102 a--=102 --a=100
2.6.3 关系运算符和关系表达式 1. 关系运算符
关系运算符均为两目运算符。共有六种: > 大于 < 小于 >= 大于等于 <= 小于等于 == 等于 != 不等于
关系运算符要求两个操作数是同一种数据类型,其结果为一逻辑值,即关系成立时,其值为真(true),用非0值表示;关系不成立时,其值为假(false),用0表示。
关系运算符的优先级借低于算术运算符,关系运算符==和!=低于前四种运算符,并且结合方向均为自左至右。