當前很多比較流行的編程語言,例如 Java、Python、C++ 等,都是基于 C 語言,說 C 語言是現代編程語言的開山鼻祖也毫不為過。如果想要成為一個程序編程高手,那么學習 C 語言是必不可少的。下面我將通過 C 語言一個簡單的代碼程序,詳細分析程序的內容。
一、代碼
#include <stdio.h>
int main()
{
puts("Hello World");
return 0;
}
二、頭文件
?#include<stdio.h>
?
當C語言開發(fā)者編寫了許多的常用函數,并把它們分別放在不同的文件下,而這些文件就被稱之頭文件。如果想要使用這些函數,就得把函數所在頭文件引入,否則編譯器就找不到函數。
這個概念和 Java 中的導包、Python 中的倒庫有一些相似,在 Java 和 Python 中可以通過 import 關鍵字來導入包和庫,這樣才可以調用包或者庫中所有的方法或者函數。
在C語言中,引入頭文件使用的是 ?#include
? 命令,并把文件名放在? <>
?之間。?#include
?和? <>
?之間可以有空格,也可以沒有。
頭文件是以? .h
?作為后綴,C語言代碼文件中則是以? .c
?作為后綴,它們都屬于文本文件,在本質上沒有什么區(qū)別。
#include 命令的作用不過就是把頭文件中的內容復制到當前文件下面,然后跟著當前文件一起編譯。如果你把頭文件的內容復制到當前文件中,那么這樣你就不用引入頭文件。
注:頭文件并不是 C 語言中必須要引入的部分,如果下面程序要實現的功能沒有頭文件里面的函數,那么就不需要將頭文件引入。例如:
int main(){
return 0;
}
這里沒有使用 puts 函數,也因此無需引入頭文件。
三、函數的概念
?puts("Hello World")
?
這行代碼在顯示器上會顯示出“Hello World”,相當于 Java 中? System.out.println
?或者 Python 中的 ?print
?,有輸出打印的意思。
在 C 語言中,有一些語句不需要帶括號,而有的則是必須要帶括號,而這一些帶括號的就被稱之為函數(Function)。
雖然我們在敲代碼的過程,只需要一句代碼就能夠實現想要的效果。但是實現這些功能的底層都比較復雜,往往是軟件和硬件的結合,還需要考慮到方方面面。如果要把這些功能都讓程序員來完成,那么無疑就會增大程序員的學習成本以及降低編程效率。
因此,這些代碼早就被專門分類放在不同的文件里,而且每一段代碼都有一個自己唯一的名字。當我們需要使用這個功能的時候,只需要在對應的名字后面加上一個 () 就可以了。像這種一段代碼就可以獨立完成某一些功能,一次編寫后就可以反復調用,也就被稱之為函數。就如 puts(),它就是一段寫好了,具有輸出功能的代碼。
四、自定義函數和main函數
C 語言中自身就有的函數就被稱之為庫函數(Library Function)。庫(Library)在編程語言中是一個很基本的概念,可以簡單地把它看作是一些個函數的集合,在磁盤上相當于是一個文件夾,函數就是它下面的子文件。
C 語言自身攜帶的庫稱作標準庫(Standard Library),而其他公司或者是個人開發(fā)的庫,叫做第三方庫(Third-Party Library)。
當然,如果標準庫和第三方庫都沒有自己想要的函數方法,也可以編寫自己的函數,拓展程序的功能,而這一系列操作也就是自定義函數。在編寫和使用方式上,自定義函數和庫函數是一致的,只是不同的機構、不同的人編寫而已。
如上面的代碼,?int main(){ 功能 };
?
- int 是 integer 的縮寫,意思是"整數”。它在這里的意思,就是為了告訴我們,這個函數返回的值只能是整數。
- main 是這個函數的名字。
- () 表示這是函數定義。
- {}; 大括號里面則是這個函數要實現的功能。
注:
C語言規(guī)定,每一個程序都必須有且僅有一個 main 函數,而 main 函數也被稱之為主函數,是程序的入口函數,每一個程序都是從 main 函數開始,直到 main 函數結束。(遇到 return 或者執(zhí)行到函數末尾,函數才結束。)
這一點就相當于 Java 中的 main 主方法,必須有這一個 main 方法,Java程序才可以運行。
所以說,如果沒有 main 函數,那么 C 語言程序就不知道開始的入口,在運行的時候也就會產生報錯。
五、總結
以上就是關于通過一段簡單的 C 語言程序初步了解 C 語言的詳細內容,想要了解更多關于 C 語言的其他內容,可以閱讀瀏覽W3Cschool相關內容的文章,如果本篇文章有幫助到您的學習,也希望大家能夠對我們多多地關注和支持!