



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第一章C語言及程序設(shè)計概述本章要求:了解C語言的特點、C語言與其它高級語言相比有什么異同;了解C程序在PC機上的建立、編譯和運行過程;了解c語言程序設(shè)計思想的基本篇;重點:①c語言的主要特點;②C語言在PC機上的運行過程及上機操作過程;③常用算法的應(yīng)用難點:無ー、C語言概述C語言是目前國際上在各種計算機運行較為廣泛流行的ー種高級語主要表現(xiàn)為:c語言:適合于作為系統(tǒng)描述語言——可用來寫系統(tǒng)軟件。具有高級語言的特點,又有低級語言(匯編語言)的特點。C語言:是AT&T貝爾實驗室的DennisRitchie在1972年發(fā)明的。C語言:是在B語言的基礎(chǔ)上發(fā)展起來的。(ALGOL60)C語言:最早開始是用于UNIX操作系統(tǒng)。(C語言和UNIX是相輔相成的)DBASE、MicrosoftExel、MicrosoftWord,PC-DOS等,則是用C語言加上若干匯編子程序編寫的。1983年:——制定的新標準,稱為(美國國家標準化協(xié)會)ANSIC1987年:——TurboCl.0(Borland)1988年:TC1.5(圖形和文本窗口)1989年:——TurboC2.0(DOS操作系統(tǒng)、查錯、Tiny模式生成com文件)1991年:——TurboC++(3.0)支持windows3.X說明:TurboC語言可以在程序的任何地方嵌入?yún)R編代碼,提高速度,可以直接使用存儲器和寄存器。—.C語言的特點.語言簡潔、緊湊、使用方便、靈活C語言:——共有32個關(guān)鍵字,9種控制語句;程序書寫自由,主要用小寫字母表示;.運算符豐富C語言的運算符包含的范圍很廣泛,共有34種運算符;即:把括號、賦值、強制類型轉(zhuǎn)換都作為運算符處理.有豐富的數(shù)據(jù)類型整型、實型、字符型、數(shù)據(jù)類型、指針類型、結(jié)構(gòu)體類型、共用體(聯(lián)合)類型等。實現(xiàn)復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(鏈表、樹、棧、圖)的運算。.具有結(jié)構(gòu)化的功能,用函數(shù)作為程序模塊,實現(xiàn)程序的模塊化.語法限制不太嚴格,程序設(shè)計自由度大。(放寬了語法檢查)例:1)對數(shù)組下標越界不作檢查,由程序編寫者自己保證程序的正確;2)整型數(shù)據(jù)、字符型數(shù)據(jù)、邏輯型數(shù)據(jù)可以通用。.能直接訪問物理地址,能進行位(bit)操作,能實現(xiàn)匯編語言的大部分功能,可以直接對硬件進行操作。.生成目標代碼質(zhì)量高,程序執(zhí)行效率高。.用C語言編寫的程序,移植性較好。說明:C語言比其它高級語言難掌握,對編程人員要求較高程序員使用c語言編寫程序會感到限制少、靈活性大,功能強,可以編寫出任何類型的程序。三.C程序的構(gòu)成例:main() /?主函數(shù)?/(inta,b,sum; /?定義變量?/a=123;b=456;sum=a+b;printf("sumis%d\n",sum); /?輸出變量?/)說明:1)程序一般用小寫字母書寫;2)每個程序必須要有一個main()(只能一個),稱主函數(shù);注:C程序是由函數(shù)構(gòu)成的,函數(shù)是C程序的基本單位。函數(shù):系統(tǒng)提供的庫函數(shù);用戶設(shè)計的函數(shù)。3)程序體必須在(}之間;4)每個語句的結(jié)尾,必須要有“;”作為終止符。5)用/* */作注釋四、C程序的上機過程.演示書:P5程序.上機步驟 書:P7注:c語,言是ー種編譯語言,編譯語言的特點:C編譯程序 Link程序.DOS下C語言的運行目前DOS下運行C語言軟件為:TurboC2.0TurboC2.0的特點:是ー個把①編輯②編譯③連接④運行等全部操作集中在ー個界面上。TurboC2.0的操作及運行 書:P8五、算法的概念1,算法的概念 書:P13算法:程序的操作步驟。"程序中的數(shù)據(jù)在程序設(shè)計中:一? 操作步驟有:程序=數(shù)據(jù)結(jié)構(gòu)+算法沃思NikiklausWirth程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計方法+語言工具和環(huán)境2.計算機算法分為兩大類:①數(shù)值運算算法②非數(shù)值運算算法(1)數(shù)值運算算法:求數(shù)值解;通過運算得出ー個具體值,如求方程的根等注:數(shù)值運算一般有現(xiàn)成的模型,算法較成熟。(2)非數(shù)值運算算法:用于事務(wù)管理,如圖書檢索、人事管理等。3、常用簡單算法(1)累乘 即:1X2X3X4X5X1001X2fS(結(jié)果)SX3fS(結(jié)果)SX4-S(結(jié)果)SX100fs(結(jié)果)(2)累加即:1+2+3+4+5 + 1001+2fS(結(jié)果)S+3-S(結(jié)果)S+4-S(結(jié)果)S+KX)-S(結(jié)果)(3)找最大值5,2,4,12,95fmax(max放最大值,后面的數(shù)都和它比較)2>max 不成立4>max 不成立12>max 成立:12-*max9>max不成立注:該算法可擴展為在ー批數(shù)據(jù)中,找某ー個數(shù)(4)其它算法P15例2,2例2.3例2.4例2.5課余自學(xué)(必須)4、算法的表示常用的有:①自然語言②傳統(tǒng)流程圖③結(jié)構(gòu)化流程圖④偽代碼⑤PAD圖(1)傳統(tǒng)流程圖CD口〇コ ー °起止框輸入輸出框 判斷框 處理框 流程線連接點表示方法:P19例注:傳統(tǒng)流程圖對流程線的使用沒有嚴格限制,難以實現(xiàn)結(jié)構(gòu)化程序設(shè)計為了限制流程線的濫用,提出三種基本結(jié)構(gòu):①順序結(jié)構(gòu)②選擇結(jié)構(gòu)③循環(huán)結(jié)構(gòu)
循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)(2)N-S流程圖特點:去掉了帶箭頭的流程線,全部算法寫在一個矩形框內(nèi)。稱N-S結(jié)構(gòu)化流程圖稱N-S結(jié)構(gòu)化流程圖順序結(jié)構(gòu) 選擇結(jié)構(gòu) 循環(huán)結(jié)構(gòu)作業(yè):p372.4上機:熟悉TurboC2。的操作及運行第三章數(shù)據(jù)類型、運算符與表達式本章要求:本章是C語言的基本概念開篇,所介紹的概念是學(xué)習(xí)C語言的基礎(chǔ);要求熟練掌握數(shù)據(jù)類型、運算符與表達式。重點:①C語言數(shù)據(jù)類型定義的方法和分類。②C語言運算符、表達式的使用以及它們的主要特點。難點:自增、自減運算符、賦值運算符、逗號運算符及它們的混合使用一?數(shù)據(jù)類型概念:算法處理的對象——是數(shù)據(jù),而數(shù)據(jù)是以某種特定的形式出現(xiàn)。在C語言中,數(shù)據(jù)有:常量、變量;一般它們都有一定的數(shù)據(jù)類型。(C語言的數(shù)據(jù)結(jié)構(gòu)是以數(shù)據(jù)類型形式出現(xiàn)的)1.數(shù)據(jù)類型分類:r整型intr 基本類型ノ字符型 「單精度型float實型(浮點型)一枚舉類型 。雙精度型double數(shù)據(jù)類型\ r數(shù)組類型構(gòu)造類型1結(jié)構(gòu)體類型struct1共用體(聯(lián)合)類型un沁n’ 指針類型?空類型void說明:在程序中對用到的所有數(shù)據(jù)都必須指定其數(shù)據(jù)類型。2.C語言中的常量和變量常量:——在程序運行過程中,其值不能被改變的量。變量:——在程序運行過程中,其值可以改變的量。說明:1)常量和變量,都要有一個名字表示它:習(xí)慣上,符號常量(別名)名用大寫,變量用小寫。號常量的定義為:#defineP30其它常量:直接用數(shù)據(jù)表示例:2345.5で3e+22),在C語言中,對變量要先定義,后使用。3)如果ー個變量被指定為一確定類型后,在C語言編譯時,就能為其分配相應(yīng)的存儲單元。a< 變量名存儲地址)2000「3弋——變量值マ、存儲單元地址的概念3,常用的基本數(shù)據(jù)類型(1)整型1)整型常量:十進制整數(shù)123,-11,0非。開頭八進制整型 0123,-011〇開頭十六進制整型0x110x20OxODOXFF0x4eOx/OX開頭說明:在ー個整常量后面加一個字母:1或L,是長整型常量。22L0733LOxae412)整型變量:定義存儲字節(jié)數(shù)的范圍基本型 intx(2字節(jié))-32768~32767短整型shortintx(2字節(jié))-32768~32767長整型 !ongintx(4字節(jié))-2,147,483,648~2,147,483,647無符號型unsignedintx(2字節(jié))0-65535unsignedshortx(2字節(jié))0-65535unsignedlongx(4字節(jié))0-4,294,967,295注:數(shù)據(jù)在內(nèi)存中是以:二進制形式存放如:9為00001001例:x=13; x=015;x=OxD 存儲結(jié)構(gòu)見P44圖3.5注:數(shù)據(jù)超過數(shù)據(jù)范圍,會發(fā)生數(shù)據(jù)溢出 例3.2、3.3(2)實型(浮點數(shù))1)實型常量:十進制整數(shù) 1.23 .0123指數(shù)形式 1.23e3,1.00e-32)實型變量: 數(shù)的表示范圍P46表3.2單精度floatx(4字節(jié))3.4x10-38~3.4x1038TC默認雙精度doublex(8字節(jié))1.7x10-308~1.7xlO308說明:實型常量不分float和double,只有十進制表達方式有的C編譯系統(tǒng)64位存儲方式,如尾加f或F可表示32位:
324.567f例:x=1.23; x=123e3 P47例3.4(存儲精度)(3)字符型1)字符常量:a)用單引號括起來的ー個字符 ‘a(chǎn)''A'b)轉(zhuǎn)義字符(由“、專用字母”) 書P48表3.3例3.5\n換行 't\n換行 't水平制表\xdd十六進制數(shù)(1字節(jié))\dddハ進制數(shù)2)字符變量:charc說明:ー個字符變量,只能放一個字符常量。實際是把該常量的ASCII值,送入字符變量中。即:'B'(66)c(字符變量)書P374ASCII表p50例3.6-7c=1B' c的內(nèi)容為66故:字符數(shù)據(jù)可以進行算術(shù)運算;即:c='B'+2為68字符數(shù)據(jù)在內(nèi)存中的存儲方式書P50unsignedchar0-255char-128-127有符じ數(shù)在TC中是用補碼表示的127(0x7f)01111111 128(0x80)10000000復(fù)習(xí):補碼的規(guī)定:正數(shù):其原碼、反碼、補碼相同負數(shù):最高位為1,其余各位為原碼的反碼(原碼的相應(yīng)位取反),然后對整個數(shù)加1〇140(0x8c)10001100f11110011+1(取反加1)^11110100^-0x74-0x74 10001011+1(取反加1)-10001100-0x8c(0x80為負數(shù)-74高位為1)3)字符串常量用雙引號括起來的字符 “a",“ABFD”“a”=“a\0”<>W說明:C規(guī)定,在每一個字符串的結(jié)尾應(yīng)加一個“字符串結(jié)束標志”(\0),以便系統(tǒng)判斷字符串是否結(jié)束。4.各類數(shù)值間的混合運算1)整型、字符型、單精度型、雙精度型數(shù)據(jù)——可以混合運算2)字符型、整型——可以通用規(guī)則:高double? floatlong
unsignedィ氐int char,short例如10+H+1.5-8765.1234せヅ ?858873.593200(TC默認6位小數(shù))10+97+1.5-8765.1234*98二.運算符和表達式C表達式:由變量、常量、函數(shù)等運算對象和運算符組成的式子C運算符作用:1)能把一些基木運算模塊用單ー的運算符處理2)使用豐富的運算符,構(gòu)成多種表達式C運算符有優(yōu)先級,優(yōu)先級高的先執(zhí)行,同級的由結(jié)合規(guī)則決定其處理規(guī)則c運算符有兩種結(jié)合規(guī)則:1)從左到右的結(jié)合運算順序;即:a=5+x-10:運算對象與左邊運算符結(jié)合2)從右到左的結(jié)合運算順序;即;x=y=7;運算對象與右邊運算符結(jié)合C運算符分類 書P55.基本運算符(算術(shù)運算符)C語言有7個基本運算符1)單目運算符;(表示符號)正號“+” 負號“-”2)雙目運算符:+、ー、?、/、%(模運算,求余運算,兩側(cè)為整數(shù))說明:a)運算順序的結(jié)合方向從左到右b)求余(取模)運算符是對兩個整數(shù)相除的余數(shù),計算結(jié)果的符號與第一個數(shù)的符號相同。即:-5%3值為ー2、?5%-3值為ー2、 5%-3值為2.自增、自減運算符(優(yōu)先級高于算術(shù),右結(jié)合)作用:ーー使變量的值增1或減1++i(-i)——在使用i之前,先使i的值加1(減1),然后再使用[i++(i-)——先使用i的值,然后再使i加1(減1)。例:i=4;j=++i;i值為5,值為5; j=i++;i值為5,j值為4說明:1)自增、自減運算符++(--),只能用于變量,不能用于常量或表達式即:5++即:5++、 (a+b)++不合法2)運算順序的結(jié)合方向從右到左例 例:main(){inti=3z,x,y;z=(i++)+(i++)+(i++)x=y=3;〃結(jié)果:z值為9i值為6z=x+++y;〃變量x右結(jié)合運算符++ (不是3+4+5=12)printf("z=%d,x=%d,y=%d",z,x,y);)輸出結(jié)果:z=6x=4y=3如果:z=-x+++y; 輸出結(jié)果:z=0x=4y=3x先為ー4,然后+y,最后x++.賦值運算符和賦值表達式(優(yōu)先級低于算術(shù),右結(jié)合)(1)“=”——賦值運算符作用:將一個數(shù)據(jù)賦給ー個變量即:x=21注意:如果賦值運算符兩側(cè)的類型不一致,在賦值時,要進行類型轉(zhuǎn)齒P61例3.9即:floatf; f=23f值為23.0000符號位擴展(2)復(fù)合的賦值運算符a,+=、?二、*=、6、%="——在賦值符“=”之前加上其它運算符稱復(fù)合運算符(也稱為自反運算符)例:a+=3等價于a=a+3x*=y+8等價于x=x*(y+8)y/=4等價于y=y/4m%=3等價于m=m%3說明:C語言采用這種復(fù)合運算符:為了簡化程序,使程序精練:提高編譯效率。(3)賦值表達式格式:變量=表達式表達式:可以是1)常量、變量、算術(shù)表達式;2)賦值表達式即:a=(b=5)或a=b=5 (運算順序的結(jié)合方向從右到左)例:a=b=c=6; a=5+(c=6)(結(jié)果a=l1c=6)如果:a=3;求:a+=a-=a*a;[冇:1]a*a:92)a=a-(a*a);-63)a+=-6]-6+-6a為:-12 結(jié)果值為:-12.逗號運算符和逗號表達式(優(yōu)先級最低,左結(jié)合)用“,”將兩個表達式連接起來。格式:表達式1,表達式2 即:3+5,6*9;例: 3+5,6*9;值為54(先求解表達式1,再求解表達式2,最后逗號表達式的值為表達式2的值)a=2*5,a*3;a值為10結(jié)果值為:30(先求:a=2*5,后求:a*3)x=(a=2*5,a*3),a+4a值為10x值為30結(jié)果值為:14說明:使用逗號表達式的目的,只是為了得到各個表達式的值(常用于循環(huán)語句)解表達式1的結(jié)果可能影響解表達式2的值.強制類型轉(zhuǎn)換運算符(優(yōu)先級高于算術(shù),右結(jié)合)在要轉(zhuǎn)換的數(shù)據(jù)前,用小括號括上要轉(zhuǎn)換的數(shù)據(jù)類型即:(int)x;(int)(a+b)(int)x+y格式:(類型名)表達式C一般會自動進行數(shù)據(jù)類型轉(zhuǎn)換P56例3.8,用于不能自動轉(zhuǎn)換的地方x%3(floatf).關(guān)系運算符和關(guān)系表達式(書P87)(優(yōu)先級低于算術(shù),左結(jié)合,高于賦值)(1)6種關(guān)系運算符< <= > >=(優(yōu)先級高)== !=(優(yōu)先級低)(2)關(guān)系表達式表達式關(guān)系運算符表達式即:a>ba+b>=b+c (a=4)<(b=8) ,x'=='y'說明:關(guān)系表達式值:是ー個邏輯值,即:“真”或“假”C語言:1——代表“真”〇——代表“假”.邏輯運算符和邏輯表達式(書P88)(優(yōu)先級低于關(guān)系,左結(jié)合)(1)3種邏輯運算符p89表5.1&&(與) II(或) !(非)(2)邏輯表達式TOC\o"1-5"\h\z表達式邏輯運算符表達式 p89即:(a>b)11(a+b>=b+c) (a=4)&&(b=8) 1110°(1)X'&&'y’值為1 1說明:邏輯表達式值:是ー個邏輯值,即:“真”或"假” p90優(yōu)先次序(由高到低):!(非)算術(shù)運算符 關(guān)系運算符 &&和II 賦值運算符求值短路:5>3&&2118<4-!0IQ(結(jié)果1)0&&8(結(jié)果〇)如:a&&b&&c a<>0才判斷a&&b.條件運算符(書P97)格式:表達式1?表達式2:表達式3執(zhí)行:先求解表達式1,為真(非零),求表達式2為假(為〇),求表達式3例:y=(a>b)?a:b;說明:a)條件運算符要求有三個操作對象(稱三目元運算符)b)條件運算符優(yōu)先于賦值運算符y=(a>b)?a:b; 先求(a>b)?a:b后賦值c)條件運算符的結(jié)合方向為“自右至左”(a>b)?a:b 可寫為:a>b?a:ba>b?a:b+5 相當(dāng)于:a>b?a:(b+5)a>b?a:c>d?c:d 相當(dāng)于:a>b?a:(c>d?c:d)*9.位運算符(書P298)(一般掌握)位運算:——是對字節(jié)或字中的實際位進行檢測、設(shè)置、屏蔽、移位。位運算符:&——位邏輯與 I——位邏輯或 人——位邏輯異或?——位邏輯反>>——右移<<——左移三、運算符小結(jié).左結(jié)合方向的運算符主要有:算術(shù)運算符、關(guān)系運算符、邏輯運算符、逗號運算符.右結(jié)合方向的運算符主要有:自增、自減運算符、賦值運算符(復(fù)合的賦值運算符)、條件運算符例:1)i=3;printf("%d,%d",i,i++): 輸出:4,3a=l;b=l;c=2:求:a=b+=c*=5;輸出:a為11b為11c為!0a>b?a>c?a:c:b>c?b:c 相當(dāng)于:a>b?(a>c?a:c):(b>c?b:c)(求最大值,如a=2,b=8,c=5結(jié)果為:8).運算符的優(yōu)先次序(書P375附錄III)()、!++/--/ー轉(zhuǎn)移、算術(shù)、關(guān)系(<<=>>=)、關(guān)系(==!=)、&&、II、條件(?)、賦值、逗號例:1)-a++相當(dāng)于-(a++)x=4,y=7求:y+=++x-3 x的值5 y的值9x=4,y=7求:y=y+++x-3 x的值4 y的值9a=7,x=2.5,y=4.7求:s=x+a%3*(int)(x+y)%*2/4s的值2.500000a%3*(int)(x+y)%*2=》1(整型)/4(整型)=》0.25=》0(整型)a%3&&a%5||a++〉++bTOC\o"1-5"\h\z如:a=7,b=5a的值8b的值6結(jié)果值1 1||1如:a=15, b=15 a的值16 b的值16結(jié)果值〇 1||〇如:a=15, b=14 a的值16 b的值15結(jié)果值〇 〇||〇如:a=15, b=13 a的值16 b的值14結(jié)果值1 〇||1四、該章的主要例題數(shù): P39例3.1 P44例3.2 P44例3.3字符: P49例3.5 P50例3.6 P51例3.7五、該章的主要習(xí)題P65 3.5 3.6 3.8 3.9 3.10 3.12六、該章的主要上機內(nèi)容P39例3.1 P44例3.2 P44例3.3 P51例3.7P65 3.6 3.8 3.10第四章簡單的C程序設(shè)計(順序程序設(shè)計)知識點:1,賦值語句; 2、字符數(shù)據(jù)的輸入/輸出;3、格式輸入/輸出語句printf和scanf及其格式控制符;%c、%f、%d(輸出寬度、對齊方式、其它格式控制符只作了解)4、程序的結(jié)構(gòu)框架。重點:.賦值語句;.基本輸入/輸出語句priinf和scanf及其格式控制符%c、%f、%d等的意義。難點:無一、C程序結(jié)構(gòu)語句的分類P67P681、控制語句①條件:ifelse②循環(huán):for()③循環(huán):while()④循環(huán):dowhile()⑤循環(huán)結(jié)束:continue⑥終止循環(huán)或switch:break⑦多分支:switch⑧轉(zhuǎn)向:goto⑨函數(shù)返回:return2、函數(shù)調(diào)用語句printf("a=%d",a);3、表達式語句i=i+l表達式i=I+l;表達式語句 函數(shù)調(diào)用也可以認為是表達式語句4、空語句:ー個5、復(fù)合語句(用い:分程序){x=3;x=x+l;print("x=%x",x)}二.賦值語句變量名=表達式注:是組成順序結(jié)構(gòu)的主要語句。a=b; if(max<=x)max=x;三.基本輸入輪出語句C語言本身不提供輸入輸出語句,輸入輸出操作是由函數(shù)來實現(xiàn)。即:printfputcharscanfgetchar注:(1)這些函數(shù)構(gòu)成一個標準的!Z〇函數(shù)庫(放在“stdio.h”中)(2)如果要使用C語言庫函數(shù),要用預(yù)編譯命令"include”將有關(guān)“頭文件”包括到用戶源文件中。#include<stdio.h> #include"stdio.h"當(dāng)前目錄 當(dāng)前定義的目錄中尋找1.printf函數(shù)——格式輸出函數(shù)格式:primf(格式控制,輸出表列)格式控制:——用雙引號括起來的字符串,也稱為“轉(zhuǎn)換控制字符串”printf的格式字符 書P77表4.1輸出表列: 需要輸出的數(shù)據(jù)、表達式即:printf("x=%5.1f,y=%d,z=%c”,x,y,z)d,i 帶符號十進制形式u 無符號十進制形式例3-3c 字符形式s 字符串形式f 實數(shù)(小數(shù))形式 默認6位小數(shù)說明:1)printf("y=%-4d”,y) 輸出數(shù)據(jù)左對齊(默認為右對齊)2)數(shù)據(jù)輸出長度的修正;——輸出長整型或雙精度數(shù)據(jù)即:printf("%ld,%lf,,,i,y)h——輸出短型數(shù)據(jù)即:printf("%hu”,a)-m.nm最小寬度n小數(shù)(實數(shù))一左對齊putchar函數(shù) 字符輸出函數(shù)向終端輸出ー個字符格式:putchar(變量)putchar(x)putchar(“\n")輸出ー個換行符3.scanf函數(shù)——格式輸入函數(shù)格式:scanf(格式控制,地址表列)格式控制:——用雙引號括起來的字符串,也稱為“轉(zhuǎn)換控制字符串”scanf的格式字符 書P80表4.3地址表列:——由若干個地址組成的表列,有:變量地址&X字符串的首地址&——地址運算符功能:求變量的地址(只能用于變量)&x——表示x變量值的內(nèi)存單元的地址即:scanf("%d,%4d”,&a,&b)說明:1)不帶分隔字符的方式,系統(tǒng)將自動按格式說明截取數(shù)據(jù)例:scanf("%4d%*3d%f”,&I,&p);輸入:12345678.93時得1=1234,p=8.93“*”——作用是“虛讀”,跳過相應(yīng)的數(shù)據(jù)2)帶分隔字符的方式(分隔字符:空格、tab、回車、逗號)即:scanf("%d,%d”,&a,&b)getchar函數(shù) 字符輸入函數(shù)從終端輸入一個字符格式:getchar()即:c=getchar()函數(shù)值是從輸入設(shè)備得到的字符四、該章的主要例題!已知矩形的兩邊長,求矩形的面積、周長2大小寫字母互相轉(zhuǎn)化3教材P83的例子五、該章的主要習(xí)題P844.5~4.9第五章選擇結(jié)構(gòu)程序設(shè)計知識點:1、關(guān)系、邏輯運算符、邏輯真/假;2、關(guān)系表達式、邏輯表達式;3、分支的概念及其算法描述;4、三種IF分支語句;5,條件運算符;6、SWITCH語句。(了解)重點:1、關(guān)系、邏輯運算符、邏輯真/假;2、關(guān)系表達式、邏輯表達式;3、三種IF分支語句。難點:1、邏輯真/假;2、關(guān)系、邏輯運算優(yōu)先級。ー、關(guān)系表達式及邏輯表達式在分支選擇結(jié)構(gòu)的作用在程序設(shè)計中,表示一些復(fù)雜的條件1、關(guān)系運算符及關(guān)系表達式(第三章)2、邏輯運算符及邏輯表達式(第三章)3、條件運算符(第三章)二.分支語句(書P91)從ー個條件表達式中,選擇語句的執(zhí)行(用if語句或switch語句來實現(xiàn))If語句C語言提供三種形式的if語句if(表達式)語句例:if(x>y)printf("%d”,x); 注意“;”位置if(表達式)語句1else語句2例:if(x>y)printf("%d”,x);elseprint”"%d",y);注意分號“;”if(表達式1)語句Ielseif(表達式2)語句2elseif(表達式3)語句3elseif(表達式n)語句nelse 語句n+1例:p92圖5.6if()和else后的執(zhí)行語句可以使用復(fù)合語句〇例5.1、5.2p93if結(jié)構(gòu) 將輸入的三個數(shù)從大到小排列輸出例5.3p95if嵌套結(jié)構(gòu)計算函數(shù)值(3)用條件運算符代替if語句例:if(a>b)y=a; 條件運算符else 可以用: y=(a>b)?a:b;y=b;例5.4p98 條件運算符代替if結(jié)構(gòu)將輸入字符中的大寫轉(zhuǎn)換成小寫輸出switch語句(/解)switch語句 是多分支選擇語句格式:表達式=常量表達式格式:表達式=常量表達式n執(zhí)行語句n{case常量表達式1:語句!;break;case常量表達式2:語句2;break;case常量表達式3:語句3;break;case常量表達式n:語句n;break;default :語句n+1;例:四級(ABCD)轉(zhuǎn)化成百分制#include<stdio.h>main(){chargrade;scanf(*%c*,&grade);switch(grade){case'A':printf("85、100\n");break;case'B':printf(*75^84\n");break;case'C':printf("60^74\n");break;case1D,:printf("<60\n");break;default:printf("error\n");))例:百分制成績轉(zhuǎn)化成五級(ABCDE)五級記分5-4-1三、程序舉例例5.7plO3運費計算(自學(xué))plOl例5.6求一元二次方程根(自學(xué))plOO例5.5判斷某一年是否是閏年(自學(xué))五、該章的主要習(xí)題 P1045.3-5.10該章的主要上機內(nèi)容P91例5.2、P100例5.5,P101例5.6P104習(xí)題5.5、5.6,5.9其他:上機實驗指導(dǎo)書中內(nèi)容
第六章循環(huán)結(jié)構(gòu)程序設(shè)計知識點:1、循環(huán)的概念及其算法描述;2、got。循環(huán);3、while循環(huán):重點 4、do一while循環(huán);重點6、for循環(huán);重點難點 7、break、continue肖句;8,各種循環(huán)結(jié)構(gòu)中的執(zhí)行循環(huán)體、判斷循環(huán)條件的順序;重點9、各種循環(huán)結(jié)構(gòu)在一定條件下的轉(zhuǎn)化。重點難點ー、循環(huán)結(jié)構(gòu)的概念循環(huán)語句主要用于:重復(fù)執(zhí)行的操作b)用whileb)用while語句d)用for語句“直到型’結(jié)構(gòu)a)用goto語句和if語句構(gòu)成循環(huán)c)用do一while語句a)“當(dāng)型”結(jié)構(gòu) b).a)“當(dāng)型”結(jié)構(gòu) b)二.循環(huán)語句.用goto語句和if語句構(gòu)成的循環(huán)goto語句 無條件轉(zhuǎn)向語句格式:goto語句標號語句標號:用標識符表示goto123;(不合法)例:gotonext;goto123;(不合法)goto和if語句構(gòu)成循環(huán)一般較少使用(不符合結(jié)構(gòu)化原則)50例:求Z2〃 main()i{inti,sumニ〇;i=l;loop:if(i<=50){sum=sum+2*i;i++;gotoloop;}printf("%d\n",sum)}while語句 ——實現(xiàn)“當(dāng)齊’循環(huán)結(jié)構(gòu)格式:while(表達式)語句50例:求工2幾 main(){inti,sum=0;i=l;while(i<=50)說明: {sum=sum+2*i;i++;}printf("%d\n",sum)語句可為復(fù)合語句(用{}構(gòu)成)}do—while語句 ——實現(xiàn)“直到型”循環(huán)結(jié)構(gòu)格式:do語句while(表達式);50例:求Z2〃 main()i{inti,sum=0;i=l;do{sum=sum+2*i;i++;)while(i<=50);printf("%d\n”,sum);}dowhile和while比較pl09例6.4for語句可以用于循環(huán)次數(shù)已知和循環(huán)次數(shù)不確定(可以代替while語句)(應(yīng)用廣泛,而且使用較活)格式:for(表達式1;表達式2;表送式3)語句過程:
說明:表達式1ーー循環(huán)變量賦表達式2---ー循環(huán)結(jié)束條表達式3--循環(huán)變量增即:for(循環(huán)變量賦初值,循環(huán)結(jié)束條件,循環(huán)變量增值)語句50例:求乙ノ〃 for(i=l;i<=50;i++)sum=sum+2*i;ifor語句的其它表示(1)用while來表示 表達式]while(表達式2)(語句表達式3;)(2)表達式可以省略,但分號不能省略a)省略表達式1i=lfor(;i<=50;i++)sum=sum+2*ib)省略表達式2——產(chǎn)生死循環(huán)for(i=l;;i++)sum=sum+2*ic)省略表達式3for(i=l;i<=50;){sum=sum+2*i;i++;)d)省略表達式1,省略表達式3i=l i=lfor(;iく=50;) while(i<=50){sum=sum+2*i; 相當(dāng)于 {sum=sum+2*i;i++;} i++;}(3)表達式I.表達式3可以是: a)簡單的表達式b)逗號表達式表達式2: 一般是關(guān)系表達式或邏輯表達式即: for(sum=0,i=l;i<=50;i++,i++)sum=sum+2*i;或: for(sum=0,i=l;i<=50;i=i+2)sum=sum+2*i(4)循環(huán)體語句可使用break和continue語句break!可以用來從循環(huán)體內(nèi)跳出循環(huán)體(提前結(jié)束循環(huán))continue:用于跳過循環(huán)體中下面尚未執(zhí)行的語句,接著重新執(zhí)行循環(huán)的判斷,P115例6.5將100-200間不能被3整除的數(shù)輸出三、程序舉例用多種循環(huán)方法實現(xiàn)!由泰勒展式計算sin(x)的近似值2.pl15例6.6求n的近似值1-1/3+1/5-1/7+.pl15例6.7求Fibonacci(斐波納契)數(shù)列40個數(shù)Fj=l (n=l)F2=l (n=2)Fn=Fn」+Fn一2(n>=3).pl15例6.8判斷m是否是素數(shù).pll5例6.9求!00-200間的所有素數(shù).例求任意輸入10個數(shù)中的最大數(shù)6-max四、該章的主要習(xí)題P1206.1-6.15五、該章的主要上機內(nèi)容P115例6.5、例6.6、例6.7、例6.9P120習(xí)題6.4、6.7、6.9、6.11,6.14其他:上機實驗指導(dǎo)書中內(nèi)容作業(yè)解答:5-8利潤提成:類似所得稅
第七章數(shù)組1、數(shù)組的概念及數(shù)組的定義;2、在程序設(shè)計中的如何使用數(shù)組;3、字符數(shù)組是C語言存放字符串的主要方法,并注意字符串結(jié)束標志的規(guī)定。重點:①數(shù)組的組成和特點。②ー維數(shù)組和二維的定義、賦值。③字符串與字符數(shù)組的關(guān)系以及數(shù)組在程序中的使用。難點:①數(shù)組元素存儲格式對程序設(shè)計的使用。②字符串在數(shù)組中的組成以及字符串操作語句的使用。「數(shù)組類型[結(jié)構(gòu)體類型
し「數(shù)組類型[結(jié)構(gòu)體類型
し共用體類型C語言:數(shù)據(jù)類型\構(gòu)造類型指針類型構(gòu)造類型:是由基本類型按一定規(guī)則組成的類型一?數(shù)組的概念數(shù)組:——1)是ー組直壁羯的集合2)這個集合用一個版組組來表示3)數(shù)組的元素序號用一個強闔來表示如:a[0],a[l],a[2],a[3] b[l][l],b[l][2],b[2][l],b[2][2]注意:a)數(shù)組名后,用方括號;下標從。開始。b)下標值—可以是常量表達式常量表達式:包括常量和符號常量(用#define定義的),但不能包含變量。C語言:不允許數(shù)組進行動態(tài)定義。即:intn;scarf("%d”,&n);intx[n]; /?定義數(shù)組?/c)數(shù)組分為:ー維、二維等,主要由下標值的多少來確定。ー維數(shù)組.定義格式:類型說明符 數(shù)組名[常量表達式]類型說明符:——表示數(shù)組的類型int,short,long,unsigned,float,double,char等數(shù)組名:——表示各數(shù)組元素的統(tǒng)一名字,定義方法和變量名相同常量表達式:——表示數(shù)組的長度即:inta[10]注意:C語言不提供數(shù)組下標越界的保護,設(shè)計時要注意。.數(shù)組元素的初始化數(shù)組在定義的時候,同時,可對數(shù)組元素進行初始化格式:staticinta[10]={0,0,0,0,〇,〇,〇,〇,0,0}靜態(tài)定義a[10]={0,l,2,3,4,5,6,7,8,9)說明:static數(shù)組不賦初值,系統(tǒng)會對所有數(shù)組元素自動賦以0值。即:inta[10]={0,0,0,0,0,0,0,0,0,0}; 等價于:staticinta[10];2)對全部數(shù)組元素賦初值,可以不指定數(shù)組長度。即: staticinta[]={0,1,2,3,4,5};等價于: staticinta[6]={0,l,2,3,4,5};3)可以部分賦初值即:inta[5]={l,3};.數(shù)組元素的引用C語言規(guī)定:只能逐個引用數(shù)組元素,而不能一次引用整個數(shù)組。.程序舉例書P124例7.2例7.3三.二維數(shù)組和多維數(shù)組1.定義格式:類型說明符 數(shù)組名[常量表達式][常量表達式]類型說明符:——表示數(shù)組的類型int,short,long,unsigned,float,double,char等數(shù)組名:——表示各數(shù)組元素的統(tǒng)一名字常量表達式:——表示數(shù)組的長度即:inta[5][6]說明:a)每ー維的下標從〇開始,整個數(shù)組元素為:5X6=30個
b)C語言中,二維數(shù)組中元素排列的順序是I按行存放
B|J:先存放第一行的元素,再存放第二行的元素34ヽ5存儲單元3a[O][O]4a[O][l]對應(yīng)表:678a—5a[O][2]2916a[l][O]7a[l][l]a[l][2]1a[2][0]2a[2][l]a⑵⑵c)可以計算數(shù)組元素在數(shù)組中的序號假設(shè)mXn的數(shù)組a,計算序號的公式:iXn+j如:a[O][l] OX3+1=1(第二個)如3X3a[l][2]的序號是:lX3+2=5a⑵⑵d)a⑵⑵d)多維數(shù)組的定義格式:類型說明符達式]即:類型說明符數(shù)組名[常量表達式][常量表達式][常量表數(shù)組名[長度1][長度2][長度3]…inta[2][3][4]2.二維數(shù)組初始化1)兩種基本方法:(a)分行給二維數(shù)組賦初值staticinta[2][3]={{1,2,3},{5,6,7)}(b)所有數(shù)據(jù)寫在ー個化括弧內(nèi)staticinta⑵[3]={1,2,35,6,7}2)可以對部分元素賦初值staticinta[2][3]={{1},{3})即: 1〇〇一300一staticinta[3][4]={{l},{3,l},{0,0,9))
即: 10003100-0090ノ3)定義數(shù)組時,第一維的長度可以不指定,但第二維的長度要指定(編譯系統(tǒng)自動計算)。rstaticinta[][3]={1,2,3,4,5,67,8,9}「static等價于:{static等價于:「static等價于:{static/r/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度汽車維修行業(yè)人才引進與培養(yǎng)合同
- 2025年度環(huán)衛(wèi)工人勞動爭議調(diào)解與處理合同
- 二零二五年度農(nóng)村宅基地租賃協(xié)議(農(nóng)村文化產(chǎn)業(yè)發(fā)展)
- 2025年度高級建造師聘用與技術(shù)咨詢服務(wù)協(xié)議
- 二零二五年度商業(yè)企業(yè)購銷合同印花稅稅率調(diào)整與稅收籌劃實務(wù)
- 二零二五年度藝人經(jīng)紀與全產(chǎn)業(yè)鏈合作合同
- IT基礎(chǔ)設(shè)施建設(shè)項目投資合同
- 鄉(xiāng)村旅游資源開發(fā)利用合作協(xié)議
- 電梯采購工程合同
- 文化旅游項目開發(fā)合作框架協(xié)議
- (新版)網(wǎng)絡(luò)攻防知識考試題庫(含答案)
- 2023年湖北省技能高考文化綜合試題及答案
- 自然辯證法概論課件:第一章馬克思主義自然觀
- 廣東粵教版第3冊上信息技術(shù)課件第5課神奇的變化-制作形狀補間動畫(課件)
- 連鎖藥店運營管理
- (中職)中職生禮儀實用教材完整版PPT最全教程課件整套教程電子講義(最新)
- 民航旅客運輸完整版ppt-全體教學(xué)教程課件最新
- JJF (石化) 007-2018 鉛筆硬度計校準規(guī)范-(高清現(xiàn)行)
- 《中醫(yī)兒科學(xué)》課件生理病因病理特點
- 迪士尼樂園主題PPT模板
- DBJ61_T 179-2021 房屋建筑與市政基礎(chǔ)設(shè)施工程專業(yè)人員配備標準
評論
0/150
提交評論