各位同学,我们继续来学习第二大的运算符,关系运算符。关系运算符,他是目的是做什么呢?主要是用来测试两个操作数之间的关系的符号,那比如说比较两个变量的大小, 这个在我们后面编程当中将会经常被用到这里面能够进行操作的速,他可以是变量常亮或者是表达式, 比如说五大于二加三,五是长量,二加三就是表达是。另外呢,还可以是变量 a 和变量 b 的比较,也是可以的, 主要的比较预算符有大于小于,大于等于,这是两个符号连着写。朋友们啊,两个两个符号大于和等于 连着写,中间不能有空格,如果有空格就错掉了。小于等于,这是等于的概念, a 等于 b, 要这么写,如果写成了 a 等于 b 的话,这代表什么?这代表的是负值,而不是相等的意思。 在 c 元当中相等用两个等号表示,不等于用感叹号等于,这也是两个字符组成的。所有的 我们关系运算符啊,都是两目的,都是左结合,左结合,那就是两个在一起的时候,左边的先做,做到左结合啊,左结合,这是双目左结合。运三素是两个那主要的关系运算符。这里给同学们简单的介绍一下。这是 opr 一,代表是操作数一, op r 二呢,代表的是操作数二,这是小于,比较简单。这个呢是小于或者等于,这个位置不能写且,哦,且就错了吧。那比如说三小于等于五,这个结果是真 真的看他是三小于或者等于我,如果你说是三小于且 等于我,这本身就矛盾,他不可能小于又等于,是吧,他不可能是起的关系啊,所以这是和的关系。朋友们啊,这是大于,或者这代表两个数相等,这个代表的是两个数不相等, 两个数不相等,他们都是两目一相符,前面一个数,后面一个数,是 这样一种表达方法。关于运算服的运算结果只有两种情况,请朋友们记住,只有两种情况,真和假。但但是我们 c 语言呢,它无逻辑类型,这个呢,按道理说呢,它是叫叫什么?逻辑量, 逻辑的真和逻辑的假,但是 c 语言它没有这种类型,有的语言中有一种类型就叫逻辑类型,那逻辑类型的值可能就是零和一,但 c 语言呢,没有, 所以这种结果我们该怎么释出呢?好,同学们注意往下看。 c 语言的真假。怎么表示 真,用一表示假,用零表示。这里的一和零呢,就是整数,那就是说运 算关系运算的结果是一个整数,结果不是一就是零,一或者是零,两个只有一个, 当他为一的时候,就说明运算结果为真为假的时候,取值为零。那同学们,请同学们看一下啊,五大于三,这个表达式的值是什么呢?五大于三, 表达式的值为真。当我们在输出的时候呢,我们不是输出汉字真,而是输出一个一,就是这个表达式的直式一,同样的道理, 五小于三,表达式的值是零。五横等于三,表达式的值是零。五不等于三,表达式的值为 一,表达式的值为一。那就是关系运算的结果是真假。但是我们岁月呢,对于真假的表示的方法,用的是一和零的表示的,这是同学们要认真理解一下啊,理解一下就是关系结果,运算的结果,总会去表示他。 请同学们看一下,接着看这个例子啊,一八十三小于四百五十六,这个表达菜的值为几啊?一,我们就不说真假了啊,过程是真,但结果是一 三点一四不等于,二点一五不等于很等于,这是代表很等于啊,相等的意思,相等,大家看结果是几是零,因为他相等是不成立,不成立为甲甲用零的表示。再看 声明,整形的 a 粗直是二,整形的 b 粗直是三,还有一颗 c, c 等于 a 大于 b。 结束。 这是一条语句,这条语句呢,我们来看一下,那是把什么呢?那这个地方代表的是负值,同学们,他不是代表相等啊,是代表负值,负值运算符,我们在减面,刚刚已经学习过关于负值运算符了,不是代表相等的含义。 我们来算一下, a 大于 b, a 的值是二, b 的值是三,二大于三,值为假。 假,但假的时候计算机用零来表示。所以接下来问同学们, c 的值是多少? c 的值为零, c 的值为零啊,为零。继续再看这个 整形的那一是一,那二是二,那三是三,还有一个整形的 s, s 等于这个表达是。后面是一条语句结束。 朋友们,我们算一下前面的浪一加浪二值是几,值是三,浪一加浪三的值是四,三小于四, 结果为正,结果为正。所以 s 的值为几呢?一 s 得到的值是一二一。 我们在后面运算当中呀,可能会有一个三个数的比较,三个数的比较,三个数的比较,这里有一个例子,请同学们看一下,那一的值是一,那二的值是二,那三的值是三。 s 下面有一个 s 的 等于那一小于那二小于那三。这里请同学们稍微思考一下,大家觉得这个 s 的值是多少? s 的值是多少? 从表面上看,它的含义是一小于二小于三。请大家看这个结果,表面看起来好像很明显是真,也就是一得四的值呢,应该是一, 但其实 s 的值不是一二。我们来看一下啊,看一下它的结果是多少啊? 他的运算的时候,这是两个运算符,左边大于号,右边大于号。我们说过, 关于人才服务是左结合,所以左边先做,左边的先做。朋友们看一下,左边先做,让 一小于那二,那一小呢?那就一小于二。好,同学们看一下,结果是几啊?一,一一再小于那三,再做第二个大于号,一小于三,结果为真是一。 这最后我们算的 s 的指示几呢?是一,即是一,这是一种简单情况,那要是另一种情况呢?请朋友们看一下。我是 那一大于那二大于, 那么三,他有没有三,三角结果多少呢?好,我们来看一下啊。一大于二,结果为甲,这是三,两 零大于三,结果为假,结果也为假啊,也为假,这是最后得到,这是零。那这个位置我们给他换一下,换成大于, 换成大鱼。朋友们,我们倒过来给朋友们再试一下,试一下啊,那就是浪,三大鱼,浪,二 大于那一,我们看一下结果多少?如果从表面看的话,是三大于二大于一,好像呢?结果是 一,同学们看,好像是一,但其实我们结果多少,我们来算一下啊,三大于二,结果为一,一大于一,结果为零,所以最后 s 的值为零, s 的值为零,那表面看起来三大于二 大于好像为真,但仔细一算,结果发现不是这么回事。所以我们后面呢要注意,如果是三个字比大小,那比如说 a 大于 b 大于 c, 我们要怎么表达他呢?像这种表达是无法实现的,我们要写成 a 大于 b, b 大于 c, 中间呢用一个逻辑运算符把它连接起来,我们下面将会学习逻辑运算符啊,逻辑运算符叫逻辑语,就是 a 大于 b, 并且 b 大于 c 这种情况才能代表 a 大于 b 大于 c, 直接写给大于 b 大于 c 这种写法。最后虽然表达是本身不错,就像这样写法给你们看,他写的是对的,没问题啊,没问题, 但是运算的结果往往不是我们要的结果,所以 c 元的运算服,特别是我们的关系于什么开始啊?后面的运算很多时候如果没弄明白它的本质,运算起来呢,还是有点风险的。
粉丝1.3万获赞11.6万

