作為一種古老的編程語言,C語言已經發展了數十年。對于軟件開發的初學者從C語言基礎課程開始,到C語言的深度學習。不管別人如何批評和唱衰,C語言發展至今仍然在是編程語言當中屹立不倒的。 Java,C#,Python,PHP,Perl等都有其他選擇,它們都可以使用其他語言來代替,但是C語言不能,因為C語言是編程語言的始祖。那么c語言如何定義變量?c語言的輸入函數有哪些?
c語言如何定義變量?
C語言中定義變量的格式非常簡單,如下:
數據類型變量名;
注意:最后的分號千萬不要丟了。變量的定義是一個語句,而語句都是以分號結尾的。
“數據類型”表示想要存儲什么類型的數據就定義什么類型的變量。想要存儲整數就定義成int型;想要存儲小數就定義成float型或double型。
“變量名”就是你想給這個變量起個什么名字,通常都是用字母。比如:
inti;
上面的語句就表示定義了一個整型變量i。
c語言的輸入函數有哪些?
1、scanf的返回值
scanf()函數返回成功賦值的數據項數,讀到文件末尾出錯時則返回EOF。
如:
scanf("%d%d",&a,&b);
如果a和b都被成功讀入,那么scanf的返回值就是2。
如果只有a被成功讀入,返回值為1。
如果a和b都未被成功讀入,返回值為0。
如果遇到錯誤或遇到endoffile,返回值為EOF。
且返回值為int型
空白符:空白字符會使scanf()函數在讀操作中略去輸入中的一個或多個空白字符。
非空白符:一個非空白字符會使scanf()函數在讀入時剔除掉與這個非空白字符相同的字符。
使用scanf函數時應該注意的事項
1)對于字符串數組或字符串指針變量,由于數組名和指針變量名本身就是地址,因此使用scanf()函數時,不需要在它們前面加上"&"操作符。
2)可以在格式化字符串中的"%"各格式化規定符之間加入一個整數,表示任何讀操作中的最大位數。
3)scanf()函數中沒有精度控制。
如:scanf("%5.2f",&a);是非法的。不能企圖用此語句輸入小數為2位的實數。
4)scanf中要求給出變量地址,如給出變量名則會出錯。
如scanf("%d",a);是非法的,應改為scnaf("%d",&a);才是合法的。
5)在輸入多個數值數據時,若格式控制串中沒有非格式字符作輸入數據之間的間隔則可用空格,TAB或回車作間隔。
C編譯在碰到空格,TAB,回車或非法數據(如對“%d”輸入“12A”時,A即為非法數據)時即認為該數據結束。
6)在輸入字符數據(%c)時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。
7)如果格式控制串中有非格式字符則輸入時也要輸入該非格式字符。
2、getchar
getchar有一個int型的返回值。當程序調用getchar時.程序就等著用戶按鍵。用戶輸入的字符被存放在鍵盤緩沖區中。直到用戶按回車為止(回車字符也放在緩沖區中)。當用戶鍵入回車之后,getchar才開始從stdin流中每次讀入一個字符。getchar函數的返回值是用戶輸入的第一個字符的ASCII碼,如出錯返回-1,且將用戶輸入的字符回顯到屏幕。如用戶在按回車之前輸入了不止一個字符,其他字符會保留在鍵盤緩存區中,等待后續getchar調用讀取。也就是說,后續的getchar調用不會等待用戶按鍵,而直接讀取緩沖區中的字符,直到緩沖區中的字符讀完為后,才等待用戶按鍵。
3、getch
getch與getchar基本功能相同,差別是getch直接從鍵盤獲取鍵值,不等待用戶按回車,只要用戶按一個鍵,getch就立刻返回,getch返回值是用戶輸入的ASCII碼,出錯返回-1。輸入的字符不會回顯在屏幕上。getch函數常用于程序調試中,在調試時,在關鍵位置顯示有關的結果以待查看,然后用getch函數暫停程序運行,當按任意鍵后程序繼續運行。
4、gets
功能:從stdin流中讀取字符串,直至接受到換行符或EOF時停止,并將讀取的結果存放在buffer指針所指向的字符數組中。換行符不作為讀取串的內容,讀取的換行符被轉換為null值,并由此來結束字符串。
返回值:讀入成功,返回與參數buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數檢查是發生錯誤還是遇到EOF。
上述就是關于c語言如何定義變量,以及c語言的輸入函數有哪些的全部內容介紹,想了解更多關于c語言的信息,請繼續關注中培偉業。