C語言的幾個入門階段

2020-12-14 閒聊代碼

C語言,在大學裡普遍被當作第一門程式語言,用於編程入門,以及數據結構和算法的教學。

雖然比C++要容易點,但因為指針的存在,C其實就是個高級的彙編:(

並不是很好學,尤其是它的壓軸章節:指針。

大概分為這麼幾個階段:

1,會寫冒泡排序。

說明適應了程式語言從0開始數數,

已經會使用兩層的for循環,

並且會使用printf列印排序結果,

適應了計算機不會選擇最大的和逆序最多的數字,而只能使用「笨辦法」的特點。

2,會寫快速排序。

說明會使用二分法和遞歸,

初步理解了數組的名字、首地址和指針的關係,

初步了解了算法的時間複雜度。

3,會寫二叉樹。

能夠把一堆亂序的數字添加到二叉樹,然後遍歷出來時是有序的,即排序二叉樹。

說明理解了二級指針,基本了解了指針的內涵,並能熟練使用遞歸。

這時的C水平,已經可以做一個只支持加減乘除和括號的簡易計算器了。

鍊表,自然也寫得了。

4,懂一點彙編。

不能返回局部變量的指針,字符串緩衝區溢出會覆蓋返回地址,指針到底是什麼,這類的問題,從彙編碼的角度很好解釋。

如果沒有彙編基礎而去硬記,就會比較苦惱。

5,熟悉作業系統,網絡編程,多進程,多線程,異步事件機制。

6,和項目相關的算法,第三方庫,etc.

單純的C並沒什麼用,沒有相關的算法,還是什麼都寫不出來。

拿到需求而寫不出來,實際上並不是不會C的語法知識,而是不熟悉需要背後的算法。

冒泡排序,也是算法,可以用C寫,也可以用其他語言寫。只不過高級語言的數組類,都自帶排序函數。

相關焦點

  • 「C語言從入門到入土」必備C語言基礎筆記整理
    一、C語言1、什麼是C語言?C語言是人寫機器看的一種語言。C語言是高級語言中的低級語言。C語言貼近硬體。C語言的入門學習比較簡單。彙編語言——>B語言——>C語言2、C語言的特性首先C語言就是你的女朋友。
  • 學員問:C語言入門要掌握哪些基礎知識?
    01C語言程序的結構認識用一個簡單的c程序例子,介紹c語言的基本構成、格式、以及良好的書寫風格,使小夥伴對c語言有個初步認識。; /*把兩個數之和賦值給整型變量sum*/ }重點說明—1、任何一個c語言程序都必須包括以下格式:main() { }——這是c語言的基本結構,任何一個程序都必須包含這個結構。
  • 【愛找茬】都是C語言,單片機C語言和普通的C語言究竟有什麼差異呢?
    許多小夥伴在學完C語言後想入門單片機,但學著學著發現明明都是C語言,為什麼單片機C語言和我當初學的C語言有差異呢?今天小編就來梳理我們平時所學的C語言與單片機C語言的有什麼樣的不同。
  • C語言怎麼樣?今天聊聊C語言的發展史!
    上圖時間線只顯示前幾個與C語言在相同時間段內誕生的Unix版本(當然,感興趣的話,可以查詢Unix相關發展史,絕對會讓你大吃一驚。其中最著名的幾個分支:BSD、minix、Linux...)。 下面,通過在網上找得到的部分Unix內核源碼,來追溯一下C語言出現的時機。
  • 通過編寫一個簡單的遊戲學習 C 語言|Linux 中國
    導讀:當你學習一門新的程式語言時,這個「猜數字」遊戲是一個很好的入門程序。下面是如何用 C 語言來編寫它。 本文字數:2576,閱讀時長大約:3分鐘 https://linux.cn/article-13013-1.html 作者:Jim Hall 譯者:qfzy1233 當你學習一門新的程式語言時,這個「猜數字」遊戲是一個很好的入門程序
  • C語言中「c=a+b」,這種結構合理嗎?
    C語言會同意一些"令人震驚"的結構,下面的結構是合法的嗎,我們來看看幾個例子。 c = a+++b; 以下代碼是合法的嗎,咋的一看不禁有這樣的疑問?
  • C語言從入門到精通:嵌套循環
    C程式語言允許使用一個循環內嵌套的另一個循環。下面的內容展示幾個例子來說明這個概念。 語法 在C語言中嵌套for語句循環的語法如下: for ( init; condition; increment
  • 入門C語言中的數組,字符串常量與指針
    字符串常量 在C語言中,類型數組char用於表示字符串,字符串的結尾由設置為0的字節標記(也稱為NUL字符)以下定義都將其數組設置為相同的值: int str1 [] = {'a','b','c','\ 0'}; int str2 [] =「 abc」; ANSI C還允許定義像int str[3] = "abc"; ,即是相同的int str[3] = {'a', 'b', 'c'}; (省略了最終NUL字符)
  • C語言編程核心要點
    原文標題C語言編程核心要點,男人看了沉默,女人看了本文轉載自【微信公眾號:碼磚雜役,ID:whatis9527want】引言筆者有十餘年的C++開發經驗,相比而言,我的C經驗只有一兩年,C比較簡單,簡單到《The C Programming Language》(C程序設計語言)只有區區的200多頁,相比上千頁的C++大部頭,不得不說真的很人性化了
  • python與c語言的語法有哪些不一樣的
    在眾多程式語言之中,想必很多人都聽說過Python和C語言,在進行編程學習之前,大家都會問:python和c語言的區別有哪些?我該如何選擇?接下來我們來看看吧。python與C的區別如下:1、語言類型:Python是一種基於解釋器的語言,會逐行讀取代碼,將Python編譯為字節碼,由大型C程序解釋;C是一種編譯語言,完整的原始碼將直接編譯為機器代碼,由CPU直接執行。
  • 教你輕鬆學習C語言系列之——從「Hello World」開始夢想起航
    為什麼選擇C語言作為入門教程呢?有兩點原因:第一:TIOBE 4月程式語言排行1-20 Java以16.73%的指數,穩坐程式語言的「霸主」地位。同時,C語言也以16.72%的指數緊隨其後,說明C語言的熱度依然很高。
  • C語言程序設計試題及答案
    A) 'a'&&'b' B) a<=b C) a||b+c&&b-c D) !((a<b)&&!c||1)14、設有數組定義:char array[]=「student」;則數組所佔的存貯空間為( )。
  • C語言編寫程序求水仙花數
    C語言編寫程序求水仙花數水仙花數是一個數學問題,其實質是一個三位數,個位數的立方加十位數的立方加百位數的立方之和等於這個三位數本身。例如153=1*1*1+5*5*5+3*3*3,即153=1+125+27。
  • C語言快學完了,但oj上的題大部分做不出來,都是在CSDN找的?
    至今還是有很多人覺得C語言依然是編程行業最基礎的東西,畢竟現在很多上了年齡的人在當時大學階段初級的入門程式語言就是用的C語言,在很多人心中都有個編程夢,有些甚至年過半百了還琢磨自己這輩子沒有玩編程而遺憾,也有很多上了年紀的人拿起C語言的書籍一步步跟著網絡上的教材進行學習,隨著程式語言在國內的普及
  • 三、C語言表達式、選擇結構
    第三章 表達式、選擇結構特別要注意:C語言中是用非0表示邏輯真的,用0表示邏輯假的。C語言有構造類型,沒有邏輯類型。關係運算符號:注意<=的寫法,==和=的區別!帶入為1<0<2,從數學的角度出發肯定是錯的,但是如果是C語言那麼就是正確的!因為要1<0為假得到0,表達式就變成了0<2那麼運算結果就是1,成為了真的了!c、等號和賦值的區別!
  • 用C語言編寫屬於自己的程式語言,大一學完C語言即可做!
    首先,明確一點,咱這個項目只是做一個簡單的腳本語言而不是編譯型語言!!!其次,本文不需要太多專業知識,所以不慌。最後,本文只是簡單實現腳本語言,雖然不牛X......實驗環境 : linux2.知識點 : 大一所學 C語言 知識二 要做功能:1.實現語法分析列印 hello-world
  • C語言基礎(下)
    C語言的世界結構體類型什麼是結構體我們觀察現實世界的時候,可以發現很多的東西它都是由不同的部分組合起來的共用體的所有成員佔用同一段內存,修改一個成員會影響其餘所有成員語法示例#include <stdio.h>#include<string.h>union Data{int a;char b;short c;};int main(){union Data d ;d.a = 46;printf("%
  • C語言基礎知識
    pow(x, y)函數C 和 Python 語言的 pow(x, y) 方法都是用於返回 (x 的 y 次方) 的值,C 語言中其原型為:double pow(double x, double y)。值範圍和精度的細節:IO 函數sprintf()函數fopen()函數fwrite()函數預編譯指令-條件編譯c
  • C語言你學「廢」了嗎?
    然後你慢慢的進入老師的節奏,初識C語言 / 了解C語言的發展史,搭建C開發環境認識一個簡單的C程序 / 一般都從「Helloworld"這個簡單的C程序開始算法入門 / 算法基本概念,簡單程序結構數組 / 一維和二維數組定義初始化,元素遍歷訪問,數組相關運算,數組使用函數編程基礎 / 模塊編程,函數聲明、定義、調用指針解析 / 指針初識和理解,指針和數組關係,指針簡單運算和使用來一遍C語言學習史
  • C/C+編程筆記:在C+中如何調用C語言的代碼?你可以這樣做
    比如在C文件中存在一個函數func_c(), 該文件與C++的工程混編在一起時,可以直接在C++中調用C文件中的func_c();不需要做任何額外處理。 不過在C中,不可以調用C++的接口,也不能直接調用C語言的一些API,否則編譯會出錯。這個時候呢,就需要我們今天的主角:extern "C"了!