首頁  >  文章  >  後端開發  >  c語言本身有沒有輸入輸出語句

c語言本身有沒有輸入輸出語句

青灯夜游
青灯夜游原創
2022-11-24 14:29:0513419瀏覽

沒有。 C語言本身並沒有提供輸入和輸出語句,輸入和輸出的運算是由函數來實現的。不把輸入輸出當作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"

使用尖括號6d267e5fab17ea8bc578f9e7e5e1570b和雙引號" "的差別在於頭檔的搜尋路徑不同:

  • 使用尖括號6d267e5fab17ea8bc578f9e7e5e1570b,編譯器會到系統路徑下尋找頭檔;

  • 而使用雙引號" ",編譯器首先在目前目錄下尋找頭文件,如果沒有找到,再到系統路徑下查找。

也就是說,使用雙引號比使用尖括號多了一個查找路徑,它的功能更為強大。

關於 #include 用法的注意事項:

  • 一個 #include 指令只能包含一個頭文件,多個頭檔需要多個 #include 指令。

  • 同一個頭檔可以被多次引入,多次引入的效果和一次引入的效果相同,因為頭檔在程式碼層面有防止重複引入的機制,具體細節我們將在《防止C語言頭檔被重複包含》一文中深入探討。

  • 檔案包含允許嵌套,也就是說在一個被包含的檔案中又可以包含另一個檔案。

相關推薦:《C影片教學

以上是c語言本身有沒有輸入輸出語句的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn