尼瑪 你都是個(gè)垃圾
在昭化等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì) 網(wǎng)站設(shè)計(jì)制作定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站建設(shè),成都外貿(mào)網(wǎng)站建設(shè),昭化網(wǎng)站建設(shè)費(fèi)用合理。
getchar是以行為單位進(jìn)行存取的。
當(dāng)用getchar進(jìn)行輸入時(shí),如果輸入的第一個(gè)字符為有效字符(即輸入是文件結(jié)束符EOF,Windows下為組合鍵Ctrl+Z, Unix/Linux下為組合鍵Ctrl+D),那么只有當(dāng)最后一個(gè)輸入字符為換行符'\n'(也可以是文件結(jié)束符EOF,EOF將在后面討論)時(shí), getchar才會停止執(zhí)行,整個(gè)程序?qū)聢?zhí)行。譬如下面程序段:
while((c = getchar()) != EOF){
putchar(c);
}
執(zhí)行程序,輸入:abc,然后回車。則程序就會去執(zhí)行puchar(c),然后輸出abc,這個(gè)地方不要忘了,系統(tǒng)輸出的還有一個(gè)回車。然后可以繼續(xù)輸入,再次遇到換行符的時(shí)候,程序又會把那一行的輸入的字符輸出在終端上。
對于getchar,肯定很多初學(xué)的朋友會問,getchar不是以字符為單位讀取的嗎?那么,既然我輸入了第一個(gè)字符a,肯定滿足while循環(huán)(c = getchar()) != EOF的條件阿,那么應(yīng)該執(zhí)行putchar(c)在終端輸出一個(gè)字符a。不錯(cuò),我在用getchar的時(shí)候也是一直這么想的,但是程序就偏偏不著樣執(zhí)行,而是必需讀到一個(gè)換行符或者文件結(jié)束符EOF才進(jìn)行一次輸出。
對這個(gè)問題的一個(gè)解釋是,在大師編寫C的時(shí)候,當(dāng)時(shí)并沒有所謂終端輸入的概念,所有的輸入實(shí)際上都是按照文件進(jìn)行讀取的,文件中一般都是以行為單位的。因此,只有遇到換行符,那么程序會認(rèn)為輸入結(jié)束,然后采取執(zhí)行程序的其他部分。同時(shí),輸入是按照文件的方式存取的,那么要結(jié)束一個(gè)文件的輸入就需用到EOF (Enf Of File). 這也就是為什么getchar結(jié)束輸入退出時(shí)要用EOF的原因。
gets()、puts()
都是針對字符串類型處理的,傳入的參數(shù)是char *型,或char[]型
gets()是輸入字符串函數(shù),puts()是字符串輸出函數(shù)
例如:
char *a;
gets(a);
或者:
char a[10];
gets(a);
相當(dāng)于:
scanf("%s",a);
輸出函數(shù):
puts(a);
相當(dāng)于:
printf("%s\n",a);
在C語言中,getchar代表讀入一個(gè)字符,putchar代表輸出一個(gè)字符。getchar的用法是輸入時(shí)直接使用getchar()函數(shù)獲取字符,putchar的用法是傳入字符變量進(jìn)行打印。
getchar由宏實(shí)現(xiàn):#define getchar() getc(stdin)。getchar有一個(gè)int型的返回值,當(dāng)程序調(diào)用getchar時(shí),程序就等著用戶按鍵。用戶輸入的字符被存放在鍵盤緩沖區(qū)中,直到用戶按回車為止(回車字符也放在緩沖區(qū)中)。
當(dāng)用戶鍵入回車之后,getchar才開始從stdio流中每次讀入一個(gè)字符。getchar函數(shù)的返回值是用戶輸入的字符的ASCII碼,若文件結(jié)尾(End-Of-File)則返回-1(EOF),且將用戶輸入的字符回顯到屏幕。如
用戶在按回車之前輸入了不止一個(gè)字符,其他字符會保留在鍵盤緩存區(qū)中,等待后續(xù)getchar調(diào)用讀取。也就是說,后續(xù)的getchar調(diào)用不會等待用戶按鍵,而直接讀取緩沖區(qū)中的字符,直到緩沖區(qū)中的字符讀完后,才等待用戶按鍵。
putchar作用是向終端輸出一個(gè)字符。其格式為putchar(c),其中c可以是被單引號(英文狀態(tài)下)引起來的一個(gè)字符,可以是介于0~127之間的一個(gè)十進(jìn)制整型數(shù),也可以是事先用char定義好的一個(gè)字符型變量。
擴(kuò)展資料:
C語言常用函數(shù):
1、int abs(int i):返回整型參數(shù)i的絕對值。
2、double cabs(struct complex znum):返回復(fù)數(shù)znum的絕對值。
3、double fabs(double x):返回雙精度參數(shù)x的絕對值。
4、double exp(double x):返回指數(shù)函數(shù)ex的值。
5、long labs(long n):返回長整型參數(shù)n的絕對值。
6、double frexp(double value,int *eptr):返回value=x*2n中x的值,n存貯在eptr中。
7、double ldexp(double value,int exp):返回value*2exp的值。
8、double log(double x):返回logex的值。
9、double log10(double x):返回log10x的值。
10、double pow(double x,double y):返回x^y的值。
參考資料來源:百度百科-getchar (計(jì)算機(jī)語言函數(shù))
參考資料來源:百度百科-putchar