最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

你知道怎樣學(xué)習(xí)C語言嗎?

2022-05-16 16:41 作者:C語言編程__Plus  | 我要投稿

如何學(xué)習(xí)C語言,在學(xué)習(xí)C語言的時候一定要掌握什么知識?在這里我給大家寫出了一點點小計劃,不喜勿噴,謝謝!


一、要學(xué)習(xí)的書

《C Primer Plus》、《C缺陷和陷阱》、《C和指針》、《C專家編程》。

二、知識點學(xué)習(xí)

1.字符串

1、 strlen()函數(shù)的返回值是什么類型的?

2、 字符串strlen() 的值,是否和他占據(jù)的內(nèi)存空間相同?

3、 你是否知道strcpy 函數(shù)存在的潛在風(fēng)險?如何避免?

4、 如果一個字符串沒有字符串結(jié)束符,而調(diào)用str 開頭的庫函數(shù),會發(fā)生什么?

5、 Strcpy(),strcat(),strcmp(),strncpy(),strncat(),strncmp()內(nèi)部到底是如何運行的?這些函數(shù)到底對源字符串和目標字符串做了些什么?你是否觀察過它們運行時兩個字符串內(nèi)存的變化?

6、 上面這些函數(shù)使用時,各有哪些需要注意的地方?

7、 你會幾種字符串查找操作?

8、 c語言中有字符串這個數(shù)據(jù)類型嗎?

9、 對字符串進行操作的時候,是否為字符串結(jié)尾符預(yù)留存儲位置?不然的話容易造成非常訪問內(nèi)存。

2.數(shù)組

1、 你肯定知道,定義“int a[10]; ”, a[10] 這個元素是無效的。

2、 你知道幾種數(shù)組初始化的方法?

3、 數(shù)組和指針有千絲萬縷的聯(lián)系而又不同,你是否對他們在不同情況下的使用進行過詳細的總結(jié)?

4、 “int calendar[10][20]; ”,這是一個什么樣的數(shù)組?它擁有 10 數(shù)組類型的元素,還是 20 個?

5、 “int a[10]; ”,數(shù)組名 a 在本質(zhì)上是一個什么?你是否打印過 a 的值?

6、 你知道幾種獲取數(shù)組某元素的方法?

7、 指針和數(shù)組相同嗎?什么時候相同?什么時候不同?

8、 用指針和下標訪問數(shù)組元素,那種方式更快?

3.結(jié)構(gòu)體

1、 你知道什么是位域結(jié)構(gòu)體嗎?如何定義它?如何使用它?

2、 你知道字節(jié)對齊對結(jié)構(gòu)體占用內(nèi)存空間大小的影響嗎?如何計算結(jié)構(gòu)體占用內(nèi)存的大小?

4.宏

1、 你知道宏的本質(zhì)是什么嗎?函數(shù)?語句?類型定義?或者其他?

2、 你知道語言設(shè)計者為什么設(shè)計宏嗎?這些原因目前是否仍然成立?

3、 你會設(shè)計帶有參數(shù)的宏嗎?

4、 你知道使用宏的參數(shù)的的時候的注意事項嗎?

5、 你會設(shè)計帶有可變參數(shù)的宏嗎?

6、 你知道使用宏有什么劣勢嗎?

7、 你有沒有更好的替代方案?

5.枚舉

1、 是否可以指定枚舉中各項的值?

2、 如果不指定值,枚舉的第一個值是多少?

3、 枚舉的值是否可以是負數(shù)?

4、 定義枚舉的時候,你是否專門定義了枚舉的最小值和最大值?

6.switch

1、 switch(c)中的 c 的數(shù)據(jù)類型有哪些?

2、 你是否在所有的switch 中都加了 default 語句?

3、 是否在所有的case 中都加了 break 語句(一般情況的做法)?如果你不加 break ,將會發(fā)生什么?

7.static

1、 static的三個主要作用是什么?

2、 static的修飾的局部變量是保存在什么地方的?全局變量哪 ?

3、 static修飾的全局變量和函數(shù),在其他的文件中是否可以訪問?如何訪問?

4、 你知道static 是 c 語言中實現(xiàn)封裝和隱藏的利器嗎?你是否經(jīng)常使用?

5、 定義在不同源文件中的static 全局變量,編譯器是否允許他們的變量名稱相同?他們在內(nèi)存中的地址是否相同?函數(shù)那?

8.const

1、 你是否經(jīng)常使用const 來表明不能夠被更改的變量?

2、 你是否經(jīng)常使用const 常量來代替宏?

3、 下面四種情況,你知道是各表示什么意思嗎?

int i_value= 10;

const int* pvalue = & i_value

int const *pvalue = & i_value

int* const pvalue=& i_value

const int* const pvalue =& i_value

4、 你知道const 常量如何初始化嗎?

9.sizeof

1、 對于字符數(shù)組,strlen 和 sizeof 的值是否相同?

2、 S izeof本質(zhì)上是函數(shù)還是宏?

3、 S izeof的返回值是什么類型?

10.指針

1、 “int *p; ” &p , p , *p 他們的值分別表示什么含義?

2、 你定義的指針初始化了沒?

