《c语言程序设计教学资料》第4章-键盘输入与屏幕输出

上传人:san****019 文档编号:22738012 上传时间:2021-05-31 格式:PPT 页数:45 大小:2.30MB
收藏 版权申诉 举报 下载
《c语言程序设计教学资料》第4章-键盘输入与屏幕输出_第1页
第1页 / 共45页
《c语言程序设计教学资料》第4章-键盘输入与屏幕输出_第2页
第2页 / 共45页
《c语言程序设计教学资料》第4章-键盘输入与屏幕输出_第3页
第3页 / 共45页
资源描述:

《《c语言程序设计教学资料》第4章-键盘输入与屏幕输出》由会员分享,可在线阅读,更多相关《《c语言程序设计教学资料》第4章-键盘输入与屏幕输出(45页珍藏版)》请在装配图网上搜索。

1、 第 四 章 键 盘 输 入 与 屏 幕 输 出 内 容 提 要 :字 符 输 入 输 出 函 数格 式 输 入 输 出 函 数 p 所 谓 输 入 输 出 是 以 计 算 机 主 机 为 主 体 而 言 的 输 出 :从 计 算 机 向 外 部 输 出 设 备 (显 示 器 ,打 印 机 )输 出 数 据 。 输 入 :从 输 入 设 备 (键 盘 ,鼠 标 ,扫 描 仪 )向 计 算 机 输 入 数 据 。p C语 言 本 身 不 提 供 输 入 输 出 语 句 ,输 入 和 输 出 操 作 是 由 C函 数 库 中 的 函 数 来 实 现 的 例 如 : 字 符 输 入 函 数 : ge

2、tchar 字 符 输 出 函 数 :putchar 格 式 输 入 函 数 : scanf 格 式 输 出 函 数 : printfp 使 用 库 函 数 时 , 要 用 预 编 译 指 令 #include将 有 关 的 “ 头 文 件 ” , 即 : stdio.h, 包 括 到 用 户 源 文 件 中#include 或 #include “stdio.h” 字 符 输 出p 字 符 输 出 函 数- 格 式 : putchar(c)- 参 数 : c为 字 符 或 整 型 常 量 、 变 量 或 表 达 式- 功 能 : 把 字 符 c输 出 到 显 示 器 上 例 : 先 后 输

3、出 BOY三 个 字 符 。 字 符 输 出#include main () char a=B,b=O,c=Y; putchar(a); putchar(b); putchar(c); putchar (n); 运 行 结 果 : BOY 字 符 输 入p 字 符 输 入 函 数- 格 式 : getchar() 无 参 数- 功 能 : 接 收 从 键 盘 输 入 的 一 个 字 符 函 数 值 为 输 入 的 字 符 值 当 输 入 多 个 字 符 时 , 多 余 字 符 作 废 例 : 输 入 单 个 字 符 。#includevoid main() char c; c=getchar(

4、); putchar(c); putchar(n); 运 行 程 序 :从 键 盘 输 入 字 符 a按 Enter键屏 幕 上 将 显 示 输 出 的 字 符 aaa字 符 输 入 字 符 输 入 /输 出例 : 从 键 盘 输 入 一 个 大 写 英 文 字 母 , 将 其 转 换 为 小 写 字 母 后 , 再 显 示到 屏 幕 上 。 #include main() char ch; printf(“press a key and then press enter:”); ch=getchar(); ch=ch+32; putchar(ch); putchar(n); 运 行 结 果

5、: press a key and then press enter: B b getchar()没 有 参 数getchar(ch) 错 例 : 从 键 盘 输 入 BOY三 个 字 符 , 然 后 把 它 们 输 出 到 屏 幕 。解 题 思 路 :l用 3个 getchar函 数 先 后 从 键 盘 向 计 算 机 输 入 BOY三 个 字 符l用 putchar函 数 输 出字 符 输 入 /输 出 #include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); pu

6、tchar(c); putchar(n); 运 行 结 果 : BOY字 符 输 入 /输 出 #include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); putchar(getchar();字 符 输 入 /输 出 #include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); p

