基本資料型別 表示式及程式流程控制(C )

2021-04-30 08:50:47 字數 2640 閱讀 1306

[程式語言用c++語言程式設計陳家駿]

一、資料型別

1.各種無符號整數型別所佔的記憶體大小與相應的有符號整數型別相同。對應有符號整數,通常是最高位表示符號,對無符號整數,沒有符號位表示。對應同樣大小儲存空間,無符號整數型別所表示的最大整數比有符號表示的最大整數大大約一倍。

2.在計算機內部,實數採用科學計數法(浮點形式)表示,即把實數表示成a*2^b,在記憶體空間中儲存的是尾數和指數兩部分,均採用二進位制表示,指數的基數是2,有些十進位制小數是不能精確表示成二進位制小數的,如0.1

3.計算機中,字元是用其編碼來表示和儲存的,c++允許把char型別的資料(字元的編碼)當作整數型別值進行算術運算。邏輯型別值也可以參加算術運算。

4.整數型別:int, short int(short), long int(long),前三個預設為帶符號型,還有無符號型:unsigned int(unsigned), unsigned short int(unsigned short), unsigned long int(unsigned long)

實數型別:float, double, long double,

字元型別:char, wchar_t

邏輯型別:bool

空置型:void, void *

整型:各種int型,char型別,bool型別

算術型別:整形和實數型別

各型別佔據記憶體空間大小可用sizeof計算,各型別所表示的資料範圍可在c++標準庫標頭檔案中獲得,整數:climits(limits.h),實數:cfloat(float.h)

二、資料表現形式

1.八進位制形式:以數字0開頭,0-7組成,如073

十六進製制形式:以0x或0x開頭,0-9和a-f(a-f)組成,如0x3b

字元常量可用單引號括起來的乙個字元表示,也可用一對單引號括起來的乙個字元編碼表示,這時必須用轉義序列(/開頭)來編碼,編碼可採用八進位制和十六進製制表示

八進位制:'/ddd',ddd為三位八進位制數

十六進製制:'/xhh',  hh為兩位十六進製制數

a有三種表示方法:'a', '/101', '/x41'

2.根據對型別定義的不同要求,常把程式語言分為:

2.1靜態型別語言:定義的每個變數必須指定乙個型別,變數的型別在編譯時刻能夠確定,型別檢查在編譯時刻完成,一般採用編譯執行,效率較高

2.2動態型別語言:不要求在程式中指定變數型別,型別在程式執行時根據實際賦給它的值來確定,型別檢查需要到程式執行時進行,一般採用解釋執行,在執行時刻需要執行額外的**來進行變數型別的檢查和記憶體空間的分配等操作,效率不高

3.根據對型別檢查的不同要求,常把程式語言分為:

3.1強型別語言:對變數的操作進行嚴格的型別檢查

3.2弱型別語言:對型別檢查不完全,程式的錯誤只有到程式得出了錯誤的結果或異常終止時才發現

4.c++是靜態、強型別語言

三、操作符

1.當把有符號型別數轉換為無符號型別數時,將不改變有符號數的符號位,而是把該符號位作為無符號數的一位有效位數字來解釋,這樣,把負數轉換為無符號數時就會成為正數。

2.應避免兩個浮點數進行==和!=比較運算,可採用判斷兩者的差的絕對值是否小於某個很小的數來實現。a==b==c:a==b結果與c再比較

3.左移操作符<<:0x3f61<<2,表示為把第乙個運算元按二進位制位一次左移由第二個運算元指定的位數,高位捨棄,低位補0

右移操作符》:unsigned char ch1=0xa6;//10100110

singned char ch2=0xa6;

ch1>>2:結果為00101001:右移時,低位捨棄,對無符號數或有符號非負數,高位補0

ch2>>2:結果為11101001:對有符號數的負數,高位與原來的最高位相同

四、表示式

1.c++根據表示式是否能作為賦值操作的左邊運算元,把表示式分為

左值表示式:能出現在賦值操作左邊的表示式,當然,左值表示式也可出現在賦值操作符的右邊,表示式結果有明確的記憶體位址,該位址內容可以被修改,++x是左值表示式,結果存於x,x++不是,結果存於臨時儲存空間中,沒有明確記憶體位址,無法被顯示訪問

右值表示式:不能出現在賦值操作左邊的表示式

右結合的操作符:++(前置),--(前置),!,~,-,+,&,*,sizeof,new,delete,(type),?:,=,*=,/=,%=,+=,-=,<<=,>>=,&=,^=,|=

五、switch語句

switch(《整形表示式》)

《整形表示式》:結果為整形的表示式

《整形常量表示式i>:其中運算元只能是常量,並且各值不同

六、break、continue、goto語句

break語句:a.介紹switch語句的某個分支執行;b.退出包含它的最內層迴圈語句。break語句可用某些額外變數代替,並在迴圈條件中進行邏輯與進行控制,只能退出一層迴圈

continu語句:只能用在迴圈語句的迴圈體中,立即結束當前迴圈,準備進入下一次迴圈。

goto語句格式:goto 《語句標號》;《語句標號》:《語句》;使用goto時,不從函式外轉入函式內,也不能從函式內轉入函式外,允許從內層復合語句轉入外層復合語句或外層轉入內層復合語句,不能跨過帶有初始化的變數定義。可以退出多重迴圈。

C 基本資料型別和表示式

c 是一種靜態型別語言 執行前指定每個資料的型別 也是一種強型別語言 對資料的操作進行嚴格的型別檢查 bool型別資料在算術運算時true對應1,false對應0。typedef給已有型別取別名 typedef 已有型別 別名 常量包括兩種 字面常量和符號常量。字面常量 直接寫出來的 符號常量 又稱...

C 基本資料型別和流程控制語句

1.型別劃分 基本分為值型別和引用型別 值型別相對熟悉,引用型別為類 介面 陣列 委託。3.常量與變數 const int pi 3.1415927 const宣告的常量 利用var宣告未知的型別 var key console.readkey 或者 consolekeyinfo key conso...

bool型別標頭檔案 C 基本資料型別和表示式

1.c 是一種靜態型別語言 執行前指定每個資料的型別 也是一種強型別語言 對資料的操作進行嚴格的型別檢查 2.bool型別資料在算術運算時true對應1,false對應0。3.typedef給已有型別取別名 typedef 4.常量包括兩種 字面常量和符號常量。字面常量 直接寫出來的 符號常量 又稱...