《简单的C程序设计》PPT课件.ppt_第1页
《简单的C程序设计》PPT课件.ppt_第2页
《简单的C程序设计》PPT课件.ppt_第3页
《简单的C程序设计》PPT课件.ppt_第4页
《简单的C程序设计》PPT课件.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

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

文档简介

本章要求 进一步理解C程序的组成 了解C语句的分类掌握C语言中数据的输入 输出方法 常用输入 输出函数的使用掌握顺序结构程序设计方法 能编写简单的C程序 本章难点 数据输出格式复杂控制符的使用 本章重点 格式输入 输出函数 scanf printf 的使用 第3章简单的C程序设计 3 1顺序结构的基本语句3 2数据的输入与输出3 3字符数据的输入输出 3 4较复杂的输入输出问题本章小结 第3章顺序结构程序设计 内容要点提示 顺序结构中基本的语句有哪些 输出函数printf有哪些格式说明符 利用scanf函数输入数据时 要注意什么 程序设计其实是对数据的设计和对操作的设计 数据设计是通过一系列的数据描述语句来实现 主要用来定义数据的类型 完成数据的初始化等 操作设计是通过一系列的操作控制语句来完成 其作用是向计算机系统发出操作指令 以完成对数据的加工计算和流程控制 程序的结构分为顺序结构 选择结构和循环结构 程序的三种结构 3 1顺序结构的基本语句 C语句是C程序的最基本成分 C语句必须由分号 结尾 哪怕只有一个分号也能构成一个空语句 在C语言中只有 可执行语句 没有 非执行语句 一个大型C程序的结构如右图所示 即一个C程序可以由若干个源程序文件组成 一个源文件可以由若干个函数和预编译命令组成 一个函数又由数据定义部分和执行部分组成 顺序结构主要使用的是简单语句 包括数据输入输出语句 空语句和复合语句 3 1 1简单语句 1 表达式语句由表达式组成的语句称为表达式语句 即在表达式后面加上分号就成为表达式语句 表达式 分号是C语言语句的结束符 例如 i j 3 1顺序结构的基本语句 2 赋值语句例如 y 10 把10赋值给变量y x y 1 x x 6 sin x 计算右边表达式的值 并赋值给变量x 3 函数调用语句函数调用语句由函数名和实际参数加上分号组成 形式如下 函数名 实际参数列表 例如 scanf d 3 1顺序结构的基本语句 3 1 2空语句只有一个分号的语句 它什么也不做 有时用作转向语句或后面章节提到的循环语句中的循环体 例如 while getchar n 这是循环控制语句 这是空语句 3 1 3复合语句把多条语句用花括号 括起来组成的语句称为复合语句 在程序中应把复合语句看成是单条语句 即在语法上相当于一条语句 3 1顺序结构的基本语句 复合语句的形式 数据说明 语句1 语句2 语句n 注意 在复合语句的 数据说明 中定义的变量是局部变量 仅在复合语句中有效 复合语句结束花括号 之后不需再加分号 例如 intx 3 y 7 x y变量仅在复合语句中有效 x x y printf x d n 3 1顺序结构的基本语句 例3 1 输入三角形的三条边长 计算并输出三角形的面积 假设输入的三条边能构成三角形的 根据三条边的边长 计算三角形面积的公式如下 include include 数学函数的头文件 voidmain floatx y z s area printf inputa b c n scanf f f f 输出三角形面积 思考 输入任意3个值作为三角形的边都能计算出三角形面积 如何输入数据 3 1顺序结构的基本语句 3 2 1数据输入 输出的概念 数据输入 输出是相对计算机内存 3 2数据的输入 输出 在 语言中所有的数据输入 输出都是由库函数完成的 因此都是函数语句 在C语言中使用库函数时 要使用预编译命令 include将相关的头文件 h 包含到用户源文件中 使用形式 include 头文件 或 include 说明 1 标准输入 输出头文件是 stdio h2 常用的输入输出函数有 printf scanf putchar getchar getch getche 函数等 3 2数据格式输入 输出 3 2 1数据格式输出 printf 函数 格式化输出函数printf 功能 按控制字符串规定的格式 向输出设备输出各输出项基本格式 printf 控制字符串 输出项列表 3 2数据格式输入 输出 输出项可以是常量 变量 表达式 其类型与个数必须与控制字符串中格式字符的类型 个数一致 当有多个输出项时 各项之间用逗号分隔 控制字符串由格式说明和普通字符两部分组成 1 格式说明一般格式为 格式字符规定了输出项的输出格式 常用格式字符见表3 2 表3 2输出格式字符 3 2 1数据格式输出 printf 函数 int数据使用 d输出 float数据用 f输出 inta 65 longb 123456789 floatx 1 23 doubley 3 1415926 printf ld b 1 字段宽度修饰符该修饰符用于确定数据输出的宽度 精度 小数位数 对齐方式等 用于产生更规范整齐的输出 表3 3列出了字段宽度修饰符 表3 3字段宽度修饰符 3 2 1数据格式输出 printf 函数 例如 voidmain inta 123 floatx 12 345678 printf 5d 5 2f n a x printf 2d 2 1f n a x 程序的运行结果如下 说明 当指定宽度小于数据的实际宽度时 对整数 按该数的实际宽度输出 对浮点数 相应小数位的数四舍五入 若度宽小于等于浮点数整数部分的宽度 则该浮点数按实际位数输出 但小数位数仍遵守宽度修饰符给出的值 3 2 1数据格式输出 printf 函数 2 对齐方式修饰符一般的输出数据为右对齐格式 加 号 变为 左对齐 方式 例如 voidmain inti 123 floata 12 34567 printf 6d 10 4f n i a printf 6d 10 4f n i a printf 6d 10 4f n i a 3 2 1数据格式输出 printf 函数 程序运行结果如图所示 3 长度修饰符l和h可以与输出格式字符d f u等连用 以说明是用long型或short型格式输出数据 如 hd短整型 lf双精度型 ld长整型 hu无符号短整型 2 普通字符普通字符包括可打印字符和转义字符 可打印字符是一些说明字符 这些字符按原样显示在屏幕上转义字符是不可打印的字符 它们其实是一些控制字符 控制产生特殊的输出效果 常用的有 t n 其中 t为水平制表符 作用是跳到下一个水平制表位 n 为回车换行符 遇到 n 显示自动换到新的一行 3 2 1数据格式输出 printf 函数 例如 voidmain inti 123 longn 456 floata 12 34567 y 20 5 printf i 4d ta 7 4f n tn lu n i a n printf y 5 2f n y 程序运行的输出结果如下 3 2 1数据格式输出 printf 函数 3 2 2数据格式输入 scanf 函数 scanf 的功能 从键盘上输入数据 该输入数据按指定的输入格式被赋给相应的输入项 函数一般格式为 scanf 控制字符串 输入项地址列表 控制字符串规定数据的输入格式 其内容由格式说明和普通字符两部分组成 输入项地址列表由一个或多个变量地址组成 各变量地址之间用逗号 分隔 scanf 中各变量要加地址操作符 表示如下 变量名 3 2数据格式输入 输出 例3 2 已知华氏温度求对应的摄氏温度 转换公式为 y 5 x 32 9x表示华氏温度 y摄氏温度 源程序文件名 exp3 2 cpp includevoidmain intfahr sius 变量fahr表示华氏温度 变量sius表示摄氏温度 printf 请输入华氏温度 scanf d 例3 2 输入一double型的数 使此数保留小数点后二位 对第三位进行四舍五入处理 输出此数 voidmain doublex printf Enterx scanf lf 控制字符串的两个组成部分 格式说明和普通字符 1 格式说明格式说明规定输入项中的变量以何种类型的数据格式被输入 形式是 各个格式字符及其意义见下表 3 2 2数据格式输入 scanf 函数 各修饰符是可选的 这些修饰符是 1 字段宽度例 scanf 3d a 输入123456 按宽度 输入一个整数123赋给变量a 2 l和h可与d o x一起使用 l表示输入数据为长整数 h表示输入数据为短整数 例 scanf ld hd x i x按长整型读入 i按短整数读入 3 字符 表示按规定格式输入但不赋予相应变量 作用是跳过相应的数据 例如 scanf d d d x y z 执行该语句 若输入为 结果为x 1 y 3 z未赋值 被跳过 3 2 2数据格式输入 scanf 函数 2 普通字符普通字符包括空格 转义字符和可打印字符 1 空格在有多个输入项时 一般用空格或回车作为分隔符 若以空格作分隔符 则当输入项中包含字符类型时 可能产生非预期的结果 例如 scanf d c 当输入为 1 2 q即 a 1 b 2 ch q若输入为12q除a 1正确赋值外 对b与ch的赋值都不能正确赋值 这些不打印字符应是输入数据分隔符 3 2 2数据格式输入 scanf 函数 使用scanf函数还必须注意以下几点 1 scanf函数中没有精度控制 如 scanf 5 2f 是非法的 2 在输入多个数值数据时 若格式控制串中没有非格式字符作输入数据之间的间隔则可用空格或回车作间隔 3 如果格式控制串中有非格式字符则输入时也要输入该非格式字符 例如 scanf d d d 则输入应为a 5 b 6 c 7 3 2 2数据格式输入 scanf 函数 为了减少不必要的输入 防止出错 编写程序时 在scanf 函数的格式控制字符串中尽量不要出现普通字符 尤其不要将输入提示放入其中 显示输入提示应该放在printf 函数中 includevoidmain inta b c printf inputabc n 输入提示 scanf d d d 1 字符输入函数 getchar getchar 函数的格式 getchar getchar 函数的作用 从系统的输入设备 键盘 输入一个字符 从功能角度来看 scanf 函数可以完全代替getchar 函数 例 charc1 c1 getchar 可使用等价语句 scanf c 3 3字符数据非格式输入 输出函数 说明 1 getchar 函数一次只能返回一个字符 即调用一次只能输入一个字符 2 程序第一次执行getchar 函数时 系统暂停等待用户输入 直到按回车键结束 如果用户输入了多个字符 则该函数只取第一个字符 多余的字符 包括换行符 n 存放在键盘缓冲区中 如果程序再一次执行getchar 函数 则程序就直接从键盘缓冲区读入 直到读完后 如果还有getchar 函数才会暂停 再次等待用户输入 3 3字符数据非格式输入 输出函数 2 getch 和getche 函数这两个函数也都是从键盘上读入1个字符 与getchar 函数的区别是输入不需要回车键结束 即输入一个字符就自动结束输入 它们的调用格式为 getch getche 两者的区别是 getch 函数不将读入的字符回显在显示屏幕上getche 函数将读入的字符回显到显示屏幕上 3 3字符数据非格式输入 输出函数 3 字符输出函数 putchar putchar 函数的格式 putchar ch 该函数的功能是向显示器终端输出一个字符 其中 ch可以是一个字符变量或常量 也可以是一个转义字符 说明 1 putchar 函数只能用于单个字符的输出 且一次只能输出一个字符 2 从功能角度printf 函数可以完全代替putchar 函数 其等价形式 printf c ch 3 3字符数据非格式输入 输出函数 例3 8输入一个字符 回显该字符并输出其ASCII码值 includevoidmain charch1 ch2 ch1 getchar ch2 getchar putchar ch1 putchar ch2 printf c n c ch1 ch2 程序运行后 若ch1 ch2分别得到字符A B 应输入AB 如果输入A 则实际上ch1被赋值为字符A ch2被赋值为字符换行符 n 3 3字符数据非格式输入 输出函数 补充例子 编一程序 从键盘输入一个大写字母 要求改用小写字母输出 提示 大写字母对应的ASCII码序号比相应的小写字母的ASCII码序号小32 include stdio h voidmain charc1 c2 c1 getchar printf c d n c1 c1 c2 c1 32 printf c d n c2 c2 应用程序举例 程序运行情况 A A 65a 97 补充例子 输入时间 小时 分和秒 然后使用输出消息框输出其计多少秒 分析 hh代表小时 mm代表分钟 ss代表秒 tss代表总的秒数值 则 其总时间秒 tss hh 3600 mm 60 ss程序代码如下 voidmain inthh mm ss longtss 定义为长整型数据 因int整数的最大数据是32767 printf Enterhh mm ss 提示用户输入数据 scanf d d d 应用程序举例 补充例子 编一程序 求一内半径R1 10cm外半径R2 20cm的球环的体积 要求按四舍五入保留到小数点后4位 definePI3 1415926 定义符号常量PI代表 voidmain doubler1 r2 r1 r2表示球的内外半径 doublevol vol表示体积 printf Enterr1 r2 scanf lf lf 程序运行结果如下 3 5应用程序举例 本章小结 本章介绍C语言的基本语句

温馨提示

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

评论

0/150

提交评论