7、utchar(n); putchar(getchar();putchar(getchar();字 符 输 入 /输 出 #include main () char a,b,c; a=getchar(); b=getchar(); c=getchar(); putchar(a); putchar(b); putchar(c); putchar(n); putchar(getchar();putchar(getchar();putchar(getchar();字 符 输 入 /输 出 #include main () char a,b,c; a=getchar(); b=getchar(); c=

8、getchar(); putchar(a); putchar(b); putchar(c); putchar(n); putchar(getchar();putchar(getchar();putchar(getchar();运 行 结 果 : BOY字 符 输 入 /输 出 格 式 化 输 出p 格 式 输 出 函 数 :- printf(“ 格 式 控 制 字 符 串 ” );- printf(“ 格 式 控 制 字 符 串 ” , 输 出 参 数 表 ); 普 通 字 符 或 转 义 序 列 格 式 命 令 : 以 %开 始 , %( 格 式 修 饰 符 ) 格 式 字 符 , 用 于

9、指定 输 出 格 式 输 出 表 列 : 要 输 出 的 数 据 ( 多 个 时 以 “ ,” 分 隔 ) 格 式 控 制 字 符 串 : 格 式 化 输 出 例 : printf(“press a key and then press enter:”); printf(“a=%d b=%fn”, a,b);转 义 字 符普 通 字 符 串格 式 说 明 输 出 参 数 表 例 : printf(“welcomentonBeijing!n”);输 出 : welcome to Beijing! 格 式 化 输 出# include main() char ch; printf(“press a

10、 key and then press enter:”); ch=getchar(); ch=ch+32; printf(“%c, %dn”, ch, ch); 例 : 从 键 盘 输 入 一 个 大 写 英 文 字 母 , 将 其 转 换 为 小 写 字 母 后 , 再 将 转 换 后 的小 写 字 母 及 十 进 制 ASCII码 值 显 示 到 屏 幕 上 。 结 果 : press a key and then press enter: B b, 98 格 式 字 符函 数 printf()的 格 式 转 换 说 明格 式 字 符 用 法d 以 带 符 号 十 进 制 整 数 输 出o

11、 以 无 符 号 八 进 制 整 数 输 出 ( 无 前 导 0)x 以 无 符 号 十 六 进 制 整 数 ( 小 写 ) 输 出 ( 无 前 导 0 x)X 以 无 符 号 十 六 进 制 整 数 ( 大 写 ) 输 出 ( 无 前 导 0 x)u 以 无 符 号 十 进 制 整 数 输 出 c 以 字 符 形 式 输 出 单 个 字 符s 输 出 一 个 字 符 串 f 以 小 数 形 式 输 出 浮 点 数 ( 6位 小 数 )e 以 标 准 指 数 形 式 ( 小 写 e表 示 指 数 部 分 ) 输 出 浮 点 数 ( 6位 小 数 )E 以 标 准 指 数 形 式 ( 大 写 E

12、表 示 指 数 部 分 ) 输 出 浮 点 数 ( 6位 小 数 )g 自 动 选 用 %f, %e中 输 出 宽 度 较 小 的 一 种 格 式% 输 出 % 格 式 修 饰 符函 数 printf()的 附 加 格 式 转 换 说 明格 式 修 饰 符 用 法l long型 数 据 , 修 饰 d, o, x, uL long double型 数 据 , 修 饰 f, e, gm 数 据 所 占 用 的 宽 度 ( m为 整 数 )数 据 宽 度 大 于 m, 按 实 际 宽 度 输 出数 据 看 度 小 于 m, 右 靠 齐 , 左 边 多 余 补 空 格.n 对 实 数 输 出 n位

13、小 数对 于 浮 点 数 , 用 于 指 定 输 出 浮 点 数 的 小 数 位对 于 字 符 串 , 用 于 指 定 从 字 符 串 左 侧 开 始 截 取 的 子 字 符 串 个 数 h short型 数 据 , 修 饰 d, o, x- 输 出 的 数 据 向 左 对 齐0 指 定 空 格 填 0 格 式 化 输 出% - 0 m.n l/h d(x) 格 式 说 明 引 导 符 号指 定 左 对 齐 输 出指 定 空 位 填 0指 定 输 出 域 及 精 度输 出 长 度 修 正指 定 输 出 数 据 类 型 格 式 字 符格 式 修 饰 符 % 格 式 符用 来 输 出 十 进 制

14、整 数 。几 种 用 法 : : 按 十 进 制 整 型 数 据 的 实 际 长 度 输 出 。 md: m为 指 定 的 输 出 字 段 的 宽 度 。 如 果 数 据 的 位 数 小 于 m, 则 左 端 补 以 空 格 , 若 大 于 m, 则 按 实 际 位 数 输 出 。 例 : printf( 4d, 4d, a, b) ; 若 a 123, d 12345, 则 输 出 结 果 为 123, 12345 ld:输 出 长 整 型 数 据 。 例 : long a 135790; /* 定 义 a为 长 整 型 变 量 */ printf( ld, a) ; % 格 式 符以 八

15、进 制 整 数 形 式 输 出 。例 : int a=-1; printf(%d, %o, a, a); -1在 内 存 单 元 中 的 存 放 形 式 ( 以 补 码 形 式 存 放 ) 如 下 : 1111111111111111 输 出 为 : -1, 177777对 长 整 数 ( long型 ) 可 以 用 “ lo” 格 式 输 出 。还 可 以 指 定 字 段 宽 度 ,例 :printf( 8o, a) ; 输 出 为 : 177777。 (数 字 前 有 2个 空 格 ) %s格 式 符 输 出 字 符 串 。 s。 例 如 : printf( s, CHINA) 输 出 字

16、 符 串 “ CHINA” ( 不 包 括 双 引 号 ) 。 %ms, 输 出 的 字 符 串 占 m列 , 若 串 长 大 于 m, 则 全 部 输 出 ,若 串 长 小 于 m, 则 左 补 空 格 。 %-ms, 若 串 长 小 于 m, 字 符 串 向 左 靠 , 右 补 空 格 。 %m. ns, 输 出 占 m列 , 只 取 字 符 串 中 左 端 n个 字 符 , 字 符 串向 右 靠 , 左 补 空 格 。 %-m.ns, n个 字 符 输 出 在 m列 的 左 侧 , 右 补 空 格 , 若 n m,m自 动 取 n值 。 例 4.5字 符 串 的 输 出 。#includ

17、evoid main()printf(“%3sn%7.2sn%.4sn%-5.3sn”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); % 格 式 符用 来 以 小 数 形 式 输 出 实 数 ( 包 括 单 双 精 度 )有 以 下 几 种 用 法 : f。 不 指 定 字 段 宽 度 , 由 系 统 自 动 指 定 字 段 宽 度 , 使 整 数部 分 全 部 输 出 , 并 输 出 6位 小 数 。 应 当 注 意 , 在 输 出 的 数 字 中并 非 全 部 数 字 都 是 有 效 数 字 。 单 精 度 实 数 的 有 效 位 数 一 般 为 7位 。 m

18、.nf。 指 定 输 出 的 数 据 共 占 m列 , 其 中 有 n位 小 数 。 如 果数 值 长 度 小 于 m, 则 左 端 补 空 格 。 -m.nf与 m.nf基 本 相 同 , 只 是 使 输 出 的 数 值 向 左 端 靠 , 右 端 补 空 格 。 输 出 实 数 时 的 有 效 位 数 。#include void main() float , ; 111111.111; 222222.222; printf( f, ) ; 例 4.8 输 出 实 数 时 指 定 小 数 位 数 。#include void ain( ) float f=123.456; printf(“

19、%fn%10fn%10.2fn%.2fn%-10.2fn”, f, f, f, f, f); %e格 式 符指 定 以 指 数 形 式 输 出 实 数VC+给 出 小 数 位 数 为 6位 指 数 部 分 占 5列 小 数 点 前 必 须 有 而 且 只 有 1位 非 零 数 字 printf(”%e”,123.456); 输 出 : 1.234560 e+002%m.ne printf(”%13.2e”,123.456); 输 出 : 1.23e+002 (前 面 有 4个 空 格 ) 例 : m.n格 式 化 输 出例 : int a=1234; float f=123.456; char

20、 ch=a; printf(“%8dn%2dn”,a,a); printf(“%fn%8fn%8.1fn%.2fn%.2en”,f,f,f,f,f); printf(“%3cn”,ch); 例 : -格 式 化 输 出 int a=1234; float f=123.456; static char c=“Hello,world!”; printf(“%8dn%-8dn”,a,a); printf(“%10.2fn%-10.1fn”,f,f); printf(“%10.5sn%-10.3sn”,c,c); 格 式 化 输 出printf(”%f”,1.0/3); printf(%20.15f,

21、1/3);printf(%.0f”,10000/3.0); printf(%e,123.456); 格 式 化 输 入p 格 式 输 入 函 数 :- 格 式 : scanf(“ 格 式 控 制 字 符 串 ” , - 功 能 : 按 指 定 格 式 从 键 盘 读 入 数 据 , 存 入 地 址 表 指 定 的 存 储 单 元 中 ,并 按 回 车 键 结 束例 : scanf(“%d ,%f”, 普 通 字 符 格 式 说 明 地 址 表 格 式 化 输 入函 数 scanf()的 格 式 转 换 说 明格 式 字 符 用 法d 以 带 符 号 十 进 制 形 式 输 入 整 数 数 据o

22、 以 八 进 制 无 符 号 形 式 输 入 ( 无 前 导 0)x 以 十 六 进 无 符 号 制 形 式 输 入 ( 无 前 导 0 x)c 以 字 符 形 式 输 入 单 个 字 符s 输 入 字 符 串 , 以 非 空 字 符 开 始 , 遇 第 一 个 空 格 字 符 结 束f 以 小 数 形 式 输 入 浮 点 数e 以 标 准 指 数 形 式 输 入 浮 点 数 % 输 入 % 格 式 化 输 入函 数 scanf()的 附 加 格 式 转 换 说 明格 式 修 饰 符 用 法l 输 入 long型 数 据 , 修 饰 d, o, x, uL long double型 数 据 ,

23、 修 饰 f, em 数 据 所 占 用 的 宽 度 ( m为 整 数 )数 据 宽 度 大 于 m, 按 实 际 宽 度 输 出数 据 看 度 小 于 m, 右 靠 齐 , 左 边 多 余 补 空 格h short型 数 据 , 修 饰 d, o, x* 本 输 入 项 在 读 入 后 不 赋 给 相 应 的 变 量注 意 : ( 1) 函 数 scanf()没 有 精 度 修 饰 符 .n, 即 用 scanf()输 入 实型 数 据 时 不 能 规 定 精 度 。 ( 2) 数 据 输 入 遇 到 空 格 、 回 车 符 、 制 表 符 ( Tab) 、遇 到 非 法 字 符 输 入 ,

24、 或 到 达 输 入 域 宽 度 时 认 为 输 入 数 据 结 束 。 格 式 化 输 入% * m l/h d(x) 格 式 说 明 起 始 符 号附 加 说 明 符域 宽 说 明 符长 度 修 正输 入 数 据 类 型 格 式 化 输 入使 用 scanf函 数 应 注 意 :( 1) 输 入 数 据 时 不 能 规 定 精 度( 2) 如 果 在 “ 格 式 控 制 字 符 串 ” 中 储 量 格 式 说 明 以 外 还 有其 它 字 符 , 则 在 输 入 数 据 时 应 该 输 入 与 这 些 字 符 相 同 的 字符( 3) 在 用 %c格 式 输 入 字 符 时 , 空 格 字

25、 符 和 转 义 字 符 都 作 为有 效 字 符 输 入 例 : scanf(“%c%c%c”, 输 入 : a b c 则 c1=a, c2=“”, c3=b 格 式 化 输 入使 用 scanf函 数 时 常 见 错 误( 1) scanf(“%f%f%f”,a,b,c); 错 scanf(“%f%f%f”, 对( 2) scanf(“a=%f,b=%f,c=%f” 1 3 2 错 a=1,b=3,c=2 对 a=1 b=3 c=2 错( 3) scanf(“%c%c%c”, abc 对 a b c 错( 4) scanf(“%7.2f”, 错 格 式 化 输 入例 : #include

26、 main() int a, b; printf(“please input a and b:”); scanf(“%2d %*2d %2d”, printf(“a=%d, b=%d, a+b=%dn”, a, b, a+b); 运 行 结 果 : please input a and b: 123456 %2d表 示 读 入 2位 整 数 但 不 赋 给 任 何 变 量 。 也 就 是 说 第 2个 数 据被 跳 过 a=12, b=56, a+b=68 格 式 化 输 入 /输 出p scanf()和 printf()参 数 列 表 的 区 别- printf()使 用 变 量 名 、 常 亮 、 符 号 常 量 和 表 达 式- scanf()使 用 变 量 地 址使 用 scanf()时 , 参 数 列 表 应 遵 循 以 下 规 则 :- 读 取 基 本 数 据 类 型 的 变 量 值 , 应 在 变 量 名 前 加 &- 读 取 指 针 变 量 指 向 的 值 时 , 在 变 量 明 前 不 加 &

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

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

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


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