第2章C語(yǔ)言程序設(shè)計(jì)初步_第1頁(yè)
第2章C語(yǔ)言程序設(shè)計(jì)初步_第2頁(yè)
第2章C語(yǔ)言程序設(shè)計(jì)初步_第3頁(yè)
第2章C語(yǔ)言程序設(shè)計(jì)初步_第4頁(yè)
第2章C語(yǔ)言程序設(shè)計(jì)初步_第5頁(yè)
已閱讀5頁(yè),還剩58頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2.1 c語(yǔ)言的字符集、關(guān)鍵字和標(biāo)識(shí)符語(yǔ)言的字符集、關(guān)鍵字和標(biāo)識(shí)符2.2 數(shù)據(jù)類型數(shù)據(jù)類型2.3 常量和變量常量和變量2.4 運(yùn)算符與表達(dá)式運(yùn)算符與表達(dá)式2.5 類型轉(zhuǎn)換類型轉(zhuǎn)換2.6 輸入輸出函數(shù)輸入輸出函數(shù)2.1.1 c語(yǔ)言的字符集語(yǔ)言的字符集字符是組成字符是組成c語(yǔ)言的最基本元素,字符集語(yǔ)言的最基本元素,字符集是語(yǔ)言中允許出現(xiàn)的字符的集合。是語(yǔ)言中允許出現(xiàn)的字符的集合。c語(yǔ)言的語(yǔ)言的字符集由英文字母、數(shù)字、空白符和特殊字字符集由英文字母、數(shù)字、空白符和特殊字符等組成,通常采用符等組成,通常采用ascii碼碼字符集。字符集。1字母:字母:c語(yǔ)言嚴(yán)格區(qū)分大小寫(xiě)字母。語(yǔ)言嚴(yán)格區(qū)分大小寫(xiě)字母。2

2、空白符:空白符是指空格符、制表符、回車空白符:空白符是指空格符、制表符、回車換行符等。換行符等。 3特殊字符:主要為運(yùn)算符,如:特殊字符:主要為運(yùn)算符,如:+、*、%、 、 、( 、)、! 、等等。等等。 由以上字符組成由以上字符組成c語(yǔ)言的最小語(yǔ)法成分,即單詞。語(yǔ)言的最小語(yǔ)法成分,即單詞。單詞分為單詞分為6類:類:標(biāo)識(shí)符、關(guān)鍵字、常量、運(yùn)算符、標(biāo)識(shí)符、關(guān)鍵字、常量、運(yùn)算符、注釋及分隔符注釋及分隔符,其中,運(yùn)算符是由特殊字符組成,其中,運(yùn)算符是由特殊字符組成,注釋是以注釋是以“/*”開(kāi)頭,并以開(kāi)頭,并以“*/”結(jié)尾的串,分隔符結(jié)尾的串,分隔符有空白字符和逗號(hào)。有空白字符和逗號(hào)。2.1.2 c語(yǔ)

3、言的關(guān)鍵字語(yǔ)言的關(guān)鍵字關(guān)鍵字是關(guān)鍵字是c語(yǔ)言中預(yù)定的具有特定含義的單詞,通語(yǔ)言中預(yù)定的具有特定含義的單詞,通常也稱保留字。由于這些關(guān)鍵字有特定含義,因此不常也稱保留字。由于這些關(guān)鍵字有特定含義,因此不能另作它用。語(yǔ)言共有能另作它用。語(yǔ)言共有32個(gè)關(guān)鍵字。個(gè)關(guān)鍵字。附錄附錄 c語(yǔ)言關(guān)鍵字表語(yǔ)言關(guān)鍵字表auto、break、case 、char、const、continue、default 、do、double 、else、enum、extern、float、for、goto、if、int、 long、register、return、short、signed、sizeof、static、struc

4、t、 switch、typedef、union、unsigned、 void、volatile、while注意:關(guān)鍵字在程序中都必須是小寫(xiě)字母注意:關(guān)鍵字在程序中都必須是小寫(xiě)字母 2.1.3 語(yǔ)言的標(biāo)識(shí)符語(yǔ)言的標(biāo)識(shí)符 標(biāo)識(shí)符是一個(gè)對(duì)象的名字。例如:變量名、標(biāo)識(shí)符是一個(gè)對(duì)象的名字。例如:變量名、數(shù)組名、函數(shù)名、結(jié)構(gòu)體類型名及文件名等等。數(shù)組名、函數(shù)名、結(jié)構(gòu)體類型名及文件名等等。標(biāo)識(shí)符只能由標(biāo)識(shí)符只能由字母、數(shù)字和下劃線字母、數(shù)字和下劃線3種字符組種字符組成,且第一個(gè)字符必須是字母或下劃線。成,且第一個(gè)字符必須是字母或下劃線。 判斷下列是否是合法的標(biāo)識(shí)符:判斷下列是否是合法的標(biāo)識(shí)符:_123abc