大家好,今天咱们继续讲这个一百分钟入门式语言。呃,这次咱聊一聊这个运算符和优先级。 运算符和优先级其实是四亿元语法体系里面比较重要的一个概念啊,他字典比较琐碎,也比较多,我这呢就是讲一讲,把大家给大家串一串,具体细节的话大家需要自己去理解。 呃,运算符其实是告诉这个编辑器啊,我们要对哪些变量进行哪些这个数学和逻辑操作啊,他大部分呢都是这个英文符号 类型呢,有算数啊,关系啊,逻辑未复制等等啊。这个后面我们都会讲,因为这个运算服很关键,所以 熟练掌握运上服是咱们这个理解四亿元代码啊,或者编代码的一个基础之一,要求大家必须得熟练的掌握。 比如说这样一个长式子,我举个例子,对,这样一个式子这么长,他里面普通标示符就两个,而其他呢都是这个关键字和运算符,那我们怎么理解他?这就需要我们必须得熟练的掌握运算符的含义。 那我们先讲一下这个算数运算符,算数运算符的话,首先时则运算这个大家应该是比较熟悉的, 加减乘除,需要注意的就是这个乘法,乘和除法他两个人的这个符号,一个是信号,就是斜杠啊,注意这个斜杠的方向。另外一个就是求鱼,求鱼呢,他的符号是个百分号啊,我们 做这个除法运算的时候都知道,比如说十除以三,那他的三呢是三,他有一个余数是一,那这个余数呢,就是我们这个百分号的这个运算服的结果。呃,这样一个试着就表示后面这样一个概念,他的结果呢是一 求鱼呢。在我们实际做算法的时候,经常会用这个符号,大家要重点的掌握一下。还有就是自增衣和自减衣加加减减,这个呢也是四亿元特有的哈。呃,他让我们这个写代码比较精简,爱加加爱减减就是对我这个变量 字增一或者字减一,需要注意的就是跟类型相关的,比如说我两个整数啊,做除法的话,按我们通常逻辑,如果除不尽,是不是有一个整数啊?是不是有 小数啊?但实际上这个呃整数相除的话,他是会取整的,不会得出小数,比如说这个十除以三,他最后答案是三,不会是一啊,不会是三点几几几,这个需要大家注意。 另外就是爱家家和家家爱,这个呢,我们组织顺序不一样的话,那他这个含义也是不一样的。爱家家的话,表示我先用爱的值参与我其他的运算,完了之后再给这个爱家家,就相当于后修改。 然后加加爱的话,就相当于我先给爱加一,完了之后用这个加完一的值去参与其他运算啊,相当于我先修改。所以大家注意这个加加爱和爱加加啊,包括这个简简都是一样的他的这个写法。 然后咱们讲关系运算符,关系运算符的话,他本身就是比大小啊,我们知道这个概念,他本身就比大小,他最后的结果是真或者假,他不是一个 呃单纯的数字啊,不是一和零。虽然一和零是通常用来表示真和假,但是我们在这逻辑上要注意他是真假这样的一个结果。 比如我举个例子, a 等于一, b 等于 c 等于三,这样的三个数啊,我们进行一些逻辑关系的运算,那 a 和 b 相等吗?因为 a 和 b 确实相等,那这个表达式他返回就是个真啊,相反 b 和 c 他不等,返回值呢,就是假, 以此类推。后面这些结果我们都可以来推啊,来推倒出来,根据我们这个汉语的这个含义啊,就能推倒出来。 比如说 b 不等于 c 吗? b 确实不等于 c, 那这个表达是结果就是真啊。大小大大于号小于号,含义是一样的, 需要注意的话,就是这个大于或等于啊,我们注意这个和等于什么是和呀?就是说如果 c 的值大于 a, 那这个表达式是真, 如果 c 的值和 a 相等,那同样的表达是还是真啊?因为这两个条件只要有一个成立,他就是成立的。这个类似于这个咱们数学上的 b 区间啊, b 区间 小于或等于,这个跟这个大于等于的概念是类似的啊,大家可以来比较内同来理解一下。 对逻辑应算服的话,呃,跟刚才那个呃关系的那个真假啊,那个其实概念 有点类似,但是呢,我们需要注意他的是逻辑对真假,对一个表达是真假做一个 处理。比如说这个逻辑语,逻辑语的话,他是两个语案的这个符号。嗯,我们记得一个规则,真和假, 他求鱼的话,结果是假啊,那我们总结一下就是只有全是真的时候,他才是真,我们可以理解这个并并且的含义哈,并且就是他同时满足。相反那个或者呢?或者是只有有一个满足,那他就是真 啊,一个满足一个是真,他就是真,那真和假的求货,那就结果就是真。 然后对罗纪飞呢?其实他是一个呃单元的,我们就说他只对一个 变量,如果我对针取一个非,相当于取,取了个反就反,结果啊,真,取了个反,结果是什么?就是假,那假的取个反就是真了。嗯,大家可以理解一下它的含义。 需要注意就是任何一个变量啊,只要他内存单元里面存的值不是零 啊,不是零,那么他参与逻辑运算时候,只取值就是真。我举个例子,比如说这几个数, 那 a 和 s, 因为 s 是个零,那这 a 呢?他是个一百,他俩人取雨的时候尽管这个针,但他这个 结果呢?是什么?是是一个假,然后对 a 和一百 a 等于一百, c 等于三太阳,这两个值,如果求雨的话,逻辑雨的话,他结果是真啊,因为这 两个都是针吧。嗯,需要注意啊,这伏点数,伏点数的话,因为他内存结果不是零,因此他是个针,他跟 s 这个角是零的时候求霍,因为有一个是针吧,所以这个表示结果就是针 啊。这个是单元的对 a, a 本身是什么? a 本身是个真,那我对他取个非,那他的结果就是个假啊。大家需要理解一下他的概念, 然后咱们讲一下运营运算,呃,未运算服务,未运算服的话,他有六种,包括与货、易货啊、非左移、右移 这两个。跟咱们讲的那个逻辑的与呵护啊。其实在我们理解起来,你可以认为是一样的,但是他是一周运算时候,他是按胃哈, 他是按位,比如说我只要有两个数, a 等于六十, b 等于十,那么换他二斤字呢?是这样一个表达方式。 呃,按位语的话就是我会把他们逐位相求运算啊,每个位都出来一个运算,然后去求出来一个结果,在按位得出一个结果,那个结果按位组织到一起就是他们的结果。 我这底下我罗列了他们的答案,我这就不细讲了,大家可以根据根据这个呃答案的来理解一下他们到底是怎么来求职的。 呃,取反的话就是按位啊,幺是零,零是幺啊,这里面都有对左移右移的话,实际上啥左移,咱们以左移为准,左移这边是左边,这是右边,左移的话就相 相当于我把高位扔掉了啊,因为这个要比如说我左移三位,左移三位相当于以这 为最高位,因为把这移到这来了吗?是吧?把这移到这来了,大家画个图就可以了,因为这个篇幅原因我没办法画。那相当于把高三位扔掉了,高三位扔掉以后,这就最高位了,然后低位呢?补三个零啊,因为左一个三位,低位会补三个零,最后结果就是这样一个形式, 这样一小时啊,诱惑的话也类似,大家可以去仔细理解一下。 负值的话其实比较简单啊,首先就是说等号,等号的话咱们就不用说了,数学概念是一样的, 然后加等,加等是什么意思啊?加等 a 加等 b, 他的就等于,他的含义就是 a 等于 a 加 b 啊,相对把 a 和 b 相加以后,再复制 a, 同样底下这个也是这样子的啊,他相对于 a 加上个 b 加 c, 再复制于 a, 并且先求 b 加 c, 所以这个顺序先求 b 加 c。 他实际上我们理解起来就是话啊,如果说我们把这个符号换成不同的符号,那最终他对应是这个符号, 如果我这是个乘法,那这就是乘法,这是个求除法,这就是除法,等等呢?包括位的一些一些逻辑都是这样的,我们可以直接替换,用这个套路的话,我们就可以把所有的这些复制运算服理解出来了,所以说这个是非常巧妙的一种设计啊,让我们代码写的很经典, 还有一些杂项的运算服,杂项运算服,呃,赛道夫,咱们之前讲过了,这个呢, 两个我们在后面章节会讲啊,这只提一下是取地址符和有指针取变量啊,我们到指针的那一部分再讲。还有一个就是三木运算符,唯一的一个三木运算符,他表示啥呀?啊?写法是这样子的,条件问号,然后是一 冒号十二,他的含义呢?呃,举个例子,他就表示条件如果成立的时候,那么,呃,条件为真的时候,那么他的取值就是四十一的值啊,相反,如果是假的话,那就四十二的值 啊,这样的话就是说我底下这个试着我就可以,嗯,用一副钥匙来表达出来,如果一副 flag 为真,那 r 就等于 a 加 b, 否则的话 r 就等于个 b 啊,他是这样一个概念,这个 如果说我们用好的话,可以把一个衣服钥匙写的很经典。好,我们再讲一下优先级,因为很多操作符和这个运算符与这个标数混着写的时候,一个尝试的时候,我们怎么理解?这个其实涉及到一个运算顺序的问题了, 我们先算水后算水啊,就像加减加减乘除一样,我们有一个先算水后算水的水的一个顺序,那么优先级呢?就取决于这个顺序啊,比如这样一个试着我怎么理解他啊?这就是一道运算服的优先级, 嗯,这个呢,其实是呃所有 c 元标示服的一个优先级的排列,前面最高,后面最低。这个逗号运算服呢,我们就不讲了,大家可以到底下理解一下,我们初学者呢,可以尽量回避这个,这个运算服 最高的呢是括号。所以说我们任何什么时候写这个代码,如果说把不准两个这个运算符的结合的 这个先后顺序,优先级先算水后算水,如果说这优先级我们记不住啊,这个优先级我们记不住,那么就拿括号把它主动先扩起来,我们想先算水就把它扩起来,这样的话也可以提升咱们代码的这个呃可读性, 呃,这个是我们编代码一个习惯哈,有些时候这个呃可能写出来代码这个不太可读性不太好,那我们要主动的用胯把它扩起来, 我们不要写太灰色代码,这个不利于别人阅读和理解。至于这些优先节,大家不用死记硬背,其实看代码看多了,很多基本都记住了, 然后如果说有一些把握不准呢,我们再通过跟这个括号搭配,基本上就没有太大问题了。 好,我们这讲呢,就讲这么多,运算服优先给大家还是要熟练的掌握,但是这个不是一句话两句话就理解清楚了,我们还是要多实践,多写代码,这样的话我们才能很熟练掌握。这次咱们就讲到这,下次视频再见,谢谢大家。

