歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

二級C之?dāng)?shù)據(jù)的輸入輸出.ppt

  • 資源ID:4382888       資源大小:590KB        全文頁數(shù):65頁
  • 資源格式: PPT        下載積分:14.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要14.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號:
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒有明確說明有答案則都視為沒有答案,請知曉。

二級C之?dāng)?shù)據(jù)的輸入輸出.ppt

第二章基本數(shù)據(jù)類型及數(shù)據(jù)的輸入輸出 2 0預(yù)備知識2 1標(biāo)識符 常量與變量2 2數(shù)據(jù)類型2 3運(yùn)算符和表達(dá)式練習(xí)與實(shí)踐 2 0預(yù)備知識計算機(jī)中數(shù)的表示及進(jìn)制轉(zhuǎn)換數(shù)碼 基與權(quán)數(shù)碼 表示數(shù)的符號基 數(shù)碼的個數(shù)權(quán) 每一位所具有的值數(shù)制 十進(jìn)制 4956 4 10 9 10 5 10 6 10 二進(jìn)制 1011 1 2 0 2 1 2 1 2 十六進(jìn)制 81AE 8 16 1 16 10 16 14 16 八進(jìn)制 4275 4 8 2 8 7 8 5 8 各種進(jìn)制之間的轉(zhuǎn)換二進(jìn)制 八進(jìn)制 十六進(jìn)制轉(zhuǎn)換成十進(jìn)制方法 按權(quán)相加 各種進(jìn)制之間的轉(zhuǎn)換 整數(shù) 二進(jìn)制 八進(jìn)制 十六進(jìn)制轉(zhuǎn)換成十進(jìn)制方法 按權(quán)相加 十進(jìn)制轉(zhuǎn)換成二進(jìn)制 八進(jìn)制 十六進(jìn)制原理 方法 連續(xù)除以基 從低到高記錄余數(shù) 直至商為0 二進(jìn)制與八進(jìn)制之間的轉(zhuǎn)換二進(jìn)制轉(zhuǎn)換成八進(jìn)制 從右向左 每3位一組 不足3位左補(bǔ)0 轉(zhuǎn)換成八進(jìn)制八進(jìn)制轉(zhuǎn)換成二進(jìn)制 用3位二進(jìn)制數(shù)代替每一位八進(jìn)制數(shù) 例 1101001 2 001 101 001 2 151 8 例 246 8 010 100 110 2 10100110 2 000 0001 1010 2011 3100 4101 5110 6111 7 二進(jìn)制與十六進(jìn)制之間的轉(zhuǎn)換二進(jìn)制轉(zhuǎn)換成十六進(jìn)制 從右向左 每4位一組 不足4位左補(bǔ)0 轉(zhuǎn)換成十六進(jìn)制十六進(jìn)制轉(zhuǎn)換成二進(jìn)制 用4位二進(jìn)制數(shù)代替每一位十六進(jìn)制數(shù) 例 11010101111101 2 0011 0101 0111 1101 2 357D 16 例 4B9E 16 0100 1011 1001 1110 2 100101110011110 2 0000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F 字節(jié)和位內(nèi)存以字節(jié)為單元組成每個字節(jié)有一個地址一個字節(jié)一般由8個二進(jìn)制位組成每個二進(jìn)位的值是0或1 數(shù)值的表示方法 原碼 反碼和補(bǔ)碼原碼 最高位為符號位 其余各位為數(shù)值本身的絕對值反碼 正數(shù) 反碼與原碼相同負(fù)數(shù) 符號位為1 其余位對原碼取反補(bǔ)碼 正數(shù) 原碼 反碼 補(bǔ)碼相同負(fù)數(shù) 最高位為1 其余位為原碼取反 再對整個數(shù)加1 9 5 49 7 16 14 12 為什么用補(bǔ)碼表示 25 19 25 19 25 10 00011001 2 19 10 11101101 200011001 11101101 100000110 為什么用補(bǔ)碼表示 19 25 19 25 19 10 00010011 2 25 10 11100111 200010011 11100111 11111010 6 引入補(bǔ)碼之后符號位也進(jìn)入了運(yùn)算 不用再單獨(dú)處理符號位 負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù) 最高位不動 其余位取反加1 例補(bǔ)碼 11111001取反 10000110加1 10000111 7 2 1常量與變量標(biāo)識符定義 用來標(biāo)識變量 常量 函數(shù)等的字符序列組成 只能由字母 數(shù)字 下劃線組成 且第一個字母必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字長度 最長32個字符 不同的c語言編譯器規(guī)定長度不同 命名原則 見名知意不宜混淆如l與I o與0 例 判斷下列標(biāo)識符號合法性sumSumM D JohndayDate3daysstudent name 33lotus 1 2 3chara b above 12314 2005 4 以下不能定義為用戶標(biāo)識符是A MainB 0C intD sizeof M D John 3days 33 char 123 a b 32個關(guān)鍵字 由系統(tǒng)定義 不能重作其它定義 autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile 一般用大寫字母是宏定義預(yù)處理命令 不是C語句直接常量 整型常量實(shí)型常量字符常量字符串常量 如 definePRICE30 常量定義 程序運(yùn)行時其值不能改變的量 即常數(shù) 分類 符號常量 用標(biāo)識符代表常量定義格式 define符號常量常量 例符號常量舉例 definePRICE30main intnum total num 10 total num PRICE printf total d total 運(yùn)行結(jié)果 total 300 變量 其值可以改變的量概念 每個變量有一個名字 用標(biāo)識符表示 每個變量有一個存儲空間 存儲單元 該單元中的狀態(tài)所表示的數(shù)為此時變量的值 變量初始化 定義時可以賦初值 合法標(biāo)識符 變量的使用 必須先定義 后使用 定義可以放在函數(shù)體的前部 也可以放在函數(shù)的外部或復(fù)合語句的開頭 變量定義的一般格式 數(shù)據(jù)類型變量1 變量2 變量n 如 inta b c floatx y 例 inta 2 b c 4 floatdata 3 67 charch A intx 1 y 1 z 1 intx y z 1 例2floata b c c a b Illegaluseoffloatingpointinfunctionmain 變量定義位置 一般放在函數(shù)開頭 例1intstudent stadent 19 Undefinedsymbol statent infunctionmain 每一個變量都有一個類型 表明了為它的存儲屬性 分配空間的大小 表示的數(shù)的范圍 所能進(jìn)行的運(yùn)算 例2 1main floatlength area radius length為周長 area為面積 radius半徑 printf nEnteraradius scanf f 程序的運(yùn)行情況為 Enteraradius 2 8 lengthis 17 584000areais 24 617599 2 2數(shù)據(jù)類型數(shù)據(jù)類型總表 數(shù)據(jù)類型決定 1 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2 數(shù)據(jù)取值范圍3 其上可進(jìn)行的操作 2 2 1整數(shù)類型整數(shù)類型的標(biāo)識符是int 整型數(shù)據(jù)根據(jù)其占用的內(nèi)存字節(jié)數(shù)不同 可加限定詞 short 短整型 int long 長整型 short int long可用sizeof 類型標(biāo)識符 測量unsignedshort 無符號短整型 unsignedint 無符號整型 unsignedlong 無符號長整型 其中short和long的引入是為滿足實(shí)際要求的不同長度的整數(shù) 而經(jīng)unsigned限定詞限定的整數(shù)總是正的 整型常量 整常數(shù) 三種形式 十進(jìn)制整數(shù) 由數(shù)字0 9和正負(fù)號表示 如123 456 0八進(jìn)制整數(shù) 由數(shù)字0開頭 后跟數(shù)字0 7表示 如0123 011十六進(jìn)制整數(shù) 由0 x開頭 后跟0 9 a f A F表示 如0 x123 0Xff注意 只有十進(jìn)制數(shù)可以是負(fù)數(shù) 而八進(jìn)制 十六進(jìn)制只能是正數(shù) 例12與12L 例30000為int型65536為longint型 問題 0123 100 x123 100Xff 10 整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型 一個整數(shù)若值在 32768 32767內(nèi) 則默認(rèn)為它是int型 一個整數(shù)若值在 2147483648 2147483647之間 可使用長整型常量表示 在整常量后加字母l或L 認(rèn)為它是longint型常量無符號數(shù)也可用后綴表示 整型常數(shù)的無符號數(shù)的后綴為 U 或 u 例如 358u 0 x38Au 235Lu均為無符號數(shù) 0XA5Lu表示十六進(jìn)制無符號長整數(shù)A5 其十進(jìn)制為165 一個非負(fù)的整數(shù) 只要它的值不超過相應(yīng)變量的取值范圍 就可以賦給unsigned型變量 例如 可以將6000賦給一個unsignedint型變量 但卻不可以將66000賦給一個unsignedint型變量 將會出現(xiàn)溢出錯誤 整型變量定義方法 inta1 a2 unsignedintb1 b2 一個整型常量只可以賦給能容納下其值的整型變量 如a1 a2的取值范圍為 32768 32767b1 b2的取值范圍為0 65535如果 a1 65535 或者 b1 1 在內(nèi)存中數(shù)值將不是所賦的數(shù)值 2 2 2實(shí)數(shù)類型實(shí)數(shù)類型分為單精度 float 和雙精度 double 類型 二者的區(qū)別在于所占存儲位的多少 從而決定了其取值范圍 通常以32位 bits 來存儲單精度實(shí)數(shù)型數(shù)據(jù) 以64位來存儲雙精度實(shí)型數(shù)據(jù) 實(shí)型常量 實(shí)數(shù)或浮點(diǎn)數(shù) 表示形式 小數(shù)形式 由數(shù)字和小數(shù)點(diǎn)組成 小數(shù)點(diǎn)的左右至少一邊要有數(shù)字 小數(shù)形式表示的實(shí)型常量必須要有小數(shù)點(diǎn) 必須有小數(shù)點(diǎn) 如0 123 123 123 0 0 0 123 指數(shù)形式 由尾數(shù) e或E和指數(shù)部分組成 E的兩邊都至少要有一位數(shù)且E的右邊只允許是整數(shù)形式 e或E之前必須有數(shù)字 指數(shù)必須為整數(shù) 如12 3e3 123E2 1 23e4 e 5 1 2E 3 5 1 6e 2 5e31 234e04 表示指數(shù)8進(jìn)制 1 234e 4 實(shí)型常量的類型默認(rèn)double型在實(shí)型常量后加字母f或F 認(rèn)為它是float型 實(shí)型變量實(shí)型變量的說明形式如下 float變量名1 變量名2 變量名n double變量名1 變量名2 變量名n float 占4字節(jié) 提供7位有效數(shù)字double 占8字節(jié) 提供15 16位有效數(shù)字 例floata a 111111 111 a 111111 1 doubleb b 111111 111 b 111111 111 floata b c doublex y 例2 2 實(shí)型變量的有效數(shù)字 main doublea a 6 152367864359046178294901 printf n 25 20f a 輸出結(jié)果為 6 15236786435904648000在這個例子中 a被賦值了一個有效位數(shù)為25位的數(shù)字 但由于a是double類型的 所以a只能接收15 16位有效數(shù)字 在printf語句中 我們使用了 20 18f這樣的格式符號 這指示printf語句在輸出a時總長度應(yīng)為25位 小數(shù)點(diǎn)位數(shù)占20位 輸出的結(jié)果顯然顯示了25位數(shù) 但只有6 152367864359046共16位有效數(shù)字被正確顯示出來 后面的數(shù)字是一些無效的數(shù)值 這就表明double型的數(shù)據(jù)只接收15 16位有效數(shù)字 2 2 3字符類型整型 實(shí)型都是數(shù)值型 是大家比較熟悉的 除數(shù)值型外 還有一類數(shù)據(jù)是計算機(jī)經(jīng)常處理的數(shù)據(jù) 這就是字符型 字符型數(shù)據(jù)包含的是一個字符集 一般用的是ASCII碼字符集見附錄A p249 字符集中的每一個字符都有一個序號 稱為ASCII碼 ASCII碼大的字符比ASCII碼小的字符值大 字符類型的標(biāo)識符是char 字符常量定義 用單引號括起來的單個普通字符或轉(zhuǎn)義字符 字符常量的值 該字符的ASCII碼值 如 101 A 012 n 376 x61 a 60 0 483 例 A 101 x41 65 如 A 65 a 97 0 48 n 10 如 a A n 101 轉(zhuǎn)義字符 反斜線后面跟一個字符或一個代碼值表示 例轉(zhuǎn)義字符舉例 ch2 001 c ch2 004 c main printf 101 x42C n printf Isay Howareyou n printf CProgram n printf Turbo C 運(yùn)行結(jié)果 屏幕顯示 ABCIsay Howareyou CProgram Turbo C 例main printf Y b n 運(yùn)行結(jié)果 屏幕顯示 打印機(jī)輸出 字符型變量char變量名1 變量名2 變量名n 如 charc1 c2 一個字符型變量的值只能是一個單個字符 在內(nèi)存中占一個字節(jié) 字符變量存放的是字符的ASCII碼 char與int數(shù)據(jù)間可進(jìn)行算術(shù)運(yùn)算 由于字符型變量在內(nèi)存中是以字符的ASCII碼 一個無符號整數(shù)的形式來存放的 所以在一定范圍內(nèi) 字符型數(shù)據(jù)和整型數(shù)據(jù)是可以互相通用的 二者的區(qū)別僅在于 字符型常量占一個字節(jié) 而整型常量占兩個字節(jié) 例a D a 68 x A 5 x 65 5 s G s 33 71 例2 3 將小寫字母轉(zhuǎn)化為大寫字母 main charc1 c2 c1 x c2 y c1 c1 32 c2 c2 32 printf n c c x1 x2 程序的輸出結(jié)果是 X Y這個例子是將小寫字母轉(zhuǎn)化為大寫字母的程序 我們在對ASCII碼字符表進(jìn)行觀察后會發(fā)現(xiàn) 大小寫對應(yīng)的字母 它們之間的ASCII碼正好相差32 利用這個特性和上一個特性 我們可以編寫出非常簡單的大小寫字母轉(zhuǎn)換程序 字符常量與字符串常量不同 字符串常量定義 用雙引號 括起來的字符序列存儲 每個字符串尾自動加一個 0 作為字符串結(jié)束標(biāo)志 例 charch ch A 沒有字符串變量 用字符數(shù)組存放 15 2006 4 以下能正確定義字符串的語句是A charstr 064 B charstr x43 C charstr D charstr 0 基本數(shù)據(jù)類型 整型 字符型 實(shí)型 有 無 說明 數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同 上表以IBMPC機(jī)為例 例 ch2 003 c definePRICE12 5main intnum 3 floattotal charch1 ch2 D total num PRICE ch1 ch2 A a printf total f ch1 c n total ch1 運(yùn)行結(jié)果 total 37 500000 ch1 d 2 3運(yùn)算符和表達(dá)式 學(xué)習(xí)運(yùn)算符應(yīng)注意 運(yùn)算符功能與運(yùn)算量關(guān)系要求運(yùn)算量個數(shù)要求運(yùn)算量類型運(yùn)算符優(yōu)先級別結(jié)合方向結(jié)果的類型 2 3 1算術(shù)運(yùn)算2 3 2賦值運(yùn)算2 3 3自增 自減運(yùn)算2 3 4關(guān)系運(yùn)算與邏輯運(yùn)算2 3 5條件運(yùn)算2 3 6逗號運(yùn)算2 3 7位運(yùn)算2 3 8類型轉(zhuǎn)換 34種運(yùn)算符 算術(shù)運(yùn)算符 關(guān)系運(yùn)算符 邏輯運(yùn)算符 位運(yùn)算符 賦值運(yùn)算符 及其擴(kuò)展條件運(yùn)算符 逗號運(yùn)算符 指針運(yùn)算符 求字節(jié)數(shù) sizeof強(qiáng)制類型轉(zhuǎn)換 類型 分量運(yùn)算符 下標(biāo)運(yùn)算符 其它 2 3 1算術(shù)運(yùn)算2 3 1 1算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符 結(jié)合方向 從左向右優(yōu)先級 2 3 4 說明 可為單目運(yùn)算符時 右結(jié)合性兩整數(shù)相除 結(jié)果為整數(shù) 要求兩側(cè)均為整型數(shù)據(jù) 例5 2 5 2 0 例5 2 5 2 1 10 5 1 5 5 2 例5 2 2 5 2 0 2 5 例5 2 1 5 2 11 10 15 1 05 5 2 2 3 1 2算術(shù)表達(dá)式及其書寫特點(diǎn)算術(shù)表達(dá)式是用算術(shù)運(yùn)算符 圓括號將運(yùn)算對象連接起來的符合C語言的語法規(guī)則的式子 其中 運(yùn)算對象可以是常量 變量 表達(dá)式 函數(shù)等等 書寫時注意以下幾點(diǎn) C表達(dá)式中的乘號不能省略 例如 數(shù)學(xué)式b2 4ac相應(yīng)的C表達(dá)式應(yīng)寫成 b b 4 a c C表達(dá)式中只能使用系統(tǒng)允許的標(biāo)識符 例如 數(shù)學(xué)式 r2相應(yīng)的C表達(dá)式應(yīng)寫成 3 14159 r r C表達(dá)式中的內(nèi)容必須書寫在同一行 不允許有分子分母形式 必要時要利用圓括號保證運(yùn)算的順序 例如 c d相應(yīng)的C表達(dá)式應(yīng)寫成 a b c d C表達(dá)式不允許使用方括號和花括號 只能使用圓括號來幫助限定運(yùn)算順序 可以使用多層圓括號 但左右括號必須配對 運(yùn)算時從內(nèi)層圓括號開始 由內(nèi)向外依次計算表達(dá)式的值 2 3 2賦值運(yùn)算賦值運(yùn)算符 賦值表達(dá)式簡單賦值運(yùn)算符 賦值表達(dá)式格式 變量標(biāo)識符 表達(dá)式作用 將賦值號右邊的表達(dá)式計算出來 將其值賦給左邊的一個變量 復(fù)合賦值運(yùn)算符種類 含義 exp1op exp2 exp1 exp1opexp2 例a 3 d func c d 2 2 3 2 3賦值運(yùn)算符的優(yōu)先級和結(jié)合性優(yōu)先級 14結(jié)合方向 自右向左左側(cè)必須是變量 不能是常量或表達(dá)式 每個表達(dá)式都有一個值 當(dāng)然每個值都有所屬的類型 賦值表達(dá)式的值與變量值相等 且可嵌套 賦值轉(zhuǎn)換規(guī)則 使賦值號右邊表達(dá)式值自動轉(zhuǎn)換成其左邊變量的類型 例3 x 2 y a b 3 例floatf inti i 10 f i 則f 10 0 例inti i 2 56 結(jié)果i 2 例 a b c 5a b 5 a 5 c 6 a b 4 c 6 a b 10 c 2 表達(dá)式值為5 a b c值為5 b 5 a 5 表達(dá)式值11 c 6 a 11 表達(dá)式值10 a 10 b 4 c 6 表達(dá)式值5 a 5 b 10 c 2 例 a 12 a a a a 例 inta 2 a 4 1 a a a a 3 a 264等價于a a a a a a a 0等價于a a a a a a a a 3 不同類型數(shù)據(jù)間的轉(zhuǎn)換隱式轉(zhuǎn)換什么情況下發(fā)生運(yùn)算轉(zhuǎn)換 不同類型數(shù)據(jù)混合運(yùn)算時賦值轉(zhuǎn)換 把一個值賦給與其類型不同的變量時輸出轉(zhuǎn)換 輸出時轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換 實(shí)參與形參類型不一致時轉(zhuǎn)換運(yùn)算轉(zhuǎn)換規(guī)則 不同類型數(shù)據(jù)運(yùn)算時先自動轉(zhuǎn)換成同一類型 顯式轉(zhuǎn)換 強(qiáng)制轉(zhuǎn)換 一般形式 類型名 表達(dá)式 例 int x y int x y double 3 2 int 3 6說明 強(qiáng)制轉(zhuǎn)換得到所需類型的中間變量 原變量類型不變 例main floatx inti x 3 6 i int x printf x f i d x i 結(jié)果 x 3 600000 i 3 精度損失問題 2 3 3自增 自減運(yùn)算自增 自減運(yùn)算符 表達(dá)式 結(jié)合性 優(yōu)先級作用 使變量值加1或減1種類 前置 i i 先執(zhí)行i 1或i 1 再使用i值 后置i i 先使用i值 再執(zhí)行i 1或i 1 例j 3 k j 等價于 j k j j 3 k j 等價于 k j j j 3 printf d j j 3 printf d j a 3 b 5 c a b a 3 b 5 c a b k 4 j 4 k 3 j 4 4 3 c 20 a 4 c 15 a 4 每個表達(dá)式都有一個值 當(dāng)然每個值都有所屬的類型 i 中表達(dá)式 i 的值是變量i在 之前的值 但i 的值已經(jīng)增1 i 中表達(dá)式 i 的值是變量i在 之后的值 不能用于常量和表達(dá)式 如5 a b 結(jié)合方向 自右向左優(yōu)先級 2 3 4 例 i i i 3 printf d i 3 例 i i 3 printf d i 使用自增 自減運(yùn)算符的注意事項(xiàng) 對于形如a b的表達(dá)式 C語言的編譯系統(tǒng)在處理時盡可能多的自左至右將若干個字符結(jié)合成一個運(yùn)算符 因此 a b被理解為 a b 而不是a b 為避免產(chǎn)生誤解 建議將此表達(dá)式寫成 a b的形式 例如 x i i i 應(yīng)被理解為z i i i 自增 自減運(yùn)算符使得C的表達(dá)式靈活 簡潔 但有時候會使初學(xué)者迷惑 若使用不當(dāng) 會產(chǎn)生意外的后果 這就需要在使用時尤其注意 當(dāng)一個表達(dá)式中 含有若干個子表達(dá)式時 ANSIC沒有規(guī)定運(yùn)算符和運(yùn)算對象的計算次序 因此不同編譯系統(tǒng)處理的順序可能不同 例如 x a b c d無所謂 例如 a 3 y a a 不同的編譯系統(tǒng)有兩種處理方式 結(jié)果不同 A 按從左到右的順序處理為 先取a的值3 再計算 a a的值自增為4 子表達(dá)式 a的值也為4 所以相乘的結(jié)果為12 B 按從右到左的順序處理為 先計算 a a的值自增為4 子表達(dá)式 a的值也為4 再取a的值為4 所以相乘的結(jié)果為16 在一個表達(dá)式中 出現(xiàn)對同一個變量的多次自增 自減運(yùn)算時 有的編譯系統(tǒng)按從左到右的次序處理 而有些系統(tǒng)一次性的處理這些運(yùn)算是從右到左 如TURBOC2 0系統(tǒng) 請看下列程序的輸出結(jié)果 main inti 6 k 6 a b a i i i b k k k printf ni d k d i k printf na d b d a b 若按從左到右的次序處理 預(yù)期的運(yùn)行結(jié)果為 i 9 k 9a 21 b 24 TC2 0程序的運(yùn)行結(jié)果如下 i 9 k 9a 18 b 27 在調(diào)用函數(shù)時 對于實(shí)參的求值順序 ANSIC也沒有規(guī)定 有的系統(tǒng)按從左到右的順序求值 有的相同按從右到左的順序求值 例3 2 main inti 5 printf n d d i i 若按從左到右的次序處理 預(yù)期的運(yùn)行結(jié)果為 5 6 TC2 0程序的運(yùn)行結(jié)果如下 6 6 編寫程序時 應(yīng)注意把可讀性放在第一位 避免編寫晦澀難懂 容易引起誤解的程序 尤其在使用自增 自減運(yùn)算符時 盡量不要使用易于誤解的表達(dá)方式 為了清晰的表達(dá)編程者的意圖 可以將一個復(fù)雜的語句分解成多個簡單的語句 例如 A y a a 可改寫為b a y a b B printf n d d i i 可改寫為k i printf n d d k i a i i i 可改寫為 x i y i z i a x y z 關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符種類 結(jié)合方向 自左向右優(yōu)先級別 例c a b c a b a b c a b ca bc a b c 關(guān)系表達(dá)式的值 是邏輯值 真 或 假 用1和0表示 例inta 3 b 2 c 1 d f a b a b cb cbf a b c 表達(dá)式值1 表達(dá)式值1 表達(dá)式值0 d 1 f 0 關(guān)系運(yùn)算注意 例若a 0 b 0 5 x 0 3 則a x b的值為 0 例5 2 7 8在C中是允許的 值為 0 例inti 1 j 7 a a i j 4 0 則a 2 例 a 0結(jié)果為 A 100結(jié)果為 1 0 關(guān)系運(yùn)算注意 例注意區(qū)分 與 inta 0 b 1 if a b printf aequaltob elseprintf anotequaltob 邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符種類 邏輯運(yùn)算真值表 C語言中 運(yùn)算量 0表示 假 非0表示 真 運(yùn)算結(jié)果 0表示 假 1表示 真 例ab x ya b x y a a b 優(yōu)先級 結(jié)合方向 a x x b a b x y a b x y a a b 優(yōu)先級 結(jié)合方向 例a 4 b 5 aa ba b a b4 0 25 3 2 8 4 0 c d 值為1 值為0 值為1 值為1 值為1 值為1 5 3 2 8 4 0 值為1 優(yōu)先級 結(jié)合方向 短路特性 邏輯表達(dá)式求解時 并非所有的邏輯運(yùn)算符都被執(zhí)行 只是在必須執(zhí)行下一個邏輯運(yùn)算符才能求出表達(dá)式的解時 才執(zhí)行該運(yùn)算符 例a m a b n c d 結(jié)果m 0 n 1 條件運(yùn)算符與表達(dá)式一般形式 expr1 expr2 expr3執(zhí)行過程功能 相當(dāng)于條件語句 但不能取代一般if語句 例求a b printf a b d n b 0 a b a b 例 a b Y N x 2 1 1 0 x 0 x x c a c z c a A c 條件運(yùn)算符可嵌套如x 0 1 x 0 1 0 優(yōu)先級 13 結(jié)合方向 自右向左如a b a c d c d a b a c d c d expr1 expr2 expr3類型可不同 表達(dá)式值取較高的類型 例x a b x 0 表達(dá)式值為 b x 0 表達(dá)式值為 a x y 1 1 5 x y 值為1 0 x y 值為1 5 逗號運(yùn)算符和表達(dá)式形式 表達(dá)式1 表達(dá)式2 表達(dá)式n結(jié)合性 從左向右優(yōu)先級 15逗號表達(dá)式的值 等于表達(dá)式n的值用途 常用于循環(huán)for語句中 例a 3 5 a 4a 3 5 a 4 a 5例x a 3 6 3 x a 3 6 a例a 1 b 2 c 3 printf d d d a b c printf d d d a b c b c a 15 表達(dá)式值60 a 15 表達(dá)式值20 賦值表達(dá)式 表達(dá)式值18 x 18 逗號表達(dá)式 表達(dá)式值18 x 3 1 2 3 3 2 3 逗號運(yùn)算符和表達(dá)式形式 表達(dá)式1 表達(dá)式2 表達(dá)式n結(jié)合性 從左向右優(yōu)先級 15逗號表達(dá)式的值 等于表達(dá)式n的值用途 常用于循環(huán)for語句中 例 ch2 6 c includemain intx y 7 floatz 4 x y y 6 y z printf x d n x 運(yùn)行結(jié)果 x 3 位運(yùn)算1 運(yùn)算對象只能是整型或字符型數(shù)據(jù) 不能是實(shí)型數(shù)據(jù) 本文由小編推薦

注意事項(xiàng)

本文(二級C之?dāng)?shù)據(jù)的輸入輸出.ppt)為本站會員(xt****7)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!