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

正文內容

c語言知識總結-wenkub.com

2024-10-30 20:39 本頁面
   

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