標C程式設計基礎02

2021-06-19 00:02:25 字數 3117 閱讀 2779

scanf函式可以從鍵盤上讀取資料並記錄到變數中。為了使用這個函式也需要在檔案開頭使用如下的預處理指令

#include

scanf函式使用的時候所需要的初始資料和printf函式非常類似。它同樣也支援多種佔位符。

char型別可以表示256個不同的整數,在我們的計算機上是從-128到127。這種型別的變數通常當作字元使用。

ascii碼表記錄了字元和數字之間的對應關係。

'c' - 'a' 等於 'c' - 'a'

'2' - '0' 等於 2 - 0

unsigned char型別表示無符號字元,它的範圍是0到255。

sizeof關鍵字可以用來計算乙個資料型別或者乙個變數所佔空間大小是多少個位元組。sizeof關鍵字可以用於對乙個表示式的計算結果求大小,但是這個表示式在執行過程中不會真正被執行。

short,unsigned short  表示2的16次方個不同的整數

int, unsigned int     表示2的32次方個不同的整數

long, unsigned long   表示2的32次方個不同的整數

unsigned char 佔位符是%hhu

short 佔位符是%hd

unsigned short佔位符是%hu

unsigned int 佔位符是%u

long 佔位符是%ld

unsigned long 佔位符是%lu

float是單精度浮點數,double是雙精度浮點數

float 佔位符是%f或%g

double 佔位符是%lf或%lg

計算機使用一組0和1來表示所有數字,這種方式叫做二進位制。每個位元組由8個二進位制數字構成,每個位元組所表示的數字由其中每個數字上的1轉換成10進製以後求和得到。每個位元組中的八個數字從右到左進行編號,編號從0開始,每個數字上的1轉換成十進位制就是2的編號次方。

01100111 = 2^6 + 2^5 + 2^2 + 2^1 + 2^0 = 103

十進位制轉換二進位制

87 = 2^6 + 2^4 + 2^2 + 2^1 + 2^0 =

01000000 + 00010000 + 00000100 + 00000010 + 00000001 = 01010111

計算機內部以補碼方式記錄所有數字的二進位制形式。非負數的補碼就是原碼。負數的補碼是正數的補碼按位求反再加一得到的。

31的補碼是00011111,按位求反後得到11100000,再加一以後得到11100001,這就是-31的補碼。最高一位是1後面都是0表示這個型別的最小整數。

數字補碼的最左位又稱為符號位,0表示數字非負,1表示數字是負的。

把二進位制數字從右向左每三位一組,每組使用乙個0到7之間的數字代替得到的結果叫做八進位制。

把二進位制數字從右向左每四位分成一組,每組使用0到9以及a到f中的乙個來表示得到的結果叫做十六進製制。

單目運算子是只需要乙個數字就可以完成的計算。

雙目運算子是需要兩個數字才能完成的計算。

三目運算子是需要三個數字才能完成的計算。

+,-,*,/,%分別代表加,減,乘,除以及取餘的計算。

賦值運算子用於對變數賦值,可以和其他運算子合併成為復合運算子(參考例子)

++(自增運算子)和--(自減運算子)都是單目運算子,可以對變數內容進行加一,減一操作。他們既可以放在變數名前面也可以放在變數名後面。不要在同一條語句中對同乙個變數進行多次自增或自減運算,因為結果不確定。可以對浮點數進行自增或自減運算

邏輯表示式表示乙個數字的計算過程,結果只能是真(用1代表)或者假(用0代表)。邏輯表示式中使用的運算子叫做邏輯運算子。==(等於),!=(不等),>(大於),<(小於),>=(大於等於)和<=(小於等於)。

&&(與),||(或)也是邏輯運算子,他們可以把兩個邏輯運算表示式並成乙個。當原來的兩個邏輯表示式計算結果都是真的時候用&&合併得到的結果表示式結果也是真,否則合併得到的結果表示式結果是假。只要原來的兩個邏輯表示式中有乙個計算結果為真則用||合併得到的結果表示式結果就是真,否則新表示式的結果就是假。

所有整數都可以當邏輯表示式使用,0表示假其他都表示真。

&&和||都具有短路特性(參考練習)

!表示邏輯非,是乙個單目運算子。

eg:/*

浮點數練習

*/#include

int main()

eg:/*

進製練習

*/#include

int main()

eg:/*

scanf練習

*/#include

int main()

eg:/*

char型別練習

*/#include

int main()

eg:/*

四則運算符練習

*/#include

int main()

eg:/*

整數型別練習

*/#include

int main()

eg:/*

邏輯運算子練習

*/#include

int main()

eg:/*

賦值操作符練習

*/#include

int main()

eg:/*

自增,自減運算子練習

*/#include

int shu_zi_2;

int main()

基礎程式設計02

1.給定兩個整形變數的值,將兩個值的內容進行交換。include include int main 2.不允許建立臨時變數,交換兩個數的內容 附加題 include include int main include include int main 3.求10 個整數中最大值。include inc...

程式設計基礎02

1.資料型別間的轉換 型別轉換 自動轉換 當所需賦值a的資料型別取值範圍大於所賦值b時,系統將自動轉化為a的資料型別 int a 3 byte b 4 a a b 可編譯通過 強制型別轉換 int a 126 byte b 4 b byte a b 強制型別轉換int 130 的二進位制為 0000...

C 程式設計 基礎語法02 資料與型別

運算子與表示式 型別 資料型別 只要是資料就有數值與型別 資料必定屬於某一型別,沒有型別的資料是沒有意義的,是不存在的!1 常量是資料 10是資料,10.1是資料,a 是資料,aabb 是資料 2 變數是資料 變數是用來儲存資料的,所以變數當然是資料 3 表示式是資料 表示式是用來運算資料的,所以表...