栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

学习c语言的第四天

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

学习c语言的第四天

12.运算符和表达式

运算符与运算对象进行运算操作必然产生一个结果,因此每个表达式都有一个结果

1)加法运算符+ 

2)减法运算符-

3)符号运算符:

        + 用于标明一个表达式的正负 - 用于改变一个表达式的正负。 与加减运算符不同的是,它仅需要在运算符右边有一个运算对象

        表达式结果:

+ 号表达式的结果为右边运算对象的值。 - 号表达式的结果为右边运算对象值的相反数。

4)乘法运算符*

5)除法运算符/

-整型无法整除问题:a=5;b=2

在C语言里面,整型与整型运算的结果,依然是一个整型。结果的小数部分被丢弃,这一过程被称作截 断。a / b后,结果仍然是一个整型,数值已经被截断了,这时候,我们再赋给一个浮点型的c。也只能 是整数2转成浮点2.0了,没有起到效果。 那我们将a,b,c都改为float,这样就不会出现截断了。a,b将会进行浮点运算,结果也是一个浮点数 类型float。

7)求余运算符%

8)赋值运算符=

9)自增、自减运算符

-前缀模式

-后缀模式

-自增、自减表达式何时操作运算对象

为了避免写出这种在不同编译器下可能造成不同结果的代码。请不要在一个表达式中,重复对一个变量 进行自增或自减。

10)一元运算符、二元运算符

11)运算符优先级 

13.类型转换

1) 判断数据类型的小技巧

 这里的 int 后面加了一个 * ,说明它是一个整型指针变 量。我们先不管什么是指针变量,大家只要知道,指针变量和整型、浮点这些数据类型是不能相互赋值的

错误提示与我们定义的变量类型一致,说明这个提示是准确的。

2)同类型之间进行运算

-

-无符号整型类型同类型运算中: 比int低级的类型,都会转换成int,比int高级的类型不变。 

 -浮点同类型

级别float

浮点类型同类型运算中  类型不变

-总结

对于整型,级别低于int的类型会转换成int。

而比int高级的类型则不发生变化。 对于浮点,不发生变化。

3)不同类型之间进行运算

-类型级别: char < short < int < long

有符号整型不同类型运算中: 若运算符两边类型均低于int或等于int,那么结果为int。 若有高于int的,那么结果为高于int的等级最高的类型。

无符号整型不同类型与之相似

-混合型整型

类型级别: char

混合整型类型运算中:(同上) 若运算符两边类型均低于int或等于int,那么结果为int。 若有高于int的,那么结果为高于int的等级最高的类型 

-浮点不同类型

浮点不同类型运算中: 结果为运算符两边级别最高的类型

-浮点整形混合

类型级别:整型

 浮点与整型类型混合运算中: 结果为运算符两边等级最高的类型

 4. 自动类型转换

C语言会将运算符两边的类型,先经过自动类型转换后,再进行运算。

char

遵循规律

 5.整型运算的注意点

整型与整型运算,是不会出现浮点类型的。也就是说,运算结果将丢失小数部分。

对于字面常量也有同样的问题

除号运算符两边均为 int , int 与 int 运算,结果是 int 。那我们必须在运算符两边,设置一个浮点型 才行, float 和 double 都可以。根据上面的转换规则,运算符两边均会转换为浮点型进行运算,结果也 是一个浮点型。这样就能保留小数部分了

6.强制类型转换

 请注意,强制类型转换,并不能影响n1和n2变量原本的类型。它们只是改变了运算时的临时数据对象的类型。

7.赋值造成的类型转换

小的可以赋值给大的,大的请勿赋值给小的(除非有特殊要求)

听课重点

-探讨各类型运算结果

-自动类型转换

-强制类型转换

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022356.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号