5、、price、ab12123_abc 、 $123 、m.d.rose注意:注意:(1) c語(yǔ)言嚴(yán)格區(qū)分大小寫(xiě)。標(biāo)識(shí)符一般語(yǔ)言嚴(yán)格區(qū)分大小寫(xiě)。標(biāo)識(shí)符一般用小寫(xiě)字母。用小寫(xiě)字母。 (2) 標(biāo)識(shí)符不能和語(yǔ)言的關(guān)鍵字相同。標(biāo)識(shí)符不能和語(yǔ)言的關(guān)鍵字相同。(3) 命名標(biāo)識(shí)符應(yīng)盡量有相應(yīng)的意義,以命名標(biāo)識(shí)符應(yīng)盡量有相應(yīng)的意義,以便便“見(jiàn)名知意見(jiàn)名知意”。 綜上所述,可以把綜上所述,可以把c程序的每條語(yǔ)句看成是程序的每條語(yǔ)句看成是由一系列的記號(hào)組成,這些記號(hào)是不可再分的原子由一系列的記號(hào)組成,這些記號(hào)是不可再分的原子單位,記號(hào)和記號(hào)之間可以用多個(gè)空格分隔。單位,記號(hào)和記號(hào)之間可以用多個(gè)空格分隔。例如,例如,

6、printf ( sum=%d , sum ) ; 該語(yǔ)句由該語(yǔ)句由7個(gè)記號(hào)組成,其中個(gè)記號(hào)組成,其中是系統(tǒng)函數(shù)名,是系統(tǒng)函數(shù)名,、是運(yùn)算符,是運(yùn)算符,是字符串常量,是字符串常量,是分隔符,是分隔符,是用戶標(biāo)識(shí)符(變量名),是用戶標(biāo)識(shí)符(變量名),是是c語(yǔ)句結(jié)束標(biāo)志。語(yǔ)句結(jié)束標(biāo)志。整型整型(int)數(shù)據(jù)類型數(shù)據(jù)類型基本類型基本類型字符型字符型(char)枚舉枚舉(enum)空類型空類型(void)構(gòu)造類型構(gòu)造類型數(shù)組數(shù)組結(jié)構(gòu)體結(jié)構(gòu)體(struct)聯(lián)合體聯(lián)合體(union)指針指針實(shí)型實(shí)型單精度單精度(float)雙精度雙精度(double)圖圖2.1 c語(yǔ)言的數(shù)據(jù)類型語(yǔ)言的數(shù)據(jù)類型 表表2.

7、1 2.1 基本數(shù)據(jù)類型基本數(shù)據(jù)類型類型符類型符 說(shuō)說(shuō) 明明長(zhǎng)度長(zhǎng)度(字字節(jié)節(jié))取值范圍取值范圍char(或或signed char)字符型字符型1-128127unsigned char無(wú)符號(hào)無(wú)符號(hào)字符型字符型10255short(或或signed short)短整型短整型2-3276832767unsigned short無(wú)符號(hào)無(wú)符號(hào)短整型短整型2065535int(或或signed int)整型整型2-3276832767unsigned int無(wú)符號(hào)無(wú)符號(hào)整型整型2065535long(或或signed long)長(zhǎng)整型長(zhǎng)整型4-21474836482147483647unsigned

8、 long無(wú)符號(hào)無(wú)符號(hào)長(zhǎng)整型長(zhǎng)整型404294967295說(shuō)明:說(shuō)明:(1) 在在c語(yǔ)言中,基本數(shù)據(jù)類型可以帶說(shuō)語(yǔ)言中,基本數(shù)據(jù)類型可以帶說(shuō)明前綴明前綴signed和和unsigned,明確基本數(shù)據(jù)類,明確基本數(shù)據(jù)類型含義。型含義。signed和和unsigned可以用來(lái)修飾字可以用來(lái)修飾字符型和整型,其中符型和整型,其中signed表示有符號(hào)數(shù),表示有符號(hào)數(shù),unsigned表示無(wú)符號(hào)數(shù)。表示無(wú)符號(hào)數(shù)。 (2) 在具體的編譯環(huán)境下,每種數(shù)據(jù)類型在具體的編譯環(huán)境下,每種數(shù)據(jù)類型所占的字節(jié)數(shù)可以通過(guò)所占的字節(jié)數(shù)可以通過(guò)sizeof運(yùn)算符求得。運(yùn)算符求得。具體的使用格式是:具體的使用格式是:siz

9、eof(數(shù)據(jù)類型符數(shù)據(jù)類型符) 例如:例如:#include int main() printf(“%d”,sizeof(int); return 0; 在在tc編譯環(huán)境下,運(yùn)行結(jié)果是編譯環(huán)境下,運(yùn)行結(jié)果是2;在;在vc編譯環(huán)境下,運(yùn)行結(jié)果是編譯環(huán)境下,運(yùn)行結(jié)果是4。2.3.1 常量常量 常量是指在程序運(yùn)行過(guò)程中其值不能常量是指在程序運(yùn)行過(guò)程中其值不能被改變的量。被改變的量。 直接常量:整型常量、實(shí)型常量、字符常直接常量:整型常量、實(shí)型常量、字符常量和字符串常量。量和字符串常量。符號(hào)常量:指用一個(gè)符號(hào)(標(biāo)識(shí)符)來(lái)代符號(hào)常量:指用一個(gè)符號(hào)(標(biāo)識(shí)符)來(lái)代表一個(gè)常量。表一個(gè)常量。1.整型常量:是不帶

