- 1、本文档共24页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C入门经典(第4版) 第10章 基本输入和输出操作 本章将详细介绍键盘输入、屏幕输出和打印机输出。本章的内容相当简单,但要记住许多东西。不过不用熟记,需要时可以再回来参考本章的内容。 与大多数现代编程语言一样,C语言也没有输入输出的能力,所有这类操作都由标准库中的函数提供。前面各章介绍的许多这类函数提供了键盘输入和屏幕输出的功能 。 10.1 输入和输出流 前面章节主要使用scanf()函数从键盘输入数据,使用printf()函数将数据输出到屏幕上。事实上,使用这些函数指定从哪里输入或输出到哪里去的方式没有什么特别。因为scanf()函数可以从任何地方接收信息,只要这些信息是字符流即可。同样,printf()函数也可以将数据输出到任何能接收字符流的地方去。这并不是巧合:C语言的标准输入输出函数都是独立于设备的,程序员不需要考虑如何在特定设备上传入传出数据。C语言的库函数和操作系统会确保在特定设备上的操作完全正常。 10.2 标准流 C语言有3个在stdio.h头文件中预定义的标准流,程序只要包含了这个头文件,就可以使用这些流。这3个标准流分别是stdin、stdout和stderr。在一些系统中还可以使用另外两个流stdprn和stdaux,但它们不是C语言的标准流,所以编译器不支持它们 。 10.3 计算机绘图系统的硬件组成 前面介绍过,stdin上的键盘输入有两种形式:一种是格式化输入,主要由scanf()函数提供;另一种是非格式化输入,通过getchar()等函数接收原始的字符数据。这两种形式都很常见,下面详细介绍它们。 格式化键盘输入 输入格式控制字符串 输入格式字符串中的字符 输入浮点数的各种变化 读取十六进制和八进制值 用scanf()读取字符 scanf()的陷阱 从键盘上输入字符串 键盘的非格式化输入 10.3.1 格式化键盘输入 函数scanf()从stdin流中读入字符,并根据格式控制字符串中的格式指定符,将它们转换成一个或多个值。scanf()函数的原型如下: int scanf(char *format, ... ); 格式控制字符串参数的类型是char*,即字符串指针。在函数调用时,它通常显示为显式的变元,如下:. scanf(%lf, variable); 10.3.2 输入格式控制字符串 在scanf()或wscanf()函数中使用的格式控制字符串不完全类似于printf()中的格式控制字符串。在格式控制字符串中添加一个或多个空白字符,如空格‘ ’、制表符‘\t’或换行符‘n’,scanf()会忽略空白字符,直接读入输入中的下一个非空白字符。在格式控制字符串中只要出现一个空白字符,就会造成无数个连续的空白字符被忽略。因此,可以在格式字符串内加入任意多个的空白字符,使输入易于理解。注意,scanf()默认忽略空白字符,但使用%c、%[]或%n指定符读取数据时除外 。 10.3.3 输入格式字符串中的字符 可以在输入格式字符串中包含一些不是格式转换指定符的字符。为此,必须指定输入中有这些字符,且scanf()函数应读取它们,但不存储它们。但这些非格式转换字符必须和输入流的字符完全相同,只要有一个不同,scanf()就会终止输入。 10.3.4 输入浮点数的各种变化 使用scanf()函数读取格式化的浮点数时,不仅可以选择格式指定符,而且可以输入不同形式的数 。 10.3.5 读取十六进制和八进制值 前面曾经提过,可以使用格式指定符%x从输入流中读取十六进制值,使用格式指定符%o读取八进制值 。 10.3.6 用scanf()读取字符 第一个例子尝试过读入字符串,读入字符串还有其他方法。有3个格式指定符用于读取一个或多个单字节字符。使用格式指定符%c可以读取一个字符,并将它存储为char类型,如果使用的是%lc,就存储为wchar_t类型。对于字符串,可以使用指定符%s或%[],如果要将输入存储为宽字符,就使用%ls或%l[],其中转换指定符的前缀是L的小写。此时要给存储的字符串追加终止字符‘\0’,作为最后一个字符。使用格式符%[]或%l[]读入的字符串必须只包含方括号内的字符,如果方括号中的第一个字符是^时,则读入的字符串不能包含方括号内^字符后面的任何字符,例如%[aeiou]读入的字符串只能包含元音。碰到不是元音的字符就停止输入。而%[^aeiou]读入的字符串不能包含元音。碰到元音就停
您可能关注的文档
- ch03 线性方程组数值解法-直接法.ppt
- Ch3 电阻电路一般分析 - Huang 20140225.pdf
- 微机原理及接口技术6章.ppt
- ch3 向量组的线性相关性及线性方程组.doc
- ch4 电子示波器实训及习题 电院.ppt
- CH5 存储器、存储管理与高速缓存技术.ppt
- 微机原理及接口技术6章48学时.ppt
- 微机原理及接口技术11-n.ppt
- ch5 存储器及IO接口原理.ppt
- ch8-1数据结构Introduction南京大学C语言及数据结构.pdf
- 五位一体教案教学教案设计.docx
- 思修与法基-教学教案分享.pptx
- 大学军事之《中国国防》题库分享.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.pdf
- 思修与法基 教学全案分享.docx
- 大学军事之《军事思想》题库分享.docx
- 《经济思想史》全套课件-国家级精品课程教案课件讲义分享.pdf
- 厦门大学国际金融全套资料(国家级精品课程)--全套课件.pdf
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章中国特色社会主义理论体系的形成发展分享.pdf
文档评论(0)