c語言的學習day02

2021-09-19 09:47:35 字數 1042 閱讀 4211

2個byte的最大值為65535

當資料的寬度有明顯的限制時,必須是2個byte時,採用short

char a = -1,a即為0xff,a>>1後,前面始終有符號「-」

unsigned char a = -1,前面的「-」會當作資料位處理,當a>>1後,可能最後a就為0了

無符號代表的是資料,有符號代表的是數字

當表達的的資料更傾向於資料時,使用無符號

union是共用體,共用起始位址,修改1個值,其他的值可能改變,一般用於技巧性**

enum定義的是整型常量的集合,enum的size只是乙個int的大小

***_t 在linux中一般是通過typedef定義了一下

switch後不能跟浮點數,求模也不能跟浮點數

for用到的場合是需要次數,while用到的場合是需要條件;goto常用在同乙個函式中

預設情況下,也就是auto變數,用在可讀可寫的區域,區域如果有{},表示是棧空間

register常用來定義快速訪問的變數,&(取位址符)對register變數不起作用

volatile修飾的變數不僅僅可以通過軟體修改,也可以通過硬體修改,比如使用者按下鍵盤

乘法對於cpu不是一步指令就能實現的,可能需要多個週期,或軟體模擬來實現

給乙個任意的數字,得到1到100之間的數,解決:設任意的數為m,m%100可以得到0到99之間的數,再加1,即m%100+1

求模的3個使用場景:

1.求某個範圍的數;2.求m進製的乙個個位數;3.求迴圈結構的陣列下標

c語言中,0代表假,非0代表真

int b *32,cpu會處理成b左移5位,即b<<5

-1為11111111,為全高電平,是一種特殊的狀態

int a = ***;

while(a)

printf("***");

如果a為負數,那麼a右移時,左邊填充的就是1,所以while部分是死迴圈,執行不到printf

對第n位清0:a&(~(0x1《對第n位置1:a| (0x1《異或^經常用在演算法中,比如aes、sha1等

c語言學習day02

第二天的記錄,關於c語言的基本資料型別,進製轉換和優先順序的問題 在linux下gcc s c 之後在vi s可以看彙編 的 gcc e c預定義 我的程式 include int main sizeof的應用 include int main 巨集以及const include define da...

標準C 語言day02

一 類和物件 1 通過分析 物件 的屬性和行為設計出乙個類。2 類就是資料型別 簡單型別 只能表示乙個屬性 變數 c c 內建資料型別 陣列型別 可以表示多個屬性 變數 型別必須相同。結構型別 可以表示多個屬性 變數 但缺少行為 函式 類型別 既能表示屬性,也能表示行為,一種復合資料型別。3 物件就...

Day02 語言元素

日期 2021年1月19日 今天是學習python的第二天,希望可以堅持下去。學習用的教材是github上駱昊編寫的 python 100天從新手到大師 所有編寫的源 均放在github上 變數的型別 變數命名規則 變數命名規則整體上與c語言沒什麼差別,在python可以用中文作為函式名以及變數名,...