C语言课件(运算符和表达式).ppt

运算符与表达式第二讲 运算符和表达式,引例 概念及分类 优先级和结合性 算术运算 关系运算 逻辑运算 位运算 赋值运算符 逗号运算符 条件运算符,引例,引例 问题 输入一个四位的正整数,反序输出该四位数的四个数字字符。 设计 用一个无符号整型变量number保存输入的四位正整数。 依次分解出个位数字、十位数字、百位数字和千位数字,并分别放到字符变量c1、c2、c3和c4中。 怎么分解 利用除法、取模等运算。 顺序输出变量c1、c2、c3和c4中的字符。,引例,引例 源程序(cw04-01.c),include void main unsigned number; char c1, c2, c3, c4; printf“请输入一个四位的正整数“; scanf“u“, ,请输入一个四位的正整数 1234 4321,相关概念,运算符 在C语言中用来表示某种计算的符号。 操作数 运算符操作的对象,可以为变量(已赋值)、常量或其他有切确值的表达式。 表达式 运算符和合适的操作数组成的具有切确值的式子称为表达式。,运算符分类,单目运算符(一元运算符) 只有1个操作数。 双目运算符(二元运算符) 具有2个操作数。(主要类型) 三目运算符(三元运算符) 需要3个操作数。(唯一条件运算符 ),运算符的优先级和结合性,运算符的优先级 某些运算符先于其他运算符被执行。 例如,x y * 4,先乘除后加减。 必要时可以用圆括号()改变计算顺序。 例如,求三个数的平均值。 错误的写法a b c / 3 正确的写法a b c / 3 运算符的结合性 当出现并列的运算优先级别相同的运算符时,由运算符的结合性决定计算的次序。 例如,x * y / z,算术运算符,常用的算术运算及运算符 说明 取模运算(),结果是两个整数相除的余数。 例如,75 2,-23 -2。,运算符和表达式,自增和自减运算符,自增和自减运算符 自增运算符 将操作数的值增一。 自减运算符 将操作数的值减一。 操作数必须是整型和字符型变量。 单目运算符。 优先级2。 结合性从右往左。,运算符和表达式,算术运算符(特殊问题),除号运算符的使用问题 当除号前后操作数全为整型数(包括char、int、long)时,除号为整除运算。 当有任一操作数为实型数时则为普通除法运算。 取模运算符的使用问题 操作数只能整型数据(char、int、long)。 自加/自减运算符的使用问题 ()在前先加(减)后用; ()在后先用后加(减)。,自增和自减运算,举例(cw0404.c),include void main int i6, a, b; printf“dn“, i; printf“dn“, i; ai; printf“dn“, a; bi; printf“dn“, b; printf“dn“, -i; printf“idn“, i; ,7 7 7 7 -6,i ,关系运算,关系运算(比较运算) 比较两个值,结果为“真”或“假”。 举例a3 如果a8,则结果为“真” 如果a1,则结果为“假” 用关系运算进行条件判断 关系表达式表示一个条件,根据其结果判断条件是否满足。 举例a3 如果a8,结果为“真”,即条件满足 如果a1,结果为“假”,即条件不满足,关系运算符,关系运算符,关系表达式,关系表达式 表达式1和表达式2可以是任何表达式。 举例,ab mnzyz,关系表达式,关系表达式的值是一个逻辑值“真”或“假” C语言没有逻辑类型,因此 用整数 1 表示“真” 用整数 0 表示“假” 即关系表达式的值是整数 1 或 0 。 举例 若a1,b2,c3,ab abcbc Yy,0 1 1 1,关系表达式的使用,举例写出下面各条件的关系表达式 x为不小于 -5 的整数 x为非零的数 x的平方大于m与n的和,x-5 x0 x*xmn,关系运算的不足,关系表达式只能表达一些简单的条件 grade60 total1000 每个判断只是对一个条件进行测试。 如果要对多个条件进行测试就要在独立的语句或嵌套的if或if-else结构中进行测试。 例110y5 例2x0,if y5 if y10 ;,if x0 ;,逻辑运算,逻辑运算 通过逻辑运算符把简单的条件组合起来,能够形成更加复杂的条件。 例110y5 的逻辑表达式 y5y0 的逻辑表达式 x0 逻辑运算符 (逻辑非) (逻辑与) (逻辑或)逻辑表达式,逻辑表达式 表达式1和表达式2可以是任何表达式。 举例,x5xcacbbca,逻辑表达式的值 1真 0假 整数逻辑运算,逻辑运算真值表,,,,逻辑表达式的使用,将下面的条件用C语言的逻辑表达式表示 例11x10且x7 x1x65 如果gender不等于F,整个表达式的值就是假,求值过程结束。 例2average90finalExam90 如果average大于等于90,整个表达式的值就是真,求值过程结束。,程序设计举例,举例(cw0602.c) 问题任意输入一个字符,判断它是字母还是数字。,include void main char c; cgetchar; if cA ,位运算,位左移,位与 n的值为3。,运算符和表达式,cab abcd10 xa5b8,aab abcd10 a5, b8, xab,复合赋值运算,复合赋值运算符, -, *, /, 简化了赋值表达式 由下面的表达式简化而来 举例,运算符和表达式,a5 x*y7 xx-x*x,aa5 xx*y7 xxxx-xx*x逗号运算符,逗号运算符, 优先级15。 结合性从左往右。 逗号表达式 , , , x1, ab1, i 求解过程先求表达式1的值,再求表达式2的值直至求出表达式n的值。 表达式的值为表达式n的值。,条件运算符,条件运算符 三目运算符 右结合 条件表达式 举例,printf“s”,grade60 “Passed”“Failed”;,grade60printf“Passed”printf“Failed”;,cabab;,小结,运算符的相关概念 运算符的分类 按操作数个数分 按操作类型分 各类运算符及表达式知识 优先级和结合性总结,

