




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì) 任課教師: 金 丹 電子郵箱:課程簡(jiǎn)介 ?C語(yǔ)言程序設(shè)計(jì)?是中央電大計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)??破瘘c(diǎn)本科的一門專業(yè)根底課。 本課程是學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)、軟件工程等課程的先修課,在整個(gè)專業(yè)教學(xué)體系中占有非常重要的作用。 媒體資源 文字主教材?C語(yǔ)言程序設(shè)計(jì)? 任愛華主編 中央播送電視大學(xué)出版社出版。 IP網(wǎng)絡(luò)課件 16講 徐孝凱主講 電大在線的該課程網(wǎng)站點(diǎn)播。 網(wǎng)上輔導(dǎo) 中央電大在線、 黑龍江電大在線 ,?C語(yǔ)言程序設(shè)計(jì)?課程教學(xué)網(wǎng)頁(yè)第1章 C語(yǔ)言概述C語(yǔ)言產(chǎn)生的背景 C語(yǔ)言的特點(diǎn) C語(yǔ)言的程序結(jié)構(gòu)C程序上機(jī)步驟 1.1 C 語(yǔ)言產(chǎn)生的背景一、 程序與程序設(shè)計(jì)
2、 程序是使用計(jì)算機(jī)語(yǔ)言解決某個(gè)問(wèn)題的方法和步驟的描述。而程序設(shè)計(jì)是在某一程序語(yǔ)言環(huán)境下,編寫出能夠使計(jì)算機(jī)理解并執(zhí)行的程序代碼。 因此,我們也可以說(shuō)程序是計(jì)算機(jī)要執(zhí)行的指令的集合,而程序的全部都是用我們所掌握的語(yǔ)言來(lái)編寫。二、計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言分為以下幾類:CPU指令系統(tǒng),由0、1序列構(gòu)成的指令碼組成如:10000000 加 10010000 減用助記符號(hào)描述的指令系統(tǒng)如 ADD A, B面向機(jī)器的語(yǔ)言程序設(shè)計(jì)是數(shù)據(jù)被加工的過(guò)程客觀世界可以分類,對(duì)象是類的實(shí)例對(duì)象是數(shù)據(jù)和方法的封裝對(duì)象間通過(guò)發(fā)送和接受消息發(fā)生聯(lián)系程序設(shè)計(jì)關(guān)鍵是定義類,并由類派生對(duì)象機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言面向過(guò)程面向?qū)ο笞钤缙?/p>
3、是用二進(jìn)制代碼編寫程序,稱為“機(jī)器語(yǔ)言,機(jī)器語(yǔ)言難以記憶。 匯編語(yǔ)言,匯編語(yǔ)言用符號(hào)來(lái)代表二進(jìn)制代碼,所以又稱為“符號(hào)語(yǔ)言。 機(jī)器語(yǔ)言和匯編語(yǔ)言都是“面向機(jī)器的語(yǔ)言,又稱為“低級(jí)語(yǔ)言。 程序設(shè)計(jì)的關(guān)鍵是將問(wèn)題解決的算法過(guò)程描述出來(lái),同時(shí)脫離對(duì)機(jī)型要求、并且能夠面向問(wèn)題設(shè)計(jì)計(jì)算機(jī)程序 ,高級(jí)語(yǔ)言的特點(diǎn)是更加接近自然語(yǔ)言和數(shù)學(xué)語(yǔ)言,非常容易掌握和普及。高級(jí)語(yǔ)言,是面向解題過(guò)程的。用人們易于理 解的形式來(lái)表示。 三、C語(yǔ)言的開展史 C 語(yǔ)言是1972年美國(guó)貝爾實(shí)驗(yàn)室Bell Laboratories的在B語(yǔ)言的根底上設(shè)計(jì)創(chuàng)造。 美國(guó)標(biāo)準(zhǔn)化協(xié)會(huì)ANSI于1983年制定了一套ANSI C標(biāo)準(zhǔn),此后又相繼
4、推出87 ANSI、C99標(biāo)準(zhǔn)。 C語(yǔ)言可用于編寫系統(tǒng)軟件,還可用于編寫應(yīng)用軟件,是一門廣泛流行的高級(jí)程序設(shè)計(jì)語(yǔ)言。 1.2 C語(yǔ)言的特點(diǎn)結(jié)構(gòu)化語(yǔ)言:在設(shè)計(jì)程序結(jié)構(gòu)時(shí),通常采用“自頂向下,逐步細(xì)化的方法簡(jiǎn)潔、緊湊、靈活運(yùn)算符豐富移植性好功能強(qiáng)大編譯語(yǔ)言語(yǔ)法限制不嚴(yán)格,程序設(shè)計(jì)自由度大1.3 C語(yǔ)言的程序結(jié)構(gòu)例1、 #include main( ) printf(“ How do you do ! n); 程序運(yùn)行結(jié)果: How do you do !編譯預(yù)處理主函數(shù)語(yǔ)句C語(yǔ)言無(wú)I/O語(yǔ)句,I/O操作由函數(shù)實(shí)現(xiàn)格式:printf(“格式字符串,實(shí)際參數(shù)表)功能:按指定格式向顯示器輸出數(shù)據(jù) 實(shí)際參
5、數(shù)表可以為空n 為轉(zhuǎn)義字符,表示回車換行程序的入口語(yǔ)句結(jié)束用;例2、 #include main( ) /*求兩數(shù)之和*/ int a,b,sum; a=123;b=321; sum=a+b; printf (“sum =%dn,sum); 程序運(yùn)行結(jié)果: sum=444語(yǔ)句注釋編譯預(yù)處理格式:printf(“格式字符串,實(shí)際參數(shù)表)數(shù)據(jù)格式說(shuō)明: %數(shù)據(jù)輸出寬度格式符 用于指定輸出格式n 為轉(zhuǎn)義字符,表示回車換行例3、 int max(int x, int y) int z; if (xy) z=x; else z=y; return(z ); #include main( ) int n1
6、, n2; printf(“ Input two numbers: ); scanf(“%d,%d, &n1,&n2); z=max(n1,n2); printf(“max=%dn,z); 程序運(yùn)行結(jié)果:Input two numbers: 3,8 max = 8 編譯預(yù)處理主函數(shù)函數(shù)格式: scanf(“格式控制串,地址表功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲(chǔ)單元中,并按回車鍵結(jié)束地址表:變量的地址,常用取地址運(yùn)算符&C語(yǔ)言的程序結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)程序由一個(gè)或多個(gè)函數(shù)組成必須有且只能有一個(gè)主函數(shù)main()程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過(guò)嵌套調(diào)用得以執(zhí)行
7、。程序語(yǔ)句C程序由語(yǔ)句組成用“;作為語(yǔ)句終止符注釋/* */為注釋,不能嵌套不產(chǎn)生編譯代碼例: /*This is the main /* of example1.1*/ */ 非法編譯預(yù)處理命令格式 #命令 參數(shù)不是C的語(yǔ)句編輯鏈接編譯執(zhí)行1.4 C程序的上機(jī)步驟C程序開發(fā)步驟file.exe程序代碼的錄入,生成源程序*.c語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe第2章 數(shù)據(jù)描述數(shù)據(jù)類型 常量與變量 不同類型數(shù)據(jù)間的轉(zhuǎn)換運(yùn)算符和表達(dá)式 2.1 數(shù)據(jù)類型數(shù)據(jù)類型總表C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型 void定義類型 typedef字符
8、類型char枚舉類型 enum整 型實(shí)型單精度型 float雙精度型 double數(shù)組結(jié)構(gòu)體 struct共用體 union短整型 short長(zhǎng)整型 long整型 int數(shù)據(jù)類型決定:1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2. 數(shù)據(jù)取值范圍3. 其上可進(jìn)行的操作根本數(shù)據(jù)類型類型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(wú)signed int16-3276832767signed short16-3276832767signed long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short160
9、65535有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127無(wú)unsigned char80255說(shuō)明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBM PC機(jī)為例:2.2 常量、變量和標(biāo)識(shí)符標(biāo)識(shí)符定義:用來(lái)標(biāo)識(shí)變量、常量、函數(shù)等的字符序列(名字)組成:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字標(biāo)識(shí)符的分類:關(guān)鍵字32個(gè)C語(yǔ)言中代表固定的含義的一些標(biāo)識(shí)符類型名、結(jié)構(gòu)控制詞等,不能另作它用。 預(yù)定義標(biāo)識(shí)符另一類有特定的含義的標(biāo)識(shí)符系統(tǒng)定義的常量名、庫(kù)函數(shù)名等,但可以被重新定義,建議不要
10、另作它用。用戶標(biāo)識(shí)符長(zhǎng)度:最長(zhǎng)32個(gè)字符(TurboC 8個(gè)有效)命名原那么:見名知意,合法不宜混淆 如l與1, 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 $1233days#33char$123ab一般用大寫字母是宏定義預(yù)處理命令,不是C語(yǔ)句直接常量(字面常量):整型常量 實(shí)型常量 字符常量 字符串常量如 #define PRICE 30常量定義:程序運(yùn)行時(shí)其值不能改變的量即常數(shù)分類:符號(hào)常量:用標(biāo)識(shí)符代表常量定義格式: #define 符號(hào)常量名 常
11、量例 符號(hào)常量舉例(ch2_1.c)#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);運(yùn)行結(jié)果:total=300變量名實(shí)質(zhì):代表內(nèi)存中的某個(gè)存儲(chǔ)單元。編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元.地址int a=1, b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址.內(nèi)存1-3隨機(jī)數(shù)變量概念:程序運(yùn)行中其值可以改變的量變量名與變量值變量定義的一般格式: 數(shù)據(jù)類型 變量1,變量2,變量n;變量初始化:定義時(shí)賦初值 例: int a,b,c; float data;決定分配字
12、節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識(shí)符例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;變量的使用:先定義,后使用例1 int student; stadent=19; /*Undefined symbol statent in function main*/ 變量定義位置:一般放在函數(shù)開頭main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data);變量定義可執(zhí)行語(yǔ)句2.3 整型數(shù)據(jù)整型常量整常數(shù)三種形式:十進(jìn)制整數(shù)
13、:由數(shù)字09和正負(fù)號(hào)表示.如 123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字07表示.如0123,011十六進(jìn)制整數(shù):由0 x開頭,后跟09,af,AF表示. 如0 x123,0Xff例 12 與 12L例 30000 為int型 65536 為long int 型整型常量的類型根據(jù)其值所在范圍確定其數(shù)據(jù)類型在整常量后加字母l或L,認(rèn)為它是long int 型常量問(wèn)題:0123 = ( )100 x123 = ( )100Xff = ( )1083291255問(wèn)題:0123 = ( )100 x123 = ( )100Xff = ( )10整型變量占字節(jié)數(shù)隨機(jī)器不同而不同,一般占一個(gè)機(jī)
14、器字shortintlong可用sizeof(類型標(biāo)識(shí)符測(cè)量整型的分類類型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型有無(wú)signed int16-3276832767signed short16-3276832767signed long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigne d short16065535說(shuō)明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBM PC機(jī)為例。最高位最低位位bit字節(jié)(byte)字節(jié)(byte)字word0123456789101112131415 整數(shù)在
15、內(nèi)存中的存儲(chǔ)形式一些根本概念:位bit最小存儲(chǔ)單位,可存放0或1 稱二進(jìn)制位。字節(jié)byte是存取與傳輸?shù)淖钚挝?,等?個(gè)二進(jìn)制位,每個(gè)字節(jié)都分配地址。字word有假設(shè)干個(gè)字節(jié)視機(jī)器而定,存放一條指令或一個(gè)數(shù)據(jù)。字的位數(shù)稱為字長(zhǎng),也是該機(jī)器內(nèi)部傳輸?shù)淖钚挝?。最高位是byte或word最左邊的一個(gè)位在有符號(hào)數(shù)中放符號(hào),0表正,1表負(fù)。最低位是byte或word最右邊的一個(gè)位。假設(shè)某機(jī)器字長(zhǎng)為16位。正整數(shù) 用原碼存放直接的二進(jìn)制數(shù)原碼,正整數(shù)的原碼、反碼、補(bǔ)碼一樣,最高位0表示正。 負(fù)整數(shù) 用補(bǔ)碼存放最高位1表示負(fù) 補(bǔ)碼換算成十進(jìn)制。 除去符號(hào)位最高位1; 各位取反; 轉(zhuǎn)換成十進(jìn)制; 前面加負(fù)
16、號(hào); 減1。反碼:除符號(hào)外各位取反1為0,0為1補(bǔ)碼:反碼的未位再加1。無(wú)符號(hào)整數(shù)用原碼存放,最高位不是符號(hào),是數(shù)字。 00000000000011111111111111110001符號(hào)位數(shù)值位111100000000000100001111111111111515如有補(bǔ)碼:11111010去符號(hào) 1111010取反 0000101轉(zhuǎn) 5加負(fù)號(hào) 5減1 6有符號(hào)數(shù),符號(hào)位無(wú)符號(hào)數(shù),數(shù)值位3275332783100000000000111101 11 11 11 11 11 11 11int型:最大:3276710 00 00 00 00 00 00 00最小:-3276811 11 11 1
17、1 11 11 11 11unsigned int型:最大:6553500 00 00 00 00 00 00 00最小:02.4實(shí)型數(shù)據(jù)實(shí)型常量實(shí)數(shù)或浮點(diǎn)數(shù)表示形式:十進(jìn)制數(shù)形式:必須有小數(shù)點(diǎn) 如0.123, .123, 123.0, 0.0, 123.指數(shù)形式:e或E之前必須有數(shù)字;指數(shù)必須為整數(shù)如12.3e3, 123E2, 1.23e4, e-5, 實(shí)型常量的類型默認(rèn)double型在實(shí)型常量后加字母f或F,認(rèn)為它是float型0.2306105 23.02610-10.2306E5 23.026e-1 實(shí)型變量 分單精度f(wàn)loat和雙精度double 說(shuō)明格式同整型變量類型名 變量名表
18、,賦值表達(dá)式列表; 類型占字節(jié)數(shù)表示范圍有效位數(shù)機(jī)器0溢出float4103810387位絕對(duì)值1038double810308103081516位絕對(duì)值10308范圍(以IBM PC機(jī)為例) 注意:常量不分float和double型,既可賦給float型又可以賦給double型,只要不超出范圍,但只取有效位數(shù)。如: float a=1.5, b ; double x=1.5, y, z=0.0 ;如:float a=123456.123;但輸出時(shí)卻為123456.1因只接收7位并存儲(chǔ)。實(shí)型數(shù)一律以指數(shù)形式存放。存整數(shù)無(wú)誤差,但表示范圍小,存放實(shí)數(shù)往往有誤差,但表示范圍大。 2.5字符型數(shù)據(jù)字
19、符常量定義:用單引號(hào)括起來(lái)的單個(gè)普通字符或轉(zhuǎn)義字符. 字符常量的值:該字符的ASCII碼值轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義nvradddtbf“xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號(hào)3位8進(jìn)制數(shù)代表的字符水平制表退格換頁(yè)反斜線雙引號(hào)2位16進(jìn)制數(shù)代表的字符如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65如 A65, a97, 048 , n10如 a A ? n 101轉(zhuǎn)義字符:反斜線后面跟一個(gè)字符或一個(gè)代碼值表示例 轉(zhuǎn)義字符舉例(ch2_001.c,ch2_004.c) main() printf(101 x42 Cn);
20、printf(I say:How are you?n); printf(C Programn); printf(Turbo C);運(yùn)行結(jié)果:(屏幕顯示)A B CIsay:How are you?C ProgramTurbo C例 main() printf(“Yb=n); 運(yùn)行結(jié)果:屏幕顯示:=打印機(jī)輸出:28字符常量與字符串常量不同定義:用雙引號(hào)(“)括起來(lái)的字符序列存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè) 0 作為字符串結(jié)束標(biāo)志h e l l o 0例 字符串“hello”在內(nèi)存中a a 0例 a“a”例 空串 “”0例: char ch; ch=“A; 例: char ch; ch=A; 字符串常
21、量字符型變量字符變量存放字符ASCII碼char與int數(shù)據(jù)間可進(jìn)行算術(shù)運(yùn)算例 a=D; /* a=68; */ x=A+5; /* x=65+5; */ s=!+G /* s=33+71; */沒有字符串變量,用字符數(shù)組存放2.6 不同類型數(shù)據(jù)間的轉(zhuǎn)換隱式轉(zhuǎn)換什么情況下發(fā)生運(yùn)算轉(zhuǎn)換-不同類型數(shù)據(jù)混合運(yùn)算時(shí)賦值轉(zhuǎn)換-把一個(gè)值賦給與其類型不同的變量時(shí)輸出轉(zhuǎn)換-輸出時(shí)轉(zhuǎn)換成指定的輸出格式函數(shù)調(diào)用轉(zhuǎn)換-實(shí)參與形參類型不一致時(shí)轉(zhuǎn)換運(yùn)算轉(zhuǎn)換規(guī)那么:不同類型數(shù)據(jù)運(yùn)算時(shí)先自動(dòng)轉(zhuǎn)換成同一類型doublefloatlongunsignedintchar,short低高說(shuō)明:必定的轉(zhuǎn)換運(yùn)算對(duì)象類型不同時(shí)轉(zhuǎn)換例 c
22、har ch; int i; float f; double d;ch/i + f*d - (f+i)intintdoubledoubledoubledoubledoubledoubleintintdoubledoubledoubledoubledoubledouble10+a +i*f - d/l例 int i; float f; double d; long l;顯式轉(zhuǎn)換強(qiáng)制轉(zhuǎn)換一般形式:類型名表達(dá)式例 (int)(x+y) (int)x+y (double)(3/2) (int)3.6 說(shuō)明:強(qiáng)制轉(zhuǎn)換得到所需類型的中間變量,原變量類型不變 例 main() float x; int i;
23、 x=3.6; i=(int)x; printf(“x=%f,i=%d,x,i); 結(jié)果:x=3.600000,i=3精度損失問(wèn)題較高類型向較低類型轉(zhuǎn)換時(shí)可能發(fā)生2.7 運(yùn)算符和表達(dá)式C運(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)算符: 其它 : ( ) -學(xué)習(xí)運(yùn)算符應(yīng)注意:運(yùn)算符功能與運(yùn)算量關(guān)系要求運(yùn)算量個(gè)數(shù)要求運(yùn)算量類型運(yùn)算符優(yōu)先級(jí)別結(jié)合方向結(jié)果的類型根本算術(shù)運(yùn)算符:
24、+ - * / %結(jié)合方向:從左向右優(yōu)先級(jí): - -* / % - + - (2) (3) (4)說(shuō)明:“-可為單目運(yùn)算符時(shí),右結(jié)合性/ 兩整數(shù)相除,結(jié)果為整數(shù)% 要求兩側(cè)均為整型數(shù)據(jù)例 5/2 = -5/2.0 =例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2算術(shù)運(yùn)算符和表達(dá)式2-2.51-110()作用:使變量值加1或減1種類:前置 +i, -i (先執(zhí)行i+1或i-1,再使用i值后置 i+,i- (先使用i值,再執(zhí)行i+1或i-1例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d,+j); j=3; printf(“%d,j+); a=3;
25、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自增、自減運(yùn)算符+ -作用:使變量值加1或減1種類:前置 +i, -i (先執(zhí)行i+1或i-1,再使用i值后置 i+,i- (先使用i值,再執(zhí)行i+1或i-1說(shuō)明:+ - 不能用于常量和表達(dá)式,如5+,(a+b)+ -結(jié)合方向: 自右向左優(yōu)先級(jí):- + - -* / % -+ - (2) (3) (4)例 -i+ -(i+) i=3; printf(“%d,-i+); /-3 例 j+k; (j+)+k;例 -i+ i=3; printf(“%d,-i+)
26、; 自增、自減運(yùn)算符+ -簡(jiǎn)單賦值運(yùn)算符符號(hào): =格式: 變量標(biāo)識(shí)符=表達(dá)式作用:將一個(gè)數(shù)據(jù)常量或表達(dá)式賦給一個(gè)變量復(fù)合賦值運(yùn)算符種類:+= -= *= /= %= ?= ?= &= = |=含義: exp1 op= exp2 exp1 = exp1 op exp2a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例 a=3; d=func(); c=d+2;賦值運(yùn)算符和表達(dá)式結(jié)合方向:自右向左優(yōu)先級(jí): 14左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與變量值相等,且可嵌套賦值轉(zhuǎn)換規(guī)那么:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型例 3=x-2*y; a+b=3;例 f
27、loat f; int i; i=10; f=i;那么 f=10.0例 int i; i=2.56; /結(jié)果i=2;例: a=b=c=5 a=(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說(shuō)明1: 結(jié)合方向:自右向左 優(yōu)先級(jí): 12 左側(cè)必須是變量,不能是常量或表達(dá)式賦值表達(dá)式的值與變量值相等,且可嵌套賦值轉(zhuǎn)換規(guī)那么:使賦值號(hào)右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型例: a=12; a+=a-=a
28、*a例: int a=2; a%=4-1; a+=a*=a-=a*=3; /a=-264 等價(jià)于a=a+(a=a-(a*a)/a=0 等價(jià)于a=a+(a=a*(a=a-(a=a*3)說(shuō)明2:形式:表達(dá)式1,表達(dá)式2,表達(dá)式n結(jié)合性:從左向右優(yōu)先級(jí): 15逗號(hào)表達(dá)式的值:等于表達(dá)式n的值用途:常用于循環(huán)for語(yǔ)句中例 a=3*5,a*4 a=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
29、/賦值表達(dá)式,表達(dá)式值18,x=18/逗號(hào)表達(dá)式,表達(dá)式值18,x=3/1,2,3/3,2,3逗號(hào)運(yùn)算符和表達(dá)式例:/*ch2_6.c*/#include main() int x,y=7; float z=4; x=(y=y+6,y/z); printf(x=%dn,x);運(yùn)行結(jié)果:x=3關(guān)系運(yùn)算符種類: = !=結(jié)合方向:自左向右優(yōu)先級(jí)別:=!=優(yōu)先級(jí)6(高)優(yōu)先級(jí)7(低)例 ca+b /c(a+b) ab!=c /(ab)!=c a=bc /a=(bc /a=(bc)關(guān)系表達(dá)式的值:是邏輯值“真或“假,用1和0表示例 int a=3,b=2,c=1,d,f; ab (ab)=c b+cb f=abc/表達(dá)式值1/表達(dá)式值1/表達(dá)式值0/d=1/f=0關(guān)系運(yùn)算符和表達(dá)式例 假設(shè)a=0; b=0.5; x=0.3; 那么 a=x278在C中是允許的, 值為0例 int i=1, j=7,a; a=i+(j%4!=0); 那么a=2例 a0 結(jié)果為 A100 結(jié)果為10關(guān)系運(yùn)算注意1例 注意區(qū)分“=與“= int a=0,b=1; if(a=b) printf(“a equal to b); else printf(“a not equal to b);例 應(yīng)防止對(duì)實(shí)數(shù)作相等或不等的判斷如 1.0/3.0*3.0=1.0 結(jié)果為可改寫為:f
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 未來(lái)展望西方政治制度的前景試題及答案
- 公共服務(wù)質(zhì)量與政策滿意度試題及答案
- 公共政策與科技創(chuàng)新的結(jié)合案例試題及答案
- 計(jì)算機(jī)技術(shù)在政策反饋中的應(yīng)用試題及答案
- 軟考網(wǎng)絡(luò)技能考核試題及答案
- 公共政策與人權(quán)的相互影響試題及答案
- 機(jī)電工程電力電子試題及答案
- 網(wǎng)絡(luò)拓?fù)湓O(shè)計(jì)與實(shí)現(xiàn)試題及答案
- 網(wǎng)絡(luò)故障實(shí)例應(yīng)對(duì)方案試題及答案
- 深入學(xué)習(xí)框架的2025年軟件設(shè)計(jì)師試題及答案
- 進(jìn)氣歧管工藝編制與典型工序夾具設(shè)計(jì)
- GB/T 5224-2003預(yù)應(yīng)力混凝土用鋼絞線
- GB 439-1990航空噴氣機(jī)潤(rùn)滑油
- 全文圖解“新時(shí)代十年的偉大成就”PPT
- 汽輪機(jī)課程設(shè)計(jì)(中壓缸)
- 清洗劑安全技術(shù)說(shuō)明書(MSDS)報(bào)告
- 大酒店員工離職交接表
- 2022年廣東省深圳市中考化學(xué)真題試卷
- 國(guó)際財(cái)務(wù)管理教學(xué)ppt課件(完整版)
- 2022年江西省南昌市中考一模物理試卷
- 光引發(fā)劑的性能與應(yīng)用
評(píng)論
0/150
提交評(píng)論