【C语言—零基础_学习_复习_第五课】基本运算符的运算性质

简介: 基本运算符的运算性质

基本运算符的运算性质

每日一问:下列不合法的常量是

A ‘a’    B .5   C 1.2E2.0   D ‘\025’

目录

基本算数运算符:

求余%运算符

赋值表达式:

复合赋值运算符

自加自减与逗号运算符

逗号运算符:


基本算数运算符:

+、-、*(相当于数学中的乘号x)、\(相当于数学中的除法)、%(求余数)

除法/

1.0/2.0=0.5
1.0/2=0.5
1/2.0=0.5
1/2=0

image.gif

小结:a与b其中一个为实型,结果为实型。若a与b为整型,结果为整型。

求余%运算符

求余数运算的对象必须是整数

5%2=1
5%-2=-1
2%5=2

image.gif

小结:求余数的运算必须是整数

出现负数,余数的符号与被除数一致。(与%左边的数一致)

运算符的优先级与结合性,

优先级: ()  >   + (取正)   - (取负)  > *、/ 、%  >  +、-

结合性:

()*、/ 、% 、+、- 自左向右

+ (取正)   - (取负) 自右向左1

数据类型转换:低精度到高进度自动转换(上节课举过超市买菜的例子)

1.0/2=0.5000000

image.gif

强制类型转换:高精度到低精度强制转换

解析:假如你去超市买菜,买了很多菜本来放在一个大的袋子里边后来想了想为了环保拼了,换了个小袋子由于菜很多你强行把菜塞进小的袋子里边,但是菜太多免不了被寄出袋子外。

形式:(类型名)表达式

(int)5.2 //等于5

image.gif

赋值表达式:

形式:变量名=表达式

int a=10;

image.gif

赋值就类似于给瓶子里边装水。

优先级:仅高于逗号运算符(排名倒数第二)

结合性:自右向左

说明:根据优先级表达式的值,让后将其赋给变量

复合赋值运算符

+=、-=、*=、/=、%=

优先级:仅高于逗号运算符(排名倒数第二)

结合性:自右向左

a+=3;//a=a+3
a*=2;//a=a*2
a%=1;//a=a%1

image.gif

自加自减与逗号运算符

形式:++变量、--变量、变量++、变量—

前值用法++i --i

说明:先向将变量i的值加1或减1,然后在使用变量i的值。

后值用法 i++、i—

说明:先向将使用变量i的值,然后在将变量的值加1或减1

int i=1,j=1;
printf("%d,%d",++i,j++);//输入为2,1
int i=1,j=1;
printf("%d,%d",--i,j--);//输入为0,1

image.gif

逗号运算符:

形式:表达式一、表达式二、…表达式n

说明:从左向右顺序求值,将表达式n的值作为整个逗号表达式的值

优先级:最低

结合性:自左向右

int a=(1,2,3,4,5);//a=5;

image.gif

C语言优先级表

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[常量表达式]

左到右

--

()

圆括号

(表达式)/函数名(形参表)

--

.

成员选择(对象)

对象.成员名

--

->

成员选择(指针)

对象指针->成员名

--

2

-

负号运算符

-表达式

右到左

单目运算符

~

按位取反运算符

~表达式

++

自增运算符

++变量名/变量名++

--

自减运算符

--变量名/变量名--

*

取值运算符

*指针变量

&

取地址运算符

&变量名

!

逻辑非运算符

!表达式

(类型)

强制类型转换

(数据类型)表达式

--

sizeof

长度运算符

sizeof(表达式)

--

3

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

%

余数(取模)

整型表达式%整型表达式

4

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

5

<< 

左移

变量<<表达式

左到右

双目运算符

>> 

右移

变量>>表达式

6

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

小于

表达式<表达式

<=

小于等于

表达式<=表达式

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

8

&

按位与

表达式&表达式

左到右

双目运算符

9

^

按位异或

表达式^表达式

左到右

双目运算符

10

|

按位或

表达式|表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1?

表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左

--

/=

除后赋值

变量/=表达式

--

*=

乘后赋值

变量*=表达式

--

%=

取模后赋值

变量%=表达式

--

+=

加后赋值

变量+=表达式