我们学习了几个主要的算式,运算服,那么对于算是运算服的优先级和结合性,我们还要做进一步的分析, 主要是因为呀,不同的运算符呢,可以进行混合运算。那么在混合运算的时候,我们就必须考虑到哪一个先做,哪一个后做。那比如说表达是 a 加 b 乘以 c 再除以 d, 这个表达是,那就相当于什么呀?相当于什么?首先我们分析一下,加法的级别是比较低的,这是我们之前已经知道小学就会的。后面是 四 b 乘以 c, 再除以 d, 那这个时候我们它的基本规则是,前面说的同级别是左结合,要考虑作结合性,因为成根除 级别相同的情况下,所以最后应该就相当于 a 加上 b 乘以 c 除以 d, 这第一次加括号,这里乘跟除在一起又怎么办?那就是 左边先做谁在前面先做谁嘛。啊,这样一个结果,这是他的一个表达式,这就叫混合运算 优先级指的是优先级高者先进行运算。呃,结合性是什么时候呢?结合性是优先级相同时 来决定运算的先后顺序。那要是运算及不相同的情况下,我们不考虑结合性啊。结合性的前提是优先级相同,这是大前提。我们常见的 算数运算符的优先结合结合性,这里列有一张列表,在我们参考书上也有也有啊,那这里我们重点主要掌握的是这么几个逻辑,运算符。我们后面再说算数运算符,算数运算符是这里要同学们现在接着要掌握的啊,掌握的 他的运算的级别由高到低,这是高低的概念,后面等运算服学的差不多以后呢,我们还要告诉同学们, c 云的运算服一共是十五级, 一共是十五级,同学们,现在呢,可以不需要记他是几级,我们大体上知道哪一个高,哪一个低, 在三十元三伏里面,级别最低的是加减,这是双目的加减啊加减。然后是高一点的是 沉除和求余色,沉除和求余色比他级别更高的是自增和自减。另外这个位置代表的是正速 和副手的符号,另外这个云散符代表的是指针。我们将会在第八章中学习,暂时大家不管他,我们现在所见到的星号,大家就把它做成乘法来处理,处理啊处理, 这是这三者之间都是有级别的,就级别的高低,那特别是加加和减减 简简。那比如说同学们,这是我们对于家家运算的时候,我们要考虑好他的这个优先级的时候,我们要注意,要注意啊,比如说家家爱再加五,请问大家哪一个先做? 这时我们就有他的优先级了,家家的优先级高于加法, 加加的优先级比加法要高,所以首先应该是,那就类似于加加爱括号,然后再加辅,前面的先做,然后再做加法的辅,这就叫优先级决定的。 在同一优先结的情况下,我再考虑到他的结合性,刚刚已经举了例子了,成根除,在一起,在一起。这时候我们考虑什么叫组结合, 叫他的结合方向,所谓左结合,那就是左优先,就是从左到右,那也还有右结合。马上要为同学们说到的复制运算符,他就是右结合, 右边的先做右结合的预算符,还有我们前面的,前面的啊,前面的叫什么呢?请同学们注意看好这里的加加和减减,看到没有,他的规则也是右结合,也是右结合啊,右结合,那就是 当这一些在一起的时候,一起的时候呀,我们应该怎么做?马上我们通过具体例子来跟大家来进行讲解啊。讲解, 那比如说负五加三,摆盘号二,那就等于什么?这里的运算符有正负的负加和摆盘号,如果是三个运算符,这三个运算符我们在比较的时候,一般情况下我们 运算都是相邻的两个运算符进行比较,相邻啊,如果不相邻我们不管他,那比如说符号跟加法在一起进行比较,哪个高哪个低,而这里的符号呢,和这个百分号我们不去比,他这个不比, 因为他们两个不是相邻的。我们 c 语言呢,就计算机里面变异的时候呢,它采用的是相邻的时候进行比较的原则,不相邻比起来没有具体的价值, 只有乡民才考虑到你在前还是我在前,所以他的级别会高于这个加法,所以类似于父母外面有一个括号,有个括号,再往下再比比谁做完以后,我们接下来就只剩一下家跟百分号了,那应该 是百分号的级别高,所以后面再加一个括号,所以这是他的级别,就首先是负五做,做完以后呢是三百分号二做,做过以后再做加法,所以最后的结果是负四,结果是负四啊负四, 那如果是这样的结果呢?同学们就不一样了,如果大家百分好啊,同学们如果把这个负号,他的级别非常低,最后做的话,结果完全就不是负四了,同学们看一下,结果就是几啊,应该是六了,就变成负六, 但这种算法是错误的,错误的,因为负号的级别是最高的, 再看这个三乘以五百分号三,那这个时候,这个时候呀,我们运算,他俩是 同级别,我们考虑结合性,他是左结合,就是左右线,就是他先做,做完以后再和他做十,五百分号的,结果是零。那如果大家做错了,做成了三百分号 三,括号五百分号三,请大家看,那这个先做,做完以后是二三乘二,结果是六,那就不再是零了。但你这种做法是错误的,因为你把运算符的优先级虽然搞清楚了,但没有搞清楚他的结合性,他是左结合。 再看看这个,那这里面要考虑一个问题,就是刚才在这个表中所看到的。给大家再看一下这里面的单目运算符,它的结合性是右结合,加加减减,和 正负在一起的情况下,我们采用的是右结合的办法,这是规则中所规定的,弄不明白呢,你算就算不出来。请大家看,这里正负的负和加加是同级别的, 同级别的都是二级,那这时候我们怎么运算?我们运算的时候采用的是右结合,那就等价于 负的一对括号后面是爱加加,是爱加加啊,爱加加,请大家要理解这个概念啊,就叫右结合,那如果是负爱,然后加加, 请同学们看,这本身是错误的,因为加加运算符左边必须是变量,不能加符号二符号,如果这样来的话,就等于父爱,等于括号,父爱加一。同学们看这不是错误了吗?是吧?你父爱怎么能做变量名呢?这也很好的理解为什么他们才用右结合。

