C语言程序设计第5讲(2012级)_第1页
C语言程序设计第5讲(2012级)_第2页
C语言程序设计第5讲(2012级)_第3页
C语言程序设计第5讲(2012级)_第4页
C语言程序设计第5讲(2012级)_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

数据的输入输出 第五讲 Begin 第三章基本语句与顺序结构程序设计 1 d格式字符 d 按整型数据的实际长度输出 md m为指定的输出长度 如果数据位小于m 则左端补以空格 大于m 则按实际位输出 例 printf 4d 4d a b 若a 12 b 12345 则输出 ld 输出长整型数据 d的输出范围为 32768 32767 输出超过该范围的整型数就会出错 此时用 ld输出 其输出格式和功能与 d相同 如 8ld 3 3 1格式输出 printf 函数和scanf 函数 2 o格式字符 以八进制数形式输出整数 且不带符号 对于长整数可用 lo 输出 功能同十进制输出 3 x格式字符 以十六进制数形式输出整数 且不带符号 对于长整数可用 lx 输出 功能同十进制输出 4 u格式字符 用来输出unsigned型数据 即无符号数 输出十进制数 用 o x输出负数时会发生错误 3 3 1格式输出 printf 函数和scanf 函数 5 c格式字符 一个整数 如果在0 255之间 也可用字符形式输出 系统会将该整数转换成相对应的ASCII码字符 同时 一字符也可以用整数形式输出 例 charc a printf c c 用来输出一个字符 如 printf 3c c 则输出 c格式字符也可以指定输出字数宽度 3 3 1格式输出 printf 函数和scanf 函数 6 s格式字符 s 用来输出一个字符串 例 printf s Hello 输出Hello 不包括 ms 输出的字符串占m列 如果字符串长度小于m 则左端补以空格 长度大于m 则输出整个字符串 ms 如果串长小于m 则字符串向左靠 右补空格 其余同上 m ns 输出的字符串占m列 但只取字符串中左端n个字符 这n个字符输出在m列的右侧 左端补空格 m ns 其他意义同 m ns 右补空格 3 3 1格式输出 printf 函数和scanf 函数 例 printf 3s Hello 输出Hello printf 7s Hello 输出 Hello 7 f格式字符 f 不指定字段宽度 整数部分全部输出 小数部分输出6位 m nf 指定输出数据占m列 其中有n位小数 若数值长度小于m 则左端补以空格 m nf 功能同上 右端补以空格 8 e格式字符 e 不指定字段宽度 系统自动给出6位小数 指数部分占4位 其中 e 占1位 指数符号占1位 指数占2位 3 3 1格式输出 printf 函数和scanf 函数 例 printf e 123 456 输出 1 234560e 02 m ne m ne me 中m 的意义和前相同 n是指数据的小数部分输出的位数 9 g格式字符 用来输出实数 根据数值大小 自动选f或e格式 且不输出无意义的零 3 3 1格式输出 printf 函数和scanf 函数 5位为指数部分 vc e 002 includevoidmain inta 1234 floatf1 12 34567 f2 678 9 printf 1 d 6d 6d 2d n a a a a printf 2 f 10 4f 3 2f n f1 f1 f1 printf 3 e e n f1 f2 printf 4 8e 14e n f1 f1 printf 5 10 7e 10 3e n f1 f1 实例 程序运行结果 1 1234 1234 1234 1234 2 12 345670 12 3457 12 35 3 1 23457e 001 6 789000e 002 4 1 23457e 001 1 234567e 001 5 1 2345670e 001 1 235e 001 例 printf e 123 456 输出 1 234560e 02 m ne m ne me 中m 的意义和前相同 n是指数据的小数部分输出的位数 9 g格式字符 用来输出实数 根据数值大小 自动选f或e格式 且不输出无意义的零 3 3 1格式输出 printf 函数和scanf 函数 5位为指数部分 vc e 002 includevoidmain inta 1234 floatf1 12 34567 f2 678 9 printf 1 d 6d 6d 2d n a a a a printf 2 f 10 4f 3 2f n f1 f1 f1 printf 3 e e n f1 f2 printf 4 8e 14e n f1 f1 printf 5 10 7e 10 3e n f1 f1 实例 程序运行结果 1 1234 1234 1234 1234 2 12 345670 12 3457 12 35 3 1 23457e 001 6 789000e 002 4 1 23457e 001 1 234567e 001 5 1 2345670e 001 1 235e 001 2 格式输入 scanf 函数 功能 从终端输入任何类型的多个数据 格式 scanf 格式控制 地址表列 格式控制 由双引号括起来的字符串 用于指定要输入的数据的格式 1 普通字符 按原样输入的字符 2 格式说明 用来指定需输入数据的输入格式的 其形式为 格式字符 3 3 1格式输出 printf 函数和scanf 函数 地址表列 由若干个变量地址组成的表列 地址是由 运算得到的 是取址运算符 单目运算符 右结合性 例 a chr i 分别表示变量a chr i的地址 该地址是在编译连接时系统分配给变量a chr i的地址 3 3 1格式输出 printf 函数和scanf 函数 用于输入的修饰符 用于输入的格式字符 3 3 1格式输出 printf 函数和scanf 函数 格式输入的使用与注意 输入数据时采用的分隔符应与格式控制中的分隔符一致 例1 scanf d f d 必须采用格式 a 12 b 345 3 3 1格式输出 printf 函数和scanf 函数 3 3 1格式输出 printf 函数和scanf 函数 3 3 1格式输出 printf 函数和scanf 函数 在下列情况下可认为数据输入结束 遇空格 回车 跳格键 Tab 时 遇宽度结束 非法输入 3 3 1格式输出 printf 函数和scanf 函数 在格式控制字符串中可包含转义字符 例 1 printf 1 s n VeryGood 2 printf 2 s n VeryGood 输出结果 VeryGood VeryGood main inta floatb charc printf 按格式 d f c送数 scanf d f c 程序运行结果 按格式 d f c送数 23 4 5p a 23 b 4 500000 c p 按格式 d f c送数 23 4 5 p a 23 b 4 500000 c p 按格式 6d 6f 6c送数 23 4 5p a 23 b 4 500000 c p 程序实例1 main chara b c d e scanf c c c 程序实例2 程序运行结果 1234 5 1 2 34 5 程序运行结果 错误 123 4 5 1 2 3 例 执行以下程序时 若从第一列开始输入数据 为使变量a 3 b 7 x 8 57 y 71 82 c1 A c2 a 正确的数据输入格式是什么 includevoidmain inta b floatx y charc1 c2 scanf a db d 1 字符输出 putchar 函数 格式 putchar 功能 向终端输出一个字符 C为形式参数 它可以是字符型变量 整型变量 字符型常量或转义字符 3 3 2字符输入输出函数 putchar函数和getchar函数 voidmain chara intb a b b 111 putchar a putchar b putchar y putchar n 例 运用putchar 函数 程序运行结果 boy o 的ASCII码为111 3 3 2字符输入输出函数 putchar函数和getchar函数 1 字符输入 getchar 函数 格式 getchar 功能 从终端输入一个字符 getchar 只能接收一个字符 该字符可赋给字符变量 整型变量或作为表达式的一部分 例 main charc c gethar putchar c 输入一个字符 再将该字符输出 3 3 2字符输入输出函数 putchar函数和getchar函数 例1 将十进制数407转换为八进制数 main intm n1 n2 n3 m 407 n1 m 8 n1为个位 n2 m 8 8 n2为十位 n3 m 8 8 8 n3为百位 printf 407 0 d n n3 100 n2 10 n1 综合实例 综合实例2 输入三角形的三边长 求area 分析 area sqrt s s a s b s c s a b c 2 1 definevariables area s a b c 2 inputdata usescanf a b c 3 algorithm s a b c 2area sqrt s s a s b s c 4 outputdata useprintf area Declarevariablesarea s a b c Inputa b c s a b c 2 area sqrt s s a s b s c outputarea 程序 include includevoidmain floata b c s area scanf f f f 综合实例3 鸡兔同笼 已知鸡兔总头数为H 总脚数为F 求鸡兔各有多少只 分析 依题意设鸡有x只 兔有y只 则方程 解得 程序 includevoidmain inth f x y x为鸡的数量 y为兔的数量 printf 请输入鸡兔的总头数h printf 总脚数f 格式 d d n scanf d d 改错题以下程序有多处错误 若指定必须按下面的格式输入数据和输出数据 请对程序做相应的修改 inputa b c 2 02 03 0 a 2 000000 b 2 000000 c 3 000000s 4 000000 v 12 000000 includevoidmain doublea b c s v printf inputa b c n scanf d d d a b c s a b v a b c printf d d d a b c printf s f n s v d n v TheEnd 修正P38第5行 P41第10行 P54例3 7shortintb 1 hd注意 P59例3 13 上机实验内容 在网站上查看 网站 点击作业页面 第1题编程题将十进制数97转化为八进制数和十六进制数 第2题编程题输入一个三位正整数 然后反向输出对应的数 如输入123 则输出321 第3题读程题 有以下程序 请给出程序执行后输出结果 includevoidmain charch1 ch2 intn1 n2 ch1 getchar ch2 getchar n1 ch1 0 n2 n1 10 ch2 0 printf d n n2 运行时输入 12 if语句switch语句 第4章 Begin 第四章选择结构程序设计 4 1用if语句实现选择结构 4 1 1if语句的三种形式 格式一 单分支结构if 语句A 语句执行过程 先判断条件 表达式 若条件成立 就执行语句A 否则 直接执行if后面的语句 该结构的流程图如右图所示 例 if grade 60 printf Pass n 注意 单分支结构只有在条件为真时 才执行给定的操作 如果条件为假 则不执行任何操作 1 条件均为逻辑表达式或关系表达式 也可以是任意的数值类型 2 语句可以是单语句 也可以是复合语句 注意 在复合语句 外不需再加分号 例 if 3 printf O K n if q printf d n a if 3 x x 5 printf 3 x 5 n 4 1用if语句实现选择结构 例 if a b t a a b b t 说明 例 键盘输入一个整数 输出该数的绝对值 main intshu printf 请输入一个整数 d n scanf d shu if shu 0 shu shu printf 该数的绝对值为 d n shu 4 1用if语句实现选择结构 格式二 双分支结构if 语句A else语句B 注意 else子句是if语句的一部分 它不能作为语句单独使用 必须与if配对使用 4 1用if语句实现选择结构 语句执行过程 先判断条件 表达式 若条件成立 就执行语句A 否则 执行语句B 即一定会执行语句A和语句B中的一句 且只能执行其中的一句 该结构的流程图如右图所示 例 if grade 60 printf Pass n elseprintf Failure 例 计算 voidmain floatx y printf 送数 f n scanf f 4 1用if语句实现选择结构 例 任意输入两个不相等的数 将大数放入X 小数放入Y中 算法 1 定义变量2 给变量赋初值3 比较x y 若x y 交换两数4 输出x y 分析 两数比较 要么x y 直接输出 要么x y 两数交换 4 1用if语句实现选择结构 程序 main intx y t printf n请输入两个整数 d d scanf d d 格式三 多分支结构if 语句1 elseif 语句2 elseif 语句n 1 else语句n 4 1用if语句实现选择结构 语句执行过程 先判断条件1 表达式1 若条件1成立 就执行语句1后 退出该if结构 否则 再判断条件2 表达式2 若条件2成立 则执行语句2后 退出该if结构 否则 再判断条件3 表达式3 若条件3成立 则执行语句3后 退出该if结构 例 计算 4 1用if语句实现选择结构 程序 includevoidmain floatx y printf 送数 f n scanf f 例2 if a 0 if b 0 printf d d n a b elseprintf d n a elseif b 0 printf d n b elseprintf n 在i

温馨提示

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

评论

0/150

提交评论