




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章顺序程序设计 教学目标 1 掌握C语言的输入和输出方法2 重点掌握并灵活运用printf 和scanf 函数3 熟练掌握顺序结构的程序设计 3 1C语言的基本语句 一个C程序可以由若干个源程序文件组成 一个源文件可以由若干个函数和预处理命令组成以及全局变量声明部分组成 一个函数由数据定义部分和执行语句组成 程序应该包括数据描述 由声明部分来实现 和数据操作 由语句实现 数据描述主要定义数据结构和定义初值 数据操作的任务是对已提供的数据进行加工 3 1C语言的基本语句 1 控制语句 完成一定的控制功能 if else 条件语句 for 循环语句 while 循环语句 do while 循环语句 continue 结束本次循环语句 break 中止执行switch语句或者循环语句 switch 多分支选择语句 goto 转向语句 return 从函数返回语句 括号 表示条件 表示内嵌的执行语句 2 函数调用语句由一次函数调用加上一个分号组成 printf hello 3 表达式语句由一个表达式构成的一个语旬 例a 3 4 空语句表示什么也不做 有时用来作转向点 或循环体 例 5 复合语句可以用 把一些语句括起来成为复合语句 也叫分程序 例 p p I I 3 2数据输入和输出 C语言无I O关键字 I O操作由库函数实现 include或 include stdio h 3 2 1基本概念 3 2 2字符数据的输入与输出 输入格式 intgetchar void 功能 从键盘读一字符返值 正常 返回所输入数据的ASCII的值 出错 返回EOF 1 includemain intc printf Enteracharacter c getchar printf c hex x n c c 运行结果 Enteracharacter A A hex41 3 2 2字符数据的输入与输出 输出格式 intputchar c 参数 c为字符常量 变量或表达式功能 把字符c输出到显示器上返值 正常 为显示的代码值 出错 为EOF 1 includemain intc chara c 65 a B putchar c putchar n putchar a 运行结果 AB 格式 printf 格式控制串 输出表 功能 按指定格式向显示器输出数据返值 正常 返回输出字节数 出错 返回EOF 1 格式输出函数 输出表 要输出的数据 可以没有 多个时以 分隔 可以是变量也可以是常量 也可以是表达式格式控制串 包含两种信息格式说明 修饰符 格式字符 用于指定输出格式普通字符或转义序列 原样输出格式字符 inta 567 printf d a inta 255 printf x a inta 65 printf o a inta 567 printf u a chara 65 printf c a printf s ABC floata 567 789 printf e a floata 567 789 printf f a floata 567 789 printf g a printf 567 ff 101 567 A ABC 5 67789e 02 567 789000 567 789 说明格式字符要用小写格式字符与输出项个数应相同 按先后顺序一一对应输出转换 格式字符与输出项类型不一致 自动按指定格式输出对不同类型的数据用不同的格式字符 例main unsignedintu 65535 printf u d n u 输出结果 u 1 例inta 3 b 4 printf d d n a b printf a d b d n a b 例inta 3 b 4 printf d d n a b printf a d b d n a b 输出结果 34a 3 b 4 附加格式说明符 修饰符 注意 其中的 0 的作用在前面出现了 标志或指定了精度 整数 则忽略该标志 格式字符应用举例 d格式符 用来输出十进制整数 有以下几种用法 1 d 按整型数据的实际长度输出 2 md m为指定的输出字段的宽度 如果数据的位数小于m 则左端补以空格 若大于m 则按实际位数输出 3 ld 输出长整型数据 也可以用m来指定字符宽度例1 a 123 d 12345 printf 4d 4d a b 例2 longa 135790 printf ld a printf 8ld a 一个int型数据可以用 d或 ld格式输出 一个long型数据应当用 ld格式输出 O格式符 以8进制数形式输出整数 带符号的数将会以何种形式输出 由于是将内存单元中的各位的值 0或1 按8进制形式输出 因此输出的数值不带符号 即将符号位也一起作为8进制数的一部分输出 例 inta 1printf d o a a 输出 1 177777请问 是否会输出带符号的8进制整数 注意 对于长整数 long型 可以用 lo格式输出 同样可以指定字符宽度 printf 8o a 输出数据为 177777 x格式符 以16进制数形式输出整数 请问 是否会出理负的16进制数 例如 inta 1 printf x o d a a a 输出结果为ffff 177777 1可以用 lx输出长整型数 也可以指定输出字段的宽度 如 12x U格式符 用来输出unsigned型数据 即无符号数 以十进制形式输出 注意 一个有符号整数 int型 也可以用 u格式输出 一个unsigned型数据也可以用 d o x格式输出 例 main unsignedinta 65535 intb 2 printf a d o x u n a a a a printf a d o x u n b b b b 运行结果 a 1 177777 ffff 65535b 2 177776 fffe 65534 C格式符 用来输出一个字符例 charc a printf c c 一个整数 只要它的值在0 255范围内 也可以用字符形式输出 在输出前 将该整数转换成相应的ASCII字符 反之 一个字符数据也可以用整数形式输出 同样可以指定输出字数宽度 例charc a printf 3c c 输出 a S格式符 用来输出一个字符串 有几种用法 1 s 2 ms 输出的字符串占m列 如字符串本身长度大于m 则突破m的限制 将字符串全部输出 若串长小于m 则左补空格 3 ms 如果串长小于m 则在m列范围内 字符串向左靠 右补空格 4 m ns 输出m列 但只取字符串中左端n个字符 这个n个字符输出在m列的右侧 左补空格 5 m ns 输出m列 但只取字符串中左端n个字符 这个n个字符输出在m列的左侧 右补空格 如果n大于m 则m自动取n值 即保证n个字符正常输出 例 main Printf 3s 7 2s 4s 5 3s n CHINA CHINA CHINA CHINA CHINA 输出 CHINA CH CHIN CHI f格式符 用来输出实数 包括单 双精度 以小数形式输出 有以下几种用法 1 f 不指定字段宽度 由系统自动指定 使整数部分全部如数输出 并输出6位小数 注意 并非全部数字都是有效数字 单精度实数的有效位数一般为7位 例 main floatx y x 111111 111 y 222222 222 printf f x y 运行结果为 333333 328125只有前7位数字是有效数字 双精度也可以用 f格式输出 它的有效位数一般为16位 给出小数6位 2 m nf 指定输出数据共占m列 其中有n位小数 如果数值长度小于m 则左端补空格 3 m nf与 m nf基本相同 只是使输出的数值向左端靠 右端补空格 例 main floatf 123 456 Printf f 10f 10 2f 2f 10 2f n f f f f f 输出结果如下 123 455994 123 455994 123 46 123 46 123 46 e格式符 以指数形式输出实数 可用以下形式 1 e 不指定输出数据所占的宽度和数字部分小数位数 由系统自动指定给出6位小数 指数部分占5位 如e 002 其中e占一位 指数符号占一位 指数占三位 数值按标准化指数形式输出 数值按标准化指数形式输出 即小数点前必须有且只有一位非零数字 例如printf e 123 456 输出 1 234560e 002请问 用 e格式输出的实数共占多少列宽度 13 2 m ne和 m nem n和 字符含义与前相同 此处n指数据的数字部分 又称尾数 的小数位数 例f 123 456则printf e 10e 10 2e 2e 10 2e f f f f f 运行结果 1 234560e 002 1 234560e 002 1 23e 002 1 23e 002 1 23e 002 g格式符 用来输出实数 它根据数值的大小 自动选f格式或e格式 选择输出时占宽度较小的一种 且不输出无意义的零 例如 若f 123 468 printf f e g f f f 输出结果 123 468000 1 234680e 002 123 468 使用printf函数时的几点说明 有些系统要求格式字符要用小写字母 如 d不能写成 D 可以在printf函数中的 格式控制 字符串内包含转义字符 上面介绍的d o x u c s f e g等字符 如用在 后面就作为格式符号 一个格式说明以 开头 以上述9个格式字符之一为结束 中间可以插入附加格式字符 如果想输出字符 则应该在 格式控制 字符串中用连续两个 表示 例 printf f 1 0 3 输出0 333333 注意 不同的系统在实现格式输出时 输出结果可能会有一些小的差别 例如用 e格式符输出实数时 有些系统输出的指数部分为4位 而不是5位 前面的数字部分为5位小数而不是6位等等 格式输入函数 格式 scanf 格式控制串 地址表 功能 按指定格式从键盘读入数据 存入地址表指定的存储单元中 并按回车键结束返值 正常 返回输入数据个数 地址表 变量的地址 常用取地址运算符 格式字符 d i o x u c s f e 例scanf d 输入 10 则a 10 例scanf x 输入 11 则a 17 附加格式说明符 修饰符 说明 标准C在scanf中不使用 u说明符 对unsigned型数据 以 d或 o x格式输入 可以指定输入数据所占列数 系统自动按它截取所需数据 例scanf 4d 2d 2d 输入19991015 则1999 yy 10 mm 15 dd 例scanf 3c 2c 输入abcde 则 a c1 d c2 说明 后的 附加说明符 用来表示跳过它相应的数据 输入数据时不能规定精度例如 scanf 7 2f 是不合法的 例scanf 2d 3d 2d 输入12 345 67 则12 a 67 b 例scanf 3d 4d f 输入12345678765 43 则123 k 8765 43 f Scanf函数中的 格式控制 后面应当是变量地址 而不应是变量名 如果在 格式控制 字符串中除了格式说明以外还有其它字符 则在输入数据时应输入与这些字符相同的字符 在用 c 格式输入字符时 空格字符和 转义字符 都作为有效字符输入在输入数据时 遇以下情况时该数据认为结束 遇空格 TAB 或回车遇宽度结束遇非法输入 例 scanf c c c 输入a b c是否可以 如scanf d c f 若输入1234a123o 26 则1234 a a b
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大专毕业学生登记表的自我鉴定
- 在职员工个人辞职报告
- 关于灶具投放协议书合同
- 二手葫芦机买卖合同协议
- led外墙清洗安全协议书合同
- 10kv配电室代维协议合同
- 文库发布:三人行课件
- 农村大型场地出租合同范本
- 木制柜制作安装合同协议书
- 农村信用社招聘考试常考点试卷及一套答案详解
- 2025年医师定期考核法律法规试题及答案
- 学堂在线 大学计算机基础 章节测试答案
- 县域共配仓农村物流配送成本控制报告
- 二级实验室生物安全管理手册
- 2024-2025学年北京市西城区人教版五年级下册期末测试数学试卷(含答案)
- 小儿巨细胞病毒感染的诊治-2
- 酒店客房样板间装修验收记录表
- 铁总物资〔2015〕250号:中国铁路总公司物资采购异议处理办法
- GB/Z 42625-2023真空技术真空计用于分压力测量的四极质谱仪特性
- 人民医院心血管外科临床技术操作规范2023版
- 助理工程师考试试题以及答案
评论
0/150
提交评论