当前位置:首页 » 编程语言 » c语言编写一个打印eof值的程序
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言编写一个打印eof值的程序

发布时间: 2023-05-15 05:29:29

A. c语言关于打印EOF的问题

EOF表示end of the file
在C语言头文件中默认定义为了-1.
所以如果你程序运行时输入ctrl+Z(表示文件结束输入)
那么结果就会输出-1.
如果你改成
printf( "%c\n", c);注意超过了127的字符都是无法显示的,所以你也看不到EOF

B. 编写一个打印EOF值的程序

getchar函数返回的值不就汪键是EOF?(谁说的?)

getchar 由宏实现:#define getchar() getc(stdin)。getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放蠢渗在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdin流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用带陵脊读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键.
参考:http://wenku..com/view/1d7fd1a0284ac850ad0242bf.html

C. c语言问题 谁能帮我解释下EOF的作用 最好写上一个完整的可以运行的程序(越简单越好)最好还能注释下

EOF 是一个哪弯返回值,对于scanf函数备念,如果其返回值为EOF,表示无法读李滚闷入想要读入的数据

while( scanf("%d%d",&a,&b) != EOF );

对于cin,需要换一种写法
while( true )
{
cin>>a>>b;

if( cin.eof() )

break;

}

D. c语言中EOF的用法

EOF其实是整数-1,用于从文件读取数据的时候表示已经超越文件末尾这种错误状态。如果IO操作的结果是EOF,一般就意味着这次IO是失败的。

E. C语言题目:编写一个程序,把输入作为字符流读取,直至遇到EOF。输出大写字母和小写字母的个数。

输入EOF的方法:先换新行(按回车),然后按ctrl+z,然后再回车简模。

如果是统计大小写字母个数的话,你这程序错了,下面是我写的,你看看是察者不是你想要的

#include<stdio.h>
intmain()
{
charch;
intm,n;
m=n=0;
printf("pleaseinputcharacter: ");
while((ch=getchar())!=败咐薯EOF)
{
if(('A'<=ch)&&(ch<='Z'))
m++;
if(('a'<=ch)&&(ch<='z'))
n++;
}
printf("大写字母个数:%d小写字母个数:%d ",m,n);

return0;
}

F. c语言的小问题~~~~有关 EOF


应该是与stdin流的行缓冲的具体实现有关,具体我也不清楚。
测试打123^Z456\n后,只读入123,不读入^z及其后的456\n,但其中只有按下\n才开始由getchar()读这些字符,之前只是存入行缓冲之中。但此时getchar()并不返回EOF,到下面再单独一行打^Z才返回EOF。
因此推断只扮庆有在行首的^Z才直接转换为EOF,而不在行首的^Z的作用只是忽略本行直到换行符的所有字符。

如果把stdin重定向为一厅烂握个磁盘文件,就没问题了。历做

G. 用C语言打印常用的符号常量如EOF, NULL 等的值

用16进制打印,格式:%08x
用10进制打印,格式:%d
打印 TRUE,FALSE 要头文件 windows.h
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>

void main()
{
printf("EOF:%08x NULL:%04x \n", EOF,NULL);
printf("TRUE:%04x FALSE:%04x \n", TRUE,FALSE);

printf("EOF:%d NULL:%d \n", EOF,NULL);
printf("TRUE:%d FALSE:%d \n", TRUE,FALSE);

}

H. c语言程序设计 怎么以输入EOF结束

EOF(End Of File)是C语言中的文件结束标志符。当C语言输入函数获取到文件结尾标志时,会通过返回值的方式体现该值。

所以要以输入EOF为结束,就需要判断输入函数的返回值。

EOF定义在stdio.h中,与常用的输入函数相同,所以不需要额外引用头文件。

以下根据输入函数不同,分别说明EOF的判断。


1 getchar

getchar函数的功能是读入一个字符。适用于逐个字符输入的情况。

其返回值为int型,常见的做法是赋值给char型变量,但如果要检查EOF,则必须将返回值赋值给int型。

代码:

intc;
while(1)
{
c=getchar();//读入一个字符。
if(c==EOF)break;//如果遇到EOF则退出循环,即结束输入。
}


2 scanf

scanf是最常用的C语言输入,其作用为格式化输入,可以用来输入各种类型的变量值。

以int型为例:

intc,ret;
while(1)
{
ret=scanf("%d",&c);//读入一个整型值。
if(ret==EOF)break;//如果遇到EOF则退出循环,即结束输入。注意判断的是返回值,而不是读入的变量。
}


3 gets

gets作用是读入一行数据,存到字符数组中,并把读到的换行符转换为字符串结束符。

正常情况下其返回值为传入的指针,当遇到EOF时,其返回NULL(空指针)。

所以用gets读入时可以这样判断:

chars[100];
while(1)
{
if(gets(s)==NULL)break;//当gets返回NULL时代表遇到EOF,结束输入。
}


当输入为文件时,遇到文件结尾C语言可以自动识别EOF,但如果输入为命令行交互模式,那么需要手动输入EOF. 在windows平台输入EOF的方法为,同时按下ctrl和z键。如果是unix/linux平台,则需要同时按下ctrl+d键。

I. 编写一个打印EOF值的程序

#include <stdio.h>
int main()
{
printf("Hex=%x U=%u D=%d\n",EOF,EOF,EOF);
return 0;
}
======
按悉戚16进制,无符号十渗睁进制整型,有符号十进制整型输睁喊陵出值:
Hex=ffffffff U=4294967295 D=-1