观众老爷们,你们好,今天我想与大家来谈一谈用 c 语言如何来实现数的阶层。数的阶层想必大家都不陌生,这是一个数学术语,我们都知道数的阶层里面负数呢,他是没有阶层的, 然后零的阶层啊,是一,那之后的阶层呢?大家都知道,就是给定一个正整数,然后求出啊,所有小于以及等于该正整数的积, 比方说我们给定一个正常数五,那五的阶层是不是用这样的符号来表示啊?那他就可以得到一乘二,乘三,乘四,乘五,最后我们得到结果是一百二十。那今天呢,我们不仅仅 用 c 语言来实现数的阶层,还用到我们之前的提到几种方法,也就是我今天要给出的几个要求,第一要求就是直接在组函数里实现, 第二要求就是要写一个子函数并吊用,第三个是写个地规函数,这样做呢,不仅仅是帮助我们理解 如何实现数的阶层,更是帮助我们理解之前我们 c 员讲的一些方法。好,我们先来看一看流程图,这里的流程图应该怎么画呢?我已经给大家画好了。首先第一个是组函数直接写的,那我们 是不是要先给定一个正整数啊?那给定一个正整数,是不是输入一个正整数就用到一个 stele 啊?对吧?那我们要把给定的正整数所有小于以及等于 正整数求出他的积,是不是要便利便利比正整数要小的数啊,对不对?然后呢,再在这个循环,那样他要不停的相乘,对不对?好,那话不多说,我们来实际操作一下,试一下。 好,这里是我之前写好的,我先把先给去掉,我们先给定一个最基本的一个组函数,这就是我们最基本的一个组函数吗?对吧?那我们是不是要先输入一个正整数,我们先初始化定义一个数, 然后呢?我们之后是不是要用到一个 spf 啊?输入这个正整数用的之后,我们是不是要写一个货循环啊?要便利, 注意,我们这里是从一开始的,因为零的阶层啊,他是一,我们这里从一开始我们零的阶层。等一下我再跟大家讲零的阶层,零的阶层不是一吗?到时候他是怎么来写的?好,观众朋友们看这里, 我们在这里写的时候,我们这里的主要目的啊,是不是把所有的癌给输出出来啊?是不是把所有的癌给变了一遍?那这里的癌得到的结果是不是从一开始到五啊?一二三四五啊? 比方说我输入五,一二三四五,那我们的目的是不是要五乘四乘三乘二乘一,对不对?那这个时候我们是不是要需要一个数来存储这个癌啊?对吧?那我们是不是这里要就要定一个数了?我们因为阶层的英文是 fact tore, 有我们就 fact。 又来表示,那这里的 facetoreel 啊,他是不是每次都是要与这个 id 相乘啊? 要有这个哀伤者,但是我们这个 face tore 哦,我们是从几开始的?从零开始,那肯定不行,他每次都是零的吗?那肯定是从一开始,因为零的阶层都是一嘛,我们零的阶层都是一,所以我们就初始化定义, 初始化定义为一,对吧?那这样的好处是什么?我们掰个头肉大家看。掰个头肉,他是一,那他是不是一 就是一乘一等于一啊,对不对?那第二次的时候,哎,是不是变成二了?那是不是二乘一等于二?是不是前两个相乘了?那第三 单词是不是?那这个时候他就是二,单词是不是三乘二?是不是六了?第四次是不是四乘六?注意,这里是四乘六。所以说我们这里的 face to you 的目的就是比方说我们把 把前面一的阶层给求出来,那我们要求二的阶层是不是只要一的阶层乘以二就行了?那三的阶层就是二的阶层乘以三就可以,那五的阶层也是从两,但是五的阶层等于等于四的阶层乘以 乘以五即可,对吧?好,那我们这里呢,把它打印,是不是要打印到外面去?因为我们只需要输出最后的结果就行了,那这里呢,自然是用我们的 face to you 来表示了。好,接下来我们来测一下结果是不是? 这是我们期望所得到的一百二十一样呢?我们先输个五,好,一百二十看测试是正确的。当然我们这里还要严谨一点,就是零的阶层是一,那我们用零来测一下是不是一,哎,也是一,因为我们这里啊,规定了他这里就是一, 零的阶层就是一,明白不?好,那我们接下来进行下一步,就是我们第二个要求,子函数并调用, 那子函数并交由。那其实很简单嘛,分子函数和主函数,子函数里输入正常数货循环以及不停枪式。好,这个时候我们怎么来写呢?就是我们这里给定一个子函数,注意我们这里用的子函数是用 wory 的,然后呢,我们为了清晰一点,用这个来表示 w。 好,接下来呢,我们就直接把这些啊全部放到这里面即可,这里呢直接调用这个方法即可。好,我们来测试一下最终结果是不是正确的, 一百二正确,然后零呢?试一下零的阶层是一吗?一好,正确,那这样说明我们的第二个要求也是满足了,接下来就来我们看看最后一个要求,就是第 地规函数的方法,分地规函数和主函数。地规函数我们是不是要不停的调用自身啊?对吧?好,那先来解决这个问题,不停的调用自身,我们这里 因为要不停这样子的,所以说我们这里就要用这个硬扯,那我们这里先就类似于构造器嘛,那如果说我们的恩啊,小于等于零,我们这小于等于零 目的是什么?防止负整数,防止负数以及零的零的阶层为一。好,然后呢,这里就直接返回 一个一即可。接下来我们是不是在每次返回一的时候,我们是不是要如果说 n 等于一的时候,是不是 n 要乘以前面的这种刷也是一吗?对吧?那我们这里的 factturir 就要把它变成 n 减一, n 减一,当然其实这里写成 n 小于等于一更好,当然 n 小于等于零也是可以的,比方说我们 n 等于一带进去,等于一带进去,一带入以后, n 这里是不是一啊?这不是发克托瑞琳啊,发克托瑞琳的指不就是一吗?所以说我们这样的目的啊,就是为了 让他哎与比他小小的正整数相乘,因为我们这最小得到正整数的结果是一吗?对吧?好,接下来是这里,我们这里是干,这个时候我们的这个南码就要写在这里了,初始化定义,然后是一个思量图, 写个斯干夫。好,接下来直接打印即可。嗯, 打印即可。其实这还是算很蛮简单的,难度并不是特别大,而且可以发现啊。好,接下来我们来测试一下,看一下结果是不是正确啊。这里这个注释忘记再来一下,跑一跑。好,运行成功了,我们来测一测五,输进去 结果是什么?一百二十正确,零呢?我再带入一个零。好,是一正确。大家可以 看到,与我们之前的两个方法相比较,第一归函数是不是显得更加的简略一些啊,而且代码的利用率也更高了,是不是非常简单。好,本期节目呢,就到这里,我们下期再见。拜拜。

