freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言知識(shí)總結(jié)(存儲(chǔ)版)

2024-12-13 20:39上一頁面

下一頁面
  

【正文】 C 語言知識(shí)總結(jié) C語言 知識(shí)總結(jié) C 語 言 知識(shí)總結(jié) 變更記錄 日期 版本 變更說明 修改人 審 核 人 20200222 初稿完成 mugelin 文檔說明 對(duì)于文檔中涉及的數(shù)據(jù)類型,如無特殊說明,均是對(duì)于 32 位操作系統(tǒng)而言的,即: sizeof(short) = 2 sizeof(int) = 4 sizeof(long) = 4 sizeof(float) = 4 sizeof(double) = 8 我的 郵箱: 如果有幸受到哪位的關(guān)注,文檔中的錯(cuò)誤之處請(qǐng)不吝賜教。 define NAME “zhangsan” 數(shù)據(jù)類型 基本類型 實(shí)型 字符型 枚舉類型 單精度型 雙精度型 構(gòu)造類型 數(shù)組類型 結(jié)構(gòu)體類型 共用體類型 指針類型 空類型 整型 C 語言 知識(shí)總結(jié) 3 引入符號(hào) 常量 有如下好處 : ? 含義清楚 :符號(hào)常量名一定能夠望聞知義,這是定義常量的目的之一。 要么耗時(shí)費(fèi)力,增加不必要的維護(hù)成本,要么修改不完全,導(dǎo)致計(jì)算結(jié)果不滿足要求。 聲明本身就是說明了一個(gè)標(biāo)識(shí)符,以便后面的程序可以引用,對(duì)于狹義的“定義”,定義時(shí) 能夠 起到了說明標(biāo)識(shí)符的作用 ,因此“定義”屬于“聲明”就不難理解了。 C 語言 知識(shí)總結(jié) 4 int main() { int a。 int a = 0100。 ? 狹義上講, 聲明( Declaration)用于說明每個(gè)標(biāo)識(shí)符的含義,而并不需要為每個(gè)標(biāo)識(shí)符預(yù)存儲(chǔ)空間。 ? 八進(jìn)制 : 以 0(零 )作為八進(jìn)制數(shù)的前綴。 對(duì)于數(shù)值 n,其相反數(shù)實(shí)質(zhì)是“ n = 0n” 。所占字節(jié)和取值范圍均與基本型相同。 ? 數(shù)據(jù)類型的長(zhǎng)度是與 具體 編譯器相關(guān)的,不同的編譯器上同一種數(shù)據(jù)類型的長(zhǎng)度可能是不一樣的。但是在這個(gè)鐘表盤上沒有 14,因?yàn)閿?shù)字一到 12就進(jìn)位歸零了,所以這里的 14 其實(shí)就是 1412=2, C 語言 知識(shí)總結(jié) 7 如此可見,順時(shí)針撥動(dòng) 時(shí)針 9 格,也可以調(diào)整到 2 點(diǎn)這個(gè)時(shí)間。 整形數(shù)據(jù)在內(nèi)存中的存放 實(shí)際上, 整形 數(shù)據(jù)在內(nèi)存中是以其補(bǔ)碼的形式存放的,而并非其本身。 //0x7FFFFFFF 對(duì)于系統(tǒng) SYSB 沒有任何問題,但對(duì)于系統(tǒng) SYSA,就會(huì)出現(xiàn)整數(shù)溢出,勢(shì)必使程序的運(yùn)行結(jié)果與預(yù)期不符。 endif 將上面的 賦值 語句修改為 int32 n n=2147483647。 根據(jù)公式 [x]原 = [x]補(bǔ) 按位 取反 + 1 計(jì)算出 b 的絕對(duì)值, 引起最高位為 1,因此 b 的值 為 128。 ? 指數(shù)形式:由十進(jìn)制數(shù),加階碼標(biāo)志“ e”或“ E”以及階碼(只能為整數(shù),可以帶符號(hào))組成。 ? ANSI C 沒有規(guī)定小數(shù)部分和指數(shù)部分所占的字節(jié)數(shù),它們的長(zhǎng)度是編譯器相關(guān)的。 } 輸出: 為什么會(huì)這樣? a 和 b 都不對(duì)呀? ? 理解這個(gè)問題首先要清楚 2 點(diǎn):( 1) VC 中單精度數(shù)有效位數(shù)為 7位,雙精度數(shù)有效位數(shù)為 16 位 ;( 2) VC 中小數(shù)點(diǎn)后最多保留 6 位 ,其余四舍五入 。、 39。 ? 字符常量只能是單個(gè)字符,不能是字符串。是字符常量,不能參與運(yùn)算。表中的 \ddd 和 \xhh 正是為此而提出的。在 VC 下, ?\n?就可以代表換行回車, 把光標(biāo)移到下一行的行首。如果這個(gè) warning 沒有被重視,將 會(huì) 給程序帶來致命的缺陷。 因此本屆開頭的程序是可以執(zhí)行的,但結(jié)果是無法預(yù)期的。y39。 整型量為 多字 節(jié)量 (環(huán)境相關(guān) ),字符量為單字節(jié)量,當(dāng)整型量按字符型量處理時(shí),只有低八位字節(jié)參與處理。但是可以用一個(gè)字符數(shù)組來存放一個(gè)字符串常量。 39。自動(dòng)轉(zhuǎn)換遵循以下規(guī)則: ( 1) 若參與運(yùn)算量的類型不同,則先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算。 C 語言 知識(shí)總結(jié) 15 ? 注意: ? 所有的浮點(diǎn)運(yùn)算都是以雙精度進(jìn)行的,即使僅含 float 單精度量運(yùn)算的表達(dá)式,也要先轉(zhuǎn)換成 double 型,再作運(yùn)算。 char 型數(shù)據(jù)在運(yùn)算時(shí)一定會(huì)先轉(zhuǎn)換為 int 類型,因此 printf 調(diào)用時(shí)首先要將 字符型變量 a 轉(zhuǎn)換成int 型,這其中必然涉及符號(hào)位擴(kuò)展。 顯示 時(shí) 再 將 b 轉(zhuǎn)換為 int 型, 但 轉(zhuǎn)換后不會(huì)改變數(shù)值大小和符號(hào)位,仍為 128。 例如: a*8b/ 7 C 語言 知識(shí)總結(jié) 17 運(yùn)算量 8 左側(cè)的“ *”優(yōu)先級(jí)較高,先計(jì)算左側(cè)的 a*8,假設(shè)得到結(jié)果 c,表達(dá)式變?yōu)? cb/ 7 新的表達(dá)式中,運(yùn)算量 b 右側(cè)的“ /” ,優(yōu)先級(jí)較高,先計(jì)算右側(cè)的 b/7,假設(shè)結(jié)果為 d,表達(dá)式變?yōu)? cd 最后計(jì)算 cd,得到表達(dá)式的結(jié)果。 } else { printf(%d, i)。 在理解和使用上容易出錯(cuò)的是 i++和 i。 自增、自減運(yùn)算符 ++i i 自增 1 后再參與其它運(yùn)算。 “ ==” 運(yùn)算符的陷阱 下面的程序會(huì)輸出什么結(jié)果? int i = 0。如果前面補(bǔ) 0,按位取反后都變成了 1,計(jì)算出的原碼就不再是原值了,擴(kuò)展位補(bǔ) 1。 printf(“%d, %d, %d”, a, b, a+1)。 符號(hào)位 擴(kuò)展的規(guī)則: ? 正 整 數(shù) 發(fā)生符號(hào)位擴(kuò)展時(shí),擴(kuò)展的位全部填 0 比如 char 型數(shù)據(jù) 127 轉(zhuǎn)換為 short 型 ,上面為轉(zhuǎn)換前,下面為轉(zhuǎn)換后 : 0 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 ? 負(fù)數(shù) 發(fā)生符號(hào)位擴(kuò)展時(shí),擴(kuò)展的 位全部填 1 還以 char 型數(shù)據(jù) 為例 ,比如 1, 轉(zhuǎn)換為 short 型,上面為轉(zhuǎn)換前,下面為轉(zhuǎn)換后: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 思考一下,下面程序段之行后,輸出的結(jié)果是什么? char a = 0x80。 ( 4) char 型和 short 型參與運(yùn)算時(shí),必須先轉(zhuǎn)換成 int 型。 萬物有法,只要能夠掌握其中的道理,這些機(jī)關(guān)和陷阱也就不攻自破了。這是字符串結(jié)束的標(biāo)志。它們之間主要有以下區(qū)別: ? 字符常量由單引號(hào)括起來,字符串常量由雙引號(hào)括起來。y39。 如 x的十進(jìn)制 ASCII碼是 120, y 的十進(jìn)制 ASCII碼是 121。 這一句定義了一個(gè)字符指針, 指向字符串常量 ”a”的首地址 ,實(shí)際上字符串常量向外展現(xiàn)的是它的地 C 語言 知識(shí)總結(jié) 13 址。 字符變量 看一段程序: char c = a。 ‘\r’、 ’\n’ 和 ”\r\n” 這是一個(gè)環(huán)境相關(guān)的問題 。例如,在前面各例題 printf 函數(shù)的格式串中用到的“ \n”就是一個(gè)轉(zhuǎn)義字符,其意義是“回車換行”。539。、 39。 例如: 39。 double b。如 356f 和 的。它有二種形式:十進(jìn) 制小數(shù)形式,指數(shù)形式。 下面 的 程序 執(zhí)行后, 輸出 結(jié)果 是 什么? C 語言 知識(shí)總結(jié) 9 char a = 127。 typedef long int32。 如果為0,就一定是 非負(fù)數(shù)( 0 和正數(shù)) ,如果為 1,一定是負(fù)數(shù)。 這 里暫且以 2 進(jìn)制形式來表示數(shù)據(jù),不論這個(gè)負(fù)數(shù)有多少位,在他的取值范圍內(nèi),最大的數(shù)只能是所有位上都是 1 的非負(fù)數(shù)(不包括符號(hào)位),假定這個(gè)數(shù)為 y,但是 y 并不是我們上面所說到的那個(gè)進(jìn)制范圍數(shù) n,因?yàn)?n=y+1,所以 [x]補(bǔ) =y+1+x=y[x]絕對(duì)值 +1。但是這樣做的道理何在呢?為了弄清原因,可以引用時(shí)鐘的原理來加以說明。 ? 無符號(hào)長(zhǎng)整型 :類型說明符為 unsigned long。 ? 進(jìn)行取反操作時(shí), 應(yīng)該把 8進(jìn)制和 16 進(jìn)制整數(shù) 按照有符號(hào)數(shù)的補(bǔ)碼來理解,所得的結(jié)果為其代表 的 有符號(hào) 整數(shù)的相反數(shù)的補(bǔ)碼。 注意 : 10 進(jìn)制有正負(fù)之分, 8 進(jìn)制和 16 進(jìn)制只能表示無符號(hào)整數(shù),沒有正負(fù)之分。 整形數(shù)據(jù) 整形常量 整型常量就是整常數(shù)。 { int a = 0100。 dosth()。 extern int a。預(yù)留存儲(chǔ)空間的聲明稱為定義( Definition)。 ? define 常量替換后被編譯進(jìn)程序文件的代碼段, const 常量存在于程序文件的數(shù)據(jù)段。 第 2章 程序的靈魂 — 算法 提要: ? 掌握主要的排序算法 (冒泡、快速、插入、選擇) ? 掌握程序流程圖的畫法 第 3章 數(shù)據(jù)類型、運(yùn) 算符和表達(dá)式 提要: ? 掌握 C 語言的數(shù)據(jù)類型 ? 了解 魔鬼數(shù)字 的弊端 ,以及程序中如何避免魔鬼數(shù)字 ? 掌握不同進(jìn)制整數(shù)相互轉(zhuǎn)換的方法 。 ? 理解聲明和定義的概念,以及二者的 區(qū)別 ? 了解補(bǔ)碼, 掌握 數(shù)據(jù) 在內(nèi)存中的存放 ,特別是整形數(shù)據(jù)和字符型數(shù)據(jù) ? 了解 數(shù)據(jù)類型轉(zhuǎn)換, 掌握 整型數(shù) 據(jù) 的 類型轉(zhuǎn)換和 符號(hào)位擴(kuò)展 ? 理解 補(bǔ)碼 對(duì)整型數(shù) 據(jù) 的符號(hào)位擴(kuò)展的影響 ? 了解 數(shù)據(jù)的 可移植性 ? 理解 整型數(shù)據(jù)的溢出 ? 了解 算術(shù)運(yùn)算符優(yōu)先級(jí)和結(jié)合性 的陷阱 ,以及規(guī)避的方法 C 語言 知識(shí)總結(jié) 2 ? 掌握自加和自減 運(yùn)算 C 語言的 數(shù)據(jù)類型 常 量 與變量 常量 常量按其表示方法可以分為:直接常量和符號(hào)常量。 魔鬼數(shù)字 : 就是指 在 程序中使用的直接常量,它會(huì)給程序的開發(fā)和維護(hù)造成很大困難。 “聲 明”的作用是說明該變量是一個(gè)已在后面定義過的外部變量,僅僅是在為了 提前 引用該變量而作的 聲明 而已。 在聲明時(shí)不建立存儲(chǔ)空間, 變量 a 是在別的文件中定義的 ,稱為“引用性聲明”或“聲明” 。 //執(zhí)行函數(shù) ,實(shí)驗(yàn)時(shí)打個(gè)樁就行了 } int A。 printf(%d, a)。在C語言中,使用的整常數(shù)有八進(jìn)制、十六進(jìn)制和十進(jìn)制三種 。 思考一下, 下面的程序是否合法 ? int a = 0xFFFFFFFF。 ? 強(qiáng)烈 不建議 程序中存在對(duì) 8 進(jìn)制和 16 進(jìn)制整數(shù) 進(jìn)行取相反數(shù)操作這樣的表達(dá)方式。 思考一下下面 兩種說法是否正確? ( 1) int 型的長(zhǎng)度 是 short 型 的 2, long 型的長(zhǎng)度 是 int 型的 2 倍 。 舉個(gè)簡(jiǎn)單例子,有一只需要調(diào)整的鐘表(假定以 12小時(shí)計(jì)時(shí)),假如鐘表上顯示的時(shí)間是 5 點(diǎn)整,而現(xiàn)在標(biāo)準(zhǔn)時(shí)間是 2 點(diǎn)整,那么要把時(shí)針從 5 點(diǎn)調(diào)整到 2 點(diǎn),可 以通過兩種途徑:一種是沿逆時(shí)針方向把時(shí)針退回( 52) =3 格;另一種就是沿順時(shí)針方向讓時(shí)針前進(jìn) {12( 52) }={123}=9 格。而通過計(jì)算你會(huì)發(fā)現(xiàn), y[x]絕對(duì)值所得出的數(shù),正好是將 x 除了符號(hào)位以外,其他各位取反所得出來的結(jié)果,再加上那個(gè) 1,就得出 “ 取反加一 ” 的道理了。 對(duì)于無符號(hào)整型數(shù)來說, 不存在 符號(hào)位, 所有數(shù)據(jù)位 在 計(jì)算 數(shù)值大小時(shí)都是有意義的 。 endif ifdef __SYSA__ typedef char int8。 //0x7F char b = a + 1。 ? 十進(jìn)制數(shù)形式:由數(shù)碼 0~ 9 和小數(shù)點(diǎn)組成。 實(shí)型 數(shù)據(jù)的分類 實(shí)型變量分為:?jiǎn)尉龋?float型)、雙精度( double 型)和長(zhǎng)雙精度( long double 型)三類。 a=。a39。?39。和 5 是不同的。轉(zhuǎn)義字符主要用來表示那些用一般字符不便于表示的控制代碼。 ?\r?應(yīng)該是英文 return 的首字母, 毋庸置疑,就是回車,把光標(biāo)移到當(dāng)前行的行首 。 char d = c+1。 再回到 char c = “a”。對(duì)字符變量 a,b 賦予 39。 實(shí)際上是在 a,b 兩個(gè)單元內(nèi)存放 120 和 121 的二 進(jìn)制代碼: a: 0 1 1
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1