你好, 我是 欢迎回来｡
在这堂课中, 我们将讨论一些c语言支持的基本运算符｡
所以运算符只是一些特殊的符号, 代表你要执行的运算｡
所以我们在这节课上主要讨论四种不同类型的算子｡
算术运算符､
逻辑运算符､ 赋值运算符和关系运算符｡
然后我们会在另一节课上讨论按位运算符,
还有其他一些特殊的运算符, 看起来不像是运算符,
但实际上是, 大小运算符和类型转换运算符｡
所以算术运算符可能是最常见的, 也是你最熟悉的｡
它是一个数学函数, 接受2个操作数并对它们进行计算｡
它的中缀在运算符和操作数之间｡
逻辑运算符（有时称为布尔运算符）是一种返回布尔结果的运算符｡
真或假值, 这就是布尔值｡
所以它实际上只是一个条件运算符｡
它基于一个或多个其他表达式的布尔结果, 一个或两个其他表达式｡
赋值运算符只是将变量设置为等于值｡
它将其右侧的表达式的值赋给其左侧的变量｡
所以它是一个右操作数和一个左操作数｡
还是中缀｡
然后一个关系运算符将变量相互比较｡
所以这是一种可比较的类型顺序, 小于和大于｡
但是我们来逐一讨论一下, 因为有很多很多不同的运算符｡
C支持超富集｡
所以首先是这些算术运算符｡
这些是数学函数｡
这是我在教程网站上找到的一个小表格,
很不错｡
并且这总结了c语言中支持的所有算术运算符｡
基本的, 就像数学一样｡ 这里没什么新鲜事｡
表的左边是运算符,
中间是对它的作用的描述, 右边是一个示例｡
所以这个加号要加到操作数上｡
是中缀｡ 它在两个操作数之间｡
所以你要做的就是,
要么添加变量, 要么在变量中添加常量的组合, 要么只添加常量.
这个我们说a加b等于30｡
但实际的运算符和操作数只是a加b｡
这就是例子｡
减号减去2个操作数, 即a减去b｡
所以a减去b实际上可以等于-10如果a等于20, b等于10或者b等于-10｡
星号代表乘法｡
再次中缀在操作数之间｡
除法是正斜杠｡
百分比是模数运算符｡ 这是余数运算符｡
所以如果你说变量, 百分比, a,
它等于｡ 如果b等于20,
a等于12, 模数运算符将返回8, 因为这是20除以12的余数｡
加号加和减号减, 它们是特定的递增和递减运算符｡
它们仍然被称为算术运算符, 但通常只有在重复代码时才能在循环中看到它们,
但并不总是这样｡
我的意思是在这个例子中, 基本上你是在增加一个变量, 如果你在做其他的事情,
你可以增加一个特定的值｡
但是如果你做一个加号, 不管a是什么, 如果它是5, 它就不等于6｡
然后是一个递减运算符,
它把整数值减1, 所以是一个减号｡
你们应该注意到, 加号和减号在变量后面｡
这称为后缀｡
这意味着如果变量在一个表达式中,
它实际上不会被赋予额外的一个变量, 直到语句之后｡
如果是前缀, 则会在之前分配｡
让我们来看看这些算术运算代码块的一些例子, 这样它们就更有意义了｡
这是代码块, 这是我们的主例程｡
我们现在已经很熟悉了｡ 我将创建一些变量,
对它们进行一些运算, 然后打印出来｡
我只需要创建整数｡ 虽然你可以创建浮点数来进行计算或双精度运算,
但这并不重要, 我们只做基本的｡
我们就说a等于33｡
创建另一个整型变量, 我们将其赋值为15.
所以我们在一条语句中完成了声明和赋值｡
然后我们会有一个结果变量｡
它将被初始化为0, 这样我们就可以开始计算了｡
我们可以说c, 我们可以做作业｡ 我们还没有正式地学习过作业, 但我们知道什么是作业｡
赋值就是获取数据并将数据放入变量中｡
所以c等于取右边的值, 然后把结果放到那个变量里｡
所以如果我们说a +
b, 这看起来就像是正常的数学程序,
它确实是｡ 它就是33加15, c的值是48｡
你可以打印出这些值｡
你可以用我们的格式说明符说c是% d,
然后打印出c｡
也许我们可以换一行｡
那只会增加2个数字｡ 就这么简单｡ 就是这么简单｡
我们只是展示一下｡
所以当我们运行这个程序的时候, 我们会看到33加15｡
我们重新编译它, 保存它, 说构建, 然后保存运行｡
当我运行病毒扫描程序后, 你会看到c是48｡
所以你可以玩这些｡ 我的意思是这些都是基本的｡
所以a加b, 你可以做减法, 你可以做星号, 做乘法,
然后你可以做除法,
做斜杠, 然后是百分号, 也就是模数｡
这很有趣, 因为你们知道33除以15等于2, 余数是3,
所以在这个例子中结果是3, 我们先确定一下｡
保存这个, 确保我们结束执行｡
当我们运行它的时候, 我们可以看到c等于3, 因为这是余数｡
除此之外, 这是非常基本的｡
与加号加重要的是要理解前缀和后缀｡
所以如果我说, 当你在一条语句printf中执行时, 这就更有意义了｡
比如说我打印出一个加号, 它会打印出34, 因为你会把a加1,
然后打印出来｡
但是你要在一个语句中做, 你要在同一行中做, 因为它是在后面｡
实际上, 这里显示的只是33号显示屏｡
直到下一行代码才真正递增｡
所以如果我们运行这个程序, 你会看到它只输出33｡
这就是做加法和做加法的区别｡
如果你做一个加号加一个,
这和你要加一是一样的, 但是这里的区别是你要加1, 然后在语句执行之前｡
我们会注意到, 只有几个警告, 没有错误｡
当我们运行它的时候, 你会看到答案是34, 因为它实际上是在执行语句之前递增的｡
知道加号+变量名和变量名+加号之间的区别很重要｡
这就是所谓的前缀和后缀
同样的情况也会发生在负号上｡
因此, 请记住这些, 为您的一元｡
这些运算符也是一元运算符, 因为它们只有一个操作数｡
其他的是二元运算符, 因为它们在操作数之间有一个运算符｡
但要明白负—负和正—正｡
如果你把它放在变量之前, 变量之后,
当它实际上递增或递减的时候｡
同样,
如果它在变量之后, 在执行代码行之前, 它会在那里递增或递减｡
如果变量前面是um, 它会执行这行代码, 然后执行语句,
它会递增或递减.
但是玩一下这个,
打开一个窗口, 做一堆不同的算术表达式, 看看它是如何工作的｡
现在, 我们来讨论一些其他类型的运算符｡
下一组运算符称为逻辑运算符｡
我们定义的意思是它基本上是条件类型运算符｡
它们会传回布林值结果（true或false值）｡
因此, 表示逻辑运算符的符号是“与”号｡
两个平行杠和感叹号｡
“与”号称为逻辑“与”运算符｡
它也是一个中缀运算符, 有两个操作数, 一个在左边,
一个在边上｡
基本上, 如果每个操作数都为非0, 则条件为真｡
所以非0意味着1, 也就是真｡ 所以如果a为真,
b为真, 那么答案就为真.
如果a为假而b为真, 则答案为假｡
如果a为假, b为假, 则答案为假｡ 我们再举几个例子｡
然后双杠是逻辑或运算符｡ 同样, 这应该类似于你的数学课,
所以我不想花太多的时间｡ 但如果2个操作数中有一个非0,
那么其中一个为真, 那么它就是真的｡
所以如果a为真b为假, 它就是真的｡
这些表达式返回值｡
所以返回结果是如果a为真, b为假, 它的返回结果也是真.
然后是逻辑非运算符, 也就是感叹号,
这只是反转了它的操作数的逻辑状态｡
所以如果条件为真, 它就会返回false｡
所以如果你说不是一个, 这个感叹号和一个是真一个是假｡
如果你把not放在括号外, 不管a和b的值是什么,
它现在的值都是相反的｡
让我们再看一些示例和代码块｡
这是冷木块｡ 同样, 我将创建几个变量来演示逻辑运算符｡
同样,
我会创建一些整数, 我们会说a等于12, 然后b等于20｡
更好的方法是我们创建一个因为我不想使用条件所以我们只创建一个下划线布尔值, 然后我们将它赋值, 我会说这将是结果,
我们一开始不将它赋值给任何东西｡
然后我们打印一些数据｡
所以我们想看看,
如果我们使用逻辑运算符, 这些表达式返回的值是什么｡
这里我要输出一个整数, percent,
d. 因为请记住, 布尔表达式只是整数｡
布尔变量是整数｡ 所以如果布尔值是1, 那么这意味着它是真的｡
如果为0, 则为false｡ 别的什么通常1, 这是真的｡
我现在打印出结果｡
然后我给它赋值｡
所以如果我说结果等于a和b,
这是没有意义的, 因为这些都是数字｡
所以让我们初始化一个等于true的值, 并且再次使用布尔值｡
这里我们会说这是真的, 这是真的｡
当我们使用&符号的时候, 就是说a和b都必须为真, 这样返回结果才为真｡
因此结果应该打印输出1, 因为1表示真｡
因此, 让我们来构建它,
并确保我们必须使用正确的命名空间｡ 所以我们用1表示真值, 用1表示因为我们现在没有做正确的包含运算,
所以这没什么大不了的｡ 现在我们运行, 它应该报告true, 1,
它做了1｡
现在如果我把其中的任何一个改成non, not, true,
如果我说0,
那么结果就会是false, 因为a和b必须都是true, 结果才是true｡
如果我构建并运行它, 你会看到结果是0, 因为它是假的｡
所以如果我把a或b的任何一个改变为0,
这意味着假, 结果都是假的, 因为a和b都必须是真的｡
现在如果我说一个双杠,
或者a或者b, 只要其中一个为真, 结果就为真｡
所以在这种情况下, 结果应该是1｡
让我们构建并运行它｡
现在我们有一个值1｡
所以只有一个是真的｡
所以现在如果我让它们都为假, 这在我们讨论if语句和条件语句以及决策时会更适用,
但我在这里演示的是布尔逻辑｡
现在两者都是假的｡
所以它应该返回0, 这是假的,
它确实返回了, 0, 所以很简单｡ 最后一个是非符号, 是感叹号,
它做的是相反的事情｡
所以如果我说不是a, 如果a等于0, a现在会等于1, 或者result会和result会等于1, 就是这样｡
这就是3个逻辑运算符｡ 同样, 它们通常会用在决策陈述中｡
现在, 让我们继续讨论另一组运算符｡
下面是赋值运算符｡ 我们至少对简单的赋值运算符相当熟悉, 也就是等号｡
等号分配数据, 这是非常基本的｡ C等于a加b, c将是a加b的结果｡
现在有了这些复合类型的运算符,
你可以在其中执行加等于､ 减等于或星星等于｡
加号等于是将和赋值运算符相加的地方｡
因此, 它将右操作数与左操作数相加, 然后将结果赋给左操作数.
所以你可以说c+等于a, 这和说c等于c + a是一样的｡
减号等于完全一样的东西, 除了你在做减法｡ 你先做减法然后再赋值｡
所以你从左操作数中减去右操作数, 然后赋值｡
所以如果你说c减等于a, 实际上就是c等于c减a｡
这是一种速记符号, 这些正等于和负等于｡
你可以写得快一点, 因为你在一条语句中完成了两个操作｡
然后乘以同样的东西, 星星等于, 乘以, 赋值｡
所以c星星等于a等于c乘以a｡
我觉得这很直接｡
其他赋值运算符类似, 只是使用的是除法｡
所以除法等于是先除后号｡
百分比是求模数然后赋值的结果｡
这些都很简单｡
然后我们还有一些其他的, 我们会在另一节课上更详细地讨论｡
所以我不打算在这里触及它们, 因为它们真的完全不同｡
它们被称为位运算符,
也就是左左运算符, 我在这里要说的是, 对于我们将要讨论的位运算符, 你也可以在一个语句中赋值.
所以移位,
左移, 右移, 赋值, 你可以写小于小于等于, 写大于等于.
还有&, 91;&&, 93;号,
胡萝卜和平行杠都和在比特上做事情有关｡
我们回头再讲, 但它们是赋值运算符的一部分｡
所以赋值运算符非常简单, 先赋值数据, 然后如果你想做表达式,
几个表达式, 然后赋值,
你做组合运算｡
关系运算符是比较运算符｡ 它们比较2个值｡
所以这很重要, 平等｡ 我们将比较两个变量的值｡
如果它们是相同的, 它会返回真, 因为它会返回一个布尔表达式,
真或假或布尔值｡
感叹号equals用于检查两个操作数的值是否相等｡
所以a不等于b就是你想读的｡
如果a和b都是真的, 那么它会返回false因为它们是相等的｡
所以a必须是假的或者b必须是真的或者相反, 它会返回真｡
大于符号检查a是否大于b｡
小于符号, a小于b｡ 大于等于, 一个大于等于,
一个小于等于｡
这些都是基本的数学知识
我不打算在IDE中详细介绍示例, 因为这非常简单｡
比较运算符就像数学中的大于等于等运算符｡
希望我们能很好地掌握基本运算符算术､
逻辑､ 赋值和关系运算符｡
使用了相当多, 所以你需要了解他们｡ 希望不会太难或太混乱｡
你会在if语句和decision语句中用到很多, 所以我们会提供更多的例子.
-谢谢—谢谢