資料型別最大的作用就是確定記憶體大小。
typedef和define的區別:在定義指標型別的時候define可能出錯,typedef有型別檢測,更安全。
enum:常用來定義組合在一起的常量。
struct:常用來組織資料結構,有資料對齊,不要定義空結構體
union:一般用來判斷大小端。
auto:編譯器預設的分配方式,資料將分配在棧區。全域性變數無法使用。
static:儲存在靜態區,只初始化一次,可以修飾函式,主要用來控制作用域。
複習生命週期,作用域以及void和void*。
1:選用標準:
1:根據執行速度:和cpu等寬的最快,系統預設型別浮點型別就是double。預設的更快。
2:根據場景:選擇合適的型別,根據有無符號,表現型別。活用typedef。
流程控制分為分支類和迴圈類。其中分支類有if,switch。迴圈類有for,while,do…while,goto(禁止使用),break(跳出當前快),continue(直接進入下次迴圈)。
if和switch的區別:if可以代替switch,但是if…else過多的時候會導致**難以閱讀。一般分支在超過三個以上,並且可以方便的使用switch的話就是用switch。switc下每個分支一般都要有break。有時候也故意不寫break讓幾個分支一起執行。
if語句多數用在判斷true和false以及一些整數。判斷浮點數的時候要通過區間來進行判斷。例如:
#include"stdio.h"
#define epsinon 0.0000001
int main()
return 0;
}
這樣的操作相當於把小數第七位以後的全部捨去了,浮點數判斷一定是區間的判斷,這點一定要記清楚。
for:裡面有三個語句,也屬於判斷在前的語句,可能一次都沒執行。一直次數就用for迴圈
while:先判斷,再執行迴圈體,可能一次都沒執行。已知動態條件一般用while
do…while:先執行語句,在進行判斷(語句至少執行一次)。在裡面可以判斷,如果有不符合條件的地方就直接break跳出迴圈,跳到統一出口的地方。他可以進行統一出口的設定。
迴圈語句總是反覆執行一些事情,我們就需要有語句來破壞迴圈的進行goto,continue,break。
goto:相當於強制地跳轉,永遠不要使用goto。goto會破壞整個程式的邏輯,而非僅僅是迴圈的邏輯。
continue:只能運用於迴圈體內,他是跳過當前本次迴圈,執行下次迴圈。本次迴圈下的後面**將不會被執行。
break:指的是跳出當前的塊。可以和switch和if配合使用。跳出當前整個迴圈。
C語言整型提公升
直接上題 signed char a 0xe0 unsigned int b a unsigned char c a 下面說法正確的是 a.a 0 b 0 為真 b.c a 為真 c.b的16進製為0xffffffe0 d.都不對 說實話這題目第一眼我就沒看懂啥意思,後來看了大佬的分析,發現裡面的門...
C語言整型提公升
整型提公升 c的整型算術運算總是至少以預設整型型別的精度來進行的 為了獲得這個精度,表示式中的字元和短整型運算元在使用之前被轉換為普通整型 表示式的整型運算要在cpu的相應運算器件內執行,cpu內整型運算器alu的運算元位元組長度一般就是int位元組長度,同時也是cpu的通用暫存器的長度 因此,即使...
C語言提高 03
int a int b 30 int c 120 memset c,0,sizeof c 2.1 陣列首元素位址和陣列的位址是兩個不同的概念 b是首元素位址,b才是整個陣列的位址。b 1 步長為4個位元組 b 1 步長為30 4個位元組 2.2陣列名是首元素的位址,是乙個常量,不能修改 陣列一定義就...