3、 你理解指針的指針的概念嗎?你會使用嗎?

4、 “int *pi_value; pi_value = 0x100000; ” pi_value + 1 的值是是多少?

5、 你會定義函數(shù)指針嗎?

6、 你會使用函數(shù)指針調(diào)用函數(shù)嗎?

7、 關(guān)于指針和數(shù)組,請參見知識點數(shù)組。


11.動態(tài)分配內(nèi)存

1、 動態(tài)分配的內(nèi)存是保存在什么地方的?

2、 什么情況下使用動態(tài)分配內(nèi)存?

3、 動態(tài)申請內(nèi)存一定要釋放,否則會內(nèi)存泄露。你是否使用過內(nèi)存檢測工具?

12.函數(shù)

1、 如何查看函數(shù)在內(nèi)存中的地址?

2、 如何給一個函數(shù)指針賦值?

3、 你是否會定義可變?nèi)雲(yún)⒑瘮?shù)

4、 你是否可以區(qū)分函數(shù)的形參與實參?

5、 如何定義函數(shù)名,以準確的表達函數(shù)的用途?

6、 你是否使用const 來修飾函數(shù)入?yún)⒑头祷刂?,以表的特定的含義?

7、 遞歸如何使用?

13.變量

1、 全局變量,局部變量,常量分別保存在內(nèi)存中的什么地方?

2、 不同類型的變量,你是否知道其作用域?

3、 全局變量和局部變量是否可以重名?你是否在這樣做?

4、 局部變量在函數(shù)退出后是否有效,為什么?

5、 全局變量為什么不允許定義在頭文件中?有何危害?

14.連接(Linux)

1、 鏈接位于編譯過程的那個階段?

2、 動態(tài)鏈接庫和靜態(tài)鏈接庫使用時有何區(qū)別?

3、 如何 對 動態(tài)鏈接庫 進行 動態(tài)加載 (不用重啟程序而加載鏈接庫)?

4、 動態(tài)鏈接有何優(yōu)點?

5、 動態(tài)鏈接庫中是否定義了非static 的全局變量?你是否知道這是一個非常危險的動作?

6、 動態(tài)庫中的全局變量(非static )和函數(shù)(非 static )是否可以和上層全局變量和函數(shù)重名?重名后會發(fā)生什么事情?

15.運行時的數(shù)據(jù)結(jié)構(gòu)(Linux)

1、 你知道什么是段的概念嗎?

2、 可執(zhí)行程序可以分為幾個段?每個段保存的是什么內(nèi)容?

3、 如何查看可執(zhí)行程序各個段的大???

4、 當(dāng)函數(shù)被調(diào)用時發(fā)生了什么?

5、 你有沒有試過程序的??臻g最大有多大?程序超過此大小會發(fā)生什么?

6、 你使用的系統(tǒng)的棧是向下生長的,還是向上生長的?

16.Include

1、 如何避免對同一頭文件的多次include ?

17.聲明

1、 什么是 聲明 ,什么是定義?

2、 你是否會運用c 語言聲明的優(yōu)先級規(guī)則?

18.關(guān)于 復(fù)雜度 :

1、 軟件的首要技術(shù)使命 是 管理復(fù)雜度。

2、 優(yōu)秀程序員的 一個特質(zhì) 是將復(fù)雜的事情簡單化,而非將簡單的問題復(fù)雜化。所以,他們一般會選擇簡單的解決方案。

3、 極盡機巧,復(fù)雜的解決方案,除了將新手搞得暈頭轉(zhuǎn)向之外,別無他用。

4、 閱讀優(yōu)秀程序員的代碼,是一種享受,你很少遇到思維的阻力,你可以盡情的享受簡單之美。

這些是C/C++能做的

服務(wù)器開發(fā)工程師、人工智能、云計算工程師、信息安全(黑客反黑客)、大數(shù)據(jù) 、數(shù)據(jù)平臺、嵌入式工程師、流媒體服務(wù)器、數(shù)據(jù)控解、圖像處理、音頻視頻開發(fā)工程師、游戲服務(wù)器、分布式系統(tǒng)、游戲輔助等。

對于熱愛編程的人來說,有一群一起學(xué)習(xí)一起解答的小伙伴很重要!如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!

微信公眾號:C語言編程學(xué)習(xí)基地

C語言零基礎(chǔ)入門教程(83集全)

整理分享(多年學(xué)習(xí)的源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!

編程學(xué)習(xí)書籍分享:

粉絲編程交流:


你知道怎樣學(xué)習(xí)C語言嗎?的評論 (共 條)

分享到微博請遵守國家法律
岑溪市| 临桂县| 葵青区| 鸡西市| 资源县| 土默特右旗| 莲花县| 剑阁县| 梁平县| 纳雍县| 江津市| 贵溪市| 三河市| 榆中县| 怀集县| 明溪县| 肃宁县| 凤台县| 高尔夫| 揭西县| 肇东市| 扶风县| 龙游县| 兴海县| 涡阳县| 台南市| 东乡县| 秀山| 新田县| 榆树市| 尼勒克县| 绥宁县| 宣武区| 岳阳市| 温宿县| 海林市| 十堰市| 新密市| 玉溪市| 同心县| 大港区|