10、小數(shù)的整數(shù),包括正整數(shù)、整型常量:是不帶小數(shù)的整數(shù),包括正整數(shù)、負(fù)整數(shù)和零。整型常量的表示形式有十進(jìn)制、負(fù)整數(shù)和零。整型常量的表示形式有十進(jìn)制、十六進(jìn)制和八進(jìn)制。十六進(jìn)制和八進(jìn)制。 十六進(jìn)制常量:以十六進(jìn)制常量:以0 x或或0x開(kāi)頭,用開(kāi)頭,用09十個(gè)數(shù)十個(gè)數(shù)字、字、af或或af字母表示。字母表示。八進(jìn)制常量:以八進(jìn)制常量:以0(數(shù)字零數(shù)字零)開(kāi)頭,用開(kāi)頭,用07八個(gè)數(shù)八個(gè)數(shù)字表示。字表示。長(zhǎng)整型常量:整型常量后面綴上字母長(zhǎng)整型常量:整型常量后面綴上字母“l(fā)”或或“l(fā)”。無(wú)符號(hào)整型常量:整型常量后面綴上字母無(wú)符號(hào)整型常量:整型常量后面綴上字母“u”或或“u”。以下整型常量是否合法。并說(shuō)明是什么

11、以下整型常量是否合法。并說(shuō)明是什么類型的整型常量。類型的整型常量。50、-792、-90u、100l020、0101、0764、050 xa、0 x54、0x77d、0xffff5.78 、75a、081 、0 x5h【例【例2.1】 整數(shù)的三種表示形式。整數(shù)的三種表示形式。#include int main() int a,b,c; a=75; b=075; c=0 x3a; printf(%d,%d,%dn,a,b,c); /* 以十進(jìn)制數(shù)輸出以十進(jìn)制數(shù)輸出a,b,c */ printf(%o,%o,%on,a,b,c); /* 以八進(jìn)制數(shù)輸出以八進(jìn)制數(shù)輸出a,b,c */ printf(

12、%x,%x,%xn,a,b,c); /* 以十六進(jìn)制數(shù)輸出以十六進(jìn)制數(shù)輸出a,b,c */ return 0;注意:注意:%d、%o、%x2實(shí)型常量實(shí)型常量在程序設(shè)計(jì)語(yǔ)言中,含有小數(shù)部分的數(shù)值在程序設(shè)計(jì)語(yǔ)言中,含有小數(shù)部分的數(shù)值稱為浮點(diǎn)數(shù)。浮點(diǎn)數(shù)的表示形式有兩種稱為浮點(diǎn)數(shù)。浮點(diǎn)數(shù)的表示形式有兩種:小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成(注意必小數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成(注意必須有小數(shù)點(diǎn))。須有小數(shù)點(diǎn))。指數(shù)形式:小數(shù)指數(shù)形式:小數(shù)e|e指數(shù),其中指數(shù)部分指數(shù),其中指數(shù)部分只能是整數(shù)。只能是整數(shù)。判斷下列是否是合法的實(shí)數(shù):判斷下列是否是合法的實(shí)數(shù):0.32、.98、34.、123.5、25.4e-3、0

13、.257e578 、 e-6 、 3.4e3.53、字符常量、字符常量字符在計(jì)算機(jī)中是以字符在計(jì)算機(jī)中是以ascii碼值存儲(chǔ)的,碼值存儲(chǔ)的,因此每個(gè)字符都有對(duì)應(yīng)的因此每個(gè)字符都有對(duì)應(yīng)的ascii碼值(詳見(jiàn)附碼值(詳見(jiàn)附錄錄i)。在)。在ascii表中表中ascii碼值為碼值為32以后的字以后的字符是可顯示字符,符是可顯示字符,ascii碼值為碼值為32以前的字以前的字符是不可顯示字符。符是不可顯示字符。在在c語(yǔ)言中,字符常量有兩種表示方法:語(yǔ)言中,字符常量有兩種表示方法:(1) 對(duì)可顯示的字符,直接用單引號(hào)將該對(duì)可顯示的字符,直接用單引號(hào)將該字符括住字符括住,例如例如z、4、#、? 等。等。(

14、2) 對(duì)不可顯示字符(例如,換行、回車、對(duì)不可顯示字符(例如,換行、回車、制表符、退格等等),以及在制表符、退格等等),以及在c語(yǔ)言中有特語(yǔ)言中有特殊含義和用途的字符(如單引號(hào)、雙引號(hào)、殊含義和用途的字符(如單引號(hào)、雙引號(hào)、反斜杠等),則用單引號(hào)括住一個(gè)轉(zhuǎn)義序列。反斜杠等),則用單引號(hào)括住一個(gè)轉(zhuǎn)義序列。 表表2.2 2.2 轉(zhuǎn)義序列表轉(zhuǎn)義序列表轉(zhuǎn)義轉(zhuǎn)義序列序列ascii碼(十碼(十進(jìn)制)進(jìn)制)說(shuō)明說(shuō)明0000空字符空字符(null)a007響鈴報(bào)警響鈴報(bào)警(bell)b008退格符退格符(backspace)t009橫向跳到下一制表位置橫向跳到下一制表位置(tab)n010回車換行回車換行(n

15、ewline)v011豎向跳格豎向跳格r013回車回車(return)092反斜杠符反斜杠符(backslash)039單引號(hào)單引號(hào)(single quotation)034雙引號(hào)雙引號(hào)”(double quotation)ddd13位八進(jìn)制位八進(jìn)制數(shù)數(shù)13位八進(jìn)制數(shù)所代表的字符位八進(jìn)制數(shù)所代表的字符【例【例2.2】 轉(zhuǎn)義字符的使用。轉(zhuǎn)義字符的使用。#include int main() int a=10,b=20,c=30; printf(a=%dtb=%dnc=%d,a,b,c); return 0;4字符串常量字符串常量字符串常量是用一對(duì)雙引號(hào)引起來(lái)的字符序列。字符串常量是用一對(duì)雙引號(hào)引

