沒有。 C語言本身並沒有提供輸入和輸出語句,輸入和輸出的運算是由函數來實現的。不把輸入輸出當作C語言提供的語句的目的是使C語言編譯系統簡單,因為將語句翻譯成二進位的指令是在編譯階段完成的,沒有輸入輸出語句可以避免在編譯階段處理與硬體相關的問題,可以使編譯系統簡化,而且通用性強,可移植性好,對各種型號的計算機都適用,便於在各種計算機上實現。
本教學操作環境:windows7系統、c99版本、Dell G3電腦。
c語言本身是沒有輸入輸出語句的。 C語言本身並沒有提供輸入和輸出語句,輸入和輸出的操作是由函數來實現的,對檔案的讀寫也都是用函式庫函數來實現的。
C語言的標準函數庫中提供了一些輸入、輸出的函數,例如:printf函數和scanf函數 。但是,printf和scanf函數並不是C語言的關鍵字,只是函數的名字 。
C提供的函數以函式庫的形式存放在系統中,它們不是C語言文字中的組成部分。 不把輸入輸出作為C語言提供的語句的目的是使C語言編譯系統簡單,因為將語句翻譯成二進制的指令是在編譯階段完成的,沒有輸入輸出語句可以避免在編譯階段處理與硬件有關的問題,可以使編譯系統簡化,而且通用性強,可移植性好,對各種型號的計算機都適用,便於在各種計算機上實現。
各種版本的C語言函式庫是各電腦廠商針對某一類型電腦的情況所寫的,並且已編譯成目標檔(.obj檔)。它們在連接階段與原始程式經過編譯而得到的目標檔案連接,產生一個可執行的目標程式。如果在原始程式中有printf函數,在編譯時並不會把它翻譯成目標指令,而是在執行階段呼叫已連接的函數庫中的printf函數。
擴充知識:
與其他的電腦程式設計語言不同,C語言中絕大多數功能都是透過函數呼叫實現的,因此C語言本身的語句數量較少。 C語言採用方式使得語言功能的擴充十分方便。如果需要增加新的功能,只需要在函數庫中加入對應的函數即可;而如果一個函數的功能需要進行調整,也只需要修改函數本身的程式碼,但不需要修改呼叫了該函數的其他程序。
C語言中本身俱有的函數稱為系統函數,使用者可以直接呼叫這些函數完成對應的功能。例如printf、fabs等都是系統函數。系統函數被保存在稱為「C函數庫「的系統檔案中,當需要使用一個函數時,應通知系統該函數所在的函數庫,這是透過包含頭文件的方式來實現的。例如,以下所示的C程式基本框架:
#include "stdio.h" #include "conio.h" int main(void) { /* 此处添加你自己的代码 */ getch(); return 0; }
其中#include "stdio.h"
預處理語句就是通知系統將stdio.h頭檔包含到本在程式檔案中,這樣就可以使用其中已經定義的系統函數。
C語言中的基本輸入功能透過使用函數scanf函數實現,基本輸出功能透過使用函數printf實現。這兩個函數的頭檔是stdio.h
,但由於這是兩個非常常用的函數,C語言中規定在使用這兩個函數時可以省略對應的#include
命令。
#include
叫做檔案包含指令,用來引入對應的頭檔(.h檔)。 #include 也是C語言預處理指令的一種。
#include
的處理過程很簡單,就是將頭文件的內容插入到該命令所在的位置,從而把頭文件和當前源文件連接成一個源文件,這與復制貼上的效果相同。
#include 的用法有兩種,如下所示:
#include <stdHeader.h> #include "myHeader.h"
使用尖括號< >
和雙引號" "
的差別在於頭檔的搜尋路徑不同:
使用尖括號< >
,編譯器會到系統路徑下尋找頭檔;
而使用雙引號" "
,編譯器首先在目前目錄下尋找頭文件,如果沒有找到,再到系統路徑下查找。
也就是說,使用雙引號比使用尖括號多了一個查找路徑,它的功能更為強大。
關於 #include 用法的注意事項:
一個 #include 指令只能包含一個頭文件,多個頭檔需要多個 #include 指令。
同一個頭檔可以被多次引入,多次引入的效果和一次引入的效果相同,因為頭檔在程式碼層面有防止重複引入的機制,具體細節我們將在《防止C語言頭檔被重複包含》一文中深入探討。
檔案包含允許嵌套,也就是說在一個被包含的檔案中又可以包含另一個檔案。
相關推薦:《C影片教學》
以上是c語言本身有沒有輸入輸出語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!