前情提要
哈喽,大家好,新的一期《C语言实战教学》来了。让大家久等了哈,上星期咕咕咕了,我在此郑重地向大家道歉,我也有自己的学业,请大家多多见谅。
我的代码有些地方可能不符合规范,因为我是用手机写的,按照电脑的规范屏幕实在是装不下。
我建立了一个技术交流QQ群745337151,大家可以在里面交流,想当管理员的直接跟我说。
前言
今天学习的内容是运算符,本期内容会比较枯燥,不会有什么生动的内容,大部分都是需要大家去用心去记,用心去理解的。
同时,本期内容也是至关重要的,在我看来,学完了本期的内容才能说你入门了。
赋值运算符
写作“=”,一定要注意!这鬼东西绝对不是等于号,绝对不是!记清楚了,要不然你可能会修bug找到怀疑人生,不要问我怎么知道的。
顺序是从右到左,读代码的时候一定要读成“将某值赋值给某变量”例如:
result=666;
就读成“将666赋值给result”。
一元运算符
写作“++”“–”顾明思议,一元运算符就是仅对一个数据进行计算的运算符。为什么要把它单独拎出来说呢?因为它的重点并不是它的运算规则,而是它对变量的赋值规则。
我们先来说说它的运算。其实很简单,就是给一个变量加(减)1,因此它还有另一个名字自增(减)值例:
num=1;
num++;
这一步就是给num的值加1。那么有的读者就要问了,“诶,那把‘++’或‘–’写在前面可不可以呢?”问的好!这就是问题的重点,一元运算符的赋值规则。
把它写在前面或者后面的区别就在于,他是先进行运算还是先执行当前语句。很难懂是吧?没关系,让我们看看下面的这个代码。
num=0;
result=num++;
printf("%d",result);
请大家思考,最后打印出来的值是多少。
好!回答是1的同学,请自觉点一个关注,多多看我的博客,勤能补拙。回答是0的小机灵鬼,给这个博客点个赞,就当是给自己的鼓励。
咳咳,不闹了,为什么最后答案是0呢?你看,这个运算符在num后面,说明是先执行当前语句再进行运算,那么当前语句是什么呢?对!向result赋值!那么运算前的num值是0,那么0就赋值给了result,最后打印出来的值就是0了。
算数运算符
一元已经说过了,就不再进行赘述了。二元除了我们熟悉的“+”“-”“*”“/”,还有一个“%”,这个读作“模”,是取余的意思,例如3%2=1,这个有的小伙伴可能不知道。
另外,二元并不像一元那样具有赋值功能,如要赋值需要用到赋值符号。
对一个变量进行运算还有一个简写,比如num=num+1除了可以用num++,还可以用num+=1,可以读成“num加上一个等于1的数”。
关系运算符
用于对两个数据进行比较,比较多,我在这里给大家列举一下
<(小于),>(大于),<=(小于等于),>=(大于等于),==(等于号),!=(不等于)
C语言中比较数据的原理是返回值,如果为假,就返回0,如果为真,就返回非零的数。例如5>9就返回0。
逻辑运算符
没什么好说的,直接列举。
&&(与) 表达:条件1&&条件2 意思:两个条件同时为真。
||(或) 表达:条件1||条件2 意思:两个条件中有一个为真时为真。
!(非) 表达:!条件 意思:当条件为真时为假反之为真。
还有个位运算符,大家感兴趣可以自行学习,入门这学位运算符用不着。
运算优先级
除了我们都数知的先乘除后加减,其他运算也是有优先级的,在这里我从大小为大家列举一下,以>连接。
(),sizeof,++,–,>!>算数运算符>关系运算符>&&>||>赋值运算符
附加内容
我给大家一个例题,内容有超纲,大家可以先看一下,或者自行预习,答案会在下一期给出,如以下代码:
#include<stdio.h>
main()
{
int a=1,b=10;
do{
b-=a;
a++;
}while(b--<0)
printf("%d",b);
}
结尾
好啦,本次的《C语言实战教程》就到此为止啦~,喜欢本课程的请多多点赞评论关注转发,祝大家财源广进,码运兴隆,永不脱发(点赞领取祝福,关注双倍)
可以加入我的技术讨论QQ群745337151哦~,大家一起进步。