今天自学——C语言之赋值表达式

赋值表达式——2017.2.4

赋值运算符和赋值表达式

“=”号在数学是等于号,但在C语言里是赋值号,叫赋值运算符。

                             变量名=表达式

在C语言中,可以给变量多次赋值,每赋值一次都在更新内存变量中的值。

注:

a、赋值运算符的优先级别只高于逗号运算符,比其他运算符优先级低,且具有自右向左的结合性。

b、赋值号的左边一定要是变量,不能是常量或者表达式。如:a=7+1=b; 是错误的。

c、定义时,不可以连续赋值。如:int x=y=10; 是错误的,正确的写法:int x,y; x=y=10;

d、C语言规定最左边变量中所得到的新值就是赋值表达式的值。如:a=19;

复合赋值表达式

定义:在赋值运算符之前加上其他的运算符可以构成复合赋值运算符。

C语言中规定可以使用10种复合赋值运算符,其中复合运算符有:

+=,-=,×=,/=,%=。Ps:两个符号中间不能有空格。

复合赋值运算符的优先级与赋值运算符的优先级相同。

赋值运算中的类型转换

在赋值运算中,只有在赋值号两边类型一致时,赋值操作才能进行。

如不一致时,则系统将自动将右侧表达式的值按左侧的变量类型转换,称作“赋值兼容”,这种转换仅限于数值数据之间。

注:在进行混合运算时,整型数据类型的之间的转换问题。

a、一短整型,一长整型的,则短转长整型,再进行运算。

b、一有符号,一无符号的,则有转无符号,再进行运算。

自加、自减运算符和逗号运算符

自加运算符:++,自减运算符:--。

a++相当于a=a+1,i--相当于i=i-1;

注:+,-是单目运算符,运算对象可以是整型变量或实型变量,但不能是常量或者表达式。

记忆口诀:++在前先加后用,++在后先用后加。

如:int a=5;++a的值?a的值和表达式的值都是6。

a++呢?a的值为6,表达式的值为5。

逗号运算符和逗号表达式

“,”是C语言提供的一种特殊运算符,用逗号将表达式连接起来的式子叫逗号表达式。

逗号表达式的一般形式为:

                      表达式1,表达式2,表达式3,…,表达式n.

其运算顺序是从左到右的,最后一个表达式的值就是这个逗号表达式的值。

如:(i=3,i++,++i,i+5)这个逗号表达式的值为10,i的值为5。

在所有运算符中,逗号运算符的优先级是最低的。

z=(2,3,4)z的值是多少?

z=2,3,4    z的值是多少?


今天就学习到这里了,发现自己的学习进度太慢了,再这样下去考试之前都不知道能不能看完这本书,习题也没怎么做,发现人越大锁事就越来越多,人也越来越懒,过了一个年又老了一岁了,你的2017年会是怎么样呢?                                                                                    

补充:

a、空语句不可以随意执行,会导致逻辑错误。

b、强制类型转换:

一定是(int)a不是int(a),注意类型上一定有括号的。

(int)(a+b),(int)a+b的区别。前者是把a+b转型,后者是把a转型再加b。

c、‘1’是字符占一个字节,“1”是字符串占两个字节(含有一个结束符号)

d、字符是可以进行算术运算的,如:‘0’-0=48,大写字母和小写字母的转换方法:‘A’+32=‘a’,相互之间一般都是相差32。

你可能感兴趣的:(今天自学——C语言之赋值表达式)