大家好,本节微课将给大家介绍一下 st 语言编程中的运算服, 通过本节微课的学习呢,希望你能够一、熟练的掌握 st 文本中的复制运算符和加减乘除运算符的一个基本用法。 二、熟练的掌握 st 文本中的比较运上符的基本用法。三、熟练的掌握常用的逻辑运上符按的和 out 用法。四、熟练的掌握字位和复位语语那个语句运上符的一个使用。 好,这是本节微课的一个目录。第一章复制运算符和算数运算符,在我们开始今天课程之前呢算,先让我们看一下课程导入页,我们每门语言呢都是有自己的一个语法的,比如说英语,他是有一个英语语法,比如说数学 语言,它也有加减乘除,正数、复数等等的数学语法。那对于 s t 文本编程这门编程语言而言呢,它和 c 语言的语法是很像很像的,本节课的内容就是 s t 文本中最基础的一个编程语法。 学员,本节微课呢,我们就希望你能够使用 st 的这些基本语法写一些常用的加减乘除运算类的小程序,好让我们来开始今天的课程。第一讲,复制运算符和算数运算符。 一点一,负值运算符。什么是负值运算符呢?就是把一个数值给到另一个变量里,那我们这个称之为负值呃,比如说我们这里有两个呃很等式的左边和等式的右边有两个,第一个就是左边的 这个值呢叫变量 a, 右边呢可以是变量 b 或者是一个数值 b。 我们通过负值运算符呢,直接把右边的这个呃数值或者是变量里面的值,负值就是值传送给我们的变量 a, 如果你学过呃小型小型票, c 玩过听音录编程的话,那我们在 s 七中的这个复制音上符冒号等于号,在英文状态下的冒号等于号,就相当于听音图中的木 mov 和 dmov 还有 demov 啊,不管什么数据类型,都直接是一个冒号等于号就好了。然后呢就相当于 c 语言中的等于号。我们 st 中的语法呢,是这样的,变量 a, 冒号等于号,变量 b 啊,这就是相当于把变量 b 里的内容复制给变量 a, 然后后面呢 是一个英文状态下的一个分号,这里呢需要注意的有三点,第一点就是我们的 st 复制运运算符的符号是冒号等于号,跟 c 语言是有区别的。第二个是要求变量 a 和变量 b 是同一数据类型 啊,这个需要特别注意,需要是同一数据类型,如果变量 a 是不恶心,变量 b 也需要是不恶心。如果变量 a 是整形,那变量 b 也需要是本形。如果变量 a 是浮点型,变量 b 也需要是浮点型。 这个复值语句的一个顺序是将右侧的边这个冒号等于号右侧的值复值给左侧的这个值。 好,我们来看一下这个应用案例,应用案例这是一个程序基本程序,在这个变量区呢,我们声明了三个变量,三个变量他们类型的都是低于 inter 型的。然后下面的在程序段 呢,我们对这三个变量进行一个复制,第一个复制呢,就是把二十给成了这个男人的,男人的人数设置成二十,把三十呢复制给了女人的人数,然后总人数呢就是男人的人数加上女人的人数这个表达式的结果, 然后复制给了我们 number of people, 就是总人数,然后最后呢每一行都是有一个分号的,这要注意。 好,我们接下来再来看一下不同数据类型间的复制语域要进行强制类型转换。什么叫强制类型转换?我们刚刚在说到了, 就是不同的数据类型是不能进行一个复制的,那我们来看一下对不同数据类型进行复制会有什么样的一个后果。大家可以看到这个是 vf 杠 real number, vf 杠 real number 是什么呢?我们看一下这里 v f 杠 real number, 它的单,它的那个数据类型呢?是 real 类型,就是我们常说的单经路浮点型,三十二位浮点型数据,那这个 vi number of 无门,它的这个数据类型是什么呢?是 ivivi 的话是第一 inter, 是三十二位整形数据,那我们把这个浮点型的数据给复制给这个整形数据的时候呢,我们的程序里面就会进行一个报警,变音器报警,这样 提示的是不能将 real 类型转化为整形 d int, 那这里就是说我们编辑报错了,我们程序是不能通过的, 不能变异通过的,那么怎么办呢?我们可以使用强制类型转换来将浮电型数据转换成整形数据,再复制给这个这个蓝宝服务们,他们的格式就是 real gun to gun d int, 然后括号把 这个变量放进去,然后再复制给他,这样的话我们变异就成功了,就不会出错了。强制类型转换 在这边有一个介绍,如果变量 a 和变量 b 不是同一种数据类型的话,我们就需要使用强制类型转换 real to d int 变量 b 就是把变量 b 原来是 real 类型的,强制转换成 d inter 类型,也就三十二位整形,然后这里是 d inter to real 变量 c, 变量 c, 原来呢是 d int 类型的,我们强制转换成 real 类型,然后 int to d int 变量 d, 变量 d 原来是 int 十六位整形的,我们强制转换成三十二位整形数据, 然后这里 int to real 变量 e, 变量 e 原来是 inter 类型,也就十六位整形数据,强制转换成 real 数据。我们强制类型的这个呃转换函数呢,还有很多 很多,大家自己可以去呃打开我们的程序去探索。根据就是每一种变量都可以转换成另一种变量类型啊,只要你你有哪些种数据类型的话,就能转换成其他的相应的一个数据类型了啊。不过多说了 好,我们来看一下一点二章节 st 中的算数运算符,算数运算符呢,也很好理解,就是加减乘除。呃,我们的加减乘除呢,在 这里,在我们的中心 plc 里 st 编程呢,就是加减乘除加法,就是两个变量进行加,两个变量进行减,两个变量进行乘,还有就是两个变量进行除。 我们看一下这个变量的一个负值情况。我们首先总男人的人数是四十,女人的人数是三十,那我们这里就是把男人和 女人的总人数是不是就加起来就得到了总人数复制给了男宝和 people, 然后这里男人减去女人的个人数呢,就是我们男人比女人的多出来的人数,下面这个就是男人乘女人个数,就是说我们现在啊,这里可就没有单位了啊,这就随便来了一个例子, 然后下面呢就是男人除以女人的个数啊,就是代表他是一个倍数关系,注意,我这里都转换成了用强制类型转换,转换成了 real 类型, 然后这样除出来的结果呢就是 real 类型的。否则如果你男人是整形数据,直接除以整形数据的话,比如说这个四十除以三十,如果是整形数据相除的话,他就等于一,而不是一点几几,他就把后面的那个小数点给省略掉了,这点需要注意,就下面这一句啊, 下下面这些强制类型转化,就把它呃转换成了一个整形数据了啊。 好。第二章节比较运算符,比较运算符呢,无非就是这些东西,大于号,小于号等于号,大于等于,小于等于不等于。表达式呢,就是 a 小于 b, a 大于 b, a 等于 b, 然后他会返回一个数,返回一个求好 pos 的一个呃,一个一个 boy 型的一个词, 这里跟我们的小型票 c 中的 l d 大于 l, d 不等于 f, l d 小于等于这些东西,嗯,是一样的啊。具体的用法的话我们看一下, 在这节成语私立中呢,我们这里有两种用法,第一种用法呢,就是与我们的衣服语句进行配合,作为一个判断条件,衣服什么,比如说 说面纱布屋面大于零,也就是男人减女人的个数大于零,说明什么?说明男人比女人多,对吧?在这个衣服里边呢,就代表男人比女人多,你可以在这里面进行一个处理, 嗯,程序的处理相应的一个逻辑,下面如果是 ls 的话,也就是这个变量是小雨淋的,所以是代表的意思是男人比女人少,那我们在这里呢,也可以进行相应的一个逻辑处理。 嗯,还有第二种用法呢,就是作为复制语句的右侧,作为一个表达式给复制到我们的前面左边的这个变量下面有一个例子,比如说 number 一是两百, number 二是一千,那我们呃 vb test 一这个变量他 它是冒号,等于号,这个 number 一大于 number 二,它的运算结果呢?其实就是假为 false。 为什么呢?就是我们 这个 number 一是两百。两百大于一千吗?不大于两千,不大于一千,那我们这个复制语句在复制给左侧的时候,它的值就是假的,比较运上服。我们这里就讲到这么多,下面来看一下 st 语言中的逻辑运上服按的。

