![《c語言程序設(shè)計(jì)基礎(chǔ)》2基本數(shù)據(jù)類型及運(yùn)算_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/31/48f01ba0-4d95-466c-9d62-1117846d2799/48f01ba0-4d95-466c-9d62-1117846d27991.gif)
![《c語言程序設(shè)計(jì)基礎(chǔ)》2基本數(shù)據(jù)類型及運(yùn)算_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/31/48f01ba0-4d95-466c-9d62-1117846d2799/48f01ba0-4d95-466c-9d62-1117846d27992.gif)
![《c語言程序設(shè)計(jì)基礎(chǔ)》2基本數(shù)據(jù)類型及運(yùn)算_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/31/48f01ba0-4d95-466c-9d62-1117846d2799/48f01ba0-4d95-466c-9d62-1117846d27993.gif)
![《c語言程序設(shè)計(jì)基礎(chǔ)》2基本數(shù)據(jù)類型及運(yùn)算_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/31/48f01ba0-4d95-466c-9d62-1117846d2799/48f01ba0-4d95-466c-9d62-1117846d27994.gif)
![《c語言程序設(shè)計(jì)基礎(chǔ)》2基本數(shù)據(jù)類型及運(yùn)算_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/31/48f01ba0-4d95-466c-9d62-1117846d2799/48f01ba0-4d95-466c-9d62-1117846d27995.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第第2章章 基本數(shù)據(jù)類型及運(yùn)算基本數(shù)據(jù)類型及運(yùn)算2第第2 2章章 基本數(shù)據(jù)類型及運(yùn)算基本數(shù)據(jù)類型及運(yùn)算本章內(nèi)容本章內(nèi)容 2.2 標(biāo)準(zhǔn)輸入輸出函數(shù)標(biāo)準(zhǔn)輸入輸出函數(shù) 2.3 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式 2.4 算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式 2.1 數(shù)據(jù)類型數(shù)據(jù)類型 2.5 自增自減運(yùn)算符及其表達(dá)式自增自減運(yùn)算符及其表達(dá)式3第第2 2章章 基本數(shù)據(jù)類型及運(yùn)算基本數(shù)據(jù)類型及運(yùn)算 2.7 關(guān)系運(yùn)算符和關(guān)系表達(dá)式關(guān)系運(yùn)算符和關(guān)系表達(dá)式 2.8 邏輯運(yùn)算符和邏輯表達(dá)式邏輯運(yùn)算符和邏輯表達(dá)式 2.9 其他類型運(yùn)算符和表達(dá)式其他類型運(yùn)算符和表達(dá)式 2.6 賦值運(yùn)算符和賦值表達(dá)式賦值運(yùn)算符和賦值
2、表達(dá)式 2.11 庫函數(shù)庫函數(shù) 2.10 表達(dá)式的運(yùn)算順序和類型轉(zhuǎn)換表達(dá)式的運(yùn)算順序和類型轉(zhuǎn)換4 2.1 2.1 數(shù)據(jù)類型數(shù)據(jù)類型本節(jié)內(nèi)容本節(jié)內(nèi)容 2.1.2 常量與變量常量與變量 2.1.3 整型整型 2.1.4 實(shí)型實(shí)型 2.1.1 標(biāo)識(shí)符標(biāo)識(shí)符 2.1.5 字符型字符型5本章要點(diǎn)本章要點(diǎn)n數(shù)據(jù)的描述規(guī)則數(shù)據(jù)的描述規(guī)則n數(shù)據(jù)的操作規(guī)則數(shù)據(jù)的操作規(guī)則6 2.1 2.1 數(shù)據(jù)類型數(shù)據(jù)類型v圓的半徑為圓的半徑為5cm5cm,計(jì)算圓的面積并輸出,計(jì)算圓的面積并輸出程序中的數(shù)據(jù):程序中的數(shù)據(jù): r r、areaarea 5 5、對數(shù)據(jù)的運(yùn)算:對數(shù)據(jù)的運(yùn)算: * * 、= =#include void
3、 main() float r, area; r = 5; area = 3.14*r*r; printf (%f n, area);7 2.1 2.1 數(shù)據(jù)類型數(shù)據(jù)類型v計(jì)算機(jī)在操作處理時(shí),要完成以下工作:計(jì)算機(jī)在操作處理時(shí),要完成以下工作:v在內(nèi)存中要給半徑在內(nèi)存中要給半徑 r r 和面積和面積 areaarea 開辟存儲(chǔ)空間,開辟存儲(chǔ)空間,存放存放它們的它們的值。值。應(yīng)該留多大的地方來存放應(yīng)該留多大的地方來存放其其值?值?v數(shù)據(jù)數(shù)據(jù) 5 5 和和 與與 r r、areaarea 不同,它們是在編寫程不同,它們是在編寫程序時(shí)就給出確定的值,在運(yùn)算過程中不會(huì)改變。序時(shí)就給出確定的值,在運(yùn)算過
4、程中不會(huì)改變。這樣的數(shù)計(jì)算機(jī)怎么處理?這樣的數(shù)計(jì)算機(jī)怎么處理?v對對整數(shù)整數(shù) 5 5 和和小數(shù)小數(shù),存放時(shí)是否有區(qū)別?存放時(shí)是否有區(qū)別?涉及數(shù)據(jù)類型涉及數(shù)據(jù)類型的基本知識(shí)的基本知識(shí)82.1 2.1 數(shù)據(jù)類型數(shù)據(jù)類型C C語言語言數(shù)據(jù)類型數(shù)據(jù)類型數(shù)組類型數(shù)組類型結(jié)構(gòu)體類型結(jié)構(gòu)體類型共用體類型共用體類型枚舉類型枚舉類型整型整型字符型字符型實(shí)型實(shí)型( (浮點(diǎn)型浮點(diǎn)型) ) 基本類型基本類型指針類型指針類型構(gòu)造類型構(gòu)造類型空類型空類型單精度型單精度型 雙精度型雙精度型9 2.1.1 2.1.1 標(biāo)識(shí)符標(biāo)識(shí)符vC C程序是程序是基本字符基本字符的序列。的序列。v基本字符包括:基本字符包括: 數(shù)字(數(shù)字(
5、0 09 9) 大小寫字母(大小寫字母(a az z,A AZ Z) 標(biāo)點(diǎn)符號(hào)標(biāo)點(diǎn)符號(hào) 特殊字符:空格、換行、制表符特殊字符:空格、換行、制表符等,起分隔的等,起分隔的作用。增刪空白一般不影響程序的意義。作用。增刪空白一般不影響程序的意義。10 2.1.1 2.1.1 標(biāo)識(shí)符標(biāo)識(shí)符v標(biāo)識(shí)符標(biāo)識(shí)符是一個(gè)字符序列,用來標(biāo)識(shí)程序中用到的是一個(gè)字符序列,用來標(biāo)識(shí)程序中用到的常量、變量、函數(shù)、數(shù)組、語句標(biāo)號(hào)以及符號(hào)常常量、變量、函數(shù)、數(shù)組、語句標(biāo)號(hào)以及符號(hào)常量等的名稱。量等的名稱。vC C語言規(guī)定標(biāo)識(shí)符應(yīng)滿足以下規(guī)則:語言規(guī)定標(biāo)識(shí)符應(yīng)滿足以下規(guī)則: 只能由只能由字母字母、下劃線下劃線和和數(shù)字?jǐn)?shù)字組成組成
6、 第一個(gè)字符不能是數(shù)字第一個(gè)字符不能是數(shù)字 標(biāo)識(shí)符中的字母區(qū)別標(biāo)識(shí)符中的字母區(qū)別大小寫大小寫 不能使用不能使用C C語言的語言的關(guān)鍵字關(guān)鍵字vC C語言中有語言中有3 3類標(biāo)識(shí)符:關(guān)鍵字,系統(tǒng)預(yù)定義的標(biāo)類標(biāo)識(shí)符:關(guān)鍵字,系統(tǒng)預(yù)定義的標(biāo)識(shí)符識(shí)符 ,用戶標(biāo)識(shí)符。,用戶標(biāo)識(shí)符。112.1.1 2.1.1 標(biāo)識(shí)符標(biāo)識(shí)符v關(guān)鍵字:關(guān)鍵字:C C語言規(guī)定的具有特定意義的字符串,通語言規(guī)定的具有特定意義的字符串,通常也稱保留字(小寫字母)。常也稱保留字(小寫字母)。 標(biāo)識(shí)數(shù)據(jù)類型(標(biāo)識(shí)數(shù)據(jù)類型(1414個(gè)):個(gè)):intint、longlong、charchar、floatfloat、doubledoubl
7、e等等 標(biāo)識(shí)存儲(chǔ)類型(標(biāo)識(shí)存儲(chǔ)類型(5 5個(gè)):個(gè)):autoauto、staticstatic、registerregister等等 標(biāo)識(shí)流程控制(標(biāo)識(shí)流程控制(1212個(gè)):個(gè)):gotogoto、breakbreak、ifif、elseelse、continuecontinue等等 標(biāo)識(shí)運(yùn)算符(標(biāo)識(shí)運(yùn)算符(1 1個(gè)):個(gè)):sizeofsizeof 12 2.1.1 2.1.1 標(biāo)識(shí)符標(biāo)識(shí)符v2.1.1.2 2.1.1.2 預(yù)定義標(biāo)識(shí)符預(yù)定義標(biāo)識(shí)符v總是以固定的形式用于專門的地方,例如標(biāo)識(shí)庫函總是以固定的形式用于專門的地方,例如標(biāo)識(shí)庫函數(shù)名和編譯預(yù)處理命令。數(shù)名和編譯預(yù)處理命令。 編譯預(yù)
8、處理命令:編譯預(yù)處理命令: definedefine,endefendef,ifdefifdef,endifendif,includeinclude等等 。 標(biāo)準(zhǔn)庫函數(shù):標(biāo)準(zhǔn)庫函數(shù): 數(shù)學(xué)函數(shù):數(shù)學(xué)函數(shù):sqrtsqrt,sinsin,coscos,powpow,loglog,fabsfabs,expexp等。等。 輸入輸出函數(shù):輸入輸出函數(shù):scanfscanf,printfprintf,getchargetchar,getsgets等。等。v2.1.1.3 2.1.1.3 用戶自定義標(biāo)識(shí)符用戶自定義標(biāo)識(shí)符v用戶根據(jù)自己的需要定義的一類標(biāo)識(shí)符,主要用于用戶根據(jù)自己的需要定義的一類標(biāo)識(shí)符,主要
9、用于標(biāo)識(shí)變量、函數(shù)、數(shù)組名等。標(biāo)識(shí)變量、函數(shù)、數(shù)組名等。13 2.1.2 2.1.2 常量與變量常量與變量v2.1.2.1 常量常量v常量是指在程序中固定不變的數(shù)據(jù)量。常量又可常量是指在程序中固定不變的數(shù)據(jù)量。常量又可分為直接常量和符號(hào)常量。分為直接常量和符號(hào)常量。 直接常量:就是在程序中直接引用的數(shù)據(jù):直接常量:就是在程序中直接引用的數(shù)據(jù): 整型常量:整型常量:1,0,-50,32767。 實(shí)型常量:,。實(shí)型常量:,。 字符常量:字符常量:A,$,s。 字符串常量:字符串常量:Good morning,how are you。14 2.1.2 2.1.2 常量與變量常量與變量v符號(hào)常量:是用
10、標(biāo)識(shí)符表示一個(gè)數(shù)據(jù)。定義符號(hào)常符號(hào)常量:是用標(biāo)識(shí)符表示一個(gè)數(shù)據(jù)。定義符號(hào)常量:量: #define #define 標(biāo)識(shí)符標(biāo)識(shí)符 常量常量v#define#define是一條預(yù)處理命令,稱為宏定義,其功能是是一條預(yù)處理命令,稱為宏定義,其功能是把該標(biāo)識(shí)符定義為其后的常量值。一經(jīng)定義,以后把該標(biāo)識(shí)符定義為其后的常量值。一經(jīng)定義,以后在程序中所有出現(xiàn)該標(biāo)識(shí)符的地方均代之以該常量在程序中所有出現(xiàn)該標(biāo)識(shí)符的地方均代之以該常量值。習(xí)慣上符號(hào)常量的標(biāo)識(shí)符用大寫字母。值。習(xí)慣上符號(hào)常量的標(biāo)識(shí)符用大寫字母。v標(biāo)識(shí)符標(biāo)識(shí)符PIPI代表常量。程序中,凡是出現(xiàn)標(biāo)識(shí)符代表常量。程序中,凡是出現(xiàn)標(biāo)識(shí)符PIPI的的地方都
11、用替換。地方都用替換。15例在程序中使用符號(hào)常量例在程序中使用符號(hào)常量#define PRICE 30#define PRICE 30#include #include void main ( )void main ( ) int num, total; int num, total; num=10; num=10; total=num total=num * * PRICE; PRICE; printf(total=%dn,total); printf(total=%dn,total); 用一個(gè)標(biāo)識(shí)符代表一個(gè)常量。符號(hào)常量的值在其作用域內(nèi)不能改變,也不能再被賦值。 運(yùn)行結(jié)果:運(yùn)行結(jié)果: to
12、tal=300total=300 程序中用程序中用#define#define命令行定義命令行定義PRICEPRICE代表常量代表常量30,30,此后凡在本文件中出現(xiàn)的此后凡在本文件中出現(xiàn)的PRICEPRICE都代表都代表30,30,可以和常量一樣進(jìn)行運(yùn)算可以和常量一樣進(jìn)行運(yùn)算如再用賦值語句給如再用賦值語句給PRICE賦值是錯(cuò)的賦值是錯(cuò)的PRICE=40; / /* * 錯(cuò)誤,不能給符號(hào)常錯(cuò)誤,不能給符號(hào)常量賦量賦不能對符號(hào)常量指定類型不能對符號(hào)常量指定類型int PRICE; / /* * 錯(cuò)誤,錯(cuò)誤,PRICEPRICE不是變量不是變量,不能指定類型,不能指定類型 * */ / 16 2.
13、1.2 2.1.2 常量與變量常量與變量v2.1.2.2 2.1.2.2 變量變量v變量代表內(nèi)存中具有特定屬性的一個(gè)存儲(chǔ)單元,變量代表內(nèi)存中具有特定屬性的一個(gè)存儲(chǔ)單元,它用來存放數(shù)據(jù),也就是變量的值,在程序運(yùn)行它用來存放數(shù)據(jù),也就是變量的值,在程序運(yùn)行期間,這些值是可以改變的。期間,這些值是可以改變的。v變量名實(shí)際上是一個(gè)以一個(gè)名字對應(yīng)代表一個(gè)地變量名實(shí)際上是一個(gè)以一個(gè)名字對應(yīng)代表一個(gè)地址,在對程序編譯連接時(shí)由編譯系統(tǒng)給每一個(gè)變址,在對程序編譯連接時(shí)由編譯系統(tǒng)給每一個(gè)變量名分配對應(yīng)的內(nèi)存地址。從變量中取值,實(shí)際量名分配對應(yīng)的內(nèi)存地址。從變量中取值,實(shí)際上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲(chǔ)
14、上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲(chǔ)單元中讀取數(shù)據(jù)。單元中讀取數(shù)據(jù)。17 2.1.2 2.1.2 常量與變量常量與變量v2.1.2.2 2.1.2.2 變量變量vC C語言中要求對所有用到的變量作強(qiáng)制定義,也就語言中要求對所有用到的變量作強(qiáng)制定義,也就是是“先定義,后使用先定義,后使用” 。v在定義變量時(shí)要指定變量名和變量的數(shù)據(jù)類型,在定義變量時(shí)要指定變量名和變量的數(shù)據(jù)類型,也可以同時(shí)為定義的變量賦初值。變量的數(shù)據(jù)類也可以同時(shí)為定義的變量賦初值。變量的數(shù)據(jù)類型決定了編譯系統(tǒng)為其分配的空間大小。型決定了編譯系統(tǒng)為其分配的空間大小。v 變量變量 “先定義,后使用先定義,后使用” 的目的:的目
15、的: 未定義的,系統(tǒng)不作為變量名(編譯時(shí)出錯(cuò));未定義的,系統(tǒng)不作為變量名(編譯時(shí)出錯(cuò)); 編譯時(shí)為變量分配相應(yīng)存儲(chǔ)單元;編譯時(shí)為變量分配相應(yīng)存儲(chǔ)單元; 根據(jù)變量類型,檢查運(yùn)算是否合法,如整型變量的求根據(jù)變量類型,檢查運(yùn)算是否合法,如整型變量的求余運(yùn)算余運(yùn)算 a%ba%b18 2.1.2 2.1.2 常量與變量常量與變量v變量定義必須放在變量使用之前,一般放在函數(shù)變量定義必須放在變量使用之前,一般放在函數(shù)體的開頭部分,之后是程序的執(zhí)行語句。主函數(shù)體的開頭部分,之后是程序的執(zhí)行語句。主函數(shù)main()main()的結(jié)構(gòu)為:的結(jié)構(gòu)為:vmain()main()v v 變量聲明語句變量聲明語句v 執(zhí)
16、行語句序列執(zhí)行語句序列v 19 2.1.2 2.1.2 常量與變量常量與變量v定義變量的語句格式為:定義變量的語句格式為:v類型類型 變量表變量表;v類型可以是類型可以是intint、floatfloat、charchar、voidvoid或自定義類或自定義類型。變量表可以是一個(gè)或多個(gè)變量名,各變量之型。變量表可以是一個(gè)或多個(gè)變量名,各變量之間要用逗號(hào)分開,聲明語句要以分號(hào)作為結(jié)束。間要用逗號(hào)分開,聲明語句要以分號(hào)作為結(jié)束。 int abc; /int abc; /聲明一個(gè)名為聲明一個(gè)名為abcabc的整型變量的整型變量 float m,n,p; /float m,n,p; /聲明聲明3 3個(gè)
17、實(shí)型變量,名字分別為個(gè)實(shí)型變量,名字分別為m m、n n、p pv應(yīng)注意,在初始化中不允許連續(xù)賦值,如應(yīng)注意,在初始化中不允許連續(xù)賦值,如int int a=b=c=5a=b=c=5是不合法的。是不合法的。202.1.3 2.1.3 整型數(shù)據(jù)整型數(shù)據(jù)v2.1.3.1 2.1.3.1 整型常量整型常量 十進(jìn)制整型常量:十進(jìn)制整常數(shù)沒有前綴。十進(jìn)制整型常量:十進(jìn)制整常數(shù)沒有前綴。 八進(jìn)制整型常量:以數(shù)字八進(jìn)制整型常量:以數(shù)字0 0作為前綴。所用數(shù)碼為作為前綴。所用數(shù)碼為0 07 7。八進(jìn)制數(shù)通常是無符號(hào)數(shù)。例如:。八進(jìn)制數(shù)通常是無符號(hào)數(shù)。例如:012012(十進(jìn)制為(十進(jìn)制為1010)、)、010
18、30103(十進(jìn)制為(十進(jìn)制為6767)、)、01777770177777(十進(jìn)制為(十進(jìn)制為6553565535) 十六進(jìn)制整型常量:十六進(jìn)制整型常量以十六進(jìn)制整型常量:十六進(jìn)制整型常量以0X0X或或0 x0 x為前為前綴。所用數(shù)碼為綴。所用數(shù)碼為0909,AFAF或或afaf。例如:。例如:0X1B0X1B(十進(jìn)制(十進(jìn)制為為2727)、)、0XC20XC2(十進(jìn)制為(十進(jìn)制為194194)、)、0XFFFF0XFFFF(十進(jìn)制為(十進(jìn)制為6553565535)。)。212.1.3 2.1.3 整型數(shù)據(jù)整型數(shù)據(jù)v長整型數(shù)來表示,即在基本整型數(shù)后加大寫字母長整型數(shù)來表示,即在基本整型數(shù)后加大
19、寫字母“L”L”或小寫字母或小寫字母“l(fā)”l”來表示。例如:來表示。例如:72767L72767L(十進(jìn)制為(十進(jìn)制為7276772767)、)、0200000L0200000L(十進(jìn)制為(十進(jìn)制為6553665536)、)、0X21FFFL0X21FFFL(十進(jìn)制為(十進(jìn)制為139263139263)等。長整)等。長整型數(shù)占型數(shù)占4 4個(gè)字節(jié)(個(gè)字節(jié)(3232位)存儲(chǔ)空間。位)存儲(chǔ)空間。 v整型常量的無符號(hào)數(shù)的后綴為整型常量的無符號(hào)數(shù)的后綴為“U”U”或或“u”u”。例。例如:如: 625u625u,0 x12Du0 x12Du,115Lu 115Lu 均為無符號(hào)數(shù)。均為無符號(hào)數(shù)。 v程序中
20、是根據(jù)前綴來區(qū)分各種進(jìn)制數(shù)的。整型常程序中是根據(jù)前綴來區(qū)分各種進(jìn)制數(shù)的。整型常量后面加量后面加u u或或U U,則認(rèn)為是,則認(rèn)為是unsigned intunsigned int型,整型型,整型常量后面加常量后面加l l或或L L,則認(rèn)為是,則認(rèn)為是long intlong int型。型。222.1.3 2.1.3 整型數(shù)據(jù)整型數(shù)據(jù)v2.1.3.2 2.1.3.2 整型變量整型變量v整型變量用來存放整型常量。整型變量按其取值整型變量用來存放整型常量。整型變量按其取值范圍可分為以下幾類:范圍可分為以下幾類: 基本型基本型 類型說明符為類型說明符為intint,在內(nèi)存中占,在內(nèi)存中占2 2個(gè)字節(jié),
21、其取值為基本個(gè)字節(jié),其取值為基本整常數(shù)。整常數(shù)。 短整型短整型 類型說明符為類型說明符為short intshort int或或shortshort。所占字節(jié)和取值范圍。所占字節(jié)和取值范圍均與基本型相同。均與基本型相同。 長整型長整型 類型說明符為類型說明符為long intlong int或或long long ,在內(nèi)存中占,在內(nèi)存中占4 4個(gè)字節(jié),個(gè)字節(jié),其取值為長整型數(shù)。其取值為長整型數(shù)。232.1.3 2.1.3 整型數(shù)據(jù)整型數(shù)據(jù)v整型變量還可添加類型說明符整型變量還可添加類型說明符unsignedunsigned,表示該,表示該變量是無符號(hào)型變量。無符號(hào)型與上述三種類型變量是無符號(hào)型
22、變量。無符號(hào)型與上述三種類型匹配可構(gòu)成:匹配可構(gòu)成: 無符號(hào)基本型無符號(hào)基本型 類型說明符為類型說明符為unsigned intunsigned int或或unsignedunsigned。 無符號(hào)短整型無符號(hào)短整型 類型說明符為類型說明符為unsigned shortunsigned short 無符號(hào)長整型無符號(hào)長整型 類型說明符為類型說明符為unsigned longunsigned long242.1.3 2.1.3 整型數(shù)據(jù)整型數(shù)據(jù)數(shù)的類型數(shù)的類型 數(shù)的范圍數(shù)的范圍 字節(jié)數(shù)字節(jié)數(shù) int int -3276832767 -3276832767 4 4short int short i
23、nt -3276832767 -3276832767 2 2long int long int -2147483648 -2147483648 2147483647 2147483647 4 4unsigned int unsigned int 065535 065535 4 4unsigned short unsigned short 065535 065535 2 2unsigned long unsigned long 04294967295 04294967295 4 425例例2.2 整型變量的定義與使用整型變量的定義與使用#include void main() int a,b,c
24、,d; /*指定、為整型變量* unsigned ; *指定為無符號(hào)整型變量* 12;-24;10; ; printf(”,”,); 可以看到不同種類的整型數(shù)據(jù)可以可以看到不同種類的整型數(shù)據(jù)可以進(jìn)行算術(shù)運(yùn)算進(jìn)行算術(shù)運(yùn)算 運(yùn)行結(jié)果:運(yùn)行結(jié)果: + +=22=22,+ +=-14=-14 2.1.3 2.1.3 整型數(shù)據(jù)整型數(shù)據(jù)262.1.3 2.1.3 整型數(shù)據(jù)整型數(shù)據(jù)v2.1.3.3 2.1.3.3 整型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式整型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)方式v一個(gè)數(shù)分為正數(shù)和負(fù)數(shù),在計(jì)算機(jī)中為了表示數(shù),一個(gè)數(shù)分為正數(shù)和負(fù)數(shù),在計(jì)算機(jī)中為了表示數(shù),可以采用多種方法,一般有原碼、反碼、補(bǔ)碼這可以采用多種
25、方法,一般有原碼、反碼、補(bǔ)碼這三種表示形式,實(shí)際上,在計(jì)算機(jī)中,數(shù)值是用三種表示形式,實(shí)際上,在計(jì)算機(jī)中,數(shù)值是用補(bǔ)碼表示的。補(bǔ)碼表示的。 原碼:將最高位作為符號(hào)位(以原碼:將最高位作為符號(hào)位(以0 0代表正,代表正,1 1代表負(fù)),代表負(fù)),其余各位代表數(shù)值本身的絕對值,即轉(zhuǎn)換成相應(yīng)的二進(jìn)其余各位代表數(shù)值本身的絕對值,即轉(zhuǎn)換成相應(yīng)的二進(jìn)制形式,我們以短整型(制形式,我們以短整型(intint)來舉例:)來舉例: +7+7的原碼:的原碼:0000000000000111 0000000000000111 -7-7的原碼:的原碼:272.1.3 2.1.3 整型數(shù)據(jù)整型數(shù)據(jù) 反碼:一個(gè)數(shù)如果為正
26、,則它的原碼與反碼表示方法反碼:一個(gè)數(shù)如果為正,則它的原碼與反碼表示方法相同;一個(gè)數(shù)如果為負(fù),則符號(hào)位為相同;一個(gè)數(shù)如果為負(fù),則符號(hào)位為1 1,其余各位是對,其余各位是對原碼取反。原碼取反。 +7+7的反碼:的反碼:00000000000001110000000000000111 -7-7的反碼:的反碼: 補(bǔ)碼:在計(jì)算機(jī)中,數(shù)值是用補(bǔ)碼表示的。一個(gè)數(shù)如補(bǔ)碼:在計(jì)算機(jī)中,數(shù)值是用補(bǔ)碼表示的。一個(gè)數(shù)如果為正,則它的原碼、反碼、補(bǔ)碼相同;一個(gè)數(shù)如果為果為正,則它的原碼、反碼、補(bǔ)碼相同;一個(gè)數(shù)如果為負(fù),則符號(hào)位為負(fù),則符號(hào)位為1 1,其余各位是對原碼取反,然后整個(gè),其余各位是對原碼取反,然后整個(gè)數(shù)加數(shù)
27、加1 1。 +7+7的補(bǔ)碼:的補(bǔ)碼:00000000 0000011100000000 00000111 -7-7的補(bǔ)碼:第一步,的補(bǔ)碼:第一步,7 7的原碼:的原碼:00000000 0000011100000000 00000111 第二步,按位取反:第二步,按位取反:11111111 1111100011111111 11111000 第三步,整個(gè)數(shù)第三步,整個(gè)數(shù)+1+1,得,得-7-7的補(bǔ)碼:的補(bǔ)碼:11111111 1111100111111111 11111001282.1.3 2.1.3 整型數(shù)據(jù)整型數(shù)據(jù)v已知一個(gè)負(fù)數(shù)的補(bǔ)碼,將其轉(zhuǎn)換為十進(jìn)制數(shù):步已知一個(gè)負(fù)數(shù)的補(bǔ)碼,將其轉(zhuǎn)換為十
28、進(jìn)制數(shù):步驟如下:驟如下:v(1 1)先將各位取反;)先將各位取反;v(2 2)將其轉(zhuǎn)換為十進(jìn)制數(shù);)將其轉(zhuǎn)換為十進(jìn)制數(shù);v(3 3)加上負(fù)號(hào),再減去)加上負(fù)號(hào),再減去1 1。292.1.4 2.1.4 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)v2.1.4.1 2.1.4.1 實(shí)型常量實(shí)型常量v實(shí)數(shù)有兩種表示形式:小數(shù)形式和指數(shù)形式。實(shí)數(shù)有兩種表示形式:小數(shù)形式和指數(shù)形式。 小數(shù)形式小數(shù)形式 由數(shù)碼由數(shù)碼0909和小數(shù)點(diǎn)組成。和小數(shù)點(diǎn)組成。 指數(shù)形式指數(shù)形式 指數(shù)形式也稱科學(xué)計(jì)數(shù)法,由十進(jìn)制小數(shù)加階碼標(biāo)志指數(shù)形式也稱科學(xué)計(jì)數(shù)法,由十進(jìn)制小數(shù)加階碼標(biāo)志“e”e”或或“E”E”以及階碼組成。指數(shù)表示的一般形式為:以及階碼
29、組成。指數(shù)表示的一般形式為:a E na E n (a a為十進(jìn)制實(shí)數(shù),為十進(jìn)制實(shí)數(shù),n n為十進(jìn)制整數(shù))表示為十進(jìn)制整數(shù))表示a a10 10 n n。 注意:實(shí)型常數(shù)不分單、雙精度,都按雙精度注意:實(shí)型常數(shù)不分單、雙精度,都按雙精度doubledouble型型處理。處理。 302.1.4 2.1.4 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)v2.1.4.2 2.1.4.2 實(shí)型變量實(shí)型變量v實(shí)型變量同其他類型的變量一樣,必須在使用前實(shí)型變量同其他類型的變量一樣,必須在使用前聲明。實(shí)型變量分為兩類:單精度實(shí)型和雙精度聲明。實(shí)型變量分為兩類:單精度實(shí)型和雙精度實(shí)型。實(shí)型。vfloatfloat為單精度說明符,為單精度
30、說明符,doubledouble為雙精度說明符。為雙精度說明符。 單精度型占單精度型占4 4個(gè)字節(jié)(個(gè)字節(jié)(3232位)內(nèi)存空間,其數(shù)值范圍位)內(nèi)存空間,其數(shù)值范圍為為3.4E+383.4E+38,只能提供七位有效數(shù)字。,只能提供七位有效數(shù)字。 雙精度型占雙精度型占8 8 個(gè)字節(jié)(個(gè)字節(jié)(6464位)內(nèi)存空間,其數(shù)值范圍位)內(nèi)存空間,其數(shù)值范圍為為1.7E+3081.7E+308,可提供,可提供1616位有效數(shù)字。位有效數(shù)字。312.1.4 2.1.4 實(shí)型數(shù)據(jù)實(shí)型數(shù)據(jù)例例2.3 實(shí)型變量的定義與使用實(shí)型變量的定義與使用#includevoid main()float a;double b;a
31、=1.0/3;b=1.0/3;printf(a=%.20fnb=%.20fn,a,b);322.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)v字符型字符型 charcharv字符,一般是字符,一般是1 1個(gè)字節(jié)長,個(gè)字節(jié)長, 用來表示用來表示256256個(gè)個(gè)ASCIIASCII字符,或者字符,或者02550255的整數(shù)的整數(shù)A = 65a = 97 = 320 = 48常見字符常見字符的的ASCII碼碼332.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)v2.1.5.1 2.1.5.1 字符常量字符常量v字符類型常量或變量都占用字符類型常量或變量都占用1 1個(gè)字節(jié)。字符型變量個(gè)字節(jié)。字符型變量用于存放
32、一個(gè)用于存放一個(gè)ASCIIASCII碼。碼。C C語言是把字符型的數(shù)據(jù)語言是把字符型的數(shù)據(jù)當(dāng)成整型數(shù)處理的,因此,對于整型數(shù)據(jù)的所有當(dāng)成整型數(shù)處理的,因此,對于整型數(shù)據(jù)的所有處理均可用于字符型數(shù)據(jù)。處理均可用于字符型數(shù)據(jù)。v在在C C語言中,字符型常量是由一對單引號(hào)引起來的語言中,字符型常量是由一對單引號(hào)引起來的單個(gè)字符構(gòu)成。例如:單個(gè)字符構(gòu)成。例如:AA,55,$等。等。vaa的的ASCIIASCII碼為:(十六進(jìn)制碼為:(十六進(jìn)制6565,十進(jìn)制,十進(jìn)制9797)0 1 1 0 0 0 0 1342.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)v字符常量有以下特點(diǎn):字符常量有以下特點(diǎn):v字符常
33、量只能用單引號(hào)括起來,不能用雙引號(hào)字符常量只能用單引號(hào)括起來,不能用雙引號(hào)或其它括號(hào)?;蚱渌ㄌ?hào)。v字符常量只能是單個(gè)字符,不能是字符串。字符常量只能是單個(gè)字符,不能是字符串。v字符常量占用一個(gè)字節(jié)的存儲(chǔ)單元,而實(shí)際在字符常量占用一個(gè)字節(jié)的存儲(chǔ)單元,而實(shí)際在存儲(chǔ)單元內(nèi)存放的是該字符的存儲(chǔ)單元內(nèi)存放的是該字符的ASCIIASCII碼值,即一個(gè)碼值,即一個(gè)整型量。因此,字符常量可以參加數(shù)值運(yùn)算。整型量。因此,字符常量可以參加數(shù)值運(yùn)算。352.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)例例2.4 字符型變量的定義與使用字符型變量的定義與使用#includevoid main() char m=a; p
34、rintf(%cn,m);36字符常量字符常量v轉(zhuǎn)義字符常量轉(zhuǎn)義字符常量 單引號(hào)單引號(hào)括起來的括起來的 與可視字符組合,例如:與可視字符組合,例如:轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義轉(zhuǎn)義字符轉(zhuǎn)義字符含義含義反斜線反斜線nn 換行,將當(dāng)前位置移到下一行開頭換行,將當(dāng)前位置移到下一行開頭單引號(hào)單引號(hào)rr 回車,將當(dāng)前位置移到本行開頭回車,將當(dāng)前位置移到本行開頭”雙引號(hào)雙引號(hào)bb 退格,將當(dāng)前位置移到前一列退格,將當(dāng)前位置移到前一列aa響響 鈴鈴tt 水平跳格,跳到下一個(gè)水平跳格,跳到下一個(gè)TabTab位置位置ff換換 頁頁bbbbbb 3 3位位8 8進(jìn)制數(shù)代表的進(jìn)制數(shù)代表的ASCIIASCII碼字符碼字符
35、00空字符空字符xhhxhh 2 2位位1616進(jìn)制數(shù)表示的進(jìn)制數(shù)表示的ASCIIASCII碼字符碼字符372.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)#includevoid main() printf(1t2t3t4n);#includevoid main() printf(Yb=n);382.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)#includevoid main() printf(101 x42 Cn); printf(He said:Thank youn); printf(C Programn); printf(Turbo C n);39 2.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)
36、據(jù)字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及其使用方法字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式及其使用方法 一個(gè)字符常量存放到一個(gè)字符變量中,即將該字一個(gè)字符常量存放到一個(gè)字符變量中,即將該字符的相應(yīng)的符的相應(yīng)的ASCIIASCII代碼放到存儲(chǔ)單元中。因而字代碼放到存儲(chǔ)單元中。因而字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。注意注意: : 一個(gè)字符數(shù)據(jù)既可以以字符形式輸一個(gè)字符數(shù)據(jù)既可以以字符形式輸出出, ,也可以以整數(shù)形式輸出。也可以以整數(shù)形式輸出。 可以對字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算,可以對字符數(shù)據(jù)進(jìn)行算術(shù)運(yùn)算, 此此時(shí)相當(dāng)于對它們的碼進(jìn)行時(shí)相當(dāng)于對它們的碼進(jìn)行算術(shù)運(yùn)算。算術(shù)運(yùn)算。 402.1.5 2.
37、1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)v2.1.5.2 2.1.5.2 字符串常量字符串常量v字符串常量是由一對雙引號(hào)括起的字符序列。例字符串常量是由一對雙引號(hào)括起的字符序列。例如:如:ABCABC、123123、aa、 nt nt 、nGood nGood morningmorning等都是合法的字符串常量。字符串常量等都是合法的字符串常量。字符串常量和字符常量是不同的量。它們之間主要有以下區(qū)和字符常量是不同的量。它們之間主要有以下區(qū)別:別: 字符常量由單引號(hào)括起來,字符串常量由雙字符常量由單引號(hào)括起來,字符串常量由雙引號(hào)括起來。引號(hào)括起來。 字符常量只能是單個(gè)字符,字符串常量則可字符常量只能是單個(gè)字
38、符,字符串常量則可以包含一個(gè)或多個(gè)字符。以包含一個(gè)或多個(gè)字符。412.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù) 可以把一個(gè)字符常量賦予一個(gè)字符變量,但不可以把一個(gè)字符常量賦予一個(gè)字符變量,但不能把一個(gè)字符串常量賦予一個(gè)字符變量。在語能把一個(gè)字符串常量賦予一個(gè)字符變量。在語言中沒有相應(yīng)的字符串變量,但是可以用一個(gè)字言中沒有相應(yīng)的字符串變量,但是可以用一個(gè)字符數(shù)組來存放一個(gè)字符串常量。這一內(nèi)容將在數(shù)符數(shù)組來存放一個(gè)字符串常量。這一內(nèi)容將在數(shù)組一章詳細(xì)介紹。組一章詳細(xì)介紹。 字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字符數(shù)加占的內(nèi)存字節(jié)
39、數(shù)等于字符串中字符數(shù)加1 1。增加。增加的一個(gè)字節(jié)中用來存放字符串結(jié)束標(biāo)志字符的一個(gè)字節(jié)中用來存放字符串結(jié)束標(biāo)志字符“0”(ASCII0”(ASCII碼為碼為0)0)。v字符串字符串 C programC program在內(nèi)存中的存儲(chǔ)形式為:在內(nèi)存中的存儲(chǔ)形式為:C Cp pr ro og gr ra am m00422.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)v2.1.5.3 2.1.5.3 字符型變量字符型變量v同其他類型的變量一樣,必須在使用前聲明。字同其他類型的變量一樣,必須在使用前聲明。字符型變量占一個(gè)字節(jié),字符型變量的取值是字符符型變量占一個(gè)字節(jié),字符型變量的取值是字符常量,即單個(gè)
40、字符。類型說明符是常量,即單個(gè)字符。類型說明符是charchar。例如,。例如,聲明兩個(gè)字符型變量:聲明兩個(gè)字符型變量:vchar c1,c2;char c1,c2;v在聲明時(shí),也可以直接賦初值:在聲明時(shí),也可以直接賦初值:vchar c1=x, c2=y;char c1=x, c2=y;vchar c3=,c4=95; char c3=,c4=95; 432.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)v字符字符x x的十進(jìn)制的十進(jìn)制ASCIIASCII碼是碼是120120,y y的十進(jìn)制的十進(jìn)制ASCIIASCII碼碼是是121121。對字符變量。對字符變量c1,c2c1,c2賦予賦予xx和和
41、yy值:值:c1=x,c2=y;c1=x,c2=y;實(shí)際上是在實(shí)際上是在c1,c2c1,c2兩個(gè)單元內(nèi)存放兩個(gè)單元內(nèi)存放120120和和121121的二進(jìn)制代碼:的二進(jìn)制代碼: vc1c10 1 1 1 1 0 0 0 x0 1 1 1 1 0 0 0 xvc2c20 1 1 1 1 0 0 1 y0 1 1 1 1 0 0 1 yv所以也可以把它們看成是整型量。語言允許對所以也可以把它們看成是整型量。語言允許對整型變量賦以字符值,也允許對字符變量賦以整整型變量賦以字符值,也允許對字符變量賦以整型值。在輸出時(shí),允許把字符變量按整型量輸出,型值。在輸出時(shí),允許把字符變量按整型量輸出,也允許把整型
42、量按字符量輸出。也允許把整型量按字符量輸出。442.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)#include void main( ) int sum=0; sum=sum+a; printf(“sum=%dn,sum);452.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)#includevoid main() char tab; tab=t; printf(1%c2%c3%c4n,tab,tab,tab);462.1.5 2.1.5 字符型數(shù)據(jù)字符型數(shù)據(jù)#includevoid main() char c1=A; int y; y=c1+32; printf(c1:%c,%dn,c1,c1);
43、printf(y:%c,%dn,y,y);472.2 2.2 標(biāo)準(zhǔn)輸入輸出函數(shù)標(biāo)準(zhǔn)輸入輸出函數(shù)本節(jié)內(nèi)容本節(jié)內(nèi)容 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printf 2.2.1 格式輸入函數(shù)格式輸入函數(shù)scanf48標(biāo)準(zhǔn)輸入輸出函數(shù)標(biāo)準(zhǔn)輸入輸出函數(shù)C C語言本身不提供輸入輸出語句語言本身不提供輸入輸出語句, ,輸入和輸出操作是輸入和輸出操作是由由C C函數(shù)庫中的函數(shù)來實(shí)現(xiàn)函數(shù)庫中的函數(shù)來實(shí)現(xiàn)例如例如: :字符輸入函數(shù)字符輸入函數(shù): getchar : getchar 字符輸出函數(shù)字符輸出函數(shù): putchar: putchar格式輸入函數(shù)格式輸入函數(shù): scanf : scanf 格式輸出函數(shù)格式
44、輸出函數(shù): printf: printf字符串輸入函數(shù)字符串輸入函數(shù):gets :gets 字符串輸出函數(shù)字符串輸出函數(shù):puts:puts49 在使用系統(tǒng)庫函數(shù)時(shí)在使用系統(tǒng)庫函數(shù)時(shí), ,要用預(yù)編譯命令要用預(yù)編譯命令“#include”#include”將有關(guān)的將有關(guān)的“頭文件頭文件”包括到用戶源包括到用戶源文件中。文件中。例如:例如:在調(diào)用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時(shí),文件開頭應(yīng)在調(diào)用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時(shí),文件開頭應(yīng)該有:該有: #include “stdio.h”#include “stdio.h” 或:或: #include #include 502.2.1 2.2.1 格式輸入函數(shù)格式輸入函數(shù)
45、scanfscanfv此處所說的數(shù)據(jù)輸入指的是程序從鍵盤上輸入數(shù)此處所說的數(shù)據(jù)輸入指的是程序從鍵盤上輸入數(shù)據(jù)。據(jù)。v注意:注意:scanf()scanf()函數(shù)的聲明包含在頭文件中。因此,函數(shù)的聲明包含在頭文件中。因此,要調(diào)用這個(gè)函數(shù),必須在程序開始處添加要調(diào)用這個(gè)函數(shù),必須在程序開始處添加#include#include預(yù)處理命令。預(yù)處理命令。v格式格式vint scanf(“int scanf(“格式化字符串格式化字符串”, ,地址表地址表) );512.2.1 2.2.1 格式輸入函數(shù)格式輸入函數(shù)scanfscanfv參數(shù)說明參數(shù)說明v地址表:地址表是一系列要求輸入數(shù)據(jù)的變量地地址表:地
46、址表是一系列要求輸入數(shù)據(jù)的變量地址。對普通變量而言,變量地址就在變量前加址。對普通變量而言,變量地址就在變量前加“&”&”符號(hào)。例如:符號(hào)。例如:int n; int n; 變量變量n n的地址是的地址是&n&n。v格式化字符串:格式化字符串包括空白字符、非格式化字符串:格式化字符串包括空白字符、非空白字符和格式說明符空白字符和格式說明符3 3部分。部分。 vscanf()scanf()函數(shù)按從左到右的順序掃描格式化字符串,函數(shù)按從左到右的順序掃描格式化字符串,對其進(jìn)行處理。對其進(jìn)行處理。 522.2.1 2.2.1 格式輸入函數(shù)格式輸入函數(shù)scanfscanf
47、 空白字符包括空格、空白字符包括空格、“t”t”水平制表符和水平制表符和“n”n”回車換行符等??瞻追麑⒈惶^?;剀嚀Q行符等??瞻追麑⒈惶^。 非空白字符包括除百分號(hào)非空白字符包括除百分號(hào)“%”%”以外的所有以外的所有ASCIIASCII字符。字符。非空白符必須原樣輸入非空白符必須原樣輸入。 格式說明符用于規(guī)定所讀入數(shù)據(jù)的類型,它格式說明符用于規(guī)定所讀入數(shù)據(jù)的類型,它是由百分號(hào)加特定字符組成。是由百分號(hào)加特定字符組成。 v常用格式說明符及含義如表:常用格式說明符及含義如表:532.2.1 2.2.1 格式輸入函數(shù)格式輸入函數(shù)scanfscanf格式說明符格式說明符格式字符的意義格式字符的意義%
48、d%d輸入有符號(hào)十進(jìn)制整數(shù)輸入有符號(hào)十進(jìn)制整數(shù) %u%u輸入無符號(hào)十進(jìn)制整數(shù)輸入無符號(hào)十進(jìn)制整數(shù) %o%o輸入八進(jìn)制整數(shù)輸入八進(jìn)制整數(shù) %x%x輸入十六進(jìn)制整數(shù)輸入十六進(jìn)制整數(shù) %f%f輸入實(shí)型數(shù)輸入實(shí)型數(shù)( (小數(shù)形式小數(shù)形式) ) %e%e輸入實(shí)型數(shù)輸入實(shí)型數(shù)( (指數(shù)形式指數(shù)形式) ) %c%c輸入單個(gè)字符輸入單個(gè)字符 %s%s輸入字符串輸入字符串 542.2.1 2.2.1 格式輸入函數(shù)格式輸入函數(shù)scanfscanfv格式說明符按從左到右的順序與地址表中的各參格式說明符按從左到右的順序與地址表中的各參數(shù)相匹配,格式說明符的個(gè)數(shù)要與參數(shù)表中的參數(shù)相匹配,格式說明符的個(gè)數(shù)要與參數(shù)表中的參
49、數(shù)個(gè)數(shù)相同。數(shù)個(gè)數(shù)相同。552.2.1 2.2.1 格式輸入函數(shù)格式輸入函數(shù)scanfscanf#includevoid main() int a,b,c,sum; printf(Please input a,b,c:n); scanf(%d,%o,%x,&a,&b,&c); sum=a+b+c; printf(a=%d b=%d c=%d sum=%d,a,b,c,sum); printf(n);562.2.1 2.2.1 格式輸入函數(shù)格式輸入函數(shù)scanfscanf#includevoid main() float x,y,sum,product; scanf(x=
50、%f y=%f,&x,&y); sum=x+y; product=x*y; printf(sum=%f,product=%fn,sum,product);572.2.1 2.2.1 格式輸入函數(shù)格式輸入函數(shù)scanfscanf#includevoid main() char ch; printf(please input a letter:n); scanf(%c,&ch); ch=ch-32; printf(%cn,ch);58 2.2.2 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printfprintfv數(shù)據(jù)輸出是指在屏幕輸出(顯示)數(shù)據(jù)。數(shù)據(jù)輸出是指在屏幕輸出(顯示)
51、數(shù)據(jù)。v要調(diào)用這個(gè)函數(shù),必須在程序開頭添加要調(diào)用這個(gè)函數(shù),必須在程序開頭添加#include#include預(yù)處理命令。預(yù)處理命令。v格式格式 int int printf(“printf(“格式化字符串格式化字符串”, ,參量表參量表););v用途用途 可將多項(xiàng)字符、數(shù)值(整型或?qū)嵭停┖妥址蓪⒍囗?xiàng)字符、數(shù)值(整型或?qū)嵭停┖妥址袷交?,輸出到?biāo)準(zhǔn)輸出設(shè)備上。格式化后,輸出到標(biāo)準(zhǔn)輸出設(shè)備上。 59 2.2.2 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printfprintfv參數(shù)說明參數(shù)說明v參量表:參量表是任選項(xiàng)(根據(jù)程序具體需要,參量表:參量表是任選項(xiàng)(根據(jù)程序具體需要,可有可無),是一
52、系列要輸出的數(shù)據(jù)項(xiàng),它們可可有可無),是一系列要輸出的數(shù)據(jù)項(xiàng),它們可以是整型、實(shí)型、字符型及字符串常量或變量,以是整型、實(shí)型、字符型及字符串常量或變量,也可以是運(yùn)算表達(dá)式。也可以是運(yùn)算表達(dá)式。v格式化字符串:格式化字符串是右雙引號(hào)引起格式化字符串:格式化字符串是右雙引號(hào)引起來的一個(gè)字符串。來的一個(gè)字符串。 v格式化字符串是由普通字符、轉(zhuǎn)義字符、格式說格式化字符串是由普通字符、轉(zhuǎn)義字符、格式說明符三部分組成。明符三部分組成。 60 2.2.2 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printfprintfv普通字符:普通字符:printf()printf()函數(shù)將根據(jù)普通字符出現(xiàn)的函數(shù)將根據(jù)普通字
53、符出現(xiàn)的先后次序直接照原樣顯示輸出。先后次序直接照原樣顯示輸出。 v轉(zhuǎn)義字符:轉(zhuǎn)義字符:printf()printf()函數(shù)將根據(jù)轉(zhuǎn)義字符所具有函數(shù)將根據(jù)轉(zhuǎn)義字符所具有的含義進(jìn)行輸出處理。的含義進(jìn)行輸出處理。 v格式說明:用來規(guī)定各項(xiàng)輸出數(shù)據(jù)的輸出類型和格式說明:用來規(guī)定各項(xiàng)輸出數(shù)據(jù)的輸出類型和輸出格式,通常和參量表中的變量或表達(dá)式一一輸出格式,通常和參量表中的變量或表達(dá)式一一對應(yīng)。對應(yīng)。 61 2.2.2 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printfprintf格式說明符格式說明符說明說明%d %d 輸出十進(jìn)制有符號(hào)整數(shù)輸出十進(jìn)制有符號(hào)整數(shù) %u %u 輸出十進(jìn)制無符號(hào)整數(shù)輸出十進(jìn)制無符
54、號(hào)整數(shù) %o %o 以八進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符以八進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符0 0) %x %X %x %X 以十六進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出以十六進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出0 x0 x)%f %f 以小數(shù)形式輸出單、雙精度數(shù),輸出以小數(shù)形式輸出單、雙精度數(shù),輸出6 6位小數(shù)位小數(shù) %e %e 以指數(shù)形式輸出實(shí)數(shù)以指數(shù)形式輸出實(shí)數(shù) %c %c 以字符形式輸出,只輸出單個(gè)字符以字符形式輸出,只輸出單個(gè)字符 %s %s 輸出字符串輸出字符串 622.2.2 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printfprintf#includevoid main() int i
55、=64; printf(i=%d,i); /以十進(jìn)制格式輸出以十進(jìn)制格式輸出 printf(i=%o,i); /以八進(jìn)制格式輸出以八進(jìn)制格式輸出 printf(i=%x,i); /以十六進(jìn)制格式輸出以十六進(jìn)制格式輸出 printf(ni=%d,%o,%xn,i,i,i); /各種格式混合輸出各種格式混合輸出632.2.2 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printfprintf#includevoid main() float x,y; scanf(%f %f,&x,&y); printf(sum=%f,product=%fn,x+y,x*y);642.2.2 2.2.2
56、格式輸出函數(shù)格式輸出函數(shù)printfprintfv附加字符的使用附加字符的使用v對于格式說明,對于格式說明,% %和格式字符之間也可以插入一些和格式字符之間也可以插入一些附加字符,其一般形式如下:附加字符,其一般形式如下:v%-+#m.nl%-+#m.nl格式規(guī)定符格式規(guī)定符v中括號(hào)中括號(hào)“”和和“”括起來的各項(xiàng)為任選項(xiàng),它括起來的各項(xiàng)為任選項(xiàng),它們用來限定輸出數(shù)據(jù)項(xiàng)的格式;而格式規(guī)定符用們用來限定輸出數(shù)據(jù)項(xiàng)的格式;而格式規(guī)定符用來限定各輸出數(shù)據(jù)類型。來限定各輸出數(shù)據(jù)類型。 652.2.2 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printfprintf附加字符附加字符 含義含義 m m 表示輸出
57、數(shù)據(jù)的最小寬度。若實(shí)際位數(shù)多于定義表示輸出數(shù)據(jù)的最小寬度。若實(shí)際位數(shù)多于定義的寬度,則按實(shí)際位數(shù)輸出;若實(shí)際位數(shù)少于定的寬度,則按實(shí)際位數(shù)輸出;若實(shí)際位數(shù)少于定義的寬度,則補(bǔ)以空格。默認(rèn)右對齊義的寬度,則補(bǔ)以空格。默認(rèn)右對齊 - - 在在m m所限定的長度內(nèi),按左對齊輸出所限定的長度內(nèi),按左對齊輸出 + + 輸出值若是帶符號(hào)類型的,輸出輸出值若是帶符號(hào)類型的,輸出“+”+”或或“-”-”號(hào)號(hào) # # 作為格式說明符作為格式說明符o o、x x、X X的前綴時(shí),輸出值前面自的前綴時(shí),輸出值前面自動(dòng)加上動(dòng)加上0 0、0 x0 x、0X 0X .n .n 輸出精度,輸出值有小數(shù)時(shí),由輸出精度,輸出值
58、有小數(shù)時(shí),由n n決定小數(shù)點(diǎn)后的決定小數(shù)點(diǎn)后的有效位數(shù)輸出,自左起有效位數(shù)輸出,自左起n n個(gè)字符后的字符被截掉個(gè)字符后的字符被截掉 l l 用于長整型數(shù),可加在格式符用于長整型數(shù),可加在格式符d d、o o、x x、u u前前 662.2.2 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printfprintf#includevoid main() int x=123; printf(%-10d,x); /“-”指定左對齊,指定左對齊,m指定寬度為指定寬度為10 printf(n); printf(%10d,x); /m指定寬度為指定寬度為10,默認(rèn)右對齊,默認(rèn)右對齊 printf(n);672.2
59、.2 2.2.2 格式輸出函數(shù)格式輸出函數(shù)printfprintf#includevoid main() float x=123.456;printf(x=%.2fn,x); /n指定小數(shù)點(diǎn)后保留指定小數(shù)點(diǎn)后保留2位位printf(x=%10.2fn,x); /m指定寬度為指定寬度為10682.3 2.3 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式vC C語言的語句是由表達(dá)式構(gòu)成的,因此語言的語句是由表達(dá)式構(gòu)成的,因此C C語言又被語言又被稱為表達(dá)式語言。稱為表達(dá)式語言。v由于由于C C語言含有相當(dāng)豐富的運(yùn)算符,因此構(gòu)成的表語言含有相當(dāng)豐富的運(yùn)算符,因此構(gòu)成的表達(dá)式也是多種多樣,可以表示各種運(yùn)算功能。達(dá)式也
60、是多種多樣,可以表示各種運(yùn)算功能。vC C語言的運(yùn)算符非常豐富,使用方法也比較獨(dú)特。語言的運(yùn)算符非常豐富,使用方法也比較獨(dú)特。vC C語言有語言有4040多個(gè)運(yùn)算符多個(gè)運(yùn)算符 v單目運(yùn)算符:只需要一個(gè)運(yùn)算對象單目運(yùn)算符:只需要一個(gè)運(yùn)算對象 v雙目運(yùn)算符:需要兩個(gè)運(yùn)算對象參加雙目運(yùn)算符:需要兩個(gè)運(yùn)算對象參加 v三目運(yùn)算符:需要三個(gè)運(yùn)算對象參加三目運(yùn)算符:需要三個(gè)運(yùn)算對象參加 692.3 2.3 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式類型符類型符運(yùn)算符運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符+ - * / % + - -賦值運(yùn)算符賦值運(yùn)算符= += -= *= /= &= |= = = = = = = !=邏輯運(yùn)算符邏輯運(yùn)算符& | !位運(yùn)算符位運(yùn)算符& | 條件運(yùn)算符條件運(yùn)算符?:逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符,其他運(yùn)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度國際貿(mào)易農(nóng)業(yè)產(chǎn)品出口合同
- 2025年度大型橋梁基礎(chǔ)定向鉆施工合同
- 2025年度國際貿(mào)易爭議解決合同模板-@-1
- 2025年地暖裝修與室內(nèi)空氣凈化合同范本
- 2025年度生態(tài)環(huán)境修復(fù)工程環(huán)境評估合同
- 二零二五年度工業(yè)地產(chǎn)租賃與出售合同書4篇
- 2025年度城市防洪規(guī)劃與設(shè)計(jì)合同
- 2025年度高校教材數(shù)字化改造及訂購服務(wù)合同3篇
- 2025年度國際貨物跟蹤查詢服務(wù)合同
- 2025年度國有企業(yè)高層管理人員勞動(dòng)合同解除通知范本
- 2024年公安機(jī)關(guān)理論考試題庫附答案【考試直接用】
- 課題申報(bào)參考:共同富裕進(jìn)程中基本生活保障的內(nèi)涵及標(biāo)準(zhǔn)研究
- 2025中國聯(lián)通北京市分公司春季校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 康復(fù)醫(yī)學(xué)科患者隱私保護(hù)制度
- 紅色中國風(fēng)2025蛇年介紹
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 高中學(xué)校開學(xué)典禮方案
- 產(chǎn)程中的人文關(guān)懷護(hù)理
- 開工第一課安全教育記錄表
- 2024年黑龍江農(nóng)業(yè)職業(yè)技術(shù)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 基于數(shù)據(jù)驅(qū)動(dòng)的鋰離子電池剩余使用壽命預(yù)測方法研究
評論
0/150
提交評論