c语言输入输出语句.ppt

上传人:sh****n 文档编号:7420900 上传时间:2020-03-21 格式:PPT 页数:24 大小:327.84KB
返回 下载 相关 举报
c语言输入输出语句.ppt_第1页
第1页 / 共24页
c语言输入输出语句.ppt_第2页
第2页 / 共24页
c语言输入输出语句.ppt_第3页
第3页 / 共24页
点击查看更多>>
资源描述
第4章输入输出语句 在程序的运行过程中 往往需要由用户输入一些数据 这些数据经机器处理后要输出反馈给用户 通过数据的输入输出来实现人与计算机之间的交互 所以在程序设计中 输入输出语句是一类必不可少的重要语句 在C语言中 没有专门的输入输出语句 所有的输入输出操作都是通过对标准I O库函数的调用实现 最常用的输入输出函数有scanf printf getchar 和putchar 4 1putchar函数 当我们要把字符一个一个输出时 可以用putchar函数 它是一个专门输出字符的函数 其一般形式是 该函数的功能是输出 字符表达式 的值 例如 putchar A 输出字符 A putchar A 1 输出字符 B 在使用标准I O库函数时 要用预编译命令 inciude 将 stdio h 文件包含到用户源文件中 即 stdio h是standardinput output的缩写 它包含了与标准I O库函数有关的定义和函数声明 具体见编译预处理命令章节 在需要使用标准I O库中的函数时 应在程序前使用上述预编译命令 putchar include 4 2printf函数 4 2 1printf函数的格式printf函数的一般格式为 输出表列 是需要输出的一些数据 可以是表达 例如 printf d d a 2 b 格式控制 是用双引号括起来的字符串 也称 转换控制字符串 它用于控制输出数据的格式 printf 格式控制 包括两种信息 1 格式说明 由 和格式说明字符组成 如 d f 表4 1printf格式符 2 普通字符 即需要原样输出的字符 例如 printf a db d a b 在上面双引号中的字符除了 d 和 d 以外 还有非格式说明的普通字符 a 和 b 它们按原样输出 计算机在执行该语句时 首先输出格式控制串中的 a 然后碰到一个格式说明 d 就从输出表列中取第一个教据项a 按格式说明输出该数据项值 然后原样输出格式控制串中的 b 又碰到第二个格式说明 d 取输出表列中的第二个数据项b 按格式说明输出其值 4 2 2格式说明字符 d格式符用来控制整型数按十进制形式输出 d 按整型数据的实际长度输出 md m为指定的输出字段的宽度 如果数据的位数 包括负号 小于m 则右对齐左端补以空格 若大于m 则按实际位数输出 md m为指定的输出字段的宽度 如果数据的位数小于m 则左对齐补以空格 若大于m 则按实际位数输出 ld 输出长整型数据 o格式符以八进制数形式输出整型数据 数值不带符号 即将符号也一起作为八进制数的一部分输出 对长整数 long型 可以用 lo 格式输出 可以指定字段宽度 如 8o o格式符一般用于输出正整数或无符号类型的数据 x格式符以16进制形式输出整型数据 不会出现负的十六进制数 可以用 x 输出长整型数 可以指定输出字段的宽度 如 12x x格式符一般用于输出正整数或无符号类型的数据 u格式符用来输出unsigned数据 即无符号数 以十进制形式输出 一个有符号整型数 int型 也可以用 u格式输出 此时把符号位当作数值看待 一个unsigned型数据也可以用 d格式输出 按相互赋值的规则处理 unsigned数据也可用 o或 x格式输出 c格式符用来输出一个字符 如 charc a printf c c 输出字符 a 注意 c 的c是格式符 逗号右边的C是变量名 不要搞混 一个整数 只要它的值在0 255范围内 也可以用字符形式输 在输出前将该整数转换成换成相应的ASCII字符 反之 一个字符数据也可以用整型数形式输出 但输出的是其ASCII码值 s格式符 s 用来输出一个字符串 不包括双引号 ms 输出的字符串占m列 若字符串长度小于m 则 右对齐 左边补空格 如字符本身长度大于m 则突破m的限制 将字符串全部输出 ms 若字符串长度小于m 则在m列范围内 左对齐 右边补空格 如字符本身长度大于m 则突破m的限制 将字符串全部输出 m ns 输出占m列 但只取字符串中左端n个字符 这n个字符输出在m列的右侧 左边补空格 m ns 其中m n含义同上 n个字符输出在m列范围的左侧 右面补空格 如果m省略或n m 则m自动取n值 即保证n个字符正常输出 f格式符用来输出实型数 包括单 双精度数 以小数形式输出 f 不指定字段宽度 由系统自动指定 使整数部分全部如数输出 并输入6位小数 应当注意 并非全部数字都是有效数字 单精度数的有效位数一般为7位 也就是说单精度数用 f格式输出 只有前7位是有效的 双精度数的有效位数一般为16位 双精度数用 f格式输出时 只有前16位有效 m nf 指定输出的数据共占m列 其中有n位小数 如果数值长度 包括小数点和负号 小于m 则采用 右对齐 输出 左端补空格 如果m省略则整数部分按实际宽度如数输出 m nf与 m nf基本相同 只是使输出的数值 左对齐 右端补空格 e格式符以指数形式输出实数 e 不指定输出所占的宽度和数字部分小数位数 由系统自动指定给出6位小数 指数部分占5位 如e 002 其中 e 占一位 指数符号占一位 指数占3位 数值按标准化指数形式输出 即小数点前必须有而且只有一位非零数字 m ne和 m ne m n及 字符含义与之前相同 此处n为指数的数字部分 又称尾数 的小数位数 如省略n 则n 6 如省略m 则自动使m等于数据应有的长度 即m 7 n g格式符用来输出实型数 它根据数值的大小 自动选f格式或e格式 选择输出时占宽度较小的一种 且不输出无意义的零 例 若f 123 468 则 printf f e g f f f 输出如下 123 468000 1 234680e 002 123 468用 f格式输出占10列 用 e格式输出占13列 用 g格式时 自动从前面两种格式中选择短者 今为 f格式为短 故选择按 f格式输出 且小数位中的最后三位为无意义的0 不输出 g格式用得比较少 在使用函数printf函数时 还有几点要说明 格式字符要用小写字母 如 d不能写成 D 可以在printf函数中的 格式控制 字符串内包含转义字符 如 n t b r f 377 等 它们将原样输出 上面介绍的d o x u c s f e g等字符 如不是用在 后面就作为普通字符 原样输出 如果想输出字符 可以在 格式控制 字符串中用连续两个 表示 或者使用转义字符 45 不同的系统在格式输出时 输出结果可能会有一些小的差别 例如用 e格式符输出实数时 有些系统输出的指数部分为4位 如e 02 而不是5位 如e 002 前面数字的小数部分为5位而不是6位等等 4 3getchar函数 此函数的作用是从键盘输入一个字符 并把这个字符作为函数的返回值 getchar函数没有参数 其一般形式为 getchar 例4 8 请注意 getchar 只能接受一个字符 getchar函数得到的字符可以赋给一个字符变量或整型变量 也可以不赋给任何变量 也可以作为表达式的一部分在一个函数中调用getchar函数 应该在函数的前面 或本文件开头 用 include includemain charc c getchar putchar c 在运行时 如果从键盘输入字符 a a 输入a后 按回车键字符才送到内存 a 输出变量c的值 a 4 4scanf函数 4 4 1一般形式scanf函数的一般形式是 其中 地址表列 由若干个地址组成的表列 是可以接受数据的变量的地址 格式控制 的含义同printf函数 但scanf中的 格式控制 是控制输入的数据 例4 9 main inta b c scanf d d d scanf 4 4 2格式说明 和printf函数中的格式说明相似 scanf中的格式说明也以 开始 以一个格式字符结束 中间可以插入附加格式说明字符 修饰符 如表4 3和4 4所示 表4 3scanf格式字符 表4 4scanf附加的格式说明字符 说明 1 C语言在scanf中不使用 u格式符 对unsigned型数据 以 d o或 x格式输入 2 可以指定输入数据所占列数 系统自动按它截取所需数据 3 后的附加说明符 用来表示跳过它相应的数据 4 输入数据时不能规定精度 4 4 3scanf函数的执行中应注意的问题 scanf函数中的 格式控制 后面应当是变量地址 而不应是变量名 如果在 格式控制 字符串中除了格式说明外还有其它字符 则在输入数据时应输入与这些字符相同的字符 即原样输入 在用 c 格式输入字符时 空格字符和 转义字符 都作为有效字符输入 在输入数据时 遇到以下情况时该数据认为结束 遇空格 或回车键或跳格键 tab键 遇宽度结束时 如 3d 只取3列 遇非法输入 4 5程序举例 例4 10 输入三角形的变长 求三角形面积 为简单起见 设输入的三边长a b c能构成三角形 程序如下 includemain floata b c s area scanf f f f 例4 11 从键盘输入一个大写字母 要求转换成小写字母输入 程序如下 includemain charc1 c2 c1 getchar printf c d n c1 c1 c2 c1 32 printf c d n c2 c2
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!