零基礎看得懂的C語言入門教程

2020-12-08 騰訊網

一、前言

距離上一次編寫C語言的教程是5年前了(2015年),由於自己是從初一時開始學習編程,深知學習編程的痛苦。當時正在念大學的我想著分享自己自學編程的經驗,搭建了一個社區(社區之後自己維護太懶,維護了一年不到關閉了)第一次編寫了C語言教程,分享自己的學習經驗。社區關閉後,於2017年上傳至了CSDN留存至今。

現在回過頭查看當時自己編寫的教程,由於當時技術的淺薄,編寫的教程還是存在很多的不足,故有了一個重新編寫C語言教程的想法。此次編寫計劃編寫一個快速入門的系列以及另一個全方面學習C語言的系列。快速入門系列以輕鬆、愉悅的方式編寫,並且剝離了入門階段極少使用的技術及概念,通過最「接地氣」的方式使剛入門的新手學習到最符合當前階段的知識,計劃閱讀時長為3小時即可完成C語言關鍵內容的掌握,並且達到期末不掛科的水平。另一系列為全方面學習C語言系列,將全方面講解C語言的知識點,但也會詳細說明各種技術、概念和很新手不清楚的「專有名詞」。

二、適用對象

本系列教程為零基礎輕鬆入門課程,適用對象為零基礎的讀者。讀者並不用擔心本系列教程會出現不理解的「專有名詞」,所有出現的術語都將給讀者解釋明白,甚至在C語言內容正式開始前會給讀者普及一些編程的概念,使讀者了解編程是什麼、什麼是編譯、為什麼C語言要這樣編寫以及一些常規問題的解答。

在零基礎的讀者學習編程前,我個人非常推薦新手先了解一些基本的計算機、編程概念,只有了解了一些概念才會使之後的學習更加的輕鬆,減少錯誤的出現。可能大多數讀者沒有該條件,也不清楚從何查到所需要的知識,這正是本系列文章編寫的原因。該系列文章將結合我學習編程的經驗,各個方面的剖析問題,讓各位新手讀者少踩坑多實踐,減少時間的花費。

三、概念普及

對於很多小白讀者來說甚至不懂編程是什麼。可能某些讀者對於這句話有自己的見解,認為不懂編程是什麼那為什麼來學習編程。其實對於很多學習編程的小白來說,編程是他們選擇大學的一門課程,只是覺得該學科「前景好」,又或者是長輩、朋友的推薦。對於這一部分人來說,編程對於他們確實是個陌生的概念。

接下來我將從「編程是什麼」這一問題出發,詳細的講解一些編程或計算機相關的知識。

3.1 編程是什麼

編程從字面意思上指編寫程序。編寫程序使計算機解決某個問題並得到一個結果。

以上解釋可能對於剛剛接觸編程或計算機的小白來說可能會難以理解。可能會產生例如「程序是什麼?」、「計算機怎麼得到一個結果?」、「怎麼編寫程序」等問題。那我接下來換個解釋「編程是指人給予計算機一個命令,並且使計算機完成這個命令」;就好比使用空調,我們給予空調開與關的命令是通過遙控器,按下遙控器開,空調接收到了指令開則會開啟。這就是編程,是一個用戶給予命令,機器執行命令的過程與執行。在此我們並不深入說明計算機如何按照指令執行對應操作的,只需要理解什麼是編程即可。

3.2 程序是什麼

在3.2中解釋了什麼是編程,但並沒有解釋什麼是程序。程序是指一條或多條計算機能夠識別及執行的指令。我們已經知道編程是給予、執行命令;當我們給予命令時,計算機需要認識該命令,若命令計算機不認識則不會執行。以上描述中的「命令」則是程序,編寫程序則是指對一條或多條計算機能夠識別的指令進行編輯、組合。

一條或多條指令組成程序,我們平常使用的軟體是由一條或多條指令組成。C語言則是我們跟計算機「交流」的語言,通過C語言使我們能夠跟計算機「交流」,從而編寫多條指令,使計算機執行。

我們雖然可以使用C語言於計算機進行「交流」,但這個「交流」是間接的,C語言實際上並不能讓計算機「讀懂」,需要一個翻譯過程,名為編譯。

3.3 編譯是什麼

在C語言中,編譯是指將C語言指令轉換為計算機設備所能識別的指令這一過程。

我們使用C語言編寫的指令被稱為源程序,原始碼在計算機中並不能直接識別,需要轉換為計算機能夠看得懂的指令。計算機只認識0和1二進位,通過編譯後將會生成一組機器碼;機器碼是指指揮計算機做操作的一組二進位數,也就是0和1的組合;這個組合是以二進位0和1表示的指令;所生成的這個指令集被稱為目標程序;目標程序還將進行連接庫與函數,庫與函數我們可以當成是一種工具,計算機在執行指令時需要用到各種工具,連接後才可以執行這個目標程序;連接後的目標程序我們成為可執行程序,也就是字面所表達的意思,可以執行的程序。

