变量赋初值及运算符

一、变量赋初值

    实际上是对变量的初始化,即在为变量开辟内存空间的同时,存入初始值。

    变量初始化不同于赋值,赋值是将原先随机的值改为想赋的值。

二、运算符

1、算术运算符

        三级:*   /     %      四级:   +     -

        注意:(1)任何表达式都有数据类型。

                    (2)编辑器只做类型检查。

例如:用10 / 0,编辑器报错。浮点型异常,立即从当前异常代码停止运行。

重点介绍%求余运算符

(1)对求余运算符左右两操作数必须为整型或与整型相兼容(如char型)。

(2)求余表达式最终结果类型与左操作数有关,而与右操作数无关。

(3)求余最终结果一定小于右操作数。

2、++自增 与 --自减

        插入说明:函数原型:函数返回值类型+函数名+(形参)

                          函数调用:函数名+(实参)

                【其中形参与实参的个数相等、类型匹配。】

例如:产生十个随机数,且在【0,100)之间。其中调用了time、strandom、random函数。

       · 在变量存储时,都会有一段自己的内存空间。而表达式未被明确定义,因此其所存储的空间为临时空间,称为临时变量(匿名变量)。

例如:其中i + j便为临时变量。

          · ++i(前++):表达式与i都加了;i++(后++):表达式没加,i加了。

例如:i++表示存储在橙色部分内存空间,是将原本的i拷贝过来;自加后的i仍存储在原本的绿色空间内。

        · 左值与右值

        最早的解释是left value(左值)为赋值运算符的左边,为变量;right value(右值)为赋值运算符的右边,多为常量或者匿名变量。

        而新的定义更为准确,locatable(左值)是可定位的,即可以取地址&;readable(右值)是可读的,但不能被取地址。

特例:在变量前加上const修饰,其被定义为只读变量,在形式上无法被修改,但能够取地址。为左值。

3、赋值运算符

        "=" 将一个数据赋给一个变量,其本质是内存的拷贝。

4、逗号运算符

        顺序求值运算符,可以将几个表达式连起来。

注意:在函数调用中出现的逗号为实参分隔符。

5、附录C 运算符和结合性

        掌握运算符含义、优先级以及结合方向。

三、各类数值型数据间的混合运算

 1、隐式转换

例如:根据上表,float型直接转换为double型;int根据数据类型级别的高低,也转换为double型。最终表达式输出为double型。

2、显式转换

用强制类型转换运算符。在之前加上需要转换的类型,写法:(类型)。

四、不同数据类型间的混合赋值

   无非两大类,长字节与短字节间的赋值,有符号与无符号间的赋值。其中再相互变化。

   如下有几个特别的例子:

(1)将double型赋值给int型。小数部分截断

(2)将int型赋值给short型。 高位截断

(3)将short型赋值给int型。 符号位扩展

        若符号位为正,则空洞补0;若符号位为负,则空洞补1

(4)将unsigned short型赋值给int型。  无符号位,空洞全补0

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值