16、起來(lái)的字符序列。字符常量和字符串常量的區(qū)別在于:字符常量和字符串常量的區(qū)別在于:(1)字符常量是用單引號(hào)引起的一個(gè)字符;)字符常量是用單引號(hào)引起的一個(gè)字符;字符串常量是用雙引號(hào)引起來(lái)的零個(gè)或多個(gè)字符。字符串常量是用雙引號(hào)引起來(lái)的零個(gè)或多個(gè)字符。(2)字符常量占用一個(gè)字節(jié)的存儲(chǔ)空間;字)字符常量占用一個(gè)字節(jié)的存儲(chǔ)空間;字符串常量中的字符個(gè)數(shù)稱為字符串的長(zhǎng)度。符串常量中的字符個(gè)數(shù)稱為字符串的長(zhǎng)度。 a和和”a”的區(qū)別?的區(qū)別?aa0aa圖2.2 a和a的存儲(chǔ)區(qū)別5符號(hào)常量符號(hào)常量在在c語(yǔ)言中,可以用一個(gè)標(biāo)識(shí)符來(lái)表示一語(yǔ)言中,可以用一個(gè)標(biāo)識(shí)符來(lái)表示一個(gè)常量,稱之為符號(hào)常量。個(gè)常量,稱之為符號(hào)常量。

17、一般形式為:#define 標(biāo)識(shí)符常量標(biāo)識(shí)符常量【例【例2.3】 輸入球的半徑,輸出球的表面積和體積。輸入球的半徑,輸出球的表面積和體積。#include #include #define pi 3.1415926int main() float radius,outarea,volumn; printf(請(qǐng)輸入球的半徑請(qǐng)輸入球的半徑:); scanf(%f,&radius); outarea=4*pi*radius*radius; volumn=4.0/3*pi*pow(radius,3); printf(球的表面積球的表面積=%fn球的體積球的體積=%f, outarea, volumn)

18、; return 0;2.3.2 變量變量變量是指在程序運(yùn)行過(guò)程中其值可以改變量是指在程序運(yùn)行過(guò)程中其值可以改變的量。變量是存儲(chǔ)空間的抽象,用戶可以變的量。變量是存儲(chǔ)空間的抽象,用戶可以通過(guò)聲明(定義)變量來(lái)獲取存儲(chǔ)空間。變通過(guò)聲明(定義)變量來(lái)獲取存儲(chǔ)空間。變量有變量名和變量值之分。量有變量名和變量值之分。 75存儲(chǔ)單元存儲(chǔ)單元x變量名變量名變量值變量值圖圖2.3 變量示意圖變量示意圖說(shuō)明變量的一般形式為:說(shuō)明變量的一般形式為:類型說(shuō)明符類型說(shuō)明符 變量名變量名1, 變量名變量名2,;例如:例如:int x,y; /* 定義定義int型變量型變量x,y */float z; /* 定義定義f

19、loat型變量型變量z */char a,b,c; /* 定義定義char型變量型變量a,b,c */注意:變量必須注意:變量必須“先定義,后使用先定義,后使用”1整型變量整型變量在在c語(yǔ)言中,整型變量分為基本型(語(yǔ)言中,整型變量分為基本型(int)、)、短整型短整型(short)、長(zhǎng)整型、長(zhǎng)整型(long)和無(wú)符號(hào)型和無(wú)符號(hào)型(unsigned)。無(wú)符號(hào)型又可與前三種類型組。無(wú)符號(hào)型又可與前三種類型組合出無(wú)符號(hào)基本型、無(wú)符號(hào)短整型和無(wú)符號(hào)合出無(wú)符號(hào)基本型、無(wú)符號(hào)短整型和無(wú)符號(hào)長(zhǎng)整型,總共有六種形式,見(jiàn)表長(zhǎng)整型,總共有六種形式,見(jiàn)表2.1。在在16位系統(tǒng)中,基本整型變量在內(nèi)存中占兩個(gè)字節(jié)。位系

20、統(tǒng)中,基本整型變量在內(nèi)存中占兩個(gè)字節(jié)。例如,例如,int a=101;由于(由于(101)10=(1100101)2,則變量,則變量a在內(nèi)存的示意圖如圖在內(nèi)存的示意圖如圖2.4所示:所示:符號(hào)位數(shù)值位圖2.4 值為101的變量a的內(nèi)存示意圖2實(shí)型變量實(shí)型變量 在在c語(yǔ)言中,實(shí)型變量分為單精度型語(yǔ)言中,實(shí)型變量分為單精度型(float)、雙精度型、雙精度型(double)和長(zhǎng)雙精度和長(zhǎng)雙精度(long double)三種形式,見(jiàn)表三種形式,見(jiàn)表2.1。單精度型的變量在內(nèi)存中占單精度型的變量在內(nèi)存中占4個(gè)字節(jié),這個(gè)字節(jié),這4個(gè)字節(jié)分成兩部分:個(gè)字節(jié)分成兩部分:一部分用于存儲(chǔ)小數(shù)部分(也稱尾數(shù));另

21、一部分用于存儲(chǔ)指一部分用于存儲(chǔ)小數(shù)部分(也稱尾數(shù));另一部分用于存儲(chǔ)指數(shù)部分(也稱階)。如圖數(shù)部分(也稱階)。如圖2.5所示。所示。尾數(shù)部分指數(shù)部分尾數(shù)的符號(hào)位指數(shù)的符號(hào)位共32位圖2.5 單精度型的變量?jī)?nèi)存示意圖【例【例2.4】 實(shí)型數(shù)據(jù)的輸出示例。實(shí)型數(shù)據(jù)的輸出示例。#include int main() float a,b; a=55.1234567; b=123456.789e5; printf(a= %f nb=%f,a,b); return 0;3字符型變量字符型變量字符型變量的類型說(shuō)明符是字符型變量的類型說(shuō)明符是char。字符。字符型變量用來(lái)存放字符常量,即存放單個(gè)字符。型變量用