3.4 通過以上了解是不是覺得步驟很繁瑣

通過以上步驟描述編程,發現編寫程序需要做很多事情,但是這些事情我們壓根不懂,該如何是好?

最初我閱讀一些「零基礎入門」的書籍時,我也是特別的鬱悶,甚至放棄過幾次。太難了,壓根學不會;我最終下定決心最起碼把一本書看完,最後發現,一般在實際編寫程序中,我們所需要做的僅僅是編寫C語言的代碼,其它過程我們沒必要自己去做。我們所使用的代碼編輯器已經幫我們實現了這個過程。

四、總結

通過以上描述,我們得知了以下幾個內容:

編程是指人給予計算機一個命令並且使計算機完成這個命令

程序是指一條或多條計算機能夠識別及執行的指令

編譯是指將C語言指令轉換為計算機設備所能識別的指令這一過程

還有一點很重要的「們並不需要自己實現繁瑣的過程,一般情況下只需要編寫C語言原始碼即可

IT原創動漫、學習資料、原創教程請關注公眾號

相關焦點

  • c語言入門教程
    這本書被 C語言開發者們稱為"K&R",很多年來被當作 C語言的非正式的標準說明。人們稱這個版本的 C語言為"K&R C"。  c語言宣傳圖1970到80年代,C語言被廣泛應用,從大型主機到小型微機,也衍生了C語言的很多不同版本。
  • c語言從入門到精通幾個階段
    本文主要結合往期學員學習階段,因材施教整理的幾個階段學習路線知識點:1.初級教程初級c語言入門教程比較適合零基礎的小白,這個周期一般在22天,度過這個階段的小白,基本上已經擁有了編程思維,且能開發簡單的
  • C語言入門教程(一)
    C語言入門教程(一):輸入輸出函數、程序中的數據實驗環境Ubuntu 16.04 終端gcc
  • 《零基礎看得懂的C語言入門教程 》——(十三)socket服務端編寫
    一、學習目標目錄第一篇:(一)脫離學習誤區第二篇:(二)C語言沒那麼難簡單開發帶你了解流程第三篇:(三)輕輕鬆鬆理解第一個C語言程序第四篇:(四)語言的基本數據類型及變量第五篇:(五)C語言的變量、常量及運算第六篇:(六)輕輕鬆鬆了解C語言的邏輯運算第七篇:(七)C語言的循環分分鐘上手第八篇:(八)了解基本數組還不是那麼簡單
  • 單片機C語言教程-基礎語句
    C語言入門之基礎語句  從程序流程的角度來看,程序可以分為三種基本結構,即順序結構、分支結構、循環結構。c語言提供了多種語句來實現這些程序結構。本文將介紹這些基本語句及其應用,使讀者對c程序有一個初步的認識,為以後的學習打下基矗  c程序的語句  c程序的執行部分是由語句組成的。程序的功能也是由執行語句實現的。
  • C語言入門教程-Scanf
    打開APP C語言入門教程-Scanf 佚名 發表於 2009-07-29 10:44:04 scanf函數使用的佔位符和printf的相同: int用%d float用%f char用%c 字符串(後面會討論)用%s 在使用scanf時,您必須在其變量前加上&。為什麼要這麼做的原因,在您學習指針後會很清楚。
  • C 語言C++ 教程視頻編程入門到精通視頻課程
    ANSYS Workbench有限元分析視頻教程/培訓教程資料/結構優化(53G)浙江省專升本高等數學大學英語文輔導教程視頻教程資料歷年真題卷化妝教程零基礎步驟課程學彩妝自學護膚職場美妝技巧培訓畫眉視頻uni-app開發教程項目實戰小程序基礎入門商業項目uniapp視頻教程零基礎自學Ai服裝設計視頻教程電腦軟體款式圖網絡課程圖案設計
  • excel零基礎入門教程,零基礎excel教程視頻,零基礎excel全套教程
    excel零基礎入門教程,零基礎excel教程視頻,零基礎excel全套教程如果你不重視,不僅影響求職,降低工作效率,還分分鐘有可能變成一顆定時炸彈。不連續區域,複製公式excel零基礎入門教程2. ABS的妙用3. 一次插入多列4. 移動局部數據5. 查找重複值6. 刪除重複值17. 刪除重複值28. 刪除空白行9. 凍結首行10.
  • C語言入門基礎知識大全
    用一個簡單的c程序例子,介紹c語言的基本構成、格式、以及良好的書寫風格,使小夥伴對c語言有個初步認識。、任何一個c語言程序都必須包括以下格式:main() { }——這是c語言的基本結構,任何一個程序都必須包含這個結構。
  • 「C語言從入門到入土」必備C語言基礎筆記整理
    一、C語言1、什麼是C語言?C語言是人寫機器看的一種語言。C語言是高級語言中的低級語言。C語言貼近硬體。C語言的入門學習比較簡單。彙編語言——>B語言——>C語言2、C語言的特性首先C語言就是你的女朋友。無論你讓它幹什麼,它絕對不會自己找到方法。
  • 板繪零基礎sai教程,簡單的板繪入門
    板繪零基礎sai教程,簡單的板繪入門!對每一位板繪新手來說,一個有規劃的學習順序是非常的重要,那麼零基礎學板繪究竟要怎麼做?每一步做什麼呢?下面就針對零基礎學板繪給出大家詳細的學習步驟,逐步練習方可進步哦!
  • 適合零基礎學習的英語教程:教你如何從零開始記單詞,迅速入門
    適合零基礎學習的英語教程
  • C/C++編程筆記:如何理解C語言中的回調函數,零基礎也看得懂
    在c語言中,回調是使用函數指針來實現的。通過一個例子簡單介紹回調函數的使用大家應該都對c語言的庫函數qsort有所了解,qsort聲明如下:void qsort(void*base,size_tnitems,size_tsize,int(*compar)(constvoid*,constvoid*))可以看到,它的第三個參數是一個函數指針,傳入兩個沒有定義指針指向的類型的參數
  • 是否可以零基礎學習C語言
    首先,C語言是完全可以零基礎學習的,而且由於C語言是面向過程的程式語言,在語法結構上也是比較容易理解的,相對於學習面向對象程式語言(Java、C#)來說,C語言的抽象程度並不算高,編程思想也相對比較容易建立。
  • 零基礎基礎學習畫畫入門教程|男士西服服裝的繪畫和上色方法技巧
    ☆☆☆☆☆零基礎基礎學習畫畫入門教程男士西服服裝的繪畫和上色方法技巧(摘自微博@繪畫晚生)關注我,每天分享畫畫學習教程和參考素材
  • 從Scratch開始零基礎編程學習、用Python入門
    有人朋友以前沒有任何的編程基礎,但是也想通過編程來實現自己的一些想法,做些工具解決自己的工具。那麼如何從零開始學習編程呢?筆者整理了下自己總結的回答資料,所以就有這篇文章。零基礎學習編程的,建議先找一門可見既所得的交互圖像式程式語言開始,拖拖控制項,雙擊進去補充寫幾行邏輯就行。比如我學編程開始就是已VB,Delphi入門的。
  • Blender2.8零基礎入門教學 | 25集
    合輯ID : HJ 44128Hello,今天為各位帶來一套Blender2.8零基礎入門教學本期教程——【Blender2.8零基礎入門教學】,囊括了從Blender基礎界面、邏輯控制、燈光環境渲染、運鏡等基礎學習內容【文件格式】:.FLV【開發軟體】:Blender【文件數量】:25集【教程大小】:2.46G【教程特色】:清晰明了無論您是獨立遊戲製作者還是遊戲行業入門小白
  • C語言入門教程運算符
    C語言中增加了一個求模運算符,是用來取餘的。需要注意的是,求模運算符的兩個操作數必須是整型。C語言中的除法運算,不同類型的除數和被除數會導致不同類型的運算結果。一種情況是,當除數和被除數都是整數時,運算結果也是整數。當不能整除時,就直接捨棄小數部分,只保留整數部分。另一種情況是,一旦除數和被除數中有一個是小數,那麼運算結果也是小數,並且是double類型的小數。C語言中的取餘運算,就是求相除後的餘數。取餘運算中%的兩邊都必須是整數,不能出現小數,否則會報錯。
  • 新手如何開始C語言基礎學習?
    因此,對於剛剛入門編程的新手來講,從C語言開始你的編程生涯無疑是最好的選擇。那麼,新手如何開始C語言基礎學習呢?下面我們來一起看一看。在學習之前,我們首先要知道為什麼學習C語言。眾所周知,C語言是一門簡單、底層、較早的程式語言,後來的很多語言在語法上都和C語言類似,比如Java、PHP等程式語言都是從C語言衍生出來的,因此掌握C語言將為學習其他程式語言打下更好的基礎。但同時大家也要知道,只會C語言的話,想要找工作還是很困難的。總的來講,C語言的基礎學習不過是冰山一角,要想成為一名優秀的程式設計師,需要學習的東西還有很多。
  • 手把手入門硬核c STD
    這套教程可不是簡簡單單的講解C語言哦,在這套教程之前我們就出了一套手把手入門硬核c語言 那套雖然基礎但是已經和市面上的教程不一樣了,更加硬核。而手把手入門C std 是在 硬核c的基礎上的進階版本,更更硬核的教程。我們會全面講解C 標準庫,在開發獨立引擎或者渲染器或者原生分布式伺服器的時候,我們會用到大量的c語言 API。