C语言中的EOF_c语言中extern

2020-02-28 其他范文 下载本文

C语言中的EOF由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言中extern”。

C语言中的EOF EOF是指文件的结束符,是一个宏定义.对于键盘输入来说,getchar()只有在遇到文本结束标记(ASCII编码为26)时才会返回EOF,其它情况都会返回一个输入符号值。所以对于这种程序,要想让循环信息运行,只能输入这个文本结束标记。输入这个标记有多种方法,常用的就是按F6键,或者按Ctrl-Z组合键,或者打开数字小键盘之后按住Alt键再依次按小键盘上的26两个数字键最后放开Alt键,等,都可以输入这个文本结束标记。

借助于getchar 与putchar 函数,可以在不了解其它输入/输出知识的情况下编写出数量惊人的有用的代码。最简单的例子就是把输入一次一个字符地复制到输出,其基本思想如下: 读一个字符

while(该字符不是文件结束指示符)输出刚读入的字符 读下一个字符

将上述基本思想转换为C语言程序为: #include /* copy input to output;1st version */ main(){ int c;c = getchar();while(c!= EOF){ putchar(c);c = getchar();} } 其中,关系运算符!=表示“不等于”。

字符在键盘、屏幕或其它的任何地方无论以什么形式表现,它在机器内部都是以位模式存储的。char 类型专门用于存储这种字符型数据,当然任何整型(int)也可以用于存储字符型数据。因为某些潜在的重要原因,我们在此使用int类型。

这里需要解决如何区分文件中有效数据与输入结束符的问题。C语言采取的解决方法是:

在没有输入时,getchar 函数将返回一个特殊值,这个特殊值与任何实际字符都不同。这个值称为EOF(end of file,文件结束)。我们在声明变量c 的时候,必须让它大到足以存放getchar函数返回的任何值。这里之所以不把c声明成char类型,是因为它必须足够大,除了能存储任何可能的字符外还要能存储文件结束符EOF。因此,我们将c声明成int类型。

EOF 定义在头文件中,是个整型数,其具体数值是什么并不重要,只要它与任何char类型的值都不相同即可。这里使用符号常量,可以确保程序不需要依赖于其对应的任何特定的数值。

对于经验比较丰富的C 语言程序员,可以把这个字符复制程序编写得更精炼一些。在C语言中,类似于c = getchar()之类的赋值操作是一个表达式,并且具有一个值,即赋值后左边变量保存的值。也就是说,赋值可以作为更大的表达式的一部分出现。如果将为c赋值的操作放在while循环语句的测试部分中,上述字符复制程序便可以改写成下列形式: #include /* copy input to output;2nd version */ main(){ int c;while((c = getchar())!= EOF)putchar(c);} 在该程序中,while 循环语句首先读一个字符并将其赋值给c,然后测试该字符是否为文件结束标志。如果该字符不是文件结束标志,则执行while语句体,并打印该字符。随后重复执行while语句。当到达输入的结尾位置时,while循环语句终止执行,从而整个main函数执行结束。以上这段程序将输入集中化,getchar函数在程序中只出现了一次,这样就缩短了程序,整个程序看起来更紧凑。习惯这种风格后,读者就会发现按照这种方式编写的程序更易阅读。我们经常会看到这种风格。(不过,如果我们过多地使用这种类型的复杂语句,编写的程序可能会很难理解,应尽量避免这种情况。)对while语句的条件部分来说,赋值表达式两边的圆括号不能省略。不等于运算符!=的优先级比赋值运算符=的优先级要高,这样,在不使用圆括号的情况下关系测试!=将在赋值=操作之前执行。因此语句 c = getchar()!= EOF 等价于语句

c =(getchar()!= EOF)

英语语言中的性别歧视

最新英语专业全英原创毕业论文,都是近期写作1 A Comparison of the English Color Terms 2 英语新闻标题的语言特点及翻译 3 诗歌《飞鸟集》的意象评析4 浅析好莱坞英雄主义......

C语言中运算符优先级

**最高最高优先级的其实并不是真正的运算符,它们是一类特殊的操作,()是与函数相关,[]是与数组相关,->是与提取相关;总结:1.关系运算符优于逻辑运算符2.移位运算符介于算术运算符和......

新闻语言中的白描

新闻语言中的白描(2009-10-30 18:48:18) 转载标签: 分类: 理论探究新闻写作培训 白描 杂谈白描是中国绘画的一种传统技法,线条简练而传神逼真,不用颜色渲染。应用到新闻写作上就......

c语言中uninon是什么意思

应该是union,共用体声明和共用体变量定义,共用体是一种特殊形式的变量,使用关键字union来定义; 共用体(有些人也叫“联合”)声明和共用体变量定义与结构体十分相似。其形式为:un......

语言中的爱心作文500字

刀豆文库小编为你整合推荐7篇语言中的爱心作文500字,也许这些就是您需要的文章,但愿刀豆文库能带给您一些学习、工作上的帮助。......

《C语言中的EOF.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
C语言中的EOF
点击下载文档
相关专题 c语言中extern 语言 EOF c语言中extern 语言 EOF
[其他范文]相关推荐
[其他范文]热门文章
下载全文