22、來(lái)存放字符常量,即存放單個(gè)字符。例如:例如:char a=a;char a=a;a a變量存儲(chǔ)空間里存放的是變量存儲(chǔ)空間里存放的是aa的的asciiascii碼值,即碼值,即6565,其內(nèi)存示,其內(nèi)存示意圖如圖意圖如圖2.62.6所示。所示。01000001符號(hào)位圖圖2.6 2.6 變量變量a a的內(nèi)存示意圖的內(nèi)存示意圖字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式與整型數(shù)字符數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式與整型數(shù)據(jù)的存儲(chǔ)形式類似,可以看成是據(jù)的存儲(chǔ)形式類似,可以看成是1字節(jié)的整數(shù)字節(jié)的整數(shù)。 所以,在所以,在c語(yǔ)言中字符型數(shù)據(jù)和整型數(shù)語(yǔ)言中字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用,可以將字符型數(shù)據(jù)以整型據(jù)之間可以通用,可以將字

23、符型數(shù)據(jù)以整型數(shù)據(jù)處理:數(shù)據(jù)處理:1. 允許字符量賦值給整型變量允許字符量賦值給整型變量2. 允許整型量賦值給字符變量允許整型量賦值給字符變量3. 允許把字符變量按整型量輸出允許把字符變量按整型量輸出4. 允許把整型量按字符量輸出允許把整型量按字符量輸出【例【例2.5】 字符型變量的使用字符型變量的使用#include int main() char c1=a, c2=98, c3; int c4; c3=c1+4; c4=c1-32; printf(c1=%ctc2=%ctc3=%ctc4=%c n, c1, c2, c3,c4); printf(c1=%dtc2=%dtc3=%dtc4=%

24、c n, c1, c2, c3,c4); return 0;4變量的賦值變量的賦值變量是存儲(chǔ)空間的抽象,有多種方式可變量是存儲(chǔ)空間的抽象,有多種方式可以將一個(gè)數(shù)據(jù)存儲(chǔ)到該存儲(chǔ)空間中以將一個(gè)數(shù)據(jù)存儲(chǔ)到該存儲(chǔ)空間中(1)通過(guò)賦值運(yùn)算實(shí)現(xiàn))通過(guò)賦值運(yùn)算實(shí)現(xiàn)int x; /* 先定義先定義 */x=15; /* 后賦值后賦值 */(2)變量的初始化)變量的初始化在定義變量的同時(shí)賦給變量相應(yīng)的值,稱為變量的初始化。在定義變量的同時(shí)賦給變量相應(yīng)的值,稱為變量的初始化。int x=15,y=15; /* 變量的初始化變量的初始化,定義的同時(shí)賦值定義的同時(shí)賦值 */(3)程序運(yùn)行時(shí)給變量賦值)程序運(yùn)行時(shí)給變量

25、賦值int x; /* 定義定義int型變量型變量 x */scanf(%d,&x); /* 暫停程序的運(yùn)行,等待用戶從鍵盤輸入數(shù)據(jù)暫停程序的運(yùn)行,等待用戶從鍵盤輸入數(shù)據(jù) */運(yùn)算是對(duì)數(shù)據(jù)進(jìn)行加工的過(guò)程,要運(yùn)算運(yùn)算是對(duì)數(shù)據(jù)進(jìn)行加工的過(guò)程,要運(yùn)算就必須有運(yùn)算符和運(yùn)算量。就必須有運(yùn)算符和運(yùn)算量。 運(yùn)算符運(yùn)算符:是用來(lái)完成各種不同運(yùn)算的一些是用來(lái)完成各種不同運(yùn)算的一些特定符號(hào)。特定符號(hào)。 運(yùn)算量運(yùn)算量:是參加運(yùn)算的數(shù)據(jù),也稱為操作是參加運(yùn)算的數(shù)據(jù),也稱為操作數(shù),運(yùn)算量可以是常量、變量和函數(shù)。數(shù),運(yùn)算量可以是常量、變量和函數(shù)。c語(yǔ)言提供了豐富的運(yùn)算符,按功能分主要有以下幾種:語(yǔ)言提供了豐富的運(yùn)算符,按

