【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

逗号运算符

表达式,表达式,…

左到右

--

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

目录
相关文章
|
16小时前
|
算法 编译器 C语言
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL(下)
从C语言到C++⑩(第四章_模板初阶+STL简介)如何学习STL
4 0
|
16小时前
|
编译器 C语言 C++
从C语言到C++①(第一章_C++入门_上篇)C++学习介绍(命名空间和C++输入输出流)(下)
从C语言到C++①(第一章_C++入门_上篇)C++学习介绍(命名空间和C++输入输出流)
5 0
|
16小时前
|
Java 编译器 C#
从C语言到C++①(第一章_C++入门_上篇)C++学习介绍(命名空间和C++输入输出流)(上)
从C语言到C++①(第一章_C++入门_上篇)C++学习介绍(命名空间和C++输入输出流)
11 0
|
6天前
|
人工智能 测试技术 C语言
C语言学习
C语言学习
16 1
|
6天前
|
C语言 C++
C语言:指针运算笔试题解析(包括令人费解的指针题目)
C语言:指针运算笔试题解析(包括令人费解的指针题目)
|
6天前
|
程序员 C语言
【C语言】C语言运算符优先级详解
【C语言】C语言运算符优先级详解
|
6天前
|
C语言
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
C语言5🔥:复合赋值,递增递减运算符,局部变量与全局变量
27 0
|
6天前
|
C语言
C语言4🔥:运算符,运算符的基本用法
C语言4🔥:运算符,运算符的基本用法
34 0
|
6天前
|
编译器 C语言
C语言中的运算符
在C语言中,运算符是一种告诉编译器执行特定数学或逻辑操作的符号。这些运算符可以与一个或多个变量组合在一起,形成一个表达式。C语言支持多种类型的运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和条件运算符等。
19 0
|
6天前
|
算法 C语言
C语言双目算数运算
C语言双目算数运算
24 0
C语言双目算数运算