版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、1第1章算法與C語言概述程序設(shè)計的基本概念算法C語言概述 211程序設(shè)計的基本概念 程序設(shè)計的基本步驟與程序設(shè)計語言程序設(shè)計方法 111程序設(shè)計的基本步驟與程序設(shè)計語言1程序與計算機程序程序就是對一系列操作過程的描述。例11求解一元二次方程。步驟1:為計算機提供一元二次方程的三個系數(shù);步驟2:用數(shù)學(xué)公式計算方程的第一個解;步驟3:用數(shù)學(xué)公式計算方程的第二個解;步驟4:輸出方程的兩個解;步驟5:程序結(jié)束。為求解一個計算任務(wù),我們會告訴計算機按照特定操作順序完成一系列的指令,這一系列指令的集合就是計算機程序。 111程序設(shè)計的基本步驟與程序設(shè)計語言2程序設(shè)計的基本步驟分析問題設(shè)計算法編寫程序運行程
2、序分析結(jié)果編寫文檔 111程序設(shè)計的基本步驟與程序設(shè)計語言3程序設(shè)計語言(1)第一代機器語言機器語言就是由二進(jìn)制 0、1 代碼形式構(gòu)成的指令。不同的計算機系統(tǒng)具有不同的指令系統(tǒng)。如PC機中,表示相加運算的指令代碼就是01001。 111程序設(shè)計的基本步驟與程序設(shè)計語言3程序設(shè)計語言(2)第二代匯編語言匯編語言中的語句就是機器指令的符號化形式。即用十進(jìn)制數(shù)據(jù)和英文縮寫詞來取代二進(jìn)制形式的機器指令。例如:指令代碼01001可改寫成ADD二進(jìn)制數(shù)據(jù)1001可改寫成9計算機不能直接識別匯編語言中的語句,需要翻譯成二進(jìn)制形式的機器指令。這種翻譯一般稱為“匯編”,所用軟件稱為“匯編程序”。111程序設(shè)計的
3、基本步驟與程序設(shè)計語言3程序設(shè)計語言(3)第三代高級語言高級語言是面向用戶的、獨立于計算機硬件的編程語言。計算機不能直接識別高級語言中的語句,需要翻譯成二進(jìn)制形式的機器指令。這種翻譯一般分為稱為“編譯”和“解釋”兩種方式。所用軟件稱為“編譯程序”和“解釋程序”,如圖所示。 111程序設(shè)計的基本步驟與程序設(shè)計語言3程序設(shè)計語言(4)第四代非過程化語言使用非過程化語言編程時只需告訴計算機“做什么”而不是“怎樣做”即不需要描述算法實現(xiàn)的細(xì)節(jié) 112程序設(shè)計方法1結(jié)構(gòu)化程序設(shè)計方法(1)結(jié)構(gòu)化程序設(shè)計原則自頂向下逐步細(xì)化模塊化限制使用goto語句(2)三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)表示程
4、序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的。112程序設(shè)計方法1結(jié)構(gòu)化程序設(shè)計方法選擇結(jié)構(gòu)對于要先做判斷后進(jìn)行選擇的問題就要使用選擇結(jié)構(gòu)。選擇結(jié)構(gòu)分為三種形式:單分支選擇雙分支選擇多選擇分支 112程序設(shè)計方法1結(jié)構(gòu)化程序設(shè)計方法循環(huán)結(jié)構(gòu)分為兩種形式: 當(dāng)型循環(huán) 直到型循環(huán)當(dāng)型循環(huán) 表示先進(jìn)行條件判斷,當(dāng)滿足給定的條件后才執(zhí)行循環(huán)體,并且在循環(huán)終端處流程自動返回到循環(huán)入口處;如果條件不滿足,則退出循環(huán)體直接到達(dá)循環(huán)出口處。直到型循環(huán) 表示從循環(huán)入口處直接執(zhí)行循環(huán)體,在循環(huán)終端處判斷條件。如果條件不滿足,返回入口處繼續(xù)執(zhí)行循環(huán)體,直到條件為真時再退出循環(huán)到達(dá)循環(huán)出口處,是先執(zhí)行循環(huán)后進(jìn)行條件判斷
5、。 112程序設(shè)計方法1結(jié)構(gòu)化程序設(shè)計方法(3)結(jié)構(gòu)化程序特點結(jié)構(gòu)內(nèi)不存在死循環(huán)每種結(jié)構(gòu)都有且僅有一個入口每種結(jié)構(gòu)都有且僅有一個出口結(jié)構(gòu)內(nèi)的每一部分都有機會被執(zhí)行到2面向?qū)ο蟪绦蛟O(shè)計方法例12從鍵盤輸入數(shù)據(jù)n,計算其對應(yīng)的平方根。int n;float result;scanf(%d,&n)result=sqrt(n);printf(%d,result); 112程序設(shè)計方法2面向?qū)ο蟪绦蛟O(shè)計方法(1)對象在現(xiàn)實世界中,對象就是我們認(rèn)識世界的基本單元。它可以是人,也可以是物,還可以是一件事。對象作為現(xiàn)實世界中的一個實體,主要特性如下: 每一個對象必須有一個標(biāo)記名稱以便區(qū)別于其它對象。 用狀態(tài)或
6、屬性可以描述對象具有的特征。 對象含有一組操作,每個操作都決定對象的一種行為。 對象操作與對象屬性是不可分離的。(2)類 就是對一組具有共同的屬性特征和行為特征的對象所進(jìn)行的抽象,類和對象之間的關(guān)系是抽象和具體的關(guān)系。 112程序設(shè)計方法1結(jié)構(gòu)化程序設(shè)計方法(1)結(jié)構(gòu)化程序設(shè)計原則自頂向下逐步細(xì)化模塊化限制使用goto語句(2)三種基本結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)順序結(jié)構(gòu)表示程序中的各操作是按照它們出現(xiàn)的先后順序執(zhí)行的。112程序設(shè)計方法2面向?qū)ο蟪绦蛟O(shè)計方法表11學(xué)生類中的一個對象實例對象狀態(tài):對象的狀態(tài)是全部靜態(tài)屬性的動態(tài)值集合。 112程序設(shè)計方法2面向?qū)ο蟪绦蛟O(shè)計方法(4)對象特征模塊
7、性繼承性動態(tài)鏈接易維護(hù)性封裝性 1712算法121算法的概述122算法的表示123常用算法的簡介人類求解問題的兩種方式:推理方式算法方式121算法的概述算法:一個有窮規(guī)則的集合,其規(guī)則規(guī)定一個解決某一特定類型問題的操作序列。算法特征:有窮性確定性輸入項輸出項有效性 122算法的表示1使用自然語言描述算法例14使用自然語言描述:12399100。 求解方法:使用循環(huán)結(jié)構(gòu)來表示100次相加運算。其中,使用兩個變量sum和n,變量sum表示累和變量,初始值為0,每次加一個“加數(shù)”;變量n表示“加數(shù)”,初始值為1,取值范圍是1至101,為累和變量sum準(zhǔn)備數(shù)據(jù),而變量n的值為101時退出循環(huán)。步驟1:
8、假設(shè)sum的初值為0;步驟2:假設(shè)n的初值為1;步驟3:如果n100時,則執(zhí)行步驟4,否則轉(zhuǎn)出執(zhí)行步驟7;步驟4:計算sum加i的值后,重新賦值給sum;步驟5:計算n加1的值后,重新賦值給n;步驟6:轉(zhuǎn)去執(zhí)行步驟3;步驟7:輸出sum 的值;步驟8:算法結(jié)束。 122算法的表示2使用傳統(tǒng)流程圖描述算法圓角矩形表示算法的“開始”和“結(jié)束”;平行四邊形表示輸入操作和輸出操作。菱形表示表示條件判斷;直角矩形表示算法中的具體操作;箭頭表示算法的操作流程;圓圈表示連接其它流程圖符號,具有匯合的功能。122算法的表示2使用傳統(tǒng)流程圖描述算法傳統(tǒng)流程圖有如下三類共5種。順序結(jié)構(gòu)如圖1-4所示。選擇結(jié)構(gòu)如圖
9、1-5所示。122算法的表示2使用傳統(tǒng)流程圖描述算法循環(huán)結(jié)構(gòu)如圖1-6所示。122算法的表示2使用傳統(tǒng)流程圖描述算法傳統(tǒng)流程圖的主要優(yōu)點:形象直觀,各種操作容易理解,也不會產(chǎn)生二義或歧義性算法出錯時容易發(fā)現(xiàn)并修改。傳統(tǒng)流程圖的主要缺點: 所占篇幅較大且不易繪制,由于使用流程線導(dǎo)致算法過于靈活,不受阻撓限制,常使流程轉(zhuǎn)向混亂,最終造成程序的閱讀和修改困難,更不利于結(jié)構(gòu)化程序的具體實現(xiàn)。 122算法的表示2使用傳統(tǒng)流程圖描述算法例15使用傳統(tǒng)流程圖描述:12399100。122算法的表示3使用NS流程圖描述算法順序結(jié)構(gòu)如圖1-8所示。選擇結(jié)構(gòu)如圖1-9所示。122算法的表示3使用NS流程圖描述算法
10、循環(huán)結(jié)構(gòu)如圖1-10所示。122算法的表示3使用NS流程圖描述算法NS流程圖的主要優(yōu)點: 簡單且易學(xué)易用,具有較好的可讀度,尤其適合描述循環(huán)和條件結(jié)構(gòu)的算法。另外,NS流程圖的設(shè)計意圖易理解,從而為編程、查錯、選擇測試用例、軟件維護(hù)等提供方便。NS流程圖的主要缺點: 不容易進(jìn)行手工修改,在嵌套過多時不容易繪制。例16使用NS流程圖描述:12399100。122算法的表示4使用偽代碼描述算法例17使用偽代碼描述累和算法:12399100。算法描述如下:beginsum=0n=1while (n=100) sum=sum+n n=n+1print sumend 122算法的表示3使用NS流程圖描述
11、算法例18兩個變量內(nèi)容的交換.。 求解方法:使用三個變量a,b,t,其中變量a和b的值由鍵盤輸入,變量t作為暫存單元,通過三次賦值操作完成交換。畫出NS流程圖:122算法的表示3使用NS流程圖描述算法例19取絕對值。 求解方法:使用一個變量n,并選擇結(jié)構(gòu)來進(jìn)行判斷。若變量n的值大于0,則輸出n的值,否則輸出n的值。畫出NS流程圖:122算法的表示3使用NS流程圖描述算法例110計算10!。 求解方法:使用循環(huán)結(jié)構(gòu)來表示10次相乗運算。其中,使用兩個變量f和n,變量f表示累乗變量,初始值為1,每次乗一個“乗數(shù)”;變量n表示“乗數(shù)”,初始值為1,取值范圍是1至11,為累乗變量f準(zhǔn)備數(shù)據(jù),而變量n的
12、值為11時退出循環(huán)。畫出NS流程圖:122算法的表示3使用NS流程圖描述算法例111求裴波納契數(shù)列中的前10個數(shù)據(jù)。 斐波那契數(shù)列是指:0、1、1、2、3、5、8、13、21、34,數(shù)學(xué)定義如下:F(0)0F(1)1F(n)F(n-1)F(n2)(n2) 求解方法:使用循環(huán)結(jié)構(gòu)和迭代算法。其中,循環(huán)控制變量k從2至10取值,在取值為2至9時求裴波納契數(shù),取值為10時結(jié)束循環(huán);另外三個變量為f1,f2,f,其中f1的初始值為0,f2的初始值為1,f的值是f1和f2的和,迭代過程如下:f=f1+f2,f1=f2,f2=f 122算法的表示3使用NS流程圖描述算法例111求裴波納契數(shù)列中的前10個數(shù)
13、據(jù)。畫出NS流程圖:122算法的表示3使用NS流程圖描述算法例112求兩個正整數(shù)的最大公約數(shù)。 求解方法:最大公約數(shù)就是兩個正整數(shù)共有約數(shù)中最大的一個,下面介紹歐幾里德算法(又稱為輾轉(zhuǎn)相除法),其主要操作如下:步驟1:輸入兩個正整數(shù),并放入變量m和n中;步驟2:求出m除以n的余數(shù)放入變量r中;步驟3:如果r為0,則執(zhí)行步驟7,否則執(zhí)行步驟4;步驟4:操作m=n,n=r;步驟5:求出m除以n的余數(shù)放入變量r中;步驟6:執(zhí)行步驟3;步驟7:n就是所求的結(jié)果,輸出結(jié)果。 122算法的表示3使用NS流程圖描述算法例112求兩個正整數(shù)的最大公約數(shù)。畫出NS流程圖:122算法的表示例113判斷素數(shù)。 素數(shù)
14、是一個大于1的自然數(shù),除了1和它本身外,不能被其他自然數(shù)整除,換言之就是素數(shù)除了1和它本身以外不再有其他的因數(shù)。 求解方法:由鍵盤輸入一個大于1的自然數(shù)n,,使用一個變量k,其取值范圍從2至n1,用循環(huán)結(jié)構(gòu)來判斷所有的k值是否是n的因數(shù)。若有因數(shù),則輸出不是素數(shù)的信息,并結(jié)束算法;若沒有因數(shù),則輸出是素數(shù)的信息。 122算法的表示例113判斷素數(shù)。畫出NS流程圖:3813C語言概述131C語言的發(fā)展及特點132C語言程序的構(gòu)成及程序的書寫格式123程序調(diào)試步驟134用VC系統(tǒng)實現(xiàn)C程序的操作過程 131C語言的發(fā)展及特點1C語言的發(fā)展過程表12 C語言標(biāo)準(zhǔn)131C語言的發(fā)展及特點2C語言的主要
15、特點簡潔緊湊、靈活方便運算符豐富數(shù)據(jù)類型豐富運算表達(dá)方式多樣允許訪問物理地址并控制硬件目標(biāo)代碼質(zhì)量高可移植性好表達(dá)力強 132C語言程序的構(gòu)成及程序書寫格式1C語言程序示例例114求解一個一元二次方程。#include #include int main() float a,b,c; float x1,x2; scanf(%f,%f,%f,&a,&b,&c); x1=(-b-sqrt(b*b-4*a*c)/2/a; x2=(-b+sqrt(b*b-4*a*c)/2/a; printf(x1=%fn,x1); printf(x2=%fn,x2); return 0; 132C語言程序的構(gòu)成及程序
16、書寫格式例115編寫函數(shù)計算12399100。#include int main() int s(int m);int m=100; printf(sum=%dn,s(m); return 0; int s(int m) int sum=0; int n=1; while (n=m) sum=sum+n; n=n+1; return sum; 132C語言程序的構(gòu)成及程序書寫格式2C語言程序的構(gòu)成(1)C語言屬于函數(shù)式語言,即程序由函數(shù)構(gòu)成,為非常適合程序的結(jié)構(gòu)化描述。C程序中的函數(shù)共有三種類型,如表13所示。表13函數(shù)分類132C語言程序的構(gòu)成及程序書寫格式2C語言程序的構(gòu)成(2)函數(shù)構(gòu)成一
17、個函數(shù)由兩部分構(gòu)成,即:聲明部分和函數(shù)體。 函數(shù)說明部分包括四部分:函數(shù)類型(返回值的類型)函數(shù)名函數(shù)參數(shù)參數(shù)類型 函數(shù)體是由花括號 包圍起來的部分,以表示函數(shù)的操作,其中包含變量定義和操作描述兩部分。 132C語言程序的構(gòu)成及程序書寫格式2C語言程序的構(gòu)成(2)函數(shù)構(gòu)成例115函數(shù)構(gòu)成示例。int max (x, y)/聲明部分 /函數(shù)體開始int x, y; /變量定義/操作描述/函數(shù)體結(jié)束說明:任何C程序都是從main()處開始執(zhí)行的。C程序書寫格式自由。語句和變量定義的后而必須使用分號表示結(jié)束。C程序使用函數(shù)調(diào)用來實現(xiàn)進(jìn)行輸入輸出,如scanf()。C語言用/或/*/做注釋。 132C
18、語言程序的構(gòu)成及程序書寫格式3C程序的書寫要求說明: 一個變量定義或語句最好占用一行。 由花括號 包圍起來的部分可表示程序的某層結(jié)構(gòu),最好使用縮進(jìn)書寫,將相關(guān)語句按層次排列成左對齊。低層次的語句要比高層次的語句縮進(jìn)若干空格后對齊書寫,以便看起來直觀清晰,增加程序可讀性。 133程序調(diào)試步驟輸入程序編譯程序連接程序運行程序 134用VC系統(tǒng)實現(xiàn)C程序的操作過程 (1)新建源程序文件進(jìn)入VC窗口后,選擇“文件”菜單中的“新建”命令。134用VC系統(tǒng)實現(xiàn)C程序的操作過程(2)指定文件類型選擇“文件”標(biāo)簽中的“C+ Source File” 選項。將文件存到D盤,并指定合理的文件名如P21.cpp。1
19、34用VC系統(tǒng)實現(xiàn)C程序的操作過程(3)編譯源程序輸入源程序。選擇“編譯”菜單中的“編譯”命令翻譯源程序為機器代碼。 134用VC系統(tǒng)實現(xiàn)C程序的操作過程(4)編譯提示信息若程序有錯,則必須回到第(3)步修改源程序。VC系統(tǒng)會指出可能的出錯代碼所在的行號。134用VC系統(tǒng)實現(xiàn)C程序的操作過程(5)執(zhí)行程序若程序完全正確,則選擇“編譯”菜單中的“執(zhí)行”命令。134用VC系統(tǒng)實現(xiàn)C程序的操作過程(6)得到運行結(jié)果程序運行結(jié)果如下。134用VC系統(tǒng)實現(xiàn)C程序的操作過程(7)關(guān)閉工作區(qū)每處理完一個程序后,要處理另一程序時必須關(guān)閉工作區(qū)。選擇“文件”菜單中的“關(guān)閉工作區(qū)”命令。OK5556第二章 數(shù)據(jù)類
20、型及表達(dá)式2.1 標(biāo)識符與關(guān)鍵字在C語言里可定義各種標(biāo)識符作為變量名、符號名、函數(shù)名和數(shù)組名。 標(biāo)識符的命名規(guī)則標(biāo)識符的第一個字符必須是字母或者下劃線,后續(xù)字符可以是字母、數(shù)字或下劃線。標(biāo)識符區(qū)分字母大小寫,例如count,COUNT,Count就是三個不同的標(biāo)識符。不能使用關(guān)鍵字作為標(biāo)識符,因為在關(guān)鍵字被C語言保留且代表著固定的含義。 數(shù)據(jù)的類型決定了數(shù)據(jù)的表示范圍以及對這些數(shù)據(jù)的操作方式。C語言提供了四種基本數(shù)據(jù)類型,它們分別是:2.2 數(shù)據(jù)類型類型存儲空間(字節(jié))名稱int4整型char1字符型float4單精度浮點型double8雙精度浮點型C語言還有一種無類型(void)的數(shù)據(jù)類型。
21、2.3 常量與變量2.3.1 常量常量表示固定不變的數(shù)據(jù)值,其值在程序運行過程中一直保持不變符號常量定義格式如下:#define 標(biāo)識符 常量值2.3 常量與變量整型常量整數(shù)的書寫方法如下:十進(jìn)制整數(shù)如1000,0,-1000。八進(jìn)制整數(shù)由數(shù)字0開頭。例如八進(jìn)制整數(shù) 010,-011,066等于十進(jìn)制整數(shù)8,-9,54。注意八進(jìn)制數(shù)只允許使用07這8個數(shù)字符號。十六進(jìn)制整數(shù)由數(shù)字0和字母x (或大寫字母X)開頭,用09和af(大小寫均可)表示。例如十六進(jìn)制數(shù)0 x10等于十進(jìn)制整數(shù)16,0X1F等于十進(jìn)制整數(shù)31。 2.3 常量與變量浮點型常量 浮點數(shù)即實數(shù),可以用十進(jìn)制小數(shù)形式或用指數(shù)形式來
22、表示。浮點數(shù)書寫方法如下:十進(jìn)制小數(shù)形式必須包含小數(shù)點和數(shù)字,如:3.14,.314,314.0,0.0都是合法的十進(jìn)制小數(shù)形式。float類型常量需要加字母f后綴,例如3.14f就是float類型指數(shù)形式如3.14E0,0.314e1,314e-2都表示實數(shù)3.14,字母e(或大寫字母E)之前必須有數(shù)字,且e之后的指數(shù)必須為整數(shù)。像e,1e,e1,e0.1,.e1都是錯誤的寫法。 2.3 常量與變量字符型常量字符常量表示ASCII碼表中的字符,在書寫時用單引號括起來如a F 字符的計算或存儲時是按ASCII碼來處理的如字符a的ASCII碼是97,在計算或存儲這個字符時并不是a而是97字符常量
23、在書寫時需要注意以下幾點: a和A是兩個完全不同的字符常量,因為其ASCII碼值不同 3和3不同,3是字符(ASCII值為51),3是整數(shù)(值為3)空格字符常量不能直接寫成,應(yīng)在這對單引號中包含一個空格2.3 常量與變量轉(zhuǎn)義字符C語言中還有一種轉(zhuǎn)義字符,表示一些用于控制的ASCII字符(如退格符,換行符,制表符)和一些特殊格式字符(如單引號,雙引號,反斜線)。例如,101同A,12同n,071同9。 一些常用轉(zhuǎn)義字符及功能功能字符功能字符換行n換頁f退格b回車r水平制表t垂直制表v單引號雙引號”13位八進(jìn)制數(shù)代表的字符ddd空(表示字符串常量的結(jié)束)012位十六進(jìn)制數(shù)代表的字符xhh反斜線2.
24、3 常量與變量字符串常量 字符串是包含在一對雙引號之間的一串字符如“Hello”,“C Program”。字符串的值并不是這個字符串中的各個字符,而是一個數(shù)值,這個數(shù)值是字符串在內(nèi)存中的首地址。C編譯器會在每個字符串末尾自動添加一個0字符作為此字符串的結(jié)束標(biāo)志,在程序中可以依此字符來確定字符串的結(jié)束位置。 Student02.3 常量與變量2.3.2 變量變量用于存儲程序在運行時的各項臨時數(shù)值。 C語言規(guī)定變量必須先定義,再使用。 變量定義的格式:數(shù)據(jù)類型 變量1,變量2,變量3,.;3變量名變量值存儲單元x2.3 常量與變量(1)整型變量整型變量用于存儲整數(shù),在程序中用int關(guān)鍵字來定義整型
25、變量。在int之前還可以使用short或long修飾符,用于說明短整型(short int)或長整型(long int)。C語言默認(rèn)整型定義都是有符號型(signed),有符號型即此變量可以存儲正數(shù)、負(fù)數(shù)和0。若將整型指定為無符號型(unsigned),此變量只能存放非負(fù)整數(shù)。 整型類型及數(shù)值范圍 類型二進(jìn)制位數(shù)數(shù)值范圍signed int32-21474836482147483647 即 -231(231-1)signed short int16-3276832768 即 -215(215-1)signed long int32-21474836482147483647 即 -231(231
26、-1)unsigned int3204294967295 即 0(232-1)unsigned short int16065535 即 0(216-1)unsigned long int3204294967295 即 0(232-1)2.3 常量與變量(2)浮點型變量程序中使用單精度型(float)和雙精度型(double)兩種類型來定義浮點型變量,用來存儲實數(shù)。在32位系統(tǒng)中:float型占4個字節(jié)(32位)存儲空間,有效數(shù)字是67位;double型占8個字節(jié)(64位)存儲空間,有效數(shù)字是1516位。2.3 常量與變量(3)字符型變量字符型變量用于存儲字符 ,在內(nèi)存中占一個字節(jié),由于存儲的是
27、字符的ASCII碼值,因此字符型數(shù)據(jù)和整型數(shù)據(jù)可以相互運算。程序運行結(jié)果如下:a a b2.3 常量與變量(4)變量的初始化C語言允許在定義變量時指定其初始值,變量初始化的格式為:數(shù)據(jù)類型 變量名1=表達(dá)式1,變量2=表達(dá)式2, .;2.4 運算符和表達(dá)式 2.4.1 算術(shù)運算符與算術(shù)表達(dá)式C語言基本的算術(shù)運算符如下:+:加法運算符,或表示正數(shù),如3+2,+1-:減法運算符,或表示負(fù)數(shù),如3-2,-8*:乘法運算符,如4*5/:除法運算符,如5/3%:求余運算符,如5%3優(yōu)先級運算符說明運算量個數(shù)結(jié)合方向1( )圓括號從左到右2+ -正號、負(fù)號單目從右到左3* / %乘法、除法、求余雙目從左到
28、右4+ -加法、減法雙目從左到右表2-5算術(shù)運算符的優(yōu)先級兩個整數(shù)相除的值是整數(shù),小數(shù)部分被舍去。例如:9/2的值是4不是4.5,而9.0/2的結(jié)果才是4.5。求余運算符%要求兩個操作數(shù)必須是整數(shù),運算值的符號與被除數(shù)相同。例如:5%3/23%5 /35%-3/2-5%3/-2。若在+,-,*,/運算中有浮點數(shù),運算值是double類型。例如:3.14*10*10 /double0.0+1 /double3.0f+1.0f /double3.0f+1 /double% 求余運算#include main() printf(%dn, 3%5); printf(%dn, 5%3); printf(
29、%dn, 3%-5); printf(%dn, 5%-3); printf(%dn, -3%5); printf(%dn, -5%3);% 要求兩側(cè)均為整型數(shù)據(jù)3232-3-2提取一個三位整數(shù)各位上的數(shù)值并輸出2.4 運算符和表達(dá)式 2.4.2賦值運算符與賦值表達(dá)式(1)賦值運算符賦值運算符用等號=表示,將等號右邊表達(dá)式的值賦值給等號左邊的變量對變量多次賦值,變量的值將多次被更新,變量的當(dāng)前值是最后一次賦值的值。2.4 運算符和表達(dá)式 (2)復(fù)合賦值運算符復(fù)合算術(shù)運算符+=,-=,*=,/=, %=復(fù)合位運算符&=,=,|=,=例:a=b=c=5 a=(b=5) a=5+(c=6) a=(b=
30、4)+(c=6) a=(b=10)/(c=2)例: a=12; a+=a-=a*a /a=-264 等價于a=a+(a=a-(a*a)例: int a=2; a%=4-1; a+=a*=a-=a*=3; 2.4 運算符和表達(dá)式 2.4.3 自增+、自減-運算符+、-將變量的值加1或者減1表達(dá)式i+和+i的值是不同的:+作前綴,先運算i=i+1然后引用i+作后綴,先引用i后再運算i=i+1。i=j=3;x=i+;/先引用x=i, 后運算i+。x:3 j:4y=+j;/先運算+j, 后引用y=j。y:4 j:4i+i i=i+1 i+=1i- -i i=i-1 i-=1輸出結(jié)果為:0 2 12.4
31、 運算符和表達(dá)式 2.4.4 逗號運算符和逗號表達(dá)式用逗號將多個表達(dá)式連接起來,又稱為“順序求值運算符”。整個表達(dá)式的值是最后那個逗號之后表達(dá)式的值程序的運行結(jié)果是:1,1,02.4 運算符和表達(dá)式 2.4.5 數(shù)據(jù)類型轉(zhuǎn)換C語言允許在表達(dá)式中出現(xiàn)不同類型的操作數(shù)。在運算時,數(shù)據(jù)類型可能發(fā)生隱式轉(zhuǎn)換或者執(zhí)行強制轉(zhuǎn)換。(1)在表達(dá)式中發(fā)生的隱式轉(zhuǎn)換doublelongfloatunsignedintchar,short數(shù)據(jù)類型轉(zhuǎn)換規(guī)則程序的運行結(jié)果是:108.0000002.4 運算符和表達(dá)式 (4)強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換可以將一個表達(dá)式的值轉(zhuǎn)換為指定的類型。轉(zhuǎn)換的形式如下:(類型名)表達(dá)式例
32、如:a=(double)10;/a=10.000000b=(float)m;/將m的值轉(zhuǎn)換為float后賦值給b,m原類型和值不變c=(char)97;/將97轉(zhuǎn)換為char型的a后賦值給dd=(int)(x+y);/將表達(dá)式x+y的值轉(zhuǎn)換為int后賦值給c強制類型轉(zhuǎn)換得到的是一個所需數(shù)據(jù)類型的臨時值,并不會改變所轉(zhuǎn)換變量的類型和值2.4 運算符和表達(dá)式 2.4.6 位運算位運算包括邏輯運算和移位運算,位運算的對象是整型或字符型數(shù)據(jù)。下面表格列出了C語言支持的位運算符及功能。運算符功能&按位或|按位與異或右移求反2.4 運算符和表達(dá)式 (1)位邏輯運算與運算&對兩個操作數(shù)按位進(jìn)行與運算,當(dāng)對應(yīng)
33、位都是1時,此位的運算值才是1,否則為0。與運算常用于將數(shù)值中的指定位置零,或提取數(shù)值中指定位的值?;蜻\算|對兩個操作數(shù)按位進(jìn)行或運算,只要對應(yīng)位上有一個1時,此位的運算值就為1,若對應(yīng)位都是0,則此位運算值為0。或運算常用于將數(shù)值中的指定位置1。異或運算對兩個操作數(shù)按位進(jìn)行異或運算,當(dāng)對應(yīng)位的取值相異時,此位運算值為1,否則為0。求反運算對一個操作數(shù)的所有位求反,0變1,1變0。2.4 運算符和表達(dá)式 【例212】 位邏輯運算&,|,和。 010100110101001101010011 11110000111100001111000001010011& - | - - - 01010000
34、 01010011 10100011 10101100【例214】 不用第三個變量,交換兩個變量的值程序的輸出結(jié)果是:5 32.4 運算符和表達(dá)式 (2)移位運算移位運算符和3表示1111 0101向右移動3位,右端的3個二進(jìn)制位101將被抹掉,而左端會填充3個0,于是運算值為0001 1110。右移1位可以對整數(shù)做除以2運算:i=14;/ 二進(jìn)制數(shù)1110=14j=i1;/ 二進(jìn)制數(shù)0111=7,即14/2左移1位可以對整數(shù)做乘以2運算:i=4;/ 二進(jìn)制數(shù)100=4j=i2;/ 二進(jìn)制數(shù)10000=16,即4*2*23本章小結(jié) 介紹了C語言中的關(guān)鍵字的作用和標(biāo)識符的概念與定義;引入了常量、
35、變量的概念、定義和使用方法;講解了C語言的數(shù)據(jù)類型和類型的轉(zhuǎn)換方法;重點講述了C語言的運算符及其操作方法;表達(dá)式的定義、結(jié)合性和優(yōu)級先級。本章是C語言程序設(shè)計的基礎(chǔ),對本章知識點的理解和掌握是為后續(xù)學(xué)習(xí)打下堅實的基礎(chǔ)。本章結(jié)束8889第3章C語言的語句及和程序流程控制3.1 C語言語句概述3.2 順序結(jié)構(gòu)程序設(shè)計3.3 選擇結(jié)構(gòu)程序設(shè)計3.4 循環(huán)結(jié)構(gòu)程序設(shè)計3.5 程序舉例3.1.1 表達(dá)式語句 3.1.2 函數(shù)調(diào)語句3.1.3 控制語句3.1.4 復(fù)合語句3.1.5 空語句3.1 C語言語句概述3-1 介紹基本語句語句表達(dá)式語句空語句復(fù)合語句函數(shù)調(diào)用語句程序流程控制語句語句以;結(jié)尾控制語句
36、完成一定的控制功能C語言的9種控制語句if-elsewhilecontinueswitchreturnfordo-whilebreakgoto表達(dá)式語句形式expression;表達(dá)式最后加一個分號舉例a=5;/* 賦值語句 */z=x*y, x+;/* 一條語句 */a-b+y;/* 語句,但無實際意義 */b+;/* 語句 */b+/* 表達(dá)式,不是語句 */函數(shù)調(diào)用語句形式function(arguments);函數(shù)調(diào)用后加一個分號函數(shù)調(diào)用語句可以看作一種表達(dá)式語句舉例printf(%d, i);getchar();myfun(a, b);空語句形式;只有一個分號用法作為轉(zhuǎn)向點作為循環(huán)語
37、句中的循環(huán)體舉例 for(i=1; i=100; i+) sum+=i;for(i=1; i y)/* 復(fù)合語句開始 */ t = x; x = y; y = t; /* 復(fù)合語句結(jié)束 */printf(%d, %d, x, y);C語言語句使用說明除復(fù)合語句外,語句都以分號;作為結(jié)束語句書寫格式比較自由,確定語句結(jié)束的唯一標(biāo)準(zhǔn)是分號(;)注意區(qū)分表達(dá)式和表達(dá)式語句,它們的用法不同舉例,if(a=b)0) t=a;錯例,if(a=b;)0) t=a;舉例,if(xy) x-; y+;錯例,if(xy) x-; y+ 基本語句的實例實例: 以下都是什么語句?#includemain() int
38、a,b,sum; /*變量定義*/ a=1; b=2; sum=a+b; printf(sum=%d,sum); if (ab) a=1;b=2; ; else a+;printf(“a=%d,b=%dn,a,b); 3.2.1 順序結(jié)構(gòu)程序設(shè)計的基本結(jié)構(gòu) 3.2.2 基本的輸入輸出3.2.3 順序結(jié)構(gòu)程序設(shè)計的實例3.2順序結(jié)構(gòu)程序設(shè)計C語言里,輸入輸出功能是通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)實現(xiàn)的程序劃分為三部分:數(shù)據(jù)輸入,數(shù)據(jù)處理,數(shù)據(jù)輸出3.2.1 順序結(jié)構(gòu)程序設(shè)計的基本結(jié)構(gòu)#includemain() int a,b,c,x,y;scanf(“%d,%d,%d”,&a,&b,&c); y=(x=a+
39、b),(b+c); printf(y=%d,x=%d,y,x);輸入數(shù)據(jù)處理輸出函數(shù)調(diào)用語句printf()scanf()輸入輸出語句字符輸入輸出語句格式輸入輸出語句getchar()putchar()3.2.2 基本的輸入輸出 格式輸出語句 printf (”輸出格式”,輸出表列); 例:int a=2,b=5; printf(“%dn%d”,a,b); printf(“%dt%d”,a,b);注:基本數(shù)據(jù)類型的數(shù)據(jù)(int,float,double,char)輸出表列列出了所有要輸出的數(shù)據(jù)項,輸出項之間用逗號分隔.輸出項可以是常量、變量和表達(dá)式可用:轉(zhuǎn)義字符,格式說明,普通字符(原樣輸出)
40、格式說明和輸出數(shù)據(jù)項應(yīng)一對一 舉例:printf (”a=%d b=%d a*b=%dn”,4,b,a*b)轉(zhuǎn)義字符:以開始的字符,表示控制含義, 例:n 回車換行格式說明:%格式字符,按照格式字符的要求,依次將后面的各數(shù)據(jù)項的值按相應(yīng)類型輸出,例:%d 十進(jìn)制整型 %f 十進(jìn)制實型 格式字符(格式字符限制輸出的數(shù)據(jù)類型和形式)格式字符 說 明(對于整數(shù)輸出) d 以十進(jìn)制帶符號形式輸出整數(shù)(正數(shù)不輸出符號) o 以八進(jìn)制無符號形式輸出整數(shù)(不輸出前綴符0) x 以十六進(jìn)制無符號形式輸出整數(shù)(不輸出前綴符0 x) u 以十進(jìn)制無符號形式輸出整數(shù) 舉例:main( ) int a=100,b=-
41、1; printf(a=%d,%x,%o,%un, a, a, a,a); printf(b=%d,%x,%o,%un, b, b, b,b);a=100,64,144,100b=-1,ffff,177777,655351000 0000 0000 00011111 1111 1111 11101111 1111 1111 1111-1原-1補0000 0000 0110 0100整數(shù)輸出實數(shù)輸出格式字符(格式字符限制輸出的數(shù)據(jù)類型和形式)格式字符 說 明 f 以小數(shù)形式輸出單、雙精度數(shù)。整數(shù)部分全部輸出,小數(shù)部分輸出6位 e 以指數(shù)形式輸出單、雙精度數(shù)。整數(shù)部分全部輸出,小數(shù)部分輸出5位,
42、指數(shù)4位,其中e占一位,符號一位,指數(shù)占兩位,并且以規(guī)范化指數(shù)形式輸出。 規(guī)范化:小數(shù)點前有且僅有1位非0數(shù)字。 g 選%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0 舉例:main( ) float pi=3.14159; printf(pi=%f,%e,%g, pi, pi,pi);pi=3.141590,3.14159e+00,3.14159例如:317.7字符數(shù)輸出格式字符格式字符 說 明 c 以字符形式輸出,僅輸出一個字符 s 輸出字符串 舉例:main( ) char ch=a; printf(“ch=%cn,ch); printf(“str=%s,”abc”);字符輸入
43、輸出語句字符輸入輸出語句(輸入輸出一個字符)字符輸入語句 getchar() ; 例: c = getchar( );功能:從輸入設(shè)備(鍵盤)上取一個字符的ASCII碼作為函數(shù)值返回值, 賦予變量c。字符輸出語句 putchar() ; 例:putchar(c );功能:將變量c中存放的字符,顯示在輸出設(shè)備上(顯示器)舉例:#include stdio.hmain ( ) char c; c = getchar( ); putchar(c); 運行程序,如果從鍵盤輸入: k 回車 則輸出為: k注:輸入以回車結(jié)束注意:使用這兩個函數(shù),包含頭文件中例:將大寫字母轉(zhuǎn)換為小寫字母。#include
44、stdio.h main ( ) char c; c=getchar()+32; putchar(c);運行程序,如果從鍵盤輸入:A 回車則輸出為: a 如果從鍵盤輸入:B 回車 則輸出為:b注意:1)格式字符要和輸出的類型匹配main ( ) float f=3.1; int d=3; printf(“%d”,f);/*出錯*/ printf(“%f”,d);/*出錯*/ printf(“%s”,a);/*出錯*/2)char和int可以通用 char c=a;int a=97; printf(“%d,%c”,c,a); 97,a注:根據(jù)要數(shù)據(jù)的數(shù)據(jù)類型,來選擇格式字符整數(shù)格式中修飾符 修飾
45、符 格式字符注:修飾符可省略修飾符 說 明 m(整數(shù)) 輸出數(shù)據(jù)占的總列數(shù),不足補空格 例:%6d +,- 對齊方式,-表示結(jié)果向左對齊,否則右對齊 例:%-d0m 以寬度m輸出整型數(shù),不足m時,補0-0m 以寬度m輸出整型數(shù),不足m時,補空格 舉例: int a=123;printf(“%4d,%-4d”,a,a);printf(“%04d,%-04d”,a,a);printf(“%2d”,a);對于整數(shù)部分,如果m比實際長度短,按實際長度輸出123l123,123l0123,123_ float b=4.567;c=3.1415926printf(“%0.2f,%8.4f”,b,b);pr
46、intf(“%f,%.7f”,c,c);修飾符 格式字符修飾符 說 明 m .n 對實數(shù),占的總列數(shù)是m(小數(shù)點占一位),n表示小數(shù)位數(shù)長度不足時,整數(shù)部分原樣輸出,小數(shù)部分按n截取,四舍五入 對字符串,m表示字符串寬度,n表示截取的字符個數(shù)m長度不足時,按原樣輸出4.57, _ _4.5670printf(%s,%10s,%-12s ,%-8s,%6.4sn, Good-bye!, Good-bye!, Good-bye!, Good-bye!, Good-bye!);Good-bye!.,_Good-bye!, Good-bye!_ _ _,Good-bye!,_ _Good 3.1415
47、93,3.1514926實數(shù)與字符格式中修飾符 scanf (”輸入格式”,變量地址表列); 指定的輸入數(shù)據(jù)的輸入格式,并存放于各定義的變量中。注:格式說明和變量地址一一對應(yīng),基本數(shù)據(jù)類型的數(shù)據(jù)(int,float,double,char)輸入語句 scanf()由若干變量的地址組成,用逗號分隔。變量的地址就是在變量名前加&.表示將輸入的數(shù)據(jù)存放到變量a所對應(yīng)的內(nèi)存單元。 舉例:scanf (”%d%d”,&a,&b)說明:%格式字符,按指定格式,依次將輸入的數(shù)據(jù)存放到各變量中 例如:%d 指定為十進(jìn)制整型 。 格式字符 說 明 d 輸入十進(jìn)制整數(shù) 例 int a; scanf(“%d”,&a
48、); 16 o 輸入八進(jìn)制整數(shù) int a; scanf(“%o”,&a); 16 x 輸入十六進(jìn)制整數(shù) int a; scanf(“%x”,&a); 16 c 輸入單個字符 char a; scanf(“%c”,&a); A s 輸入字符串 char a20,sacnf(“%s”,a); “good!” f 輸入實數(shù),為小數(shù)形式或指數(shù)形式float a; scanf(“%f”,&a); 3.1415 修飾符 格式字符修飾符 說 明 l 用于輸入長整型數(shù)據(jù)(%ld)及double型數(shù)據(jù)(%lf) m 用于指定輸入數(shù)據(jù)占據(jù)的寬度 %2d * 表示本輸入項在讀入后舍棄,即跳過。輸入格式中修飾符 #
49、include main()int a,b,c;scanf(“%d,%d,%d”,&a,&b,&c);a+=b+;c*=a*b;printf(a=%d,b=%d,c=%dn,a,b,c);int c=10; a=+b+c;b=b+a;c=a=b; printf(a=%d,b=%d,c=%dn,a,b,c);printf(a=%d,b=%d,c=%dn,a,b,c);實例:閱讀下列程序,運行時輸入2,4,5分析輸出結(jié)果。3-3 分支結(jié)構(gòu)程序設(shè)計3.3.1關(guān)系運算符與關(guān)系運算表達(dá)式3.3.2邏輯運算符與邏輯表達(dá)式3.3.3if語句3.3.4條件運算符3.3.5switch開關(guān)詩句3.3.6程序舉例
50、運算符名稱舉例優(yōu)先級(算術(shù)運算符)小于a15高=小于等于a大于f5.56=大于等于ch=A=等于a=b低!=不等于x!=0(關(guān)系運算符)3.3.1 關(guān)系運算符與關(guān)系運算表達(dá)式關(guān)系表達(dá)式用關(guān)系運算符將兩個表達(dá)式連接起來a+bc+d, (a=3)x注意區(qū)分等于(=)和賦值運算符(=)a=b, a=b關(guān)系表達(dá)式的值是邏輯值“真”或“假”C語言用整型表示邏輯值,“真”1、“假”0例,a=3, b=2, c=1;d=ab;/* d=1 */f=abc;/* f=(ab)c=0 */運算符名稱舉例優(yōu)先級!邏輯非!ab與!(ab)(算術(shù)運算符)(關(guān)系運算符)&邏輯與(ab)&(bc)|邏輯或(a10)|(a
51、b)&(n=cd)計算下列表達(dá)式的值!(a&b)(!a)|(!b)!(a|b)(!a)&(!b)!(a&b)|c)(!a|!b)&!c運算符按照優(yōu)先級大小由上向下(高低)排列,在同一行的運算符具有相同優(yōu)先級。第二行是所有的一元運算符。運算符解釋結(jié)合方式() - .括號(函數(shù)等),數(shù)組,兩種結(jié)構(gòu)成員訪問由左向右! + - + - * & (類型) sizeof()否定,按位否定,增量,減量,正負(fù)號,間接,取地址,類型轉(zhuǎn)換,求大小由右向左* / %乘,除,取模由左向右+ -加,減由左向右 = 小于,小于等于,大于等于,大于由左向右= !=等于,不等于由左向右&邏輯與由左向右|邏輯或由左向右? :條
52、件由右向左= += -= *= /= 各種賦值由右向左,逗號(順序)由左向右=賦值由右向左3.3.3 if語句 if(表達(dá)式) 語句 1;語句 3; if(表達(dá)式) 語句 1;else 語句2;語句 3; if(表達(dá)式) 語句 1;else 語句2;語句 3;表達(dá)式1語句1FT表達(dá)式2語句2FT語句n表達(dá)式3語句3FTif的一種擴(kuò)展形式格式: if (表達(dá)式1) 語句1;else if (表達(dá)式2)語句2;else if (表達(dá)式3)語句3;else語句n;語句n+1; if語句的說明無論哪種形式,一條if語句,包括else或else if子句,只算作一條語句if語句中的表達(dá)式,可以是任何可計
53、算類型式子 if語句中的語句,可以是一條任何類型的語句(表達(dá)式語句、空語句、復(fù)合語句、控制語句)子句末尾的分號,只表示子句的結(jié)束,不表示if語句結(jié)束若在if或else中有多條語句被執(zhí)行,應(yīng)用括起且末尾不用分號else 子句可以沒有的if語句舉例if (x y)/* max為x和y的較大值 */ max = x;if (x y)/* a為x和y之差的絕對值 */ a = x - y;else a = y - x;if (x y);/* 合法,執(zhí)行空語句 */if語句的嵌套if語句的各子句都可以又是if語句或else if語句應(yīng)注意if-else的配對關(guān)系else總是與其上面最近的if配對可以用明
54、確if-else的配對關(guān)系if(表達(dá)式1)if(表達(dá)式1) if(表達(dá)式2)else if(表達(dá)式2) 語句1 語句1 else else 語句2 語句2 例:輸入三個整數(shù),按從小到大的順序輸出它們。#include main( ) int a, b, c, t; scanf(%d, %d, %d, &a, &b, &c); if (ab) if (ac) if (bc) printf(%d, %d, %d, a, b, c);t=a; a=b; b=t;t=a; a=c; c=t;t=b; b=c; c=t;有一函數(shù): -1 (x0)編一程序,輸入一個x值,輸出y值。#include mai
55、n( ) int x, y; scanf(%d, &x); if (x0) y=-1; else if (x=0) y=0;/ else y=1; printf(x=%d, y=%d, x, y);條件語句舉例#include main( ) int x, y; scanf(%d, &x); if (x=0) /*條件語句嵌套 */ if (x= =0) y=0; /*注意:內(nèi)、外重條件語句*/ else y=1; /* if-else配對使用原則:*/ else y=-1; /* else總是與距離它最近的且沒有*/ /*配對的if相結(jié)合,與縮進(jìn)格式無關(guān)!*/ printf(x=%d, y=
56、%d, x, y) ;例:對學(xué)生成績分檔;main( ) int g; printf(”Enter score:”); scanf(”%d”, &g); if (g100) printf (”INPUT ERROR !”); else if (g=80) printf(”A”); else if (g=70) printf(”B”); else if (g=60) printf(”C”); else printf(”D”); 80100分 A檔 7079分 B檔 6069分 C檔 059分 D檔3.3.4條件運算符條件運算符 ?:條件表達(dá)式 exp1?exp2:exp3計算順序先判斷exp1若
57、exp1為“真”,表達(dá)式的值為exp2的值若exp1為“假”,表達(dá)式的值為exp3的值例,min = (xy) ? x : y;等同:if(xy) min = x;else min = y;4.3.5 switch語句switch語句的一般語法格式為:switch(整型表達(dá)式) case 常量表達(dá)式1:語句1;break; case 常量表達(dá)式2:語句2;break; case 常量表達(dá)式n:語句n;break; default:語句n+1; 執(zhí)行過程:先計算表達(dá)式的值,并逐個與case后面的常量表達(dá)式的值相比較,當(dāng)表達(dá)式的值與某個常量表達(dá)式i的值一致時,則從語句i開始執(zhí)行;直到遇到break
58、語句或switch語句的”; 若表達(dá)式與任何常量表達(dá)式的值均不一致時,則執(zhí)行default后面的語句或執(zhí)行后續(xù)語句。 獨立結(jié)構(gòu)(case后有break)與非獨立結(jié)構(gòu)例 switch(score) case 5: printf(“Very good!”); case 4: printf(“Good!”); case 3: printf(“Pass!”); case 2: printf(“Fail!”); default : printf(“data error!”); 運行結(jié)果:score為5時,輸出: Very good! Good! Pass! Fail! data error!獨立分支開關(guān)
59、語句舉例 X 0X10 2X+1 10X20Y= 41 20X30 71-X 30X40 0 X0或X40#include main()int x scanf(%d, &x); switch ( ) case 0 : printf(y=%dn, x); break; case 1: printf(y=%dn, 2*x+1); break; case 2: printf(y=41n); break; case 3: printf(y=%dn, 71-x); break; default: printf(y=0n); x/10讀程序結(jié)果例 void main() int x=1,y=0,a=0,b
60、=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+;b+; break; case 3: a+;b+; printf(“na=%d,b=%d”,a,b); 運行結(jié)果:a=2,b=1return#include int main() char c; printf(輸入一個字符:); c=getchar(); if(c=0&c=A&c=a&c=z) printf(是字母n); else printf(是其它字符n); return 0;例:輸入一個字符,判斷其是字母、數(shù)字、控制符或其它符號
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年北師大新版選修6地理上冊階段測試試卷
- 2024年華師大版五年級語文上冊階段測試試卷
- 2024廣告發(fā)布合同標(biāo)的為廣告位和廣告內(nèi)容
- 二零二五年度汽車租賃與改裝升級服務(wù)合同3篇
- 2025年魯科版七年級數(shù)學(xué)上冊階段測試試卷含答案
- 2025年人教新課標(biāo)五年級語文下冊月考試卷
- 2025年北師大版八年級地理上冊階段測試試卷
- 2025年度文化創(chuàng)意產(chǎn)業(yè)園區(qū)開發(fā)與運營收藏合同3篇
- 2024年貨物進(jìn)口合同詳細(xì)條款
- 2025年度WXLX09009(2024版)智能交通管理系統(tǒng)建設(shè)合同3篇
- 小學(xué)道德與法治學(xué)科高級(一級)教師職稱考試試題(有答案)
- 考研考博-英語-山東師范大學(xué)押題密卷附帶答案詳解篇
- 實用性閱讀與交流任務(wù)群設(shè)計思路與教學(xué)建議
- 應(yīng)急柜檢查表
- 中醫(yī)診療器具清洗消毒(醫(yī)院感染防控專家課堂培訓(xùn)課件)
- 通風(fēng)設(shè)施標(biāo)準(zhǔn)
- 寵物智能用品項目計劃書【模板范文】
- 藥廠生產(chǎn)車間現(xiàn)場管理-PPT課件
- 軸與孔標(biāo)準(zhǔn)公差表
- 防火門施工方案
- 人教PEP版2022-2023六年級英語上冊期末試卷及答案(含聽力材料)
評論
0/150
提交評論