大家好,这段时间很多同学在写代码的时候遇到了各种各样错误,我觉得很有必要给大家总结一下, 这些错误是编程出去的几乎百分之百都会遇到的错误,第一个错误,符号错误,第二个错误,编程风格不好,第三不会排错。对于符号错误,需要掌握常见的错误符号有哪些? 符号有什么要求,符号如何区分?如何来解决这个问题?对于编程风格不好,需要掌握良好的编程风格准则, 如何调整代码风格?对于这些问题,我们在程序代码中进行讲解,双击打开编程工具,找, 找到文件,新建项目,找到控制台,应用程序 c 项目,取个名字。 由于时间关系,这里我就不再写代码,把提前准备好的代码拷贝过来。 首先我们要掌握五号错误, 对于符号错误,我们常见符号错误,符号 有双引号、单引号、逗号、分号、小括号要求。 对于符号的要求,编程中要求输入英文书法下的符号,不是中文书法下的符号。 区别是中文书法下这些符号占两个字节,英文书法下占一个字节。可以根据符号所占的宽度来进行区分。例如,英文符号, 中文符号输入一个分号,很明显这两个符号长得不一样,在后面分别输入一个数字。一 英文符号只占一个字节,所以英文符号和 e 挨得很近,中文符号占两个字节,所以这里有一段空白,记住,这里我没有输入空格。 同理,双引号、单引号、逗号、小括号也是一样的。我们再举个例子,输入一个小括号,英文情况下,中文情况下再来输入一个数字一,这就是有区别的, 所以我们可以根据符号所占的宽度进行区分。在程序代码中有四处错误,接下来大家先把视频暂停,然后找出错误以后,再来点开视频与我讲解的进行对比。我们从第一行开始查找, 第一行用的了逗号分号,很明显,逗号长得不一样,肯定有错误。第二行用的了小括号,双引号,分号很明显,分号不同,有错误。 第三行用的小括号,双引号,逗号分号,很明显,双引号不同, 小括号,双引号,逗号分号,很明显,小括号与前面的长得不一样。如果每次写完代码以后,我都需要人为手动去找一遍我里面有没有符号错误,这样显得非常的麻烦, 所以我们可以进行设置,让程序自动给我们进行查找有没有语法错误。首先找到工具,编一器选项, 然后找到语法检查,把这里打上勾点确定, 但是这里依然没有错误提示,没关系,按一下回车键。 现在错误已经给我们提示了,分别是第一行,第二行,第三行,第四行,第五行,第六行,第七行。代码已经给我们提示错误, 那我们来改一下错误。第一个很明显这一个他比较宽,说明他占两个字节是中文,从下删掉他输入英文书法下 第二行,很明显这个占的比较宽,它是错误的,删掉英文书法,给了以后依然没有正确,对不对?没关系,保存一下, ctrl 加 s 点保存,点设 这里是正确的,下面把单引双引号 改成英文情况下双引号,再按 ctrl 加 s 保存,这里为什么是错误的?因为我定义的变量当中没有 a, 所以把它改成 x。 没有 b, 把它改成 y, 没有 c, 把它改成 z。 最后一行,这里很明显是我们的括号错误, 把它改成英文输入法下的括号, 给我 完了以后按 ctrl 加 s 保存,现在就没有错误了。对于初学者来说,除了符号错误以外,另一个常见的错误就是编程风格不好。 编程风格有什么要求?我们来看一下。 一个说明或一个语句独占一行。用花括号括起来的部分,通常表示程序的某一层次结构。 花括号一般与该结构语句的第一个字母对齐,并独占一行。低一层次的语句或说明 比高一层次的语句或说明缩进若干格后书写,以便看起来清晰,增加程序的可读性。 在编程时,应力求遵循这些规则,以养成良好的编程风格。怎么让我们的程序代码有一个良好的风格?第一,手动缩进。 例如,这种方式可以实现,但是非常麻烦,尤其是当我们的程序代码非常多的时候,这样就显得不现实。 有没有快捷一点的方式呢?有, 使用格式化代码,按快捷键 ctrl shift 加 a 试一下。 很明显我们的程序代码已经格式化了。今天我们的内容就给大家讲到这里。