26、功能分主要有以下幾種:算術(shù)運(yùn)算符:算術(shù)運(yùn)算符: 、-、*、/、%(取余)、(取余)、+(自增)、(自增)、-(自減)(自減)賦值及其復(fù)合賦值運(yùn)算符賦值運(yùn)算符:賦值及其復(fù)合賦值運(yùn)算符賦值運(yùn)算符:=、復(fù)合賦值運(yùn)算符、復(fù)合賦值運(yùn)算符求字節(jié)數(shù)運(yùn)算符:求字節(jié)數(shù)運(yùn)算符:sizeof強(qiáng)制類型轉(zhuǎn)換運(yùn)算符:(類型)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符:(類型)關(guān)系運(yùn)算符:關(guān)系運(yùn)算符:、=、下標(biāo)運(yùn)算符:下標(biāo)運(yùn)算符:指針運(yùn)算符:指針運(yùn)算符:*(間接訪問(wèn)運(yùn)算符間接訪問(wèn)運(yùn)算符)、&(取地址運(yùn)算符)(取地址運(yùn)算符)位運(yùn)算符:位運(yùn)算符:(求反)、(求反)、&(位與位與)、|(位或位或)、(右移右移)其他運(yùn)算符:()(函數(shù)調(diào)用運(yùn)算符、優(yōu)先級(jí)運(yùn)

27、算符)其他運(yùn)算符:()(函數(shù)調(diào)用運(yùn)算符、優(yōu)先級(jí)運(yùn)算符)有關(guān)運(yùn)算符的優(yōu)先級(jí)、結(jié)合方向等詳細(xì)的信息參見(jiàn)附錄有關(guān)運(yùn)算符的優(yōu)先級(jí)、結(jié)合方向等詳細(xì)的信息參見(jiàn)附錄。2.4.1 算術(shù)運(yùn)算符與算術(shù)表達(dá)式算術(shù)運(yùn)算符與算術(shù)表達(dá)式1基本算術(shù)運(yùn)算符基本算術(shù)運(yùn)算符表表2.3 2.3 基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符運(yùn)算符含義例子*乘法運(yùn)算符3*5,結(jié)果是15/除法運(yùn)算符3/5結(jié)果是0; 3.0/5結(jié)果是0.6%取余運(yùn)算符10%3結(jié)果是1; 3%5,結(jié)果是3+加法運(yùn)算符10+5結(jié)果是15;a+3結(jié)果是100-減法運(yùn)算符10-5結(jié)果是5;t-4的結(jié)果是112下列運(yùn)算的結(jié)果是多少?下列運(yùn)算的結(jié)果是多少? 12/5 12/5.

28、0 3%5 5%32算術(shù)表達(dá)式算術(shù)表達(dá)式算術(shù)表達(dá)式是用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算量(也稱為操作數(shù))算術(shù)表達(dá)式是用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算量(也稱為操作數(shù))連接起來(lái)的、符合連接起來(lái)的、符合c語(yǔ)法規(guī)則的式子。運(yùn)算量可以是常量、變量語(yǔ)法規(guī)則的式子。運(yùn)算量可以是常量、變量及函數(shù)。及函數(shù)。下列表達(dá)式的結(jié)果是多少?下列表達(dá)式的結(jié)果是多少?5+3*41/3.0*pow(sin(1.0/2),2)2.4.2 賦值運(yùn)算符與賦值表達(dá)式賦值運(yùn)算符與賦值表達(dá)式變量是存儲(chǔ)空間的抽象,將一個(gè)數(shù)據(jù)放置于變量所在的存儲(chǔ)空間,變量是存儲(chǔ)空間的抽象,將一個(gè)數(shù)據(jù)放置于變量所在的存儲(chǔ)空間,可以通過(guò)賦值語(yǔ)句來(lái)實(shí)現(xiàn)??梢酝ㄟ^(guò)賦值語(yǔ)句來(lái)實(shí)現(xiàn)。

29、1基本賦值運(yùn)算符基本賦值運(yùn)算符格式如下:格式如下:變量變量=表達(dá)式表達(dá)式功能:將賦值號(hào)右邊表達(dá)式的值存儲(chǔ)到左邊變量所在的存儲(chǔ)空間。功能:將賦值號(hào)右邊表達(dá)式的值存儲(chǔ)到左邊變量所在的存儲(chǔ)空間。注意:注意:這是賦值運(yùn)算符,不是這是賦值運(yùn)算符,不是“等號(hào)等號(hào)”運(yùn)算符。運(yùn)算符。賦值運(yùn)算符要求它左邊的操作數(shù)必須是變量。賦值運(yùn)算符要求它左邊的操作數(shù)必須是變量。賦值運(yùn)算符的右邊可以是常量、變量、函數(shù)或較為復(fù)雜的表達(dá)式。賦值運(yùn)算符的右邊可以是常量、變量、函數(shù)或較為復(fù)雜的表達(dá)式。以下賦值運(yùn)算是否合法,不合法的說(shuō)明原因:以下賦值運(yùn)算是否合法,不合法的說(shuō)明原因:i=5 k=10*i+80i+j=10 -12=i-i=