--

-=

减后赋值

变量-=表达式

--

<<=

左移后赋值

变量<<=表达式

--

>>=

右移后赋值

变量>>=表达式

--

&=

按位与后赋值

变量&=表达式

--

^=

按位异或后赋值

变量^=表达式

--

|=

按位或后赋值

变量|=表达式

--

15

逗号运算符

表达式,表达式,…

左到右

--

如有错误之处,欢迎各位大佬指正!

目录
相关文章
|
2月前
|
C语言
C语言判断和运算符联系
在 C 语言中,判断与运算符紧密相关,主要体现在条件表达式的使用上。
191 87
|
2月前
|
安全 C语言
C语言运算符的使用注意点
在C语言中,正确使用运算符能提升代码的可读性和效率。本文介绍了八大注意事项:运算符优先级和结合性影响运算顺序;自增/自减运算符分前缀和后缀形式;逻辑运算符有短路特性;位运算符直接操作二进制位需谨慎;条件运算符简洁但避免复杂嵌套;类型转换避免意外结果;使用括号明确运算顺序。掌握这些要点有助于编写更安全高效的代码。
181 72
|
29天前
|
存储 Java C语言
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
【一步一步了解Java系列】:了解Java与C语言的运算符的“大同小异”
37 3
|
1月前
|
C语言
C语言条件运算符详解
C语言条件运算符,也称为三元运算符,是一种简化if-else语句的表达式,形式为:条件?表达式1:表达式2。当条件为真时,计算并返回表达式1的值;否则计算并返回表达式2的值。它可用于快速实现简单的条件分支逻辑。
|
2月前
|
安全 C语言
在C语言中,正确使用运算符能提升代码的可读性和效率
在C语言中,运算符的使用需要注意优先级、结合性、自增自减的形式、逻辑运算的短路特性、位运算的类型、条件运算的可读性、类型转换以及使用括号来明确运算顺序。掌握这些注意事项可以帮助编写出更安全和高效的代码。
46 4
|
27天前
|
C语言
教你快速理解学习C语言的循环与分支
教你快速理解学习C语言的循环与分支
14 0
|
2月前
|
存储 C语言 数据格式
【C语言基础考研向】03混合运算和printf讲解
本文分为两部分。第一部分介绍了C语言中的混合运算与类型强制转换的重要性,通过实例展示了当整型数进行除法运算且结果为小数时,必须使用类型转换才能正确存储浮点数结果。第二部分详细讲解了`printf`函数的功能与使用方法,包括格式化输出不同类型数据的基本语法,并通过具体示例演示了如何利用字段宽度和对齐方式来控制输出格式,帮助读者更好地理解和掌握输出格式的控制技巧。
44 10
|
2月前
|
程序员 C语言
【C语言基础考研向】06运算符与表达式
本文介绍了C语言中的运算符分类、算术运算符及表达式、关系运算符与表达式以及运算符优先级等内容。首先概述了13种运算符类型,接着详细说明了算术运算符的优先级与使用规则,以及关系运算符和表达式的真假值表示,并给出了C语言运算符优先级表。最后附有课后习题帮助巩固理解。
103 10
|
2月前
|
存储 编译器 C语言
【C语言基础考研向】07逻辑运算符与赋值运算符
本文介绍了C语言中的逻辑运算符与逻辑表达式、赋值运算符以及求字节运算符`sizeof`。逻辑运算符包括`!`(逻辑非)、`&&`(逻辑与)和`||`(逻辑或),其优先级规则与数学运算符类似。通过示例展示了如何用这些运算符判断闰年及逻辑非的运算方向。此外,文章还解释了左值与右值的概念及其在赋值运算中的应用,并介绍了复合赋值运算符的使用方法,如加后赋值`+=`和乘后赋值`*=`。最后,通过`sizeof`运算符示例展示了如何获取变量的字节大小。
|
3月前
|
C语言
C语言------运算符与表达式
这篇文章是C语言运算符与表达式的实训教程,通过多个示例程序展示了如何使用算术运算符、关系运算符、逻辑运算符以及条件语句来解决实际问题,并介绍了如何通过函数库简化复杂数学运算。
C语言------运算符与表达式