大家好,接下来呢,我给大家介绍一下 s、 c、 l 雨具的逻辑运算的优先级, 哎,逻辑运算呢,跟我们普通的加减乘除运算一样哎,也是有优先级的, 比如说加减法跟乘法遇到一起的时候,我们先算乘法,再算加减法,是不是啊?哎,也就说乘法和除法的优先级呢,比加减法的优先级要高 啊。那么这里呢,就是我列出来给大家几种常用的位逻辑运算的优先级啊,第一个就是 note 啊,取反的意思对吧, 或者说叫做飞啊,他的优先级是三啊,那么下边就是雨啊, and 他的优先级是八啊,易货是九,货是十,然后括号是一,大家记得啊,在这个 sl 语言里啊,你采用这个微逻辑, 这个数字越低就代表他优先级越高啊,他要首先参与运算,那么接下来给大家简单的用一个实力讲解一下啊,这个 a 变量是不是等于变量一和上啊,变量二对吧,然后 与上 not 变亮三啊,我们看一下他是怎么运算的,哎, not 是不是优先计时三啊,这里按的哦,都是多少,一个八,一个十, 对不对?也要说非的啊,优先级最高,先把它给算出来, 我们假设这三个变量的值是一零一啊,那么这个是变量三的值,对吧?那么 变量三这值是一,取反就是变成零啊,优先级最高的先预算,对吧?哎,他就变成零了,剩下来就是变量一或上变量二, and 这个零,对吧,他先完成计算了, 那么 and 和奥哪个级别高啊,对吧? and 要高一点是不是啊?那么先算 and 等于算二,这个数字是零,对吧?零以上零,那么就是这个零,对吧? 那这部分计算完了是这里,然后再把它拉下来,这个变量一的值是一啊,一获上零,哎,就是得一, 那么同样的这三个变量三个值啊,我把这个 o 跟 and 调换一下啊,给大家看一下, 是不是仍然是首先算这个变量三是不是零啊,对吧? 那么这个时候就剩下了变量一与上变量二和上这个零,对吧? end 的优先圈比奥又高,对吧?先算前边啊,一零是不是相 与时的零啊,对吧,然后再和上这个零啊,最后结果就是零,哎,也说这个符号前后导致的运算结果是不一样的啊。接下来给大家在博图里看一下这个程序啊, 啊,这个就是变量一二三的三个值,一零一,对吧,然后 a 对应的这个变量,大家看他 就是处,是不是啊?我把这个 and 啊跟哦的位置反过来一下,哎,大家看他就是 false, 对吧?哎,没有问题。那么接下来就可以解释上一个视频,我为什么要在这里加括号,就是提高 前面的优先级,大家可以根据我给大家提供的优先级的表格,哎,再算一下啊,这个不加括号跟加括号,他的预算结果,哎,自己就清楚了啊。好的,先给大家介绍到这里,感谢大家的观看。