30、j2復(fù)合賦值運(yùn)算符復(fù)合賦值運(yùn)算符在基本賦值運(yùn)算符在基本賦值運(yùn)算符“=”之前加上算術(shù)運(yùn)算符或位運(yùn)算符,之前加上算術(shù)運(yùn)算符或位運(yùn)算符,可構(gòu)成復(fù)合的賦值運(yùn)算符。這些運(yùn)算符共有可構(gòu)成復(fù)合的賦值運(yùn)算符。這些運(yùn)算符共有10個(gè),包括個(gè),包括+=、-=、*=、/=、%=、&=、|=、=、=、3k=5+(y=z)(3)如果賦值運(yùn)算符兩邊的數(shù)據(jù)類型不)如果賦值運(yùn)算符兩邊的數(shù)據(jù)類型不相同,系統(tǒng)會(huì)自動(dòng)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,即相同,系統(tǒng)會(huì)自動(dòng)進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,即把賦值號(hào)右邊的類型轉(zhuǎn)成左邊的類型。詳細(xì)把賦值號(hào)右邊的類型轉(zhuǎn)成左邊的類型。詳細(xì)說(shuō)明請(qǐng)參閱說(shuō)明請(qǐng)參閱2.5節(jié)類型轉(zhuǎn)換。節(jié)類型轉(zhuǎn)換。(4)賦值表達(dá)式也可以包含復(fù)合的賦

31、值運(yùn))賦值表達(dá)式也可以包含復(fù)合的賦值運(yùn)算符。算符。下列表達(dá)式的結(jié)果是多少?下列表達(dá)式的結(jié)果是多少?int a=4;a+=a-=2*a;c語(yǔ)言規(guī)定,不同類型的數(shù)據(jù)在參加運(yùn)算語(yǔ)言規(guī)定,不同類型的數(shù)據(jù)在參加運(yùn)算時(shí),要先轉(zhuǎn)換成相同的類型,然后再進(jìn)行運(yùn)時(shí),要先轉(zhuǎn)換成相同的類型,然后再進(jìn)行運(yùn)算。有三類轉(zhuǎn)換:算。有三類轉(zhuǎn)換:賦值表達(dá)式的類型轉(zhuǎn)換賦值表達(dá)式的類型轉(zhuǎn)換算術(shù)運(yùn)算時(shí)的自動(dòng)類型轉(zhuǎn)換算術(shù)運(yùn)算時(shí)的自動(dòng)類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換2.5.1 賦值轉(zhuǎn)換賦值轉(zhuǎn)換c語(yǔ)言規(guī)定:當(dāng)賦值運(yùn)算符右邊表達(dá)式的語(yǔ)言規(guī)定:當(dāng)賦值運(yùn)算符右邊表達(dá)式的類型與左邊變量的類型不一致時(shí),以左邊的類型與左邊變量的類型不一致時(shí),以左邊的為

32、準(zhǔn)。為準(zhǔn)。 賦值后變量賦值后變量a和變量和變量x的值分別是多少的值分別是多少?int a; a=5.23; float x;x=20; 2.5.2 算術(shù)運(yùn)算時(shí)的自動(dòng)類型轉(zhuǎn)換算術(shù)運(yùn)算時(shí)的自動(dòng)類型轉(zhuǎn)換不同類型的數(shù)據(jù)在一起運(yùn)算時(shí),不同類型的數(shù)據(jù)在一起運(yùn)算時(shí),c編譯編譯器自動(dòng)將所有操作數(shù)器自動(dòng)將所有操作數(shù)“向上向上”轉(zhuǎn)換成數(shù)據(jù)最轉(zhuǎn)換成數(shù)據(jù)最長(zhǎng)的操作數(shù)類型。長(zhǎng)的操作數(shù)類型。 doublefloatlongunsignedintchar,short低高圖圖2.7 不同類型數(shù)據(jù)的轉(zhuǎn)換規(guī)則不同類型數(shù)據(jù)的轉(zhuǎn)換規(guī)則例如以下運(yùn)算的結(jié)果是什么類型例如以下運(yùn)算的結(jié)果是什么類型?70+b*2.42.5.3 強(qiáng)制轉(zhuǎn)換強(qiáng)制轉(zhuǎn)

33、換強(qiáng)制類型轉(zhuǎn)換的一般形式為:強(qiáng)制類型轉(zhuǎn)換的一般形式為:(類型說(shuō)明符)(類型說(shuō)明符) 表達(dá)式表達(dá)式功能:把表達(dá)式的數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換成數(shù)功能:把表達(dá)式的數(shù)據(jù)類型強(qiáng)制轉(zhuǎn)換成數(shù)據(jù)類型說(shuō)明符中的數(shù)據(jù)類型。據(jù)類型說(shuō)明符中的數(shù)據(jù)類型。注意以下強(qiáng)制轉(zhuǎn)換的結(jié)果不同注意以下強(qiáng)制轉(zhuǎn)換的結(jié)果不同,為什么為什么?( int ) ( x +y)( int ) x + y強(qiáng)制數(shù)據(jù)類型改變了原變量的數(shù)據(jù)類型沒(méi)有強(qiáng)制數(shù)據(jù)類型改變了原變量的數(shù)據(jù)類型沒(méi)有? 【例【例2.6】 強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換示例。強(qiáng)制數(shù)據(jù)類型轉(zhuǎn)換示例。#include int main() int a=5; float x=2.14; a*=x*(d-a); pr

