《C语言实战教程》:各式各样的运算符

前情提要

哈喽,大家好,新的一期《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哦~,大家一起进步。

  • 9
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
1) 本套课程针对高校大学生系统学习C语言而录制,从0基础入门讲起,循序渐进,通俗易懂,同时适用于计算机系及非计算机系的同学。通过学习可以帮助大家掌握C语言本质,轻松面对C语言全国二级考试,并达到能独立完成中型C项目、C游戏的水平;2) 多数高校都开设了C语言课程,网上C语言课程也很多,但普遍存在两个问题: (1) 授课方式单一,大多是照着代码念一遍, 对刚刚接触编程的同学来说,感觉晦涩难懂 (2) 授课内容过度注重语法,没有项目实战支撑,造成课程枯燥无趣。本课程针对上述问题进行了改进 (1) 授课方式采用语法讲解+内存布局示意图+项目的方式,让课程生动有趣好理解 (2) 系统全面的讲解了C语言的核心技术点,还配套录制了《全国计算机二级C语言真题精讲》,让学员在掌握C语言编程的同时,还能轻松面对二级考试;3) 课程详细内容: 常量-变量、分支语句、循环语句、操作符和表达式、函数(库函数、自定义函数、递归调用 )、数组(一维数 组、二维数组、数组作为函数参数、指针数组)、指针(指针和指针类型、二级指针和多级指针、指针表达式解析、指针运算、数 组指针、函数指针、回调函数)、调试技巧、程序环境和预处理(翻译环境、运行环境、预定义符号、#define和#undef、宏和函 数、条件编译、文件包含)、 数据在内存中的存储、内存块分配、static、字符函数和字符串函数、自定义类型(结构体、枚举 、联合)、动态内存管理、文件操作(i/o常量、i/o函数、流)。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值