C语言数据类型课件
3.6 变量赋初值 3.6 变量赋初值 3.6 变量赋初值 3.7 各类数值型数据间的混合运算 3.8 术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 例3.8 强制类型转换。 #include void main() {float x; int i; x=3.6; i=(int)x; printf("x=%f, i=%d\n",x,i);} 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.8 算术运算符和算术表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.9 赋值运算符和赋值表达式 3.10 逗号运算符和逗号表达式 3.10 逗号运算符和逗号表达式 3.10 逗号运算符和逗号表达式 3.10 逗号运算符和逗号表达式 请分析下面的赋值表达式∶(a=3*5)=4*3 分析:先执行括弧内的运算,将15赋给a,然后执行 4*3的运算,得12,再把12赋给a。最后a的值为12, 整个表达式的值为12。可以看到∶(a=3*5)出现在赋 值运算符的左侧,因此赋值表达式(a=3*5)是左值 注意:在对赋值表达式(a=3*5)求解后,变量a得到值 15执行(a=3*5)=4*3时,实际上是将4*3的积12赋给变 量a,而不是赋给3*5。 不能写成: a=3*5=4*3 赋值表达式也可以包含复合的赋值运算符。 如:a+=a-=a*a 分析:此赋值表达式的求解步骤如下∶ ① 先进行“a-=a*a”的运算, 它相当于a=a-a*a,a的值为12-144=-132。 ②再进行“a+=-132”的运算,相当于a=a+(-132),a的值为-132-132=-264。 将赋值表达式作为表达式的一种,使赋值操作不仅可以出现在赋值语句中,而且可以以表达式形式出现在其他语句(如输出语句、循环语句等)中。 如:printf("%d",a=b); 分析:如果b的值为3, 则输出a的值(也是表达式a=b的值)为3。在一个语句中完成了赋值和输出双重功能。 逗号运算符:将两个表达式连接起来,又称为“顺序求 值运算符” 如:3+5,6+8 一般形式: 表达式1,表达式2 求解过程: 先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。 逗号表达式 的值为14 例:逗号表达式a=3*5,a*4 分析:赋值运算符的优先级别高于逗号运算符, 因 此应先求解a=3*5。 a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。 一个逗号表达式又可以与另一个表达式组成一 个新的逗号表达式 如:(a=3*5,a*4) a+5先计算出a的值等于15,再进行a*4的运算得60(但a值未变,仍为15),再进行a+5得20,即整个表达式的值为20。 逗号表达式的一般形式可以扩展为 表达式1,表达式2,表达式3,……,表达式n 它的值为表达式n的值。 逗号运算符是所有运算符中级别最低的 例: ① x=(a=3,6*3) ② x=a=3,6*3 赋值表达式,将一个逗号表达式的值赋给x,x的值等于18 逗号表达式,包括一个赋值表达式和一个算术表达式,x的值为3,整个逗号表达式的值为18。 * * (1)C语言允许在定义变量的同时使变量初始化 如: int a=3; // 指定a为整型变量,初值为3 float f=3.56; // 指定f为浮点型变量,初值为3.56 char c= ‘a’; // 指定c为字符变量,初值为‘a’ (2)可以使被