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

下载本文档

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

文档简介

05 03 2020 1 第2章顺序结构程序设计 程序在执行时总是从main 函数开始 由上往下一条一条地执行遇到的语句 除非遇到控制语句 程序才会按控制语句的控制关系进行有选择的跳转 语言的语句可分为 种类型 1 控制语句 条 2 函数调用语句 3 表达式语句4 空语句5 复合语句 05 03 2020 2 1 控制语句 条 1 if else 2 switch 3 goto 05 03 2020 3 1 控制语句 条 4 while 5 do while 6 for 05 03 2020 4 1 控制语句 条 7 continue 8 break 9 returnexp 05 03 2020 5 2 函数调用语句 函数名 参数列表 3 表达式语句 每一个合法的表达式后面加一个分号 便构成了 语言的语句 4 空语句 只有一个单独的分号构成的语句 作用主要用来调试程序 5 复合语句 用一对花括号 将若干语句括起来构成一条复合语句 逻辑上可以把它当成一条语句来理解 05 03 2020 6 注 1 只要是语句 则必须在其后有一个分号 但是if switch while do while for除外 语句是没有值的 而所有表达式都有一个确定的值 2 复合语句中不仅可以有执行语句 而且可以有定义语句 但定义语句必须在执行语句前 3 复合语句可以嵌套 4 复合语句可以由一对单独的花括号 组成 即在 内可以没有任何语句 空的 也是为了用来调试程序 5 空语句与没有语句是两个不同的概念 空语句表示有一条语句 只是该语句不做任何操作 05 03 2020 7 函数体主要包括 1 变量定义语句 2 输入语句 3 运算语句 4 输出语句 05 03 2020 8 输入 输出语句 语言本身不提供输入 输出语句 输入 输出操作是由函数来实现的 标准输入输出函数 是以标准输入输出设备 即键盘和显示器 为输入输出对象 它们都是一些库函数 如 putchar getchar printf scanf puts gets 05 03 2020 9 输入 输出语句 使用库函数时必须先用预编译命令 include将相应的头文件包含到所编程文件中 预编译命令 include的功能 是将头文件的代码放到所编写的程序文件中 以便在程序中能够引用头文件中的变量或函数 printf scanf 对应的头文件可以省略 include include include 05 03 2020 10 输入 输出语句 一 字符数据的输入输出1 putchar 格式 putchar 字符常量或字符变量 功能 输出一个字符但不输出单引号 其中 字符 可以是一切合法的字符型或整型数据 它会自动将整型数据转换成相应字符后输出 如 putchar a putchar n putchar 100 putchar 100 非法字符 05 03 2020 11 输入 输出语句 一 字符数据的输入输出2 getchar 格式 getchar 功能 接收一个从键盘输入的字符 注 1 此函数没有任何参数 函数的返回值就是输入的字符 2 可以接收从键盘上输入的任何字符包括回车符 空格符 制表符等 3 任何输入都是在回车后按顺序送入内存中 即才能被函数所接收 如 chara b a getchar b getchar 若输入为 则变量a的值为字符 1 变量b的值为回车符 05 03 2020 12 二 格式输入输出函数 1 printf 函数 例 已知圆半径radius 1 5 求圆周长 2 r 和圆面积 r2 05 03 2020 13 includemain floatr 1 5 l s pi 3 14 l 2 pi r s pi r r printf r f n r printf l 7 2f s 7 2f n l s r 1 500000 l 9 42 s 7 07 05 03 2020 14 printf 格式 1 printf 格式控制 输出列表 2 printf 格式控制 功能 按格式控制指定的格式输出数据 其中 格式控制 是用双引号括起来的字符串 其中包含以 开始的 格式说明符 和原样输出的 普通字符 两部分内容 输出列表是需要输出的一批用逗号隔开的数据 常量 变量 表达式 如 printf c d d d 3 4 7 输出结果 c 3 d 11注 这里并不表示c的值为 d的值为 c 和d 还有 是格式控制中要原样输出的普通字符 3和11是分别由两个 d控制输出的数据 05 03 2020 15 格式字符 1 d或i说明 控制输入输出带符号的十进制形式整数 其中不输出正号 2 u说明 控制输入输出无符号的十进制整数 3 o说明 控制输入输出无符号的八进制整数 4 X或x说明 控制输入输出无符号的十六进制形式整数 不输出前导符号0 x 输出时小写x对应小写a b c d e f 大写 对应A B C D E F 5 c说明 控制输入输出一个字符 不输出单引号 05 03 2020 16 格式字符 6 s说明 控制输入输出一个字符串 在输入时以第一个非空字符开始接收 并以碰到的第一个空白字符 包括空格 回车符 结束 输出时不输出双引号 7 f说明 控制输入输出一个实型数 输入时可以用小数形式亦可用指数形式 输出时以小数形式输出 并隐含输出 位小数 8 E或e说明 控制输出指数形式的实型数 输入时与f相同 9 G或g说明 控制输出时自动选用 f或 e格式中输出宽度较短的一种格式 且不输出无意义的0 输入时与f相同 05 03 2020 17 补充 附加格式说明符表 附加符写在百分号 与格式字符之间 1 l说明 用于输入输出长整型数据或双精度数据 2 说明 用于在输出时靠左输出 没用该符号时采用靠右输出 3 说明 用于输出时输出八进制数的前导 输出十六进制的前导0 x 4 用于表示输入时本输入项指定的数据被跳过 05 03 2020 18 printf 函数举例 1 d i格式 d按整型数据的实际长度输出 md输出项占用m列 若整数的实际长度小于m 则输出时左边用空格补足m列 若整数的实际长度大于m 则按整数的实际长度输出 md输出项占用m列 若整数的实际位数小于m 则输出时右边用空格补足m列 若整数的实际位数大于m 则按整数的实际输出 ld用于输出长整型数据 输入输出长整型数据时必须使用该格式 2 u格式 u以无符号的十进制形式输出整数 printf u 1 结果 05 03 2020 19 printf 函数举例 3 o格式 o以无符号的八进制形式输出整数 不输出前导符0 printf d o 1 1 结果 4 x或X x以无符号的十六进制形式输出整数 不输出前导符0 x或oX 小写对小写 大写对大写 printf d x X 1 1 0 xaBc 结果 1 ffff ABC 05 03 2020 20 printf 函数举例 5 c格式 d和 c可以交换使用 它们会自动进行数据转换 printf c d a a printf c d 100 100 6 s格式 string s输出字符串的有效字符 printf s hina 2 ms输出时共占m列 若实际长度小于m 则左端用空格补足 若实际长度大于m 则按字符实际长度输出 printf 5s 5s 5s LJL LJL 4332567 3 m ns输出时共占m列 但只输出字符串的左n个字符到m列的右端 printf 8 5s zhaohaiying 05 03 2020 21 printf 函数举例 7 f格式 按小数形式输出一个实型数据 1 f默认输出6位小数 printf f f 123 4 123 4E 2 2 m nf输出时共占m列 其中有n位小数 若输出数据超过m列 则在确保n位小数后按实际输出 printf 7 3f 7 3f 3 1f 34 67893 34 67893 1234 567 8 e格式 以指数形式输出一个实数 输出时以规范化指数形式输出 即小数点前有且只有 位非零数 共有 位小数 位指数 printf e e 123 4 123 45e 7 9 g格式 自动选用 f和 e格式中输出较短的一种输出 对于小数部分不输出无意义的零 printf g g g 123 45 123 45e 2 123000000 0 05 03 2020 22 printf 函数举例 注 1 格式说明均是以百分号 开头 格式字符结束 若有两个连续的 则输出一个 printf d d 6 5 结果 d 6printf score d 50 score 50 2 除格式x e g大写小写均可外 其它都只能用小写字母 printf d D 5 6 结果 D 3 输出时格式说明符所能操作的数据类型与对应的输出项类型必须相同 但 d与 c除外 printf d 5 0 printf f 5 printf c a 05 03 2020 23 2 scanf 函数格式 scanf 格式控制 地址列表 功能 其中的 格式控制 与printf 中使用方法相同 地址列表是一些用逗号隔开的变量地址 取变量地址的方法是在变量名前面加上地址运算符 05 03 2020 24 2 scanf 函数注 1 可以指定数据所占的列数 输入后由系统自动截取相应的位数 scanf 3d 2d 出现异常 05 03 2020 25 2 scanf 函数注 4 格式控制 中除格式说明符外 若还有其它字符 则在输入时这些字符必须原样输入 scanf d d 05 03 2020 26 2 scanf 函数注 6 由于 c格式可以将从键盘上输入的任何按键作为有效字符赋给相应的变量 所以即使两个 c之间没有其它字符 输入时两个字符之间不能用空格或回车来分隔 scanf c c c 05 03 2020 27 小结 1 输出列表和地址列表都不能出现 空项 即不能出现多余的逗号 printf d d d a b 2 在输出时若格式说明符个数多于输出列表中的项数 则多余说明符随机输出 若格式说明符个数少于输出列表中的项数 则输出列表中多余的输出项不输出 采用从左到右一一对应的方式 printf d d d 1 2 printf d d d 1 2 3 4 5 05 03 2020 28 小结 3 在输入时若格式说明符个数多于地址列表中的项数 则运行时出现异常 若格式说明符个数少于地址列表中的项数 则多余的地址保留原值 若有定义inta 5 b 6 scanf d 输入 输出 a 30b 6 4 对于double longdouble输入时必须在格式字符 f e g 前加字母l 输出时可以加也可以不加 对于float在输入时不能加字母l 输出时可以加也可以不加 对于longint在输入输出时都必须在d格式字符前加字母l int型输出时不能在d前加l 输入时最好不加 05 03 2020 29 给计算机提供数据 可以使用 1 赋值语句 只能解决1个特定的问题 2 输入函数scanf 能解决1类特定的问题 显然 采用scanf 函数 使得程序具有更好的适应性 05 03 2020 30 3 2 2数据输入操作 假设num1 12 num2 36 1 默认分隔符 空格 Tab键 回车如果不指定分隔符 例如逗号 冒号 则使用默认分隔符 例如 scanf d d 正确的输入操作为 12 36 或者 12 36 05 03 2020 31 2 普通字符 务必原样输入 1 scanf d d 正确的输入操作为 num1 12 num2 36 n 提示 scanf 格式字符串中 没有转义字符概念 比较 1 2 两种设计方式的优缺点 05 03 2020 32 比较 1 2 两种设计方式的优缺点 1 仅输入数据 输入量小 但人机交互性差 用户不知道该输入什么 以及输入给谁 2 同时输入说明和数据 人机交互友好性好 但输入量大 思考 如何改进设计 既保持良好的人机交互性 又不增加输入量 05 03 2020 33 提高人机交互性的设计思路 先用printf 函数输出提示信息 再用scanf 函数进行数据输入 scanf num1 d num2 d n 05 03 2020 34 3 使用 c 输入时 空格和转义字符均作为有效字符被输入 例如 scanf c c c 思考 假设输入 A B C printf 输出的内容是什么 输出结果 ch1 A ch2 ch3 B 返回 05 03 2020 35 3 3顺序结构程序设计 顺序结构程序一般包括两部分 1 程序开头的编译预处理命令 如果要在程序中使用标准库函数 则必须使用编译预处理命令 include 将相应的头文件包含进来 05 03 2020 36 2 函数体主要包括 1 变量定义语句 2 输入语句 3 运算语句 4 输出语句 3 执行流程 各语句是按照物理位置次序 被顺序执行 且每个语句都会被执行到 05 03 2020 37 案例 输入3个整数 求它们的和及平均值 include stdio h include conio h voidmain intnum1 num2 num3 sum floataver printf Pleaseinputthreenumbers scanf d d d 05 03 2020 38 案例3 11 设计一个进行加 减 乘 除和求余数运算练习的程序 对程序功能的基本要求如下 1 使用菜单驱动 2 随机产生运算所需的2个操作数 0 99 3 程序自动判断用户的计算结果是否正确 由于所学内容的限制 本案例的设计要求将在本章 以及随后的第4 第7章中分阶段逐步实现并完善 本案例首先实现设计要求 1 05 03 2020 39 功能 菜单程序段 include stdio h include conio h voidmain charoptions clrscr 清屏 函数原型在 conio h 中 05 03 2020 40 printf 加 减 乘 除和求余数运算练习程序 n printf n p

温馨提示

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

最新文档

评论

0/150

提交评论