【C语言督学训练营 第三天】C语言的运算符与表达式
创始人
2024-06-02 14:36:03
0

文章目录

  • 运算符分类
    • 1.算术运算符
    • 2.关系运算符
    • 3.逻辑运算符与逻辑表达式
    • 4.其余运算符
  • 运算符的优先级

运算符分类

总体可以认为运算符分为以下几类:算术运算符、关系运算符、逻辑运算符、其余运算符,运算符的样子长下面这样:
其中着重号标注的需要熟练掌握用法。

  • 算术运算符(+ \- * / %)
  • 关系运算符(> < == >= <= !=)
  • 逻辑运算符(! && ||)
  • 位运算(<< >> ~ | ^ &)
  • 赋值运算符(=及扩展运算符又称复合运算符)
  • 条件运算符(又称三目运算符 xxx?x1:x1)
  • 逗号运算符(,) 外部这个括号是必须的
  • 指针运算符 * &
  • 求字节运算符 sizeof
  • 强制类型转换运算符 (类型)xxx
  • 分量运算符(又称成员运算符) -> .
  • 下标运算符 []
  • 其他 函数调用运算符 ()

看完运算符分类,下面是运算符使用时需要注意的一些点。

1.算术运算符

可以进行加、减、乘、除、取余运算,使用方法与数学中无异。
值得注意的是:

  • 除法运算符在使用的时候如果除数与被除数均是整数那么整除后的结果会向下取整。
  • 取余时余数的正负号只与被除数有关(可以由以下代码验证)
#include"stdio.h"
int main()
{//%的运算对象只能是整数printf("%d\n", 7 % 3);//输出结果为1printf("%d\n", 7 % -3);//输出结果为1printf("%d\n", -7 % 3);//输出结果为-1printf("%d\n", -7 % -3);//输出结果为-1//a%b余数的正负号只与a的正负有关return 0;
}

通常加减乘除运算会与其余运算符一块使用,每一个算术运算表达式都最终都可以化为一个值。

2.关系运算符

关系表达式的值只有真或假,由于C语言中没有布尔类型,通常会使用0代表假、非零代表真即非零即一,关系运算符的优先级小于算术运算符的优先级。在使用关系运算符时需要严格注意==不要写成=,大于小于不要写成<<>>。下面两个例子就是反例:

  • 把==写成=(条件会出错)
#include"stdio.h"
int main()
{int i;//%的运算对象只能是整数printf("%d",i=2);//a%b余数的正负号只与a的正负有关return 0;
}
结果:
与变量的值有关
  • 判断时==连写例如5==5==5 或者 把a大于3小于5写成3
#include int main() {printf("5==5==5 result:%d\n",5==5==5);printf("5<10<5 result:%d",5<10<5);return 0;
}
结果:
5==5==5 result:0
5<10<5 result:1

3.逻辑运算符与逻辑表达式

这里值得注意的是逻辑非的运算级最高,逻辑或与逻辑与相同优先级但低于关系运算符,逻辑表达式与关系表达式一样,结果只有真或假,逻辑表达式通常写进分支语句或者循环语句中。逻辑运算符有一个特性:短路机制。规则如下:

  • 或运算时前置项为真时发生短路,逻辑表达式直接为真
  • 且运算时前置项为假时发生短路,逻辑表达式直接为假

示例:可以看出下面代码并没有执行打印操作

 #include int main() {int i=0;i&&printf("5==5==5 result:%d\n",5==5==5);return 0;
}

在这里插入图片描述

4.其余运算符

这里着重说一下赋值运算符与sizeof运算符。其余的运算符后面会说到

  • 赋值运算符
    赋值运算符是未来我们写代码的时候最常用的运算符之一,赋值运算符的左端必须是左值,也就是有内存地址的变量,不可以是右值也就是常量,否则会引发编译错误。除此之外赋值运算符还包含符合赋值运算符 += -= *= /=这些运算符也是算术运算符的一种简写方式,可以提高阅读代码与程序执行的效率。
  • sizeof运算符,这个其实是一个运算符并不是一个函数。

运算符的优先级

可以参考以下一个图表。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:同一优先级运算符,运算次序由结合方向决定。不同级别优先级遵循以下规则:!>算术运算符>关系运算符>&&>||>赋值运算符。


相关内容

热门资讯

常用商务英语口语   商务英语是以适应职场生活的语言要求为目的,内容涉及到商务活动的方方面面。下面是小编收集的常用商务...
六年级上册英语第一单元练习题   一、根据要求写单词。  1.dry(反义词)__________________  2.writ...
复活节英文怎么说 复活节英文怎么说?复活节的英语翻译是什么?复活节:Easter;"Easter,anniversar...
2008年北京奥运会主题曲 2008年北京奥运会(第29届夏季奥林匹克运动会),2008年8月8日到2008年8月24日在中华人...
英语道歉信 英语道歉信15篇  在日常生活中,道歉信的使用频率越来越高,通过道歉信,我们可以更好地解释事情发生的...
六年级英语专题训练(连词成句... 六年级英语专题训练(连词成句30题)  1. have,playhouse,many,I,toy,i...
上班迟到情况说明英语   每个人都或多或少的迟到过那么几次,因为各种原因,可能生病,可能因为交通堵车,可能是因为天气冷,有...
小学英语教学论文 小学英语教学论文范文  引导语:英语教育一直都是每个家长所器重的,那么有关小学英语教学论文要怎么写呢...
英语口语学习必看的方法技巧 英语口语学习必看的方法技巧如何才能说流利的英语? 说外语时,我们主要应做到四件事:理解、回答、提问、...
四级英语作文选:Birth ... 四级英语作文范文选:Birth controlSince the Chinese Governmen...
金融专业英语面试自我介绍 金融专业英语面试自我介绍3篇  金融专业的学生面试时,面试官要求用英语做自我介绍该怎么说。下面是小编...
我的李老师走了四年级英语日记... 我的李老师走了四年级英语日记带翻译  我上了五个学期的小学却换了六任老师,李老师是带我们班最长的语文...
小学三年级英语日记带翻译捡玉... 小学三年级英语日记带翻译捡玉米  今天,我和妈妈去外婆家,外婆家有刚剥的`玉米棒上带有玉米籽,好大的...
七年级英语优秀教学设计 七年级英语优秀教学设计  作为一位兢兢业业的人民教师,常常要写一份优秀的教学设计,教学设计是把教学原...
我的英语老师作文 我的英语老师作文(通用21篇)  在日常生活或是工作学习中,大家都有写作文的经历,对作文很是熟悉吧,...
英语老师教学经验总结 英语老师教学经验总结(通用19篇)  总结是指社会团体、企业单位和个人对某一阶段的学习、工作或其完成...
初一英语暑假作业答案 初一英语暑假作业答案  英语练习一(基础训练)第一题1.D2.H3.E4.F5.I6.A7.J8.C...
大学生的英语演讲稿 大学生的英语演讲稿范文(精选10篇)  使用正确的写作思路书写演讲稿会更加事半功倍。在现实社会中,越...
VOA美国之音英语学习网址 VOA美国之音英语学习推荐网址 美国之音网站已经成为语言学习最重要的资源站点,在互联网上还有若干网站...
商务英语期末试卷 Part I Term Translation (20%)Section A: Translate ...