34、intf(%fn,(float)a); return 0;c語(yǔ)言沒(méi)有輸入輸出語(yǔ)句,它的輸入輸出語(yǔ)言沒(méi)有輸入輸出語(yǔ)句,它的輸入輸出是通過(guò)是通過(guò)c標(biāo)準(zhǔn)函數(shù)來(lái)實(shí)現(xiàn)。標(biāo)準(zhǔn)函數(shù)來(lái)實(shí)現(xiàn)。c標(biāo)準(zhǔn)函數(shù)庫(kù)中提標(biāo)準(zhǔn)函數(shù)庫(kù)中提供了一批用于處理輸入輸出的函數(shù),例如供了一批用于處理輸入輸出的函數(shù),例如getchar()、putchar()、scanf()、printf()、gets()、puts()等。在使用這些輸入輸出函數(shù)等。在使用這些輸入輸出函數(shù)之前,要在源程序的前面加上一條編譯預(yù)處之前,要在源程序的前面加上一條編譯預(yù)處理命令:理命令:#include 2.6.1 字符型數(shù)據(jù)的輸入輸出函數(shù)字符型數(shù)據(jù)的輸入輸出函數(shù)1

35、字符輸出函數(shù)字符輸出函數(shù)putchar()使用格式如下:使用格式如下:putchar(char)功能:向標(biāo)準(zhǔn)輸出設(shè)備(指顯示器)顯示功能:向標(biāo)準(zhǔn)輸出設(shè)備(指顯示器)顯示輸出一個(gè)給定的字符。輸出一個(gè)給定的字符?!纠纠?.7】 putchar()函數(shù)的使用舉例。函數(shù)的使用舉例。#include int main() char a,b,c; a=p;b=i;c=g; putchar(a); /* 實(shí)參是字符變量實(shí)參是字符變量a */ putchar(n); /* 實(shí)參是字符常量,轉(zhuǎn)義字符實(shí)參是字符常量,轉(zhuǎn)義字符n */ putchar(b); putchar(n); putchar(c); ret

36、urn 0;2字符輸入函數(shù)字符輸入函數(shù)getchar( )使用格式如下:使用格式如下:getchar( )功能:暫停程序的運(yùn)行,等待用戶從標(biāo)準(zhǔn)功能:暫停程序的運(yùn)行,等待用戶從標(biāo)準(zhǔn)輸入設(shè)備(指鍵盤)上輸入一個(gè)字符。輸入設(shè)備(指鍵盤)上輸入一個(gè)字符。getchar()調(diào)用一次只能讀入一個(gè)字符,調(diào)用一次只能讀入一個(gè)字符,不能讀入多個(gè)字符。不能讀入多個(gè)字符?!纠纠?.8】 從鍵盤上輸入兩個(gè)數(shù)字字符,將它們分別轉(zhuǎn)變從鍵盤上輸入兩個(gè)數(shù)字字符,將它們分別轉(zhuǎn)變成數(shù)字后,輸出這兩個(gè)數(shù)之和。成數(shù)字后,輸出這兩個(gè)數(shù)之和。 #include int main() char ch1,ch2; int x1,x2,su

37、m; ch1=getchar(); ch2=getchar(); x1=ch1-0; x2=ch2-0; sum=x1+x2; printf(x1=%d,x2=%d , sum=%d,x1,x2,sum); return 0;2.6.2 格式化輸出函數(shù)格式化輸出函數(shù)printf( )函數(shù)使用一般形式如下:函數(shù)使用一般形式如下:printf(輸出格式控制參數(shù)輸出格式控制參數(shù),輸出項(xiàng)列表輸出項(xiàng)列表)函數(shù)功能:按用戶指定的格式,把指定的函數(shù)功能:按用戶指定的格式,把指定的數(shù)據(jù)顯示到顯示器屏幕上。數(shù)據(jù)顯示到顯示器屏幕上。輸出格式控制參數(shù)是用雙引號(hào)括起來(lái)的字輸出格式控制參數(shù)是用雙引號(hào)括起來(lái)的字符序列,其

38、中可以出現(xiàn)三類字符:普通可顯符序列,其中可以出現(xiàn)三類字符:普通可顯示字符、轉(zhuǎn)義字符、格式控制符。示字符、轉(zhuǎn)義字符、格式控制符。 表表2.4 2.4 常用格式控制符常用格式控制符代碼代碼含義含義%d以十進(jìn)制格式輸出以十進(jìn)制格式輸出int型整數(shù)型整數(shù)%o以八進(jìn)制數(shù)形式輸出整數(shù)以八進(jìn)制數(shù)形式輸出整數(shù)%x以十六進(jìn)制數(shù)形式輸出整數(shù)。以十六進(jìn)制數(shù)形式輸出整數(shù)。%u以十進(jìn)制數(shù)形式輸出以十進(jìn)制數(shù)形式輸出unsinged型數(shù)據(jù)型數(shù)據(jù)%ld以十進(jìn)制格式輸出以十進(jìn)制格式輸出long型整數(shù)型整數(shù)%c輸出一個(gè)字符輸出一個(gè)字符%s輸出一個(gè)字符串輸出一個(gè)字符串%f以小數(shù)形式輸出十進(jìn)制實(shí)數(shù),小數(shù)部分有以小數(shù)形式輸出十進(jìn)制實(shí)數(shù),小數(shù)部分有6位位%e以指數(shù)形式按標(biāo)準(zhǔn)寬度輸出十進(jìn)制實(shí)數(shù)以指數(shù)形式按標(biāo)準(zhǔn)寬度輸出十進(jìn)制實(shí)數(shù)(2)輸出項(xiàng)列表)輸出項(xiàng)列表輸出項(xiàng)列表是用逗號(hào)分隔的多個(gè)輸出表達(dá)輸出項(xiàng)列表是用逗號(hào)分隔的多個(gè)輸出表達(dá)式。式。 in

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論