C语言程序基础运算符表达式.ppt

上传人:max****ui 文档编号:8615352 上传时间:2020-03-30 格式:PPT 页数:24 大小:1.04MB
返回 下载 相关 举报
C语言程序基础运算符表达式.ppt_第1页
第1页 / 共24页
C语言程序基础运算符表达式.ppt_第2页
第2页 / 共24页
C语言程序基础运算符表达式.ppt_第3页
第3页 / 共24页
点击查看更多>>
资源描述
C语言程序基础 运算符表达式 主讲教师 齐林海控制与计算机工程学院 学习目标 掌握C语言的各种运算符及其对应的表达式 掌握运算法的优先性特点和结合型特点 掌握各种不同表达式混合运算的特点 数据运算后数据类型的变化 程序设计的顺序结构方法 C语言运算符简介 算术运算符关系运算符逻辑运算符位运算法赋值运算符条件运算符逗号运算符 指针运算符求字节数运算符强制类型转换运算符分量运算符下标运算符其他 算术运算符和算术表达式 基本的算术运算符 加法运算符 或正直运算符 减法运算符 或负值运算符 乘法运算符 除法运算符 整除结果取整数 小数部分舍去 模运算符 或求余运算符 两侧均应为正整数 如7 4的值为3 算术表达式用算术运算符和括号将运算对象 操作数 连接起来 符合C语言语法规则的式子叫算术表达式 运算对象包括 常量 变量 函数等 算术运算符和算术表达式 运算符的优先级和结合性优先级 在表达式求值时 按运算符的优先级别高低次序执行计算 优先级规定 先乘除后加减 结合性 如果运算对象两侧运算符的优先级相同 则按 自左向右 顺序进行计算 此为结合方向 即结合型 结合型规定 C语言规定的结合型为 先左后右 即运算对象先与左侧的运算符结合运算 然后 再与右侧的运算符结合运算 算术运算符和算术表达式 强制类型转换运算符 将一个表达式转换成所需类型 double a将a转换成为double类型 int x y 将 x y 表达式的值的类型转换成为int类型 float 5 3 将5 3的值的类型转换成为float类型 一般形式 类型名 表达式 注意表达式一定用括弧括起来表达式的值的类型变化 但是 表达式各运算对象不发生变化 强制类型转换将形成一个中间结果 不对源对象产生影响 算术运算符和算术表达式 int x y 与 int x y int x y 是将x y这个表达式的计算结果的类型转换成为整型 int x y是先将x类型转换成为整型后再进行加y运算 int x假设x已经声明为float类型 执行 int x后 得到一个整型的中间结果 但是原来的x类型不变 算术运算符和算术表达式 例题 强制类型转换 includevoidmain floatx inti x 32767 0 i int x 3 printf x f i d n x i 输出结果 x 32767 0 i 1 两侧必须是整数 x是实数 必须强制转换类型 但是 只要转换类型后的中间结果 原来x的类型及值不变 算术运算符和算术表达式 自增自减运算符使变量的值增加或减少1 i i使用i之前 先使i的值加 减 1 i i 使用i之后 使i的值加 减 1 includevoidmain inti j i 3 j 4 printf d n i printf d n j 注意事项 自增自减运算符只适用于变量 而不适用于表达式和常量 5 或 a b 都是非法的 因为 自增或自减后结果放在何处无法确定 或 的结合方向是 自右向左 includevoidmain inti i 3 printf d n i 运行结果是 3如果是 printf d n i 运行结果是 4 算术运算符和算术表达式 自增自减运算符常用于循环语句中 用于循环控制变量的变化 赋值运算符和赋值表达式 赋值运算符 称为赋值运算符作用是将一个数据赋给一个变量通常更多的是将一个表达式赋值给一个变量赋值运算符的左侧一定是一个变量 不能是一个表达式 赋值运算符和赋值表达式 类型转换赋值运算符两侧的数据类型可以不一致 这就牵扯到类型转换 浮点型数据赋值给整型变量 舍弃浮点数小数部分 整型数据赋值给浮点型变量 数值不变 但是以浮点数形式存贮到变量中 double数据赋值给float变量 截取其前面的7位有效数字 放在float变量的4个字节单元中 float数据赋值给double变量 数值不变 有效位扩展到16位 字符型数据赋值给整型变量 字符占1个字节 整数占两个字节 将字符数据 8位二进制 放到整数的低8位中 赋值运算符和赋值表达式 复合的赋值运算符在赋值运算符 之前加上其他运算符 构成复合的赋值运算法 a 3 相当于a a 3 x y 8 相当于x x y 8 x 3 相当于x x 3 凡是二目运算符 都可以与赋值运算符一起组合成复合的赋值运算 赋值运算符和赋值表达式 赋值表达式由赋值运算符将一个变量和一个表达式连接起来的式子 变量赋值运算符表达式赋值表达式的求解过程先求赋值运算符右侧的 表达式 的值 然后赋给赋值运算符左侧的变量 赋值运算符左侧的标识符称为 左值 变量可以作为左值 表达式和常量不能作为左值 赋值运算符右侧的表达式称为 右值 左值 可以作为 右值 赋值表达式的变化赋值表达式可以作为另一个赋值表达式的 右值 a b 5 先将5赋值给b 然后将b赋值给a 最后a为5 即表达式的值为5 赋值运算符遵循又结合 即从右向左 赋值运算符和赋值表达式 所谓结合性是指当两个优先级相同的运算符在一起时的选择 a b c 5赋值表达式的值为5 a b c的值均为5 a 5 c 6 赋值表达式的值为11 a为11 c为6 a b 4 c 6 赋值表达式值为10 a10 b4 c6 a b 10 c 2 赋值表达式值为5 a5 b6 c2 a 3 5 4 3先计算括弧内值为a 15 然后计算4 3 12赋值给a 最后 赋值表达式值为12 a 3 5 4 3不合法 3 5是表达式不能作为左值 赋值运算符和赋值表达式 逗号运算符 用一个逗号将两个表达式连接起来 又称为顺序求值运算符 逗号表达式的一般形式 表达式1 表达式2 表达式n逗号表达式的求解过程 先求解表达式1 再求解表达式2 依次求解表达式值 整个表达式的值是表达式n的值 逗号运算符和逗号表达式 逗号运算符的优先级和结合性逗号运算符的优先级是所有运算符中最低的 逗号运算符的结合性是从左到右 例题 3 5 5 8先求3 5 8 再计算5 8 13 整个表达式为13a 3 5 a 4逗号优先级最低 先计算a 3 5 15 再计算a 4 60 整个表达式值为60 a 3 5 a 4 a 5括弧内嵌套了一个逗号表达式 然后 与后面的表达式组成了一个新的逗号表达式 括弧内的逗号表达式值为60 但是 这时a得值为15 所以a 5 20 即整个逗号表达式的值为20 x a 3 6 3表达式的值为18x a 3 6 3 表达式的值为18 逗号运算符和逗号表达式 逗号有时作为间隔符号 顺序结构程序设计 顺序结构程序设计 例1 输入两个数 交换内容 includemain inta b temp scanf d d A B TEMP 顺序结构程序设计 在键盘上输入一个小写字符 将其转换成大写字符后输出 includevoidmain charc c getchar c c 32 putchar c putchar n a z 的ASCII码为 97 122 A Z 的ASCII码为 65 90对应字母大小写相差32 顺序结构程序设计 输入三角形的三边长 a b c 求三角形面积area include includemain floata b c s area scanf f f f 顺序结构程序设计 输入任意三个整数 求它们的和及平均值 includemain intn1 n2 n3 sum floataver printf Pleaseinputthreenumbers scanf d d d 自强不息 团结奋进爱校敬业 追求卓越
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


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


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

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


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