學習Linux C過程中要解決的問題

2021-07-25 09:24:33 字數 2189 閱讀 4698

一、概述

1、嵌入式為什麼選擇c語言做開發?

2、c語言的特點有哪些?(c移植性、訪問硬體、執行效率)?

3、c語言開發存在哪些劣勢(**復用性、**維護性、**擴充套件性)?

4、面向結構和物件導向的變成特點和區別?

5、c語言vs彙編?(兩者都訪問硬體)

6、c語言之父?

7、c語言的標準有哪些?(k&rc,c89、c11)

二、資料型別

1、c語言的資料型別有哪些?(基本資料型別、復合資料型別)

2、所有資料型別的位元組長度是多少?(所佔記憶體空間大小)

3、sizeof如何使用?sizeof和strlen的區別?

4、所有資料型別的取值範圍是多少?如何計算資料型別取值範圍?(原碼、反碼和補碼)

5、正數和負數的原碼、反碼、補碼之間的關係?

6、各個資料型別的指標長度是多少?指標的長度為什麼是4個位元組或者8個位元組?

7、變數的三大特點是什麼?

8、變數的儲存區域是如何劃分的?(程序虛擬位址的空間分布圖)

9、宣告與定義的區別?什麼是引用性宣告?什麼是定義性宣告?

10、unsigned和signed的區別?

11、輸入函式的使用?(scanf,gets,getchar)(如何從鍵盤獲取資料型別?)

12、輸出函式的使用?(printf、puts、putchar)

三、運算子表示式

1、i++和++i的區別?

2、邏輯運算子使用時應該注意哪些問題?(&&、||、!)

3、如何區分賦值=和==?

4、位運算(什麼是掩碼?左移和右移的區別)

5、逗號運算子的使用?

四、基本控制語句

1、分支語句:if

2、多路分支語句:switch 、case

3、迴圈語句:for、while、do while

4、跳轉語句:goto

5、中斷語句:continue、break

五、陣列與指標

1、如何定義並初始化一位陣列、二維陣列、三維陣列?

2、一維陣列名、二維陣列名、三維陣列名的作用是什麼?

3、什麼是陣列的位址?陣列指標變數的作用是什麼?

4、什麼是指標陣列?如何初始化指標陣列?

5、什麼是指標?(什麼是對應的記憶體空間和指向的記憶體空間?)

6、一維指標、二維指標、三維指標的作用是什麼?

7、null代表什麼意識?

8、void*為什麼稱之為萬能指標?

9、什麼是野指標?如何避免野指標?野指標會造成什麼問題?

10、malloc、calloc、ralloc這些函式的使用?

11、指標與陣列的區別是什麼?

12、c語言為什麼引入指標的概念?

六、函式

1、什麼是函式的定義?函式的宣告?函式的呼叫?

2、如何定義函式、宣告函式、呼叫函式?

3、什麼時候傳位址?什麼時候傳真?

4、return和exit的區別?

七、復合資料型別(結構體、共用體、列舉)

1、如何定義並初始化結構變數、共用變數和列舉?

2、使用結構體、共用體的注意事項有哪些?

3、結構體、共用體的作用是什麼?

八、關鍵字

1、register關鍵字的作用是什麼?如何使用?使用注意事項有哪些?

2、static關鍵字的作用是什麼?如何使用?

3、const關鍵字的作用?如何使用?注意事項有哪些?

4、extern關鍵字的作用?什麼時候使用?

5、typedef關鍵字的作用?什麼時候使用?

6、volatile關鍵字的作用?什麼時候使用?

九、預處理

1、巨集定義的注意事項有哪些?

2、自定義函式和巨集函式的區別?

3、條件編譯的作用及如何使用?

4、如何用條件編譯防止標頭檔案重複包含?

十、編碼規範(華為的編碼規範)

1、為什麼要學習編碼規範?

2、優秀的編碼習慣有哪些?

一、資料結構

1、鍊錶

2、棧3、佇列

python python學習過程中的記錄

python中的修飾器 python中的with語法與上下文管理器 關於python中帶下劃線的變數和函式的意義 使用python進行二進位制檔案讀寫 python python 中 name main 的作用 python 編譯器與直譯器 python3.7 argparse模組講解 u1 np....

Django學習過程中的BUG

在settings中配置rest framework的 page size 頁面中未出現分頁效果,rest framework 原因,在rest framework的原生settings.py檔案中看到 default pagination class none 第一種方法 直接將原生 中的 def...

Python學習過程中的問題

args 和 kwargs args代表位置引數,它會接收任意多個引數並把這些引數作為元組傳遞給函式。kwargs代表的關鍵字引數,允許你使用沒有事先定義的引數名,另外,位置引數一定要放在關鍵字引數的前面。new 和 init 的區別 建立乙個新例項時呼叫 new 初始化乙個例項時用 init 這是...