顺序结构程序设计ppt课件.ppt_第1页
顺序结构程序设计ppt课件.ppt_第2页
顺序结构程序设计ppt课件.ppt_第3页
顺序结构程序设计ppt课件.ppt_第4页
顺序结构程序设计ppt课件.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 内容要点回顾 include stdio h definePI3 1415926intmain intm 6 n floata 1 68 b charch1 ch2 doublex 6 18 y printf 请输入一个整数 scanf d 2 第三章顺序结构程序设计 学习目的 通过对运算符的介绍 来掌握C语言对数据的处理方法1算术运算符及表达式2赋值运算与赋值表达式3C语言特有的运算和运算符 3 1算术运算与算术表达式 在 语言中 除控制语句和输入输出函数外 其它所有基本操作都作为运算符处理 1 五种基本算术运算符 减法 取负 求余数 1 关于除法运算 C语言规定 两个整数相除 其商为整数 小数部分被舍弃 例如 5 2 2 2 关于求余数运算 要求两侧的操作数均为整型数据 否则出错 2 表达式和算术表达式 1 表达式的概念用运算符和括号将运算对象 常量 变量和函数等 连接起来的 符合 语言语法规则的式子 称为表达式 4 关于求余运算 只能用于整形数据运算的含义是求两个数整除 即商为整数 后的余数 如 8 4结果为2而8 4结果为07 4结果为1而7 4结果为3 5 2结果为 15 2 结果为1重要性质 若a b结果为0 则a能被b整除 a b的结果只可能是0 1 b 1之中的一个 5 单个常量 变量或函数 可以看作是表达式的一种特例 将单个常量 变量或函数构成的表达式称为简单表达式 其它表达式称之为复杂表达式 2 算术表达式的概念表达式中的运算符都是算术运算符 例如 3 6 9 x y 2 1等 都是算术表达式 良好的源程序书写习惯 在表达式中 在双目运算符的左右两侧各加一个空格 可增强程序的可读性 特别注意 数学式子 b2 4ac写为C语言的表达式 b b 4 a c其中的 不可省略 运算符的优先级与结合性 1 语言规定了运算符的优先级和结合性 所谓结合性是指 当一个操作数两侧的运算符具有相同的优先级时 该操作数是先与左边的运算符结合 还是先与右边的运算符结合 6 自左至右的结合方向 称为左结合性 反之 称为右结合性 结合性是 语言的独有概念 除单目运算符 赋值运算符和条件运算符是右结合性外 其它运算符都是左结合性 2 表达式求值1 按运算符的优先级高低次序执行 例如 先乘除后加减 2 如果在一个运算对象 或称操作数 两侧的运算符的优先级相同 则按 语言规定的结合方向 结合性 进行 例如 算术运算符的结合方向是 自左至右 即 在执行 a b c 时 变量b先与减号结合 执行 a b 然后再执行加c的运算 7 4 数据类型转换 1 在 语言中 整型 实型和字符型数据间可以混合运算 因为字符数据与整型数据可以通用 如果一个运算符两侧的操作数的数据类型不同 则系统按 先转换 后运算 的原则 首先将数据自动转换成同一类型 然后在同一类型数据间进行运算 转换规则有自动和强制两种 自动的规则为不同范围的数据相互运算将会使小范围的数据先转换为大范围的数据类型再运算 结果为大范围类型 8 2 除自动转换外 语言也允许强制转换 数据类型强制转换的一般格式为 要转换成的数据类型 被转换的表达式 当被转换的表达式是一个简单表达式时 外面的一对圆括号可以缺省 例如 double a 等价于 double a 将变量a的值转换成double型 int x y 将x y的结果转换成int型 float 5 2 等价于 float 5 2 将5转换成实型再除以2 2 5 float 5 2 将5整除2的结果 2 转换成实型 2 0 注意 强制转换类型得到的是一个所需类型的中间量 原表达式类型并不发生变化 例如 double a只是将变量a的值转换成一个double型的中间量 其数据类型并未转换成double型 9 2赋值运算与赋值表达式 1 赋值运算赋值符号 就是赋值运算符 它的作用是将一个表达式的值赋给一个变量 赋值运算符的一般形式为 变量 表达式例如 x 5y float 5 2如果表达式值的类型 与被赋值变量的类型不一致 但都是数值型或字符型时 系统自动地将表达式的值转换成被赋值变量的数据类型 然后再赋值给变量 思考题 假设变量num的数据类型为float 其值为2 5 则执行 num int num 后 num的值等于多少 10 2 复合赋值运算复合赋值运算符是由赋值运算符之前再加一个双目运算符构成的 复合赋值运算的一般格式为 变量双目运算符 表达式 复合赋值运算符它等价于 变量 变量双目运算符 表达式 当表达式为简单表达式时 表达式外的一对圆括号才可缺省 否则可能出错 例如 x 3 等价于x x 3 y x 6 等价于y y x 6 而不是y y x 6 C语言规定的10种复合赋值运算符如下 复合算术运算符 5个 复合位运算符 5个 11 赋值表达式由赋值运算符或复合赋值运算符 将一个变量和一个表达式连接起来的表达式 称为赋值表达式 1 一般格式变量 复合 赋值运算符表达式 2 赋值表达式的值任何一个表达式都有一个值 赋值表达式也不例外 被赋值变量的值 就是赋值表达式的值 例如 a 5 这个赋值表达式 变量a的值 就是它的值 注意 赋值表达式后加分号就构成赋值语句 a 5 y x 6 12 3C语言特有的运算和运算符 一 自增 自减 运算1 作用自增运算使单个变量的值增 自减运算使单个变量的值减 2 用法与运算规则自增 自减运算符都有两种用法 1 前置运算 运算符放在变量之前 变量 变量先使变量的值增 或减 然后再以变化后的值参与其它运算 即先增减 后运算 2 后置运算 运算符放在变量之后 变量 变量 变量先参与其它运算 然后再使变量的值增 或减 即先运算 后增减 13 案例3 1 自增 自减运算符的用法与运算规则示例 案例代码文件名 AL3 1C 程序功能 自增 自减运算符的用法与运算规则示例 include stdio h intmain intx 6 y printf x d n x 输出x的初值 y x 前置运算 printf y x x d y d n x y y x 后置运算 printf y x x d y d n x y return0 程序运行结果 x 6y x x 7 y 7y x x 6 y 7 14 思考题 如果将案例 y x 语句中的前置运算改为后置 y x y x 语句中的后置运算改为前置 y x 程序运行结果会如何 说明 1 自增 自减运算 常用于循环语句中 使循环控制变量加 或减 以及指针变量中 使指针指向下 或上 一个地址 2 自增 自减运算符 不能用于常量和表达式 例如 5 a b 等都是非法的 3 在表达式中 连续使同一变量进行自增或自减运算时 很容易出错 所以最好避免这种用法 二 逗号运算 及其表达式 语言提供一种用逗号运算符 连接起来的式子 称为逗号表达式 逗号运算符又称顺序求值运算符 15 1 一般形式表达式 表达式 表达式n2 求解过程自左至右 依次计算各表达式的值 表达式n 的值即为整个逗号表达式的值 例如 逗号表达式 a 3 5 a 4 的值 60 先求解a 3 5 得a 15 再求a 4 60 所以逗号表达式的值 60 又例如 逗号表达式 a 3 5 a 4 a 5 的值 20 先求解a 3 5 得a 15 再求a 4 60 最后求解a 5 20 所以逗号表达式的值 20 注意 并不是任何地方出现的逗号 都是逗号运算符 很多情况下 逗号仅用作分隔符 16 顺序结构程序设计 在顺序结构程序中 各语句 或命令 是按照位置的先后次序 顺序执行的 且每个语句都会被执行到 案例3 2 输入任意三个整数 求它们的和及平均值 案例代码文件名 AL3 2 C 功能 设计一个顺序结构程序 求三个整数的和及平均值 include stdio h intmain intnum1 num2 num3 sum floataver printf Pleaseinputthreenumbers scanf d d d 17 思考题 能否将 aver sum 3 0 中 3 0 改为 3 案例3 3 求方程ax2 bx c 0的实数根 a b c由键盘输入 a 0且b2 4ac 0 案例代码文件名 AL3 3 C 功能 设计一个顺序结构程序 求方程的根 include math h 为使用求平方根函数sqrt 包含math h头文件 include stdio h intmain floata b c disc x1 x2 printf Inputa b c scanf f f f 18 案例3 4 从键盘输入一个小写字母 要求用大小写字母形式输出该字母及对应的ASCII码值 案例代码文件名 AL3 4 C include stdio h intmain charc1 c2 printf Inputalowercaseletter c1 getchar putchar c1 printf d n c1 c2 c1 32 将大写字母转换成对应的小写字母 printf c d n c2 c2 return0 程序演示 19 程序运行情况如下 Inputalowercaseletter a a 97A 65在顺序结构程序中 一般包括以下几个部分 1 程序开头的编译预处理命令 在程序中要使用标准函数 又称库函数 需将相应的头文件包含进来 2 顺序结构程序的函数体中 是完成具体功能的各个语句和运算 主要包括 1 变量类型的说明 2 提供数据语句 输入 3 运算处理部分 处理 4 输出结果部分 输出 20 内容要点 和 运算符的运算规律自增 自减 运算的特点逗号运算符的应用 格式化输出输入的典型应用 printf d n a scanf d 格式指示符 scanf需要掌握 dint cchar ffloat lfdouble 21 printf需要掌握 dint cchar ffloat double 3ffloat double 22 到目前应会的语句 变量赋值 变量名 表达式 如a 3 5 6 b a a b 输出语句 printf d n a 输入语句 scanf d 23 改错题 1 分析下列程序中的错误并改正 includestdio h intmain mainfunction floatr s risradius sisarea r 5 0 s 14159 r r printf f n s 24 2 指出下列程序中的错误并改正 include stdio h intmain mainfunction floata b c v a 2 0 b 0 c 4 0v a b c printf f n v return0 25 3 分析程序运行结果 include stdio h intmain inta 3 b 5 a b b a printf a d b d n a b return0 要交换两个变量的值 怎么办 变量交换法 26 4 计算的值 初学者可能很容易就写出了下面程序 include stdio h include math h intmain printf f n sin 1 sin 1 2 sin 1 3 sin 1 4 sin 1 5 sin 1 6 sin 1 7 sin 1 8 sin 1 9 sin 1 10 return0 此后发现这个程序可以正常通过编译 但执行时却得不到正确结果 也就是说 这个程序有语义错误 为什么呢 如果读者在仔细读了这个程序之后还没有发现问题 那就应当复习一下前面对数据类型有关问题的讨论了 27 5 分析下列程序的运行结果 include stdio h intmain intx y z x y z 3 y x 1 printf d t d t x y y x 1 printf d t d t x y y z 1 printf d t d t z y y z 1 printf d t d t z y return0 28 6 分析下列程序的运行结果 include stdio h intmain intx 5678 a b c d a x 1000 printf d t a b x 100 10 printf d t b c x 10 10 printf d t c d x 10 printf d n d return0 数字分离技术 29 良好的源程序书写风格 顺序程序段左对齐 顺序程序段中的所有语句 包括说明语句 一律与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论