當前位置:首頁 » 編程語言 » 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