C语言运算符与表达式课件,C语言课件(运算符和表达式).ppt相关推荐

  1. c语言1E3是什么数据类型,C语言课件第2章数据类型和表达式.ppt

    <C语言课件第2章数据类型和表达式.ppt>由会员分享,可在线阅读,更多相关<C语言课件第2章数据类型和表达式.ppt(61页珍藏版)>请在人人文库网上搜索. 1.第二章数据类 ...

  2. c语言表达式用法,C语言开发之运算符、表达式用法

    C语言中运算符和表达式数量之多,在高级语言中是少见的.正是丰富的运算符和表达式使C语言功能十分完善.这也是C语言的主要特点之一.C语言的运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性.在 ...

  3. c语言 4则运算符,C语言学习之路之四-----------C语言的运算符与表达式

    C语言的运算符与表达式 运算符与表达式 C语言的运算符又称为操作符,是数据间进行运算的符号.C语言的运算符按运算类型可分为赋值运算符.算术运算符.逻辑运算符.关系运算符.位运算符.指针运算符和取成员运 ...

  4. C语言(第二章):数据类型、运算符、表达式

    .:.:第二章:数据类型.运算符.表达式:.:. 第二章: 数据类型.运算符.表达式 C语言的数据类型 在第一课中,我们已经看到程序中使用的各种变量都应预先加以说明,即先说明,后使用.对变量的说明可以 ...

  5. c语言表达式用法,C语言 运算符、表达式和条件结构 用法总结

    运算符.表达式和条件结构 内容概要:各种运算符的使用 运算符的优先级 表达式的计算 条件分支结构判断的常用结构 表达式: 表达式是运算符和操作数的组合,如下所示: s = ( n + 9 ) * ( ...

  6. c51查表法 c语言表达式,单片机c语言教程第六章--C51运算符和表达式

    上两课说了常量和变量,先来补充一个用以重新定义数据类型的的语句吧.这个语句就是 typedef,这是个很好用的语句,但我却不常用它,通常我定义变量的数据类型时都是使 用标准的关键字,这样别人能很方便的 ...

  7. c语言等号运算符先计算右边,C语言运算符和表达式.ppt

    <C语言运算符和表达式.ppt>由会员分享,可在线阅读,更多相关<C语言运算符和表达式.ppt(29页珍藏版)>请在人人文库网上搜索. 1.运算符和表达式,夏涛,运算符与表达式 ...

  8. c语言逗号的作用情况,C语言逗号运算符和逗号表达式基础总结

    逗号运算符的作用: 1,起分隔符的作用: 定义变量用于分隔变量:int a,b 输入或输出时用于分隔输出表列 printf("%d%d",a,b) 2,用于逗号表达式的顺序运算符 ...

  9. c语言实验数据类型体会,实验1-C语言开发环境使用和数据类型、运算符、表达式-实验总结与体会...

    一,实验总结 本此实验共9组练习,其中前5组为练习c程序结构与书写规范,3组为补全程序,最后一组为自主编写. Part 1 前五组中没有出现什么问题,但在学习指导P116第一题中: #include ...

最新文章

  1. R语言使用dplyr将特定的数据列移动到最前面、使用dplyr将特定数据列移动到另一指定数据列的后面、使用dplyr将特定数据列移动到另一指定数据列的前面
  2. 0730------Linux网络编程----------服务器端模型(迭代,多进程,多线程,select,poll,epoll 等)...
  3. 基于单目视觉的智能车辆视觉导航系统设计
  4. Linux启动网卡时出现RTNETLINK answers: File exists错误解决方法
  5. VMware vCenter Server6.5安装及群集配置介绍
  6. 2020 年程序员高考试卷来了!
  7. 阿里巴巴宣布架构调整;英伟达放大招!重磅发布 ​TensorRT 7 ,支持超千种计算变换;苹果、谷歌和亚马逊罕见结盟……...
  8. 助老打车暖心车站落地杭州 帮助老年人扫码一键叫车
  9. 团队软件库_深情软件库App最新版下载_深情软件库手机版2021下载
  10. 屌丝就爱尝鲜头——java8再判断
  11. Java-IO流-实例
  12. CSDN 博客版块问题解决日志
  13. Opencv读取.dat格式CT数据
  14. ftp server - sftpgo_v2.2.2_windows_x86_64的简单使用
  15. 海洋环境保护具体内容
  16. Ctf新生赛misc“easy_osint”
  17. Profile介绍与使用
  18. html+css+js实现的图片轮播图下方配文字可变图片可点击
  19. 一种基于卷积神经网络的图像去雾研究-含matlab代码
  20. RSI相对强弱指标策略-指标定义、计算公式与策略思考

热门文章

  1. 【UG NX MCD 机电一体化概念设计】UG NX MCD+PLCSIM Advanced联合仿真实例(三) 联合调试
  2. 关于IOS调用微信支付jsapi不起作用的解决方法
  3. oracle中累计求和_oracle求和代码示例
  4. 【VBA研究】保存和打开Excel文件的代码
  5. 豌豆荚取应用信息Api
  6. python和java学哪个好-Python和Java二选一该学啥?
  7. http和httpsd的区别
  8. 【Java基础系列教程】第一章 编程入门
  9. “搜狗问问”问答语料爬虫
  10. 软件验收测试是什么,验收测试报告怎么做