c语言输出g指定有效位数要求,C语言.pptx

第3章简单的C语言程序设计 1C语句2字符的输入输出3printf函数4scanf函数5例题6小结 本次课要点 3 1C语句概述 一个c程序可以由若干个源程序文件组成一个源文件可以有若干个函数和预处理命令以及全局变量声明部分组成一个函数有函数首部和函数体组成函数体由数据声明和执行语句组成C语句分为 3 1C语句概述 一 控制语句 完成一定的控制功能1 if else条件语句switch 开关语句2 for 循环语句while 循环语句do while 循环语句3 break中断语句continue结束语句4 return返回语句 3 1C语句概述 二 函数调用语句 由一个函数调用加一个分号构成一个语句printf ThisisaCstatement 例如 三 表达式语句 由一个表达式加一个分号构成一个语句a 3 3 1C语句概述 例如 四 空语句 只有一个分号的语句用来做流程的转向点 循环语句中的循环体 五 复合语句 用一对 括起来的语句if a 1 z x y t z 100 printf f t 例如 例如 3 1C语句概述 if a 1 if a 1 3 4基本的输入 输出操作的实现 一 所谓输入输出是以计算机主机为主体而言的输出 从计算机向外部输出设备 显示器 打印机 输出数据 输入 从输入设备 键盘 鼠标 扫描仪 向计算机输入数据 二 C语言本身不提供输入输出语句 输入和输出操作是由C函数库中的函数来实现的例如 字符输入函数 getchar字符输出函数 putchar格式输入函数 scanf格式输出函数 printf字符串输入函数 gets字符串输出函数 puts 3 4基本的输入 输出操作的实现 三 在使用系统库函数时 要用预编译命令 include 将有关的 头文件 包括到用户源文件中例如 在调用标准输入输出库函数时 应该有 include stdio h 或 include 3 4基本的输入 输出操作的实现 3 4字符数据的输入输出 1 putchar 函数的用法putchar 是向标准输入输出设备上输出一个字符 一般是显示器 使用格式 putchar ch 已定义 intc c A 若想输出字符a 可以用几种方式 putchar c 或putchar A 或putchar 65 putchar 0101 或putchar 0 x41 putchar 101 例输出单个字符 includevoidmain chara b c a B b O c Y putchar a putchar b putchar c putchar n 运行结果 BOY putchar a putchar n putchar b putchar n putchar c putchar n 运行结果 BOY 3 4字符数据的输入输出 2 getchar 函数的用法从标准输入输出设备上输入一个字符 一般是键盘使用格式 ch getchar 例 includevoidmain charc c getchar putchar c includevoidmain putchar getchar 键盘上输入的数字 空格 回车 逗号等都将作为一个字符输入 3 4字符数据的输入输出 3 4 1格式输出函数 printf 14 例如 printf a d b f a b 调用格式 printf 格式控制字符串 输出表列 格式控制 格式说明 格式字符 普通字符输出表列 即需要输出的数据 可以是表达式 函数名 输出表列 3 4 1格式输出函数 printf的格式字符 符号作用 c单个字符 s输出字符串 d十进制有符号整数 u输出无符号十进制整数 o无输出无符号八进制整数 不输出前缀0 x X输出无符号十六进制整数 不输出前缀0 x f输出十进制float数 不带域宽时 保留6位小数 lf输出十进制double数 不带域宽时 保留6位小数 le以 科学记数法 的形式输出double数如2 4e 02 e以 科学记数法 的形式输出float数如2 4e 02 g选用e或f格式中较短的一个输出 不输出无效零 p指针的值 3 4 1格式输出函数 printf 格式符 按十进制整数的实际长度输出数据 include stdio h 包含头文件 main 主函数 intx y z 定义变量 x 3 y 1 给变量赋值 z x y 求a与b的和 printf d d d n x y z 输出结果 3 4 1格式输出函数 printf 17 若实际位数多于定义的宽度 则按实际位数输出 若实际位数少于定义的宽度 默认右对齐 有负号左对齐 n 精度 m 域宽 即输出项在输出设备上所占的宽度 输出实型数据 n指定实型数据所占的小数位数输出字符串 n指定最多输出的字符个数 3 4 1格式输出函数 格式字符的修饰 18 标志 空格 0的意义如下所示 结果左对齐 右边填空格 输出符号 正号或负号 只对十进制数 空格输出值为正时冠以空格 为负时冠以负号 对c s d i u类无影响 对o类 在输出时加前缀0 对x类 在输出时加前缀0 x 对e g f类 确保出现小数点 即使无小数位时亦如此0右对齐输出数据时 不够宽度补0 3 4 1格式输出函数 printf include stdio h voidmain floatf g f 1 27 g 23 2 printf f f f n f g f g 在输出的数字中并非全部数字都是有效数字单精度实数的有效位数一般为 位 双精度实数的有效位数一般为16位 printf 2 2f 2 2f 4 2f n f g f g 3 4 1格式输出函数 printf 例1 printf d 4d 4d 4d a a a b 若a 123 b 12345则输出结果是 123 123 123 12345 例2 printf lf 8 2lf n b b 若b 123 4567则输出结果是 123 456700 123 46 例3 printf s 8s 8 3s china china china 则输出结果是 china china chi 3 4 1格式输出函数 printf includemain inta 100 floatb 123 255 printf a d n a printf a 10d n a printf a 10d n a printf a d n a printf a d n a printf a o n a printf a x n a printf b 07 1f n b a 100 a 100 a 100 a 100 a 100 a 0144 a 0 x64 b 00123 3 例4 3 4 1格式输出函数 printf printf函数的注意事项格式控制必须与输出项匹配 否则不能正确输出请判断下列输出是否正确 main inta 65 printf f a main inta 65 printf d n a main inta 65 printf c a 3 4 1格式输出函数 printf 例如 main intx y x 11 3 y 5 printf d d n x y 程序的运行结果为 d 3 C语言规定 在格式控制字符串中若连续出现两个 系统视为一个 字符输出 符号作用 c输入单个字符 s输入字符串 d输入十进制有符号整数 u输入无符号十进制整数 o无输入无符号八进制整数 不输出前缀0 x X输入无符号十六进制整数 不输出前缀0 x f e以小数或指数形式输入float型数据 lf le以小数或指数形式输入double型数据 3 4 2格式输入函数 scanf 例用scanf函数输入数据 includevoidmain inta b c scanf d d d a在内存中的地址 是地址运算符 3 4 2格式输入函数 scanf 使用scanf函数的注意事项 1 scanf 函数可以设置输入宽度 不能设置精度floata scanf 4f 27 4 用连续 c输入字符数据时 任意字符都有效scanf c c c 输入 A B C输出 a A b c B 5 如果格式控制字符串中有非格式字符 则输入时也要输入非格式字符 scanf d d d 输入应为 a 5 b 6 c 7 使用scanf函数的注意事项 28 6 输入输出格式控制符必须匹配 否则不能正确输出设 从键盘输入 1020 5 分析各程序的输出 main inta floatb scanf d d main inta floatb scanf d f main inta floatb scanf d d 使用scanf函数的注意事项 输入数据时 遇以下情况时该数据认为结束遇空格 回车 TAB键遇宽度限制 3d遇非法输入 使用scanf函数的注意事项 7 数据输入结束 123 000000 456 voidmain intx doublem scanf 4lf d 若输入123 456 23 则输出结果是 使用scanf函数的注意事项 includemain inta b printf Pleaseinputaandb scanf 2d 2d 2d Pleaseinputaandb a 12 b 56 a b 68 123456 例 表示本输入项在读入后不赋给相应变量 includemain inta b printf Pleaseinputaandb scanf 2d 2d 2d Pleaseinputaandb a 12 b 5 a b 17 12345a 例 includemain inta b scanf d d 问题1 当要求程序输出结果为a 12 b 34时 用户应该如何输入数据 1234 输入数据的格式控制 例 includemain inta b scanf d d 问题2 当限定用户输入数据以逗号为分隔符 即输入数据格式为 12 34 时 应修改程序中的哪条语句 怎样修改 scanf d d 输入数据的格式控制 例 includemain inta b scanf d d 问题3 语句scanf d d 时 用户应该如何输入数据 a 12 b 34 输入数据的格式控制 例 includemain inta b scanf d d 问题4 限定用户输入数据为以下格式为1234 同时要求程序输出结果为a 12 b 34 scanf 2d 2d 输入数据的格式控制 例 includemain inta b scanf d d 问题5 限定用户输入数据为以下格式为12 34 同时要求程序输出结果为a 12 b 34 scanf d d 输入数据的格式控制 例 includemain inta b scanf d d 问题6 设计程序使得用户可以以任意字符 回车 空格 制表符 逗号 其它 作为分隔符进行数据的输入 scanf d c d 输入数据的格式控制 例 例1 由键盘输入5个学生的成绩 计算他们的平均分并保留2位小数 39 例题 includevoidmain floats1 s2 s3 s4 s5 doubleave scanf f f f f f 40 例2 用getchar函数从屏幕获得2个字符 要求在屏幕上分别输出这四个字符的ASC 和字符 includevoidmain charch1 ch2 ch1 getchar ch2 getchar printf c ASCII d n ch1 ch1 putchar ch2 printf ASCII d n ch2 例题 例题 例3 输入三角形的三边长 求三角形面积 假设 三个边长a b c能构成三角形 已知面积公式 s a b c 0 5area 其算法流程图 include includevoidmain floata b c s area scanf f f f 数学函数库因为要用到其中的sqrt函数 例题 历年真题 真题 2009 9 有以下程序 includemain charc1 c2 c1 A 8 4 c2 A 8 5 printf c d n c1 c2 已知字母A的ASCII码为65 程序运行后的输出结果是A E 68B D 69C E DD 输出无定值 答案 A 真题 有下列程序 2006 4 includemain charc1 c2 c3 c4 c5 c6 scanf c c c c 程序运行后 若从键盘输入 从第1列开始 12345678则输出结果是 A 1267B 1256C 1278D 1245 答案 D 真题 有以下程序 2010 3 includemain chara b c d scanf c c 当执行程序时 按下列方式输入数据 从第1列开始 代表回车 注意 回车也是一个字符 1234则输出结果是A 1234B 12C 12D 12334 答案 C 真题 2011年3月 有以下程序 includemain intx 011 printf d n x 程序运行后的输出结果是A 12B 11C 10D 9 答案 C 本次课小结 课后作业 教材P71 习题3 2习题3 3习题3 6预习第4章

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值