C语言顺序程序设计.ppt_第1页
C语言顺序程序设计.ppt_第2页
C语言顺序程序设计.ppt_第3页
C语言顺序程序设计.ppt_第4页
C语言顺序程序设计.ppt_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

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

文档简介

第3章顺序结构 顺序结构程序 程序中的每条语句都被顺序执行一遍 3 1C语言的基本语句3 2 1单个字符的输入输出3 2 2格式化输出 printf 函数3 2 3格式化输入 scanf 函数3 3顺序结构程序设计举例 3 1C语言的基本语句 与其它高级语言一样 语言也是利用函数体中的可执行语句 以 为结束标志 向计算机系统发出操作命令的 编译后产生机器可执行指令 一般按语句的不同功能 将 语言的语句分为五大类 1 流程控制语句 完成一定的控制功能 如下页图 2 函数调用语句3 表达式语句4 空语句5 复合语句 表达式加分号构成 函数加分号 只有一个分号的语句 用 括起来的若干条语句 说明 1 后不加分号2 单一语句可出现处 则复合语句也可3 复合语句可嵌套 例如 a 3 fabc printf Hello world n z x y t z 100 例3 1分析 为了让计算机处理各种数据 首先就应该把源数据输入到计算机中 计算机处理结束后 再将目标数据信息以人能够识别的方式输出 C语言中的输入输出操作 是由C语言编译系统提供的库函数来实现 本章很大一部分内容是关于输入 输出的操作库函数的介绍 计算机处理问题过程 3 2 1单个字符输入输出 getchar 和putchar 函数 注 在程序中使用putchar getchar 函数 须在开头加上编译预处理命令 include stdio h 1 putchar 函数格式 putchar ch 作用 向终端输出一个字符 从功能角度来看 printf 函数可以完全代替putchar 函数 ch可以是一个字符变量或常量 也可以是一个转义字符 例 include stdio h main charch1 N ch2 E ch3 W putchar ch1 putchar ch2 putchar ch3 putchar n putchar ch1 putchar n putchar E putchar n putchar ch3 putchar n 程序运行结果如下 NEWNEW 用printf改写上例 得到所示输出结果 2 getchar 函数格式 getchar 作用 从系统隐含的输入设备 如键盘 输入一个字符 另外 从功能角度来看 scanf 函数可以完全代替getchar 函数 例 include stdio h main charch printf Pleaseinputtwocharacter ch getchar 等价scanf形式 putchar ch putchar n putchar getchar putchar n 程序运行情况如下 Pleaseinputtwocharacters ab ab 赋初值不能用空格 回车符来间隔 3 2 2格式化输出 printf 函数 printf 函数的作用 按指定格式向计算机系统默认的输出设备 一般指显示器 输出一个或多个任意类型的数据 printf 函数的一般调用形式如下 printf 格式控制 输出项表 要输出的常量 变量或表达式 用逗号分隔多个输出项 例 1 printf Iamastudent n 2 printf d 3 2 3 printf a db d n a a 3 必须强调 格式字符串 中的格式说明符 必须与 输出项表 中输出项的数据类型 个数一致 否则会引起输出错误 printf 函数中常用的格式说明 如下页图 1 d 或i 格式符 d md md 左对齐 ld ld 用来控制输出带符号十进制整数 按整型数据的实际长度输出 m指定输出数据的宽度 当数据本身的实际宽度小于m时 则数据左端补空格即右对齐 若大于m 则按数据的实际位数输出 默认为右对齐 输出长整型数据 可规定宽度 mld 补充说明 1 对定义的长整形数据 必须以 ld控制输出 基本整形可用 d或 ld两种格式 例 longa 135790 printf ld a 正确 否则不能输出 2 若想使输出的数字前带有 和 号 须在 和格式字符前加 实现 例 printf d d 15 15 输出 15 15 3 若使输出数字前加前导0 须在 和宽度m间加0 例 printf 06d 15 输出000015 2 o格式符3 x X 格式符4 u格式符5 c格式符 以八进制无符号形式输出整数 符号位作为数值位处理 以十六进制无符号形式输出整数 以十进制数形式输出unsigned的整数 用来输出一个字符 若整数值在0 255之间时也可以以该格式输出 不能加l 说明 1 上述每种格式都有如 d形式变形2 x输出的十六进制10 15用a f X用A F3 若想在输出的八进制数前添加0 在十六进制数前添加0 x 应在 和o或x X 间加 号例 inta 31 printf d 3d o o x 5X u n a a a a a a a 结果 31 31 37 037 1f 1F 31 6 s ms ms m ns m ns 用来输出一个字符串 不含双引号 输出的字符串占m列 当字符串长度大于m时 则按实际长度输出 若小于m 则左侧补空格 如果字符串长度小于m 则在m范围内 字符串向左靠 右侧补空格 只取字符串的左端n个字符输出 格式同 ms 只取字符串的左端n个字符输出 格式同 ms 7 f格式符 f m nf m nf 以小数形式输出实数 包括单 双精度 也可用lf 整数部分全部显示出来 小数部分显示6位 注 并不是显示的所有数字都是有效数字 单精度7位有效 双精度15位 指定数据的宽度共为m列 其中有n位小数 如果数值长度小于m 则左侧补空格 截取小数时采用四舍五入 与 m f类似 只是应在右侧补空格 8 e格式符 e m ne m ne9 g格式符 以指数形式输出实数 按规范化指数形式输出实数 系统自动给出6位小数 指数部分占5位 共13位 与前面的叙述相同 自动选用f格式或e格式中较短形式输出数据 并且不输出无意义的0 强调说明 数据与格式控制符类型 个数必须匹配 除了X E G外 其他格式字符必须小写 在格式控制字符串中 可以包含转义字符 上述的d o x u c s f e g等字符 如果用在 后面 就作为格式控制符 如果想输出字符 则在格式控制字符串中 用 表示 练习 写输出结果1 main intnum1 123 longnum2 123456 printf num1 d num1 5d num1 d num1 2d n num1 num1 num1 num1 printf num2 ld num2 8ld num2 5ld n num2 num2 num2 printf num1 ld n num1 2 printf d o x n 1 1 1 3 main floatf 123 456 doubled1 d2 d1 1111111111111 111111111 d2 2222222222222 222222222 printf f 12f 12 2f 12 2f 2f n f f f f f printf d1 d2 f n d1 d2 程序运行结果如下 123 456001 123 456001 123 46 123 46 123 46d1 d2 3333333333333 333010 4 main printf s 5s 10s Internet Internet Internet printf 10 5s 10 5s 4 5s n Internet Internet Internet 程序运行结果如下 Internet Internet Internet Inter Inter Inter注意 系统输出字符和字符串时 不输出单引号和双引号 3 2 3格式化输入 scanf 函数 scanf 函数的作用 是用来从外部输入设备向计算机主机输入数据的 scanf 函数的一般格式 scanf 控制格式 地址表列 包含3种类型的字符 格式说明符 同printf 空白字符 空格 Tab键和回车键 普通字符 表示方法 变量名 指变量定义时分配的内存首地址 多个用逗号分隔 如 scanf d d 说明 1 要求个数 类型一致 2 指定宽度n自动读取输入数据中相应的前n位赋给相应的变量 多余部分被舍弃 如 scanf 3d 3d 假设输入 123456789 则系统将读取 12 并赋值给num1 读取 34 但舍弃掉 的作用 读取 567 并赋值给num2 所以 printf 函数的输出结果为 num1 12 num2 567 4 数据输入操作1 如果相邻2个格式说明符之间 没有数据分隔符 输入数据时 用空格 Tab键或回车分隔 然后再输入下1个数据 如 scanf d d 假设给num1输入12 给num2输入36 正确的输入操作为 num1 12 num2 36 n 换成 如何 5 使用格式说明符 c 输入单个字符时 空格和转义字符均作为有效字符被输入 如 scanf c c c 错 7 用scanf给double类型变量输入数据时 必须用 lf格式说明符 不同于printf可用 f或 lf 有效数字位数不同 3 3顺序结构程序设计举例 main intnum1 num2 num3 sum floataver printf Pleaseinputthreenumbers scanf d d d 例1 输入任意三个整数 求它们的和及平均值 include math h main floata b c disc x1 x2 printf Inputa b c scanf f f f 例3 从键盘输入一个小写字母 转变成大写输出 例2 求方程ax2 bx c 0的实数根 a b c由键盘输入 a 0且b2 4ac 0 练习 1 三个数交换2 不借助任何变量交换两数 总结 在顺序结构程序中 一般包括以下几个部分 1 程序开头的编译预处理命令 在程序中要使用标准函数 又称库函数 除printf 和scanf 外 其它的都必须使用编译预处理命令 将相应的头文件包含进来 2 顺序结构程序的函数体中 主要包括 1 变量类型的说明 2 数据输入 3 实现函数功能部分 4 输出结果 作业 3 1 3 9 上机内容 1 从键盘接收一个大写字母字符 将其转换成小写字母并输出小写字母以及小写字母对应的ASCII值 要求分别使用getchar 函数和scanf 函数来接收字符 2 输入三角形的三边长a b c 求三角形的周长l和面积area的值 提示 任意三角形的面积公式为 area s s a s b s c 的开方 其中 s为周长的一半 假设输入的a b c值能组成三角形 3 x1 y1 x2 y2 是平面上的两点 求出这两点间的距离 提示 坐标值随机给

温馨提示

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

评论

0/150

提交评论