




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 1 頁(yè)第第2章章 基本元素和語(yǔ)句基本元素和語(yǔ)句 2.1 數(shù)據(jù)的表示及存儲(chǔ) 2.2 程序的基本元素 2.3 輸入輸出語(yǔ)句 2.4 條件語(yǔ)句 2.5 循環(huán)語(yǔ)句西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 2 頁(yè)第第2章章 C語(yǔ)言基本元素和語(yǔ)句語(yǔ)言基本元素和語(yǔ)句2.1.1 數(shù)字化信息編碼2.1.2 進(jìn)制及進(jìn)制轉(zhuǎn)換2.1.3 數(shù)值的表示和存儲(chǔ)2.1 數(shù)據(jù)的表示及存儲(chǔ)2.1.4 字符的表示和存儲(chǔ)2.1.5 指令的表示和存儲(chǔ)西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reser
2、ved 2011 第 3 頁(yè)2.1 2.1 數(shù)據(jù)的存儲(chǔ)數(shù)據(jù)的存儲(chǔ)2.1.1 2.1.1 數(shù)字化信息編碼數(shù)字化信息編碼 計(jì)算機(jī)中的信息也稱為數(shù)據(jù)。由于二進(jìn)制電路簡(jiǎn)單、可靠且具有很強(qiáng)的邏輯功能,因此數(shù)據(jù)在計(jì)算機(jī)中均以二進(jìn)制表示,并用它們的組合表示不同類型的信息。 在計(jì)算機(jī)中只能識(shí)別二進(jìn)制數(shù)碼信息,因此一切非二進(jìn)制數(shù)碼的信息,如數(shù)字、字母、漢字等都要用二進(jìn)制數(shù)的特定編碼表示。當(dāng)然編碼可以有多種方法, 但為了便于交換、處理,必須采用統(tǒng)一的編碼方法。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 4 頁(yè)2.1 2.1 數(shù)據(jù)的存儲(chǔ)數(shù)據(jù)的存儲(chǔ)2.1.2 2.1.2 進(jìn)制及
3、進(jìn)制轉(zhuǎn)換進(jìn)制及進(jìn)制轉(zhuǎn)換(1)數(shù)碼、基與權(quán)數(shù)碼:表示數(shù)的符號(hào)基:數(shù)碼的個(gè)數(shù)權(quán):每一位所具有的值(2)數(shù)制(二進(jìn)制,八進(jìn)制,十進(jìn)制,十六進(jìn)制)數(shù)制的概念數(shù)制之間的轉(zhuǎn)換(整數(shù))數(shù)制之間的轉(zhuǎn)換(小數(shù))西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 5 頁(yè) 各種進(jìn)制之間的轉(zhuǎn)換(整數(shù))二進(jìn)制、八進(jìn)制、十六進(jìn)制轉(zhuǎn)換成十進(jìn)制 方法:按權(quán)相加10012345259212120212121111011)()(例10012894868381136)()(例1001231679781610162161516121)()(例AF西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights re
4、served 2011 第 6 頁(yè) 各種進(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)制11 0 21101101201100(.)22.222 (22.2 )2nnnnnnnnnnNaaaaaaaaaaaaNa 是 的余數(shù) 方法:連續(xù)除以基,從低到高記錄余數(shù),直至商為0西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 7 頁(yè)l各種進(jìn)制之間的轉(zhuǎn)換(整數(shù))二進(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)
5、制數(shù)例 (246)8=(010,100,110)2=(10100110)2000 0001 1010 2011 3100 4101 5110 6111 7西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 8 頁(yè)二進(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=(10010111001
6、1110)20000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F 各種進(jìn)制之間的轉(zhuǎn)換(整數(shù))西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 9 頁(yè) 各種數(shù)制之間的轉(zhuǎn)換(小數(shù)) 二進(jìn)制到十進(jìn)制之間的轉(zhuǎn)換(整數(shù)加小數(shù))(111010.1111010.1)2 2=1=12 25 51 12 24 41 12 23 30 02 22 21 12 21 10 02 20 0+1+12 2-1-1 32+16+8+2+0.532+1
7、6+8+2+0.5 58.558.5西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 10 頁(yè)例例 : 將(將(35.6875)10轉(zhuǎn)換為二進(jìn)制數(shù)。轉(zhuǎn)換為二進(jìn)制數(shù)。 用除用除2取余法將整數(shù)部分取余法將整數(shù)部分(35)10轉(zhuǎn)換為二進(jìn)制整數(shù):轉(zhuǎn)換為二進(jìn)制整數(shù): 2 35 余數(shù)為余數(shù)為1 低位低位 2 17 余數(shù)為余數(shù)為1 2 8 余數(shù)為余數(shù)為0 2 4 余數(shù)為余數(shù)為0 2 2 余數(shù)為余數(shù)為0 2 1 余數(shù)為余數(shù)為1 高位高位 0故:故:(35)10 = (100011)2 驗(yàn)證:驗(yàn)證:125+0 24+0 23+0 22+1 21+1 20=32+2+1=35十進(jìn)
8、制轉(zhuǎn)換成二進(jìn)制西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 11 頁(yè) 用乘用乘2取整法將小數(shù)部分取整法將小數(shù)部分(0.6875)10轉(zhuǎn)換為二進(jìn)制形式:轉(zhuǎn)換為二進(jìn)制形式: 0. 6875 2 1.3750 整數(shù)部分為整數(shù)部分為1 高位高位 0. 3750 2 0. 7500 整數(shù)部分為整數(shù)部分為0 0. 7500 2 1. 5000 整數(shù)部分為整數(shù)部分為1 0. 5000 2 1. 0000 整數(shù)部分為整數(shù)部分為1 低位低位即:即:(0.6875)10 = (0.1011)2 西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第
9、 12 頁(yè) 整數(shù)部分與小數(shù)部分合并,可得:整數(shù)部分與小數(shù)部分合并,可得:(35.6875)10 = (100011.1011)2注意:注意:在上例中,將十進(jìn)制小數(shù)轉(zhuǎn)換成為二進(jìn)制小數(shù)在上例中,將十進(jìn)制小數(shù)轉(zhuǎn)換成為二進(jìn)制小數(shù)的過(guò)程中,乘積小數(shù)部分變成的過(guò)程中,乘積小數(shù)部分變成“0”,表明轉(zhuǎn)換,表明轉(zhuǎn)換結(jié)束。實(shí)際上將十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制、八結(jié)束。實(shí)際上將十進(jìn)制小數(shù)轉(zhuǎn)換成二進(jìn)制、八進(jìn)制、十六進(jìn)制小數(shù)過(guò)程中小數(shù)部分可能始終進(jìn)制、十六進(jìn)制小數(shù)過(guò)程中小數(shù)部分可能始終不為零,因此只能限定取若干位為止。不為零,因此只能限定取若干位為止。將十進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制、十六進(jìn)制數(shù)的規(guī)則將十進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制、十六進(jìn)制數(shù)
10、的規(guī)則和方法與之相同,只是和方法與之相同,只是R(基數(shù))的取值不同。(基數(shù))的取值不同。 西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 13 頁(yè)二進(jìn)制和八進(jìn)制之間的轉(zhuǎn)換(整數(shù)加小數(shù))例: (10100.1011)2(?)8 010 100 . 101 100 2 4 . 5 4例: (326.125)8(?)2 3 2 6 . 1 2 5011 010 110 . 001 010 101西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 14 頁(yè) 二進(jìn)制和十六進(jìn)制之間的轉(zhuǎn)換(整數(shù)加小數(shù)) (11010111100.11011
11、)(11010111100.11011)2 2 = ( = (0 0110110 1011 1011 11001100. .11011101 1 1000000) )2 2 = (6BC.D8) = (6BC.D8)1616八進(jìn)制到十六進(jìn)制之間的轉(zhuǎn)換 可通過(guò)二進(jìn)制來(lái)間接進(jìn)行。 例(457)8=(100101111)2=(12F)16西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 15 頁(yè)2.1.3 2.1.3 數(shù)值的表示及存儲(chǔ)數(shù)值的表示及存儲(chǔ) (1)字節(jié)和位 內(nèi)存以字節(jié)為單元組成 每個(gè)字節(jié)有一個(gè)地址 一個(gè)字節(jié)一般由8個(gè)二進(jìn)制位組成 每個(gè)二進(jìn)位的值是0或101
12、234567012345678910.7643251西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 16 頁(yè)(2)原碼、反碼和補(bǔ)碼 原碼:最高位為符號(hào)位,其余各位為數(shù)值本身的絕對(duì)值 反碼:正數(shù):反碼與原碼相同負(fù)數(shù):符號(hào)位為1,其余位對(duì)原碼取反 補(bǔ)碼:正數(shù):原碼、反碼、補(bǔ)碼相同負(fù)數(shù):最高位為1,其余位為原碼取反,再對(duì)整個(gè)數(shù)加13126912457810119-5=49+7=16=(4)12西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 17 頁(yè)原碼反碼補(bǔ)碼+7000001110000011100000111-71000011
13、11111100011111001+0000000000000000000000000-0100000001111111100000000數(shù)的范圍0111111111111111(-127+127)0111111110000000(-127+127)0111111110000000(-128+127)(2)原碼、反碼和補(bǔ)碼 負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù):最高位不動(dòng),其余位取反加1例 補(bǔ)碼:11111001 取反:10000110 加1: 10000111=-7(2)原碼、反碼和補(bǔ)碼(2)原碼、反碼和補(bǔ)碼西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 18 頁(yè)(3)
14、小數(shù)的表示及存儲(chǔ)-數(shù)的定點(diǎn)表示-數(shù)的浮點(diǎn)表示 小數(shù)點(diǎn)在符號(hào)位之后 小數(shù)點(diǎn)在數(shù)據(jù)之后 符號(hào)位 符號(hào)位 階符階 碼數(shù)符尾 數(shù)計(jì)算機(jī)中浮點(diǎn)數(shù)的表示 西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 19 頁(yè)2.1.4 2.1.4 字符的表示及存儲(chǔ)字符的表示及存儲(chǔ)ASCIIASCII碼 表示文字信息和控制信息的基礎(chǔ)是各種字符,各種字符表示文字信息和控制信息的基礎(chǔ)是各種字符,各種字符必須按一定規(guī)則用二進(jìn)制編碼表示,才能為計(jì)算機(jī)所識(shí)別。必須按一定規(guī)則用二進(jìn)制編碼表示,才能為計(jì)算機(jī)所識(shí)別。ASCIIASCII碼碼 (American Standard Code for In
15、formation American Standard Code for Information InterchangeInterchange)ASCIIASCII碼是由美國(guó)國(guó)家標(biāo)準(zhǔn)委員會(huì)制定的一種碼是由美國(guó)國(guó)家標(biāo)準(zhǔn)委員會(huì)制定的一種包括數(shù)字、字母、通用符號(hào)、控制符號(hào)在內(nèi)的字符編碼集,包括數(shù)字、字母、通用符號(hào)、控制符號(hào)在內(nèi)的字符編碼集,全稱叫美國(guó)國(guó)家信息交換標(biāo)準(zhǔn)代碼。全稱叫美國(guó)國(guó)家信息交換標(biāo)準(zhǔn)代碼。ASCIIASCII碼是一種碼是一種7 7位二進(jìn)制編碼,能表示位二進(jìn)制編碼,能表示27=12827=128種國(guó)際上最通種國(guó)際上最通用的西文字符,是目前計(jì)算機(jī)中,特別是微型計(jì)算機(jī)中使用用的西文字符,是目
16、前計(jì)算機(jī)中,特別是微型計(jì)算機(jī)中使用最普遍的字符編碼集。最普遍的字符編碼集。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 20 頁(yè)7位ASCII碼表7657654321432100000000100101001001101110010010110111011011111100000000NULNULDLEDLESPSP0 0 P Pp p00010001SOHSOHDC1DC1!1 1A AQ Qa aq q00100010STXSTXDC2DC2”2 2B BR Rb br r00110011ETXETXDC3DC3# #3 3C CS Sc cs s01
17、000100EOTEOTDC4DC4$ $4 4D DT Td dt t01010101ENQENQNAKNAK% %5 5E EU Ue eu u01100110ACKACKSYNSYN& &6 6F FV Vf fv v西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 21 頁(yè)7657654321432100000000100101001001101110010010110111011011111101110111BELBELETBETB7 7G GW Wg gw w10001000BSBSCANCAN(8 8H HX Xh hx x10011001HTH
18、TEMEM)9 9I IY Yi iy y10101010LFLFSUBSUB* *:J JZ Zj jz z10111011VTVTESCESC+ +;K K k k 11001100FFFFFSFS, N Nn n 11111111SISIVSVS/ /?O Oo oDELDEL西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 22 頁(yè)漢字編碼在ASCII碼編碼方案中,用到了一個(gè)字節(jié)的低7位,最多只能表示128個(gè)字符,但對(duì)于漢字來(lái)說(shuō),日常使用的漢字就有7000多個(gè),只用一個(gè)字節(jié)對(duì)漢字進(jìn)行編碼是不可能的,所以通常用多字節(jié)對(duì)漢字進(jìn)行編碼。(1)國(guó)標(biāo)碼(GB23
19、12-80編碼集)。 (2)漢字內(nèi)碼。 (3)區(qū)位碼。 (4)BIG5碼。 (5)中、日、韓統(tǒng)一大漢字編碼字符集。 西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 23 頁(yè)2.1.5 2.1.5 指令的表示及存儲(chǔ)指令的表示及存儲(chǔ)指令指令(Instruction)就是一組計(jì)算機(jī)能識(shí)別并能執(zhí)行的各種基本操作命令。指令構(gòu)成如圖示:指令系統(tǒng)指令系統(tǒng)(Instruction System)是一臺(tái)計(jì)算機(jī)的所有指令的集合。指令系統(tǒng)反映了計(jì)算機(jī)的基本功能,不同的計(jì)算機(jī)其指令系統(tǒng)不盡相同。操作碼指明該指令要完成的操作碼指明該指令要完成的操作,如加、減、乘、除。操作,如加、減、
20、乘、除。操作數(shù)是指參加運(yùn)操作數(shù)是指參加運(yùn)算的數(shù)據(jù)或者數(shù)據(jù)算的數(shù)據(jù)或者數(shù)據(jù)所在的地址。所在的地址。 操作碼 操作數(shù)西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 24 頁(yè)CPUCPU發(fā)出命令發(fā)出命令C CP Pu u CPU對(duì)根據(jù)該指令的內(nèi)容進(jìn)行運(yùn)算或者控制 內(nèi)存內(nèi)存內(nèi)存送出所需指令內(nèi)存送出所需指令計(jì)算機(jī)運(yùn)行計(jì)算機(jī)運(yùn)行指令的過(guò)程指令的過(guò)程CPU將要執(zhí)行的指令從內(nèi)存調(diào)入CPU判斷該指令所要完成的操作,然后向相應(yīng)部件發(fā)出完成操作的控制信號(hào),從而完成該指令的功能。內(nèi)存代碼區(qū)函數(shù)(1)1:-2: -3:-:函數(shù)(2)1:-2:-函數(shù) main1:-2:-內(nèi)存數(shù)據(jù)區(qū)西北
21、大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 25 頁(yè)第第2章章 C語(yǔ)言基本元素和語(yǔ)句語(yǔ)言基本元素和語(yǔ)句 2.1 數(shù)據(jù)的存儲(chǔ) 2.2 程序的基本元素 2.3 簡(jiǎn)單語(yǔ)句 2.4 條件語(yǔ)句 2.5 循環(huán)語(yǔ)句西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 26 頁(yè)第第2章章 C語(yǔ)言基本元素和語(yǔ)句語(yǔ)言基本元素和語(yǔ)句2.2.1 C語(yǔ)言的發(fā)展歷史及特點(diǎn)2.2.3 常量、變量2.2.4 運(yùn)算符和表達(dá)式2.2 程序的基本元素2.2.2 C語(yǔ)言的數(shù)據(jù)類型西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 27
22、頁(yè) 產(chǎn)生背景:從面向機(jī)器的語(yǔ)言到面向過(guò)程的語(yǔ)言 產(chǎn)生過(guò)程時(shí)間:19721973地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室目的:UNIX操作系統(tǒng)設(shè)計(jì)人: Ken.Thompson和Dennis.M.Ritchie C標(biāo)準(zhǔn)標(biāo)準(zhǔn)C: K&R合著The C Programming LanguageANSI C: 1983年87 ANSI C: 1987年1990年國(guó)際標(biāo)準(zhǔn)的ANSI C 2.2.1 C 語(yǔ)言發(fā)展歷史及特點(diǎn)西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 28 頁(yè)語(yǔ)言簡(jiǎn)潔、緊湊、靈活運(yùn)算符和數(shù)據(jù)類型豐富程序設(shè)計(jì)結(jié)構(gòu)化、模塊化生成目標(biāo)代碼質(zhì)量高可移植性好有少量可以訪問(wèn)硬件的語(yǔ)句
23、中級(jí)語(yǔ)言 2.2.1 C 語(yǔ)言發(fā)展歷史及特點(diǎn)西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 29 頁(yè)2.2.2 C語(yǔ)言的數(shù)據(jù)類型程序=數(shù)據(jù)描述+數(shù)據(jù)計(jì)算方法 一般的計(jì)算機(jī)語(yǔ)言在進(jìn)行數(shù)據(jù)描述的時(shí)候必須規(guī)定數(shù)據(jù)的類型方便存儲(chǔ)便于運(yùn)算西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 30 頁(yè)C C數(shù)數(shù)據(jù)據(jù)類類型型基本類型基本類型構(gòu)造類型構(gòu)造類型指針類型指針類型空類型空類型void定義類型定義類型typedef數(shù)值類數(shù)值類型型字符類型字符類型char枚舉類型枚舉類型enum整整 型型浮點(diǎn)型浮點(diǎn)型單精度型單精度型float雙精度型雙精
24、度型double短整型短整型short長(zhǎng)整型長(zhǎng)整型long整型整型int數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體struct共用體共用體union2.2.2 C語(yǔ)言的數(shù)據(jù)類型西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 31 頁(yè)常量:程序中其值不發(fā)生變化的量。常量:程序中其值不發(fā)生變化的量。語(yǔ)言中有數(shù)值常量字符常量字符串常量符號(hào)常量整型實(shí)型十進(jìn)制八進(jìn)制(由數(shù)字開(kāi)頭) 十六進(jìn)制( 由0 x 或0X 開(kāi)頭)常用形式(3.14159 , -0.555 , .666)指數(shù)形式(0.55e5 , 3.33E-3 , 4e+2(用單引號(hào)括起來(lái)的一個(gè)字符。如: a, D)(用雙引號(hào)括起來(lái)的
25、一串字符。如:abcd)(用一個(gè)標(biāo)識(shí)符代表一個(gè)常量)注意: a 和a的區(qū)別2.2.3 常量和變量西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 32 頁(yè) 標(biāo)識(shí)符 定義:用來(lái)標(biāo)識(shí)變量、常量、函數(shù)等的字符序列 組成:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字符必須是字母或下劃線大小寫敏感不能使用系統(tǒng)已用的關(guān)鍵字 長(zhǎng)度:最長(zhǎng)32個(gè)字符 命名原則:見(jiàn)名知意不易混淆 如1與I, o與0例:判斷下列標(biāo)識(shí)符號(hào)合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123M
26、.D.John3days#33char$123ab2.2.3 常量和變量西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 33 頁(yè)變量名,函數(shù)名等必須望文知意,不可用a,b,c, i,j,k 之類的簡(jiǎn)單變量名,除非確實(shí)是沒(méi)有特別意義的練習(xí)題。采用匈牙利變量命名法, 變量起名規(guī)則: 以小寫字母代表變量類型 n 代表整型,f代表實(shí)型,c代表字符型,an代表整型數(shù)組,af代表實(shí)型數(shù)組,p代表指針類型,pn代表整型指針類型等等(詳見(jiàn)變量起名規(guī)則)變量名一般是主謂結(jié)構(gòu),單詞首字母大寫例如: nCharNum, cString, 等等函數(shù)名一般是動(dòng)賓結(jié)構(gòu),單詞首字母大寫例
27、如:PrintStar( ), CalculateLine 等等2.2.3 常量和變量西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 34 頁(yè)符號(hào)常量定義方法符號(hào)常量定義方法#define PRICE 30 main() int num,total; num=10; /*Calculate total price*/ total=num*PRICE; /Output result printf(total=%d,total); 仿照練習(xí): 寫一個(gè)程序,定義半徑R為35,求圓面積整型數(shù):125 , 0125 , 0 x125 , +35 , -235 , -0
28、35實(shí)型數(shù):3.14159 , -555.6 , 888.0 , 0.88 , 8.88e+18 注意: 用指數(shù)形式表示的浮點(diǎn)數(shù)必須有尾數(shù),指數(shù)部分必須是整數(shù)。如:e4 , .e3 , 0.25e4.5 , e 等是錯(cuò)誤的。字符常量: b D 字符串常量: “Hello World !”常量例子西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 35 頁(yè)字符形式功能n 換行t 橫向跳格(即跳到下一個(gè)輸出區(qū)8列) v 豎向跳格 b 退格 r 回車 f 走紙換頁(yè) 反斜杠字符“” 和 ” 單引號(hào)字符();雙引號(hào)字符(”) ddd 1到3位8進(jìn)制數(shù)所代表的字符 xhh
29、1到2位16進(jìn)制數(shù)所代表的字符轉(zhuǎn)義字符常量:用轉(zhuǎn)義字符常量:用“”開(kāi)頭后跟一個(gè)字符,但含義非常特殊。開(kāi)頭后跟一個(gè)字符,但含義非常特殊。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 36 頁(yè)轉(zhuǎn)義字符例子轉(zhuǎn)義字符例子鞏固練習(xí):-請(qǐng)上機(jī)自己練習(xí) printf( ab ct derftgn); printf(“htibbj k”); 程序?qū)嵺`練習(xí):例 /*練習(xí) n t b r*/main() printf(“This is a c program.n”); printf(“Hello world!n); 西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights rese
30、rved 2011 第 37 頁(yè)變量:程序中其值可發(fā)生變化的量。變量:程序中其值可發(fā)生變化的量。每一個(gè)變量都應(yīng)有一個(gè)名字,稱為變量名。而且在內(nèi)存中占據(jù)一定的存儲(chǔ)空間,用來(lái)存放變量的值。 *變量起名除符合標(biāo)識(shí)符起名原則之外, 還要注意“望文知意”的原則語(yǔ)言規(guī)定對(duì)使用的變量必須語(yǔ)言規(guī)定對(duì)使用的變量必須先定義先定義,后使用后使用。目的:保證程序中變量名的正確使用??煞峙湎鄳?yīng)的存儲(chǔ)空間。便于檢查變量所進(jìn)行的運(yùn)算是否合法。2.2.3 2.2.3 常量和變量常量和變量西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 38 頁(yè)整型變量:(四種類型) 類型 所占位數(shù) 數(shù)的范圍
31、 基本型(int) 16 -3276832767 短整型(short int) 16 -3276832767 長(zhǎng)整型(long int) 32 -21474836482147483647 無(wú)符號(hào)整型(unsigned int) 16 065535 無(wú)符號(hào)短整型(unsigned short) 16 065535 無(wú)符號(hào)長(zhǎng)整型(unsigned long) 32 04294967295 無(wú)符號(hào)型整型變量整型變量西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 39 頁(yè)變量的定義格式變量的定義格式: 類型類型 變量名表列;變量名表列; 程序練習(xí): main() i
32、nt a,b,c,d; unsigned u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(a+u=%d,b+u=%dn,c,d); 整型變量定義的例子整型變量定義的例子西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 40 頁(yè)實(shí)型變量:(兩類) 類型 所占位數(shù) 數(shù)的范圍 單精度實(shí)型(float) 32 10 10 雙精度實(shí)型(double) 64 10 10 單精度實(shí)型提供7位有效數(shù)字,雙精度實(shí)型提供1516位有效數(shù)字。 如:float a; a=111111.111 (最后兩位小數(shù)不起作用) 而:double a; a=111
33、111.111 (全部接收)-3838 -308308實(shí)型變量實(shí)型變量西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 41 頁(yè)字符變量:char 用來(lái)存放一個(gè)字符常量。占一個(gè)字節(jié)(8位),存放該字符的ASCII碼值。 如:char c1,c2; c1=a;c2=b;字符型變量字符型變量例 main() char c1,c2; c1=97;c2=98; printf(%c %c,c1,c2); 97980110000101100010c1c1c2c2西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 42 頁(yè)例 main() c
34、har c1,c2; c1=a;c2=b; c1=c1-32;c2=c2-32; printf(%c %c,c1,c2); c1=a;c2=b;a=A+32ASCII碼表中大小寫字母之間具有:C語(yǔ)言中允許字符型數(shù)據(jù)與整型數(shù)據(jù)互相賦值。如: int i; i=a; char c; c=97;例 main() int i; char c; i=a; c=97; printf(%c,%dn,c,c); printf(%c,%dn,i,i); 輸出結(jié)果:a,97 a,97字符型數(shù)據(jù)的計(jì)算和賦值字符型數(shù)據(jù)的計(jì)算和賦值西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 43
35、 頁(yè)變量賦初值:在定義變量的同時(shí)給變量初始化。如:int a=10; float f=5.55; char c=a; int a=15,b=15,d=15;不能寫成:int a=b=d=15;格式為:類型變量名常量值 請(qǐng)分析下面程序:相當(dāng)于:int a; a=10;變量賦初值變量賦初值main() int a; printf(n%d,a); 輸出結(jié)果是什么?沒(méi)有賦初值的變量,其值為一個(gè)不定的值。引用該變量,就回出現(xiàn)上面程序中的問(wèn)題,產(chǎn)生莫名奇妙的結(jié)果。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 44 頁(yè)2.2.4 2.2.4 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式
36、 運(yùn)算符: 提供不同計(jì)算和處理方式的符號(hào) (目, 優(yōu)先級(jí), 結(jié)合性) 表達(dá)式:由運(yùn)算符和運(yùn)算對(duì)象(常量和變量)組成的式子,結(jié)果是一個(gè)確定的值和一個(gè)確定的類型西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 45 頁(yè)34種運(yùn)算符:算術(shù)運(yùn)算符:+ - * / % + -關(guān)系運(yùn)算符: = !=邏輯運(yùn)算符:! & |位運(yùn)算符 : | &賦值運(yùn)算符:= 及其擴(kuò)展條件運(yùn)算符:?:逗號(hào)運(yùn)算符:,指針運(yùn)算符:* &求字節(jié)數(shù) :sizeof強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:. -下標(biāo)運(yùn)算符:其它 :( ) -C程序的運(yùn)算符注意運(yùn)算符的運(yùn)算對(duì)象目數(shù)優(yōu)先級(jí)結(jié)合性西北大學(xué)信息科學(xué)與技
37、術(shù)學(xué)院. All rights reserved 2011 第 46 頁(yè)(1 1)算術(shù)運(yùn)算符和算術(shù)表達(dá)式)算術(shù)運(yùn)算符和算術(shù)表達(dá)式基本算術(shù)運(yùn)算符:+ 、 - 、 * 、 / 、 %(注:兩個(gè)整數(shù)相除,結(jié)果為整數(shù)。)算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性:用算術(shù)運(yùn)算符和括號(hào)“( )”將運(yùn)算對(duì)象連接起來(lái),符合語(yǔ)法規(guī)則的式子稱為算術(shù)表達(dá)式。 目: 雙目運(yùn)算對(duì)象:常量、變量、函數(shù)等。優(yōu)先級(jí):先乘除后加減。結(jié)合性:自左至右。例如:a*b/c-1.5+a ; a-(b*c)西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 47 頁(yè) C語(yǔ)言允許不同類型的數(shù)值型數(shù)據(jù)可以混合運(yùn)算,運(yùn)
38、算時(shí)系統(tǒng)自動(dòng)將數(shù)據(jù)轉(zhuǎn)換成同一類型數(shù)據(jù)。doublelongunsignedintfloatchar,short低級(jí)高級(jí)必定的轉(zhuǎn)換必定的轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 48 頁(yè)例如: 若有 int i, float f, double d, long e 則 10+a+i*f-d/e 表達(dá)式運(yùn)算次序?yàn)? 將a轉(zhuǎn)換成97,然后10+a運(yùn)算。 將i和f都轉(zhuǎn)換成double型,然后i*f運(yùn)算。 將的結(jié)果轉(zhuǎn)換為double型,然后與的結(jié)果相加。 將e轉(zhuǎn)換成double型,然后d/e運(yùn)算。 用的結(jié)果減的結(jié)果。強(qiáng)制類型轉(zhuǎn)換:格式
39、如下例如:(double) a、(int)(x+y)、(float)(5%3)、(int)x+y(類型名)(表達(dá)式)強(qiáng)制類型轉(zhuǎn)換西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 49 頁(yè)賦值符號(hào):(將賦值符右邊表達(dá)式的值賦給賦值符左邊的一個(gè)變量。) 賦值運(yùn)算符的數(shù)據(jù)類型若不一致,則要進(jìn)行類型轉(zhuǎn)換。轉(zhuǎn)換方式為: 將實(shí)型數(shù)據(jù)賦給整型變量時(shí),舍棄實(shí)數(shù)的小數(shù)部分。如:i=5.65 , i 的值為 5。 將整型數(shù)據(jù)賦給實(shí)型變量時(shí),數(shù)值不變。 將字符數(shù)據(jù)賦給整型變量時(shí),將字符數(shù)據(jù)放到整型變量低8位中。 兩種情況: 若字符最高位為1,整型變量的高8位置1,否則高8位置0。若
40、把字符處理為無(wú)符號(hào)的量,整型變量的高8位置0。1 1 11 11 1011 11 11 101 1 11 11 11C=37611 11 11 10 11 11 11 100 0 00 00 00C=376i的值為254i的值為-2(2 2)賦值運(yùn)算符和賦值表達(dá)式)賦值運(yùn)算符和賦值表達(dá)式西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 50 頁(yè) 將整型數(shù)據(jù)賦給長(zhǎng)整型變量時(shí),將整型數(shù)據(jù)放入長(zhǎng)整型變量的低16位,若整型數(shù)為負(fù)數(shù),長(zhǎng)整型變量的高16位置1,否則長(zhǎng)整型變量的高16位置0。 將長(zhǎng)整型數(shù)據(jù)賦給整型變量時(shí),取長(zhǎng)整型數(shù)據(jù)低16位。 將unsigned int
41、賦給 long int 時(shí),將unsigned int 放入long int的低16位,高16位置0。 unsigned int 賦給 int 將unsigned long 賦給 long 時(shí),原樣賦值。 unsigned short 賦給 short 例如:若unsigned int a=65535; int b; b=a; 則:b的值為-1。 int 賦給 unsigned int 將 long 賦給 unsigned long 時(shí),原樣賦值。 short 賦給 unsigned short 例如:main() unsigned a; int b=-1; a=b; printf(“%u”,
42、a); 應(yīng)注意數(shù)值的范圍,超出則數(shù)據(jù)出錯(cuò)在負(fù)數(shù)時(shí),數(shù)值發(fā)生變化。11 11 11 11 11 11 11 111 1 11 11 11 11 11 11 11ba11 11 11 11 11 11 11 111 1 11 11 11 11 11 11 11ba西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 51 頁(yè)自增、自減運(yùn)算符:+ , - (使變量的值增或減)結(jié)合性:自右至左。 例如: +i , -i (先自增或自減,后引用) i+ , i- (先引用,后自增或自減) i=3; printf(“%d”,+i); i=3; printf(“%d”,i+);
43、自增自減運(yùn)算符自增自減運(yùn)算符注意:自增自減只能用于變量西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 52 頁(yè)+= , = , *= , /= , %= , = , &= , = , |=(算術(shù)自反賦值運(yùn)算符)例如:a+=3 等價(jià)于 a=a+3 x*=y+8 等價(jià)于 x=x*(y+8) x%=3 等價(jià)于 x=x%3賦值表達(dá)式:由賦值運(yùn)算符將一個(gè)變量和一個(gè)表達(dá)式連接起來(lái)的式子。格式為: 位運(yùn)算注:若右邊為表達(dá)式應(yīng)加圓括號(hào)“( )”!復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 53 頁(yè) 賦值
44、運(yùn)算符結(jié)合性為:“自右而左”。 例如: a=b=c=5 a=5+(c=6) a=(b=4)+(c=6) a=(b=10)/(c=2) a+=a =a*a 若 a=5, 則賦值表達(dá)式的值為40。 若x的值是8, 則表達(dá)式x*=x-=x+=x的值?西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 54 頁(yè)逗號(hào)運(yùn)算符: , 自左向右格式:表達(dá)式1,表達(dá)式2,表達(dá)式3,表達(dá)式n優(yōu)先級(jí):最低。逗號(hào)表達(dá)式的值為表達(dá)式n的值。例如: a=3*5,a*4 (a=3*5,a*4),a+5 x=(a=3,6*3) x=a=3,6*a(3)逗號(hào)運(yùn)算符和逗號(hào)表達(dá)式西北大學(xué)信息科學(xué)與技
45、術(shù)學(xué)院. All rights reserved 2011 第 55 頁(yè)關(guān)系運(yùn)算符用于兩個(gè)數(shù)值之間的比較運(yùn)算。語(yǔ)言提供6種關(guān)系運(yùn)算符,它們是:、=、=、!=優(yōu)先級(jí)相同優(yōu)先級(jí)相同高到低關(guān)系運(yùn)算符、算術(shù)運(yùn)算符和賦值運(yùn)算符的優(yōu)先級(jí)為:算術(shù)運(yùn)算符關(guān)系運(yùn)算符賦值運(yùn)算符低高(4 )關(guān)系運(yùn)算符和關(guān)系表達(dá)式西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 56 頁(yè) 例如: ca+b 等效于 c(a+b) ab!=c 等效于 (ab)!=c a=bc 等效于 a=(bc 等效于 a=(bc)關(guān)系表達(dá)式:用關(guān)系運(yùn)算符將兩個(gè)表達(dá)式連接起來(lái)的式子。關(guān)系表達(dá)式運(yùn)算結(jié)果為:“真”或“假”
46、值。語(yǔ)言用1代表“真”值,用0代表“假”值。同時(shí)系統(tǒng)在運(yùn)算時(shí)以非0為“真”值,以0為“假”值。例如:若 a=3,b=2,c=1 f=abc 則f的值為0。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 57 頁(yè)語(yǔ)言提供3種邏輯運(yùn)算符:邏輯運(yùn)算符邏輯運(yùn)算符 結(jié)合性結(jié)合性 優(yōu)先級(jí)優(yōu)先級(jí)& 與 自左至右 中 | 或 自左至右 低 ! 非 自右至左 高(5)邏輯運(yùn)算符和邏輯表達(dá)式西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 58 頁(yè)邏輯表達(dá)式:用邏輯運(yùn)算符將關(guān)系表達(dá)式或邏輯量連接起來(lái)的式子。運(yùn)算結(jié)果為:“真”或“假”值。系統(tǒng)在運(yùn)
47、算時(shí)以非0為“真”值,以0為“假”值。邏輯運(yùn)算:ab&00010011ab|0111001101a!a例如: 4&0|2 的值為1 5&!0 的值為1與運(yùn)算或運(yùn)算非運(yùn)算西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 59 頁(yè) 運(yùn)算符 優(yōu)先級(jí) 邏輯非! 高算術(shù)運(yùn)算符 關(guān)系運(yùn)算符 &和| 賦值運(yùn)算符 低邏輯、關(guān)系、算術(shù)和賦值運(yùn)算符的優(yōu)先級(jí)為:例如:(ab)&(xy) 可以寫成ab&xy (a=b)|(x=y) 可以寫成 a=b|x=y (!a)|(ab) 可以寫成 !a|ab 53&2|8b)&n=c4) 設(shè) a=1,b=2,c=3,m=1,n=1。 則 m為0
48、 , n 為 1。請(qǐng)問(wèn)表達(dá)式 x0&xb?a:b 條件運(yùn)算符的優(yōu)先級(jí)低于邏輯、關(guān)系、算術(shù)運(yùn)算符高于賦值運(yùn)算符。如: ab?a:b+1 相當(dāng)于 (ab)?a:(b+1) (6)條件運(yùn)算符和表達(dá)式西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 62 頁(yè)條件運(yùn)算符的結(jié)合性為:“自右至左”。如: ab?a:cd?c:d 相當(dāng)于 ab?a:(cd?c:d)注意:條件表達(dá)式中的表達(dá)式1、表達(dá)式2、表達(dá)式3可以是不同的類型。 main() float p; char x,y;scanf(%c%c,&x,&y); /*Input x and y*/ p=xy?1:1.5;
49、printf(n%f,p); /* Output the result*/ 西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 63 頁(yè)第第2章章 C語(yǔ)言基本元素和語(yǔ)句語(yǔ)言基本元素和語(yǔ)句 2.1 數(shù)據(jù)的存儲(chǔ) 2.2 程序的基本元素 2.3 簡(jiǎn)單語(yǔ)句 2.4 條件語(yǔ)句 2.5 循環(huán)語(yǔ)句西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 64 頁(yè)第第2章章 C語(yǔ)言基本元素和語(yǔ)句語(yǔ)言基本元素和語(yǔ)句2.3.1 C語(yǔ)句概述2.3.3 輸出語(yǔ)句2.3.4 輸入語(yǔ)句2.3 簡(jiǎn)單語(yǔ)句2.3.2 賦值語(yǔ)句西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rig
50、hts reserved 2011 第 65 頁(yè)2.3 簡(jiǎn)單語(yǔ)句2.3.1 2.3.1 語(yǔ)句概述語(yǔ)句概述語(yǔ)言的語(yǔ)句是用來(lái)向計(jì)算機(jī)系統(tǒng)發(fā)出操作指令。每語(yǔ)言的語(yǔ)句是用來(lái)向計(jì)算機(jī)系統(tǒng)發(fā)出操作指令。每一個(gè)為實(shí)現(xiàn)特定目的的程序都包含若干個(gè)語(yǔ)句。一個(gè)為實(shí)現(xiàn)特定目的的程序都包含若干個(gè)語(yǔ)句。 五種五種分類:分類: 控制語(yǔ)句:完成一定的控制功能??刂普Z(yǔ)句:完成一定的控制功能。 函數(shù)調(diào)用語(yǔ)句:由一次函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成。函數(shù)調(diào)用語(yǔ)句:由一次函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成。 如:如:scanf(%dn,&a); 表達(dá)式語(yǔ)句:由表達(dá)式加一個(gè)分號(hào)構(gòu)成。表達(dá)式語(yǔ)句:由表達(dá)式加一個(gè)分號(hào)構(gòu)成。如:如:i=i+1; 空語(yǔ)句:由一個(gè)分
51、號(hào)構(gòu)成。空語(yǔ)句:由一個(gè)分號(hào)構(gòu)成。 復(fù)合語(yǔ)句;由一對(duì)大括號(hào)復(fù)合語(yǔ)句;由一對(duì)大括號(hào)“”組成。組成。 如:如:z=x+y; b=15; printf(%d,b); 西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 66 頁(yè)程序的三種基本控制結(jié)構(gòu)程序的三種基本控制結(jié)構(gòu)順序結(jié)構(gòu):從前向后順序執(zhí)行程序。順序結(jié)構(gòu):從前向后順序執(zhí)行程序。選擇結(jié)構(gòu):根據(jù)判斷條件的結(jié)果選擇執(zhí)行程序。選擇結(jié)構(gòu):根據(jù)判斷條件的結(jié)果選擇執(zhí)行程序。 其中包括:?jiǎn)螚l件選擇語(yǔ)句其中包括:?jiǎn)螚l件選擇語(yǔ)句 多條件選擇語(yǔ)句多條件選擇語(yǔ)句 循環(huán)結(jié)構(gòu):根據(jù)條件反復(fù)的執(zhí)行某一段程序若干次循環(huán)結(jié)構(gòu):根據(jù)條件反復(fù)的執(zhí)行某一
52、段程序若干次。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 67 頁(yè)2.3.2 賦值語(yǔ)句由賦值表達(dá)式加一個(gè)分號(hào)構(gòu)成。由賦值表達(dá)式加一個(gè)分號(hào)構(gòu)成。 如:如:h=49; 注意:賦值語(yǔ)句與賦值表達(dá)式的區(qū)別。注意:賦值語(yǔ)句與賦值表達(dá)式的區(qū)別。 如:如:if (a=b)0) t=a;賦值表達(dá)式賦值語(yǔ)句西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 68 頁(yè)2.3.3 2.3.3 輸出語(yǔ)句輸出語(yǔ)句語(yǔ)言數(shù)據(jù)輸出,是由調(diào)用輸出函數(shù)來(lái)完成。語(yǔ)言數(shù)據(jù)輸出,是由調(diào)用輸出函數(shù)來(lái)完成。putchar函數(shù)函數(shù)功能:向終端輸出一個(gè)字符。功能:向終端輸
53、出一個(gè)字符。 格式:格式: putchar (ch) 函數(shù)名參數(shù)西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 69 頁(yè) 例例2.3.1 #include stdio.h main() char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c);putchar(n); 結(jié)果結(jié)果: BOY 格式輸出函數(shù)格式輸出函數(shù)printf() 功能:輸出若干個(gè)任意類型的數(shù)據(jù)。功能:輸出若干個(gè)任意類型的數(shù)據(jù)。格式:格式:printf(格式控制格式控制,參數(shù)參數(shù)1,參數(shù)參數(shù)2,參數(shù)參數(shù)3, )由格式說(shuō)明和普通字符構(gòu)成輸出
54、數(shù)據(jù)。由表達(dá)式構(gòu)成。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 70 頁(yè) 格式字符:格式字符:格式字符格式字符 作用作用 d 用來(lái)輸出十進(jìn)制整數(shù)。用來(lái)輸出十進(jìn)制整數(shù)。 o 用來(lái)輸出用來(lái)輸出8進(jìn)制整數(shù)。進(jìn)制整數(shù)。 x 用來(lái)輸出用來(lái)輸出16進(jìn)制整數(shù)。進(jìn)制整數(shù)。 c 用來(lái)輸出單個(gè)字符。用來(lái)輸出單個(gè)字符。 用來(lái)輸出字符串,在輸出時(shí)以非空白字符開(kāi)始,以第一個(gè)空白字符用來(lái)輸出字符串,在輸出時(shí)以非空白字符開(kāi)始,以第一個(gè)空白字符 s 結(jié)束。字符串以串結(jié)束標(biāo)志結(jié)束。字符串以串結(jié)束標(biāo)志0作為其最后一個(gè)字符。作為其最后一個(gè)字符。 f用來(lái)輸出實(shí)數(shù),可以用小數(shù)形式或指數(shù)形式輸出。
55、用來(lái)輸出實(shí)數(shù),可以用小數(shù)形式或指數(shù)形式輸出。 e (g) 與與f作用相同,作用相同,e與與f可以互相替代??梢曰ハ嗵娲8袷秸f(shuō)明:由格式說(shuō)明:由%后跟一個(gè)格式字符組成。中間可插入后跟一個(gè)格式字符組成。中間可插入l、m、n、和幾個(gè)附加符號(hào)。、和幾個(gè)附加符號(hào)。 普通字符:照原樣輸出。普通字符:照原樣輸出。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 71 頁(yè)例:long a=135790; printf(%ld,a );例:a=-1; printf(%d,%o,%x,a,a,a);例:main() unsigned int a=65535; int b= -2
56、; printf(a=%d,%o,%x,%un,a,a,a,a); printf(b=%d,%o,%x,%un,b,b,b,b); 例:main() int i=234; char c=a; printf(%d,%5d,%c,%3c,i,i,c,c); 1 1 11 11 11 11 11 11 11a=135790輸出為:-1,177777,ffffa=-1,177777,ffff,65535b=-2,177776,fffe,65534結(jié)果為234, 234,a, a結(jié)果為指定輸出寬度。數(shù)據(jù)寬度不夠,前面補(bǔ)空格,超過(guò)則原樣輸出。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserv
57、ed 2011 第 72 頁(yè) 附加格式說(shuō)明字符: 字 符 作用 字母 l 用于長(zhǎng)整型整型,可加在格式符d、o、x、u前面。 m(代表一個(gè)正整數(shù)) 數(shù)據(jù)最小寬度。 .n(代表一個(gè)正整數(shù)) 對(duì)實(shí)數(shù),表示輸出n位小數(shù);對(duì)字符串,表示截取的字符個(gè)數(shù)。 - 輸出的數(shù)字或字符在域內(nèi)向左靠。例:main() printf(%3s,%7.2s,%.4s,%-5.3sn, CHINA, CHINA, CHINA, CHINA); 例:main() float f=123.456; printf(%f %10f %10.2f %.2f %-10.2fn,f,f,f,f,f); 輸出為: CHINA, CH,CHI
58、N,CHI 輸出為: 123.455994 123.455994 123.46 123.46 123.46西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 73 頁(yè)例:main() float f=123.456; printf(%e %10e %10.2e %.2e %-10.2en,f,f,f,f,f); 輸出結(jié)果為: 1.234560e+002 1.234560e+002 1.23e+002 1.23e+002 1.23e+002 13列13列10列9列10列例: main() float f=123.456; printf(%f %10e %gn,f,
59、f,f); 輸出為:123.456000 1.234560e+002 123.45613列10列10列格式控制字符串中用連續(xù)兩個(gè)%,表示輸出一個(gè)%。 如:printf(“%f%”,1.0/3); 輸出為:0.333333%西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 74 頁(yè)2.3.4 2.3.4 輸入語(yǔ)句輸入語(yǔ)句語(yǔ)言數(shù)據(jù)輸入,是由調(diào)用輸入函數(shù)來(lái)完成。語(yǔ)言數(shù)據(jù)輸入,是由調(diào)用輸入函數(shù)來(lái)完成。getchar函數(shù)函數(shù)功能:功能: 從輸入設(shè)備輸入一個(gè)字符。從輸入設(shè)備輸入一個(gè)字符。 格式:格式: getchar () 例例2.3.2 : #include stdio
60、.h main() char c; c=getchar(); putchar(c); 格式輸入函數(shù)格式輸入函數(shù)scanf() 功能:輸入若干個(gè)任意類型的數(shù)據(jù)。功能:輸入若干個(gè)任意類型的數(shù)據(jù)。 格式:格式:scanf(“格式控制格式控制”,輸入變量地址表輸入變量地址表 ) 只能接收一個(gè)字符!由格式說(shuō)明和普通字符構(gòu)成變量的地址或字符串的首地址。西北大學(xué)信息科學(xué)與技術(shù)學(xué)院. All rights reserved 2011 第 75 頁(yè)格式說(shuō)明:由格式說(shuō)明:由%后跟一個(gè)格式字符組成。后跟一個(gè)格式字符組成。中間可插入中間可插入l、h、m、幾個(gè)附加字符。、幾個(gè)附加字符。 普通字符:照原樣輸入。普通字符:
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 離婚協(xié)議中共同債務(wù)分擔(dān)調(diào)整補(bǔ)充協(xié)議(2025年度)
- 2025年度藝術(shù)教育培訓(xùn)機(jī)構(gòu)報(bào)名保障合同
- 花店特色主題店合作經(jīng)營(yíng)協(xié)議(2025年度)
- 二零二五年度贍養(yǎng)老人稅收優(yōu)惠操作協(xié)議
- 肉牛養(yǎng)殖產(chǎn)業(yè)標(biāo)準(zhǔn)化體系建設(shè)合作合同(2025年度)
- 同城轉(zhuǎn)讓飯館合同范本
- 二零二五年度同居關(guān)系終止合同范本
- 小學(xué)英語(yǔ)怎么選試卷的
- 2025年度水稻種植與農(nóng)業(yè)扶貧合作合同
- 二零二五年度水電項(xiàng)目施工安全防護(hù)措施合同范本
- 玻璃體腔注藥及圍注射期管理
- 技術(shù)學(xué)院各部門廉政風(fēng)險(xiǎn)點(diǎn)、防控措施匯編
- JGJ133-2001 金屬與石材幕墻工程技術(shù)規(guī)范
- 穩(wěn)定性冠心病診斷與治療指南
- (高清版)JGT 225-2020 預(yù)應(yīng)力混凝土用金屬波紋管
- 鑒賞詩(shī)歌人物形象市公開(kāi)課一等獎(jiǎng)省賽課微課金獎(jiǎng)?wù)n件
- 2024年4月自考06088管理思想史試題
- 校園超市經(jīng)營(yíng)投標(biāo)方案(技術(shù)方案)
- 家具拆裝合同
- JTT791-2010 公路涵洞通道用波紋鋼管(板)
- 2024年黑龍江農(nóng)墾科技職業(yè)學(xué)院高職單招(英語(yǔ)/數(shù)學(xué)/語(yǔ)文)筆試歷年參考題庫(kù)含答案解析
評(píng)論
0/150
提交評(píng)論