




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第3章 数据的输入和输出,3. 1 字符型数据的输入输出函数 3. 2 格式输入输出函数,字符型数据的输出函数putchar和输入函数getchar 格式输出函数printf和输入函数scanf,本章要点,3. 1字符型数据的输入输出函数,3.1.1 putchar( )函数 putchar( )函数的作用是向终端输出一个字符。 一般格式: putchar(参数); 说明: 参数可以是字符型变量或整型变量,也可以是一个整数、控制字符或其他转义字符。,3.1.2 getchar( )函数,getchar( )函数的作用是从终端输入一个字符。 一般格式:变量=getchar(); 说明: (1)变
2、量可以是字符型变量或整型变量,如果是字符型变量,存入的就是字符本身,如果是整型变量,存入的则是该字符的ASCII码值。 (2) getchar( )函数没有参数。 (3) getchar( )函数的函数值就是从输入设备得到的字符。,(4) 在执行getchar( )函数时,虽然是读入一个字符,但并不是从键盘输入一个字符,该字符就被读入送给一个字符变量,而是等到键入回车键后,才将该字符输入缓冲区,然后getchar( )函数从缓冲区中取一个字符给字符变量。 (5) 如果getchar( )函数读入的字符是“z”(和z同时按下),则输入的既不是字符,也不是ASCII码值,而是一个标志值1。“z”被
3、称为文件结束符,在程序中经常用符号常量EOF来表示它。,3.1.3 puts( )函数和gets( )函数,1. puts函数的格式 puts(s); s是一个字符数组的数组名或是一个指向字符类型数据的指针变量。puts(s)出错时,返回EOF(Ending Of File,值是-1)。puts( )函数执行完后,自动换行。 说明: (1) puts()函数只能输出字符串, 不能输出数值或进行格式变换。 (2) 可以将字符串直接写入puts()函数中。,2. gets函数的格式 gets(s); s是一个字符数组的数组名或是一个指向字符类型数据的指针变量。从键盘上接收一个字符串,将其存入s中,
4、并自动以0作为结束。gets(s)函数与scanf(%s, s);相似,但不完全相同,使用scanf(%s, s)输入字符串时存在一个问题, 就是如果输入了空格会认为输入字符串结束,空格后的字符将作为下一个输入项处理, 但gets( )函数将接收输入的整个字符串直到回车为止。 说明:gets(s)函数中的变量s是字符串或指向字符串的指针。,3.2 格式输入输出函数,下面分别介绍格式输出函数printf和输入函数scanf,3.2.1 printf( )函数,printf( )函数的作用是向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。 1. 一般格式: printf(格式控制字符串
5、,输出表列); “格式控制字符串”用于控制输出转换和格式化的方式,“输出表列”给出将要输出的数据项。,2. 说明: (1) “格式控制字符串”可以包括“格式转换说明符”,用来规定相应输出项内容的输出格式;“转义字符”,用来输出转义字符所代表的控制代码或特殊字符;“普通字符”,要求原样输出的字符。 (2) “输出表列”,是需要输出的一些数据,可以是变量和表达式,输出项之间用逗号分隔。,3. 格式转换说明符 “格式转换说明符”由格式字符和附加格式说明符组成,其组成格式如下: % - 0 m.n l或h 格式字符 格式字符用于指定输出项的数据类型和输出格式。,4. 在使用printf()函数时,还有
6、几点需要说明: (1) 除了X、E、G外,其他格式字符必须用小写字母,如%d不能写成%D。 (2)可以在“格式控制字符串”内使用“转义字符”,如“n”、“t”、“b”、“r”、“f”、“377”等。 (3)使用printf( )函数时还要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一定相同,可以从左到右, 也可从右到左。Turbo C是按从右到左进行的。,3.2.2 scanf( )函数,scanf( )函数,作用是用来输入任意类型的数据。 1. 一般格式: scanf(格式控制字符串,地址表列); 2. 说明: (1) 格式控制字符串与printf( )函数中的“格式控制字符串
7、”含义类似,所不同的是这里是对输入格式进行控制。其内容可以是“格式控制说明符(简称格式符或格式说明符)”,或是要求在输入时附加输入的“普通字符”,而“转义字符”则较少使用。,(2) “地址表列”,是由若干个等待输入的内存单元地址组成,地址项之间用逗号分隔。该地址可以是变量地址或字符串的首地址,也可以是数组地址或结构体变量地址等。它的作用是存放输入的数据。也就是说,scanf( )函数中用于接收输入的输入项必须是一个地址量。在C语言里地址量的表示是在变量前加前缀符号“&”。,3. 格式控制说明符 scanf( )函数的“格式控制说明符”基本格式如下: % * m l或h 格式字符 另外,使用sc
8、anf( )函数应当注意的几个问题 (1)对unsigned型变量所需的数据,可以用%u、%d、%o和%x格式输入。 (2) 输入数据时不能规定精度。,4. 输入流数据的分隔 scanf( )函数是从输入数据流中接收非空字符,再转换成“格式控制字符串”描述的格式,传送到与“格式控制字符串”相对应的地址中去。当从终端输入数据流的时候,scanf( )函数有一些分隔数据流的方法。 (1) 根据“格式字符”的含义从输入流中取得数据,当输入流中数据类型与“格式字符”要求不符合时,就认为这一数据项结束。,(2) 根据“格式控制字符串”中指定的域宽(即m的值)分隔数据流。 (3) 使用分隔符。分隔符可以是空格、回车键或Tab键,还可以是自己指定的字符,在输入数据流的时候加上相应分隔符。 (4) 抑制字符“*”。“*”的作用是按格式控制说明符读入数据后,不送给任何变量。如果在%后加上“*”附加说明符,表示跳过它指定的域宽(或列数)。 (5) 在用%c格式输入字符数据时,空格字符和转义字符都作为有效字符输入。,5. scanf( )函数的结束与返回值。 (1)scanf( )函数在执行
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 衣原体性女性盆腔炎性疾病护理
- 淮安中学小升初数学试卷
- 巨野五年级数学试卷
- 昆明市联考高一数学试卷
- 白点状视网膜营养障碍治疗及护理
- 全身性惊厥性疾病护理课件
- 二年级下册书法学生兴趣激发计划
- 云计算环境安全自动化配置创新创业项目商业计划书
- 搜索引擎营销(SEM)服务创新创业项目商业计划书
- 化工设备保养创新创业项目商业计划书
- 环保企业五年发展计划
- 金属非金属矿井通风作业培训
- 灵活用工合同协议书
- 全球及中国PCB检测设备行业市场发展现状及发展前景研究报告2025-2028版
- 《移步换景 别有洞天─中国古典园林欣赏》教学课件-2024-2025学年人教版初中美术八年级下册
- 2025年重庆物流集团渝地绿能科技有限公司招聘笔试参考题库含答案解析
- 广汉市小升初试题及答案
- 塔吊安装拆卸应急准备与响应预案
- 重点人口管理工作规定
- 部编版四年级道德与法治下册《当冲突发生》课件
- 西亚、中亚、北非音乐文化
评论
0/150
提交评论