全国计算机二级C语言程序设计讲义运算符和表达式.ppt

上传人:xt****7 文档编号:5210151 上传时间:2020-01-23 格式:PPT 页数:29 大小:432.31KB
返回 下载 相关 举报
全国计算机二级C语言程序设计讲义运算符和表达式.ppt_第1页
第1页 / 共29页
全国计算机二级C语言程序设计讲义运算符和表达式.ppt_第2页
第2页 / 共29页
全国计算机二级C语言程序设计讲义运算符和表达式.ppt_第3页
第3页 / 共29页
点击查看更多>>
资源描述
第三讲运算符和表达式 一 表达式 二 算术运算符和算术表达式 四 算术表达式中数据类型的转换 三 标准库函数调用 六 增量运算符与增量表达式 七 逗号运算符与逗号表达式 五 赋值运算1 赋值运算符和赋值表达式2 复合赋值运算 一 表达式 表达式 由常量 变量 函数和运算符组成的式子称为表达式 例 计算圆面积的语句 s 3 14159 r r 该语句中 r 3 14159 3 14159 r 3 14159 r r s 3 14159 r r都是表达式其中 是运算符 r是变量 3 14159是常量 表达式的求值规则 按照运算符的优先级和结合性的规定顺序进行 有的运算符只需要一个运算对象 这种运算符称为单目运算符 如 5中的 负号需要两个运算对象的称为双目运算符 如加 减 乘 除 一个表达式有一个值及其类型 它们等于计算表达式所得结果的值和类型 二 算术运算符和算术表达式 算术运算符 算术运算符用于各类数值运算 算表达式中的运算对象都是算术量 即整型 实型或字符型 下表为基本的算术运算符 其中单目运算符负号 的优先级最高 为2 除法运算符 进行求商运算 对于不同类型的运算对象 除法表达式计算结果的类型也会不同 例 计算x y如果x y是整型 则结果为整型 小数部分被略去 如果x y中有一个实型量 则x y都被转化为double类型进行运算 结果为double类型量 运算实例 x y为整型量 5 2结果为2 整型量2 5结果为0 整型量 x y其中一个为实型量 5 0 2或5 2 0或5 0 2 0结果为2 5 实型量 是求余运算 a b计算a除以b后的余数 也是a模b的值 它要求两个运算对象都是整型量 其结果也是整型量 例 5 2结果为12 5结果为0 例 将数学式改写成算术表达式 一般数学式 a b c d ac 算术表达式 a b c d a c将方括号改成圆括号 不能省略 x x y 1 0 x y其中不能出现分数 改用除法运算符 圆括号不能缺少 3 14159 r r 2 0其中为非字母字符 要用实型常量代替 例 基本数学运算符程序实例 main inta b c1 c2 a 3 b 7 c1 b a c2 b a printf c1 d tc2 d n c1 c2 c1 a b c2 a b printf c1 d tc2 d n c1 c2 程序运行输出 c1 2c2 1c1 0c2 3 三 标准库函数调用 对于某些数学运算 如求平方根 指数 对数运算 C语言中有标准库函数对其进行计算 调用函数格式 函数名 参数 参数 其中函数名有由系统提供 不同C的编译系统 提供的函数名不同 使用时需查阅相关手册 调用函数时 参数的类型必须与系统规定一致 调用标准库函数之前 通常要用预编译命令 include 将所需要的库函数信息包含到用户源文件中 如 在使用数学库函数以前 需使用编译命令 include math h 例 计算的值 include math h main doublex y x 5 0 y 7 0 printf z f n x 2 0 pow x y 四 算术表达式中数据类型的转换 当表达式中的各类数值型数据参与混合运算时 要进行类型转换 转换方式自动转换 数据类型自动由低级向高级转换 强制转换 将表达式的运算结果强制转换成指定的数据类型 如下表达式是合法的 1 3 14159 0 A 自动转换规则 例 数据类型自动转换实例 有如下变量类型 charc inti floatf doubled 计算表达式 c f i d charfloatintdouble c f i d intdouble doubledouble double double 强制转换 格式 数据类型说明符 表达式 注意 1 强制转换属单目运算 运算优先级为2 2 强制转换得到的是中间变量类型 原变量类型不变 例 intx y floatz float x y int z x 五 赋值运算 1 赋值运算符和赋值表达式 赋值表达式的一般格式为 变量 表达式 说明 赋值运算符左边必须是变量而不能是表达式 赋值表达式的值是赋值号左边变量被赋值后的值 例 j 3 ja b c 4 左边的语句是错误的 赋值语句左边只能是变量 如果赋值号两边的类型不一致 则将赋值号右边表达式的值的类型转换成赋值号左边变量的类型 例 floatf 1 0 inta 2 b 3 charc A f a b c 赋值表达式f a b c的值 也就是f的值为实型量 结果为70 0 赋值语句可以连续进行 例 a b c 0 该表达式等价于a b c 0 2 复合赋值运算 算术运算符 和赋值运算符 结合起来 形成复合赋值运算符 变量OP 表达式等价于变量 变量OP表达式 用OP表示 则复合赋值表达式格式为 加赋值运算符 如a b 3 等价于a a b 3 减赋值运算符 如a b 3 等价于a a b 3 乘赋值运算符 如a b 3 等价于a a b 3 除赋值运算符 如a b 3 等价于a a b 3 取余赋值运算符a b 3 等价于a a b 3 复合运算符左边必须是变量 注意 复合运算符右边的表达式计算完成后才参与复合赋值运算 复合赋值运算符的结合性和优先级等同于简单的赋值运算符 复合运算符常用于某个变量自身的变化 尤其当左边的变量名很长时 使用复合运算符书写更方便 复合运算符在书写时 两个运算符之间不能有空格 例 赋值语句程序实例 main inta b c a b c 5 printf a d b d c d n a b c a b 4 c 6 printf a d b d c d n a b c a b c printf a d b d c d n a b c a a a a printf a d n a 程序运行结果 a 5 b 5 c 5a 10 b 4 c 6a 20 b 4 c 6a 0 六 增量运算符与增量表达式 类别 单目运算 运算优先级为2 运算符 使变量的值增1 使变量的值减1 结合性及执行过程 后缀左结合i 前缀右结合 i i 自增 自减运算只能用于变量 不能用于常量和表达式 注意 例 6 a b 均为非法的运算 自增 自减运算符高于基本算术运算符 自增 自减运算符的运算顺序 例 自增 自减运算符程序实例1 main intx y t 3 printf t d n t x t printf x d t d n x t t 3 printf t d n t y t printf y d t d n y t 程序运行结果 t 3 x 3 t 4t 3 y 4 t 4 例 自增 自减运算符程序实例2 main inti j k i 1 j 1 k i j printf k d i d j d n k i j 程序运行结果 k 2 i 2 j 1 表达式x y等价于 x y 例 自增 自减运算符程序实例3 main inti k i 3 k i i i printf 1 k d ti d n k i i 3 k i i i printf 2 k d ti d n k i 程序输出 1 k 9i 62 k 18i 6 例 自增 自减运算符程序实例4 main intx a b c d x 3 printf d t d t d t d n x x x x a x 3 b x c x d x printf d t d t d t d n a b c d 程序运行结果 32233344 七 逗号运算符与逗号表达式 逗号运算符 或称顺序求值运算符运算符 运算优先级 最低 15级结合性 左结合 逗号表达式 由逗号运算符连接起来的两个或两个以上的表达式 格式 表达式1 表达式2 表达式n 求解过程 先求表达式1的值 再求表达式2的值 直至求出表达式n的值 整个表达式的值为表达式n的值 例 1 x 0 y 1002 x 5 8 6 93 x 1 y 99 z x y 54 x i 10 j 5 i j 5 x i 10 j 5 i j 先后给x y的赋值 表达式的值为100 先把x赋值为40 表达式的值为15 给x y赋值后 计算z的值 表达式的值为500 等价于赋值语句x 50 先给x i赋值 再给j赋值 计算i j 表达式的值为50
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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