华中科技大学光电子学院C语言第二章

上传人:san****019 文档编号:20020147 上传时间:2021-01-25 格式:PPT 页数:20 大小:207.26KB
返回 下载 相关 举报
华中科技大学光电子学院C语言第二章_第1页
第1页 / 共20页
华中科技大学光电子学院C语言第二章_第2页
第2页 / 共20页
华中科技大学光电子学院C语言第二章_第3页
第3页 / 共20页
点击查看更多>>
资源描述
第二章 运算符与表达式 1 表达式 三个问题: 1.运算符运算次序 (求值 ) 2.表达式的书写 3.表达式的类型转换 C语言是一种表达式语言 , 任何表达式后跟“;”都是语 句 . 一 表达式 表达式是由运算对象 ( 常量 , 变量 , 函数 ) 与运算 符 组成的有意义的式子 。 例: 代数式 表达式 4 ab ec f ( a + b ) / ( c e / (4 * f ) ) s in 4 1x sqrt( x ) + sin( 41 * 3.14159 / 180 ) 1 5 ln 3yx pow( y, 1/5 ) + log ( 3 * x ) 0,1x ( c = 0 ) 注: 1.一个表达式书写只能占一行 。 层次性通过加圆括号体现 。 2.任何表达式计算的结果只能是一个值 , 且其值的类型就是 表达式的类型 。 3.常量,变量,有返回值的函数调用等都可视为简单表达式 。 表达式的分类(按运算符分类) 算术表达式 关系表达式 逻辑表达式 赋值表达式 条件表达式 逗号表达式 位运算表达式 表达式的求值由运算符的功能和运算符优先级与结合 性决定的。 二 .运算符与优先级及结合性 算术运算符: +, , *, /, %, +, 关系运算符: , =, int unsigned long unsigned long float double long double 例: int i; char c; long p; double d; short s; float f; unsigned u; c s / i /*表达式类型为 int */ u * 3 i /*表达式类型为 unsigned */ u * 3.0 i /*表达式类型为 double */ f * 3 i /* 表达式类型为 float */ c + 1 /*表达式类型为 int */ 3 * s * p /*表达式类型为 long */ 赋值号两边类型不同时 , 将右边的类型转换成左边类型 ( 不受上面规则的约束 ) 右边类型 左边类型 float int 截去小数部分 ( 降格 ) double float 四舍五入 ( 降格 ) int float 小数部分均为 ( 降格 ) int char 丢掉高出位 ( 降格 ) long int 丢掉高出位 (与机器有关 )( 降格 ) )强制类型(显式)转换 一般形式: ( 类型名 ) ( 表达式 ) 例: ( char) ( 3 3.14 * x ) /* 表达式类型为 char */ (float) i + 3 /* 表达式类型为 float 原 i类型不变 */ 注:被强制转换的变量类型不发生变化 二 赋值运算及复合赋值运算 赋值运算符: 复合赋值运算符: , =, , , , , x != x y x != ( x+y ) 结果为 = x ( 右移 ) , ( 左移 ) ) .在逗号表达式中作逗号运算符 逗号表达式: e1,e2 逗号表达式的值和类型取自最右边表达式的值和类型 , 且从左向右结合运算 。 例: int a,b; char c; a = 1, b = 2, c = 3; /* 逗号表达式 , 其结果为 , 类型为字符型 例:(,)(,) /* 结果为 */ 练习题 将下列数学式写成语言的表达式 已知变量说明如下 char c = a; int a =3, b=4 , d=-7; double x=1.8,y=3.15; 求下列表达式的值: ) a%b+c/a/b ) a+1c ) a+/+d -b ) x+x != x y ) a!=b & x=y ) !x | !y = = 0 * * 2 2 21 ) . ( )a b y 52 ). 6 5 b a cd b 4 ) . 1 s in 4 8 3 02 52 10 3 ) . 1 2 yx 5 ) . 1 , 2x
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!