c语言中赋值语句的规则?
C语言中赋值语句的规则如下:
1. 赋值语句的格式为:变量名 = 表达式;
其中,变量名表示要被赋值的变量名称,表达式则是右侧的值或运算结果。
2. 赋值号“=”表示将右侧表达式的值赋给左侧的变量,
在赋值完成之后,左侧的变量存储了右侧表达式的值。
3. 表达式可以是常量、变量或者多个常量和变量的组合,
还可以使用基本的算术、关系和逻辑运算符对表达式进行处理。
4. 赋值语句必须在语句末尾添加分号“;”,分号表示一个语句结束。
如果省略分号,则编译器会将该语句与下一条语句合并为一条语句,导致编译错误。
5. 赋值语句的执行顺序是从右到左,
先计算右侧表达式的值,再将其赋给左侧变量。
6. 如果变量在没有初始化的情况下被赋值,
则它的初始值将被覆盖为右侧表达式的值。
7. C语言支持复合赋值运算符,包括“+=”、“-=”、“*=”、“/=”等,
它们可以将右侧表达式的值与左侧变量的值进行运算,最终将结果赋给该变量。
1. 由于在赋值符“=”右边的表达式也可以又是一个赋值表达式, 因此,下述形式 变量=(变量=表达式); 是成立的,从而形成 嵌套的情形。 其展开之后的一般形式为:变量=变量=…=表达式; 例如: a=b=c=d=e=5; 按照赋值运算符的右接合性,因此实际上等效于: e=5; d=e; c=d; b=c; a=b;
2. 注意在变量==说明==中给变量赋初值和赋值语句的区别。 给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。 例如: int a=5,b,c;
3. 在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的: int a=b=c=5 必须写为 int a=5,b=5,c=5; 而赋值语句允许连续赋值。
4. 注意赋值表达式和赋值语句的区别。 赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。
c语言赋值的具体流程?
1.需储存的十进制数字绝对值先转化成纯二进制数值(先忽略符号)。例如255为11111111,-255也为11111111。
2.算入符号,变成原码(机器码)。根据变量类型,整数最高位为0,负数最高位为1。例如整数型的255为00000000 00000000 00000000 11111111,字符型的255为(0)11111111。整数型的-255为10000000 00000000 00000000 11111111,字符型的-255为(1)11111111。
3.根据规则,将原码转成补码。
4.将补码从后往前,每位依次对应给变量的每位,溢出的直接舍弃。
5.当计算机读取时,将变量的最高位看作符号位,其余的是数值位,这才有了255赋给字符a,导致输出为-127 。
6.计算机读取补码时,数值位最后一位减一,再反转,即原码转补码的反操作。最终得到原码,再转化成十进制数字。