




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 順序結(jié)構(gòu)是最簡單的C語言程序結(jié)構(gòu),也是C語言程序中最常用的程序結(jié)構(gòu),其特點是完全按照語句出現(xiàn)的先后次序執(zhí)行程序。 順序結(jié)構(gòu)沒有專用的控制語句,在該種結(jié)構(gòu)中通常只包括:變量聲明語句、賦值語句、輸入/輸出函數(shù)語句等。 順序結(jié)構(gòu)雖然簡單,但畢竟處理問題有限。4.2 順序結(jié)構(gòu)順序結(jié)構(gòu)4.3.1 關(guān)系運算符和關(guān)系表達(dá)式關(guān)系運算符和關(guān)系表達(dá)式4.3.2 邏輯運算符和邏輯表達(dá)式邏輯運算符和邏輯表達(dá)式4.3.3 if語句語句4.3.4 switch語句語句一一 關(guān)系運算符關(guān)系運算符C語言提供6種關(guān)系運算符: = (優(yōu)先級高) = != (優(yōu)先級低)二二 優(yōu)先次序優(yōu)先次序 前四種關(guān)系運算符的優(yōu)先級相同,后兩種
2、也相同。前四種高于后兩種。 關(guān)系運算符的優(yōu)先級低于算術(shù)運算符。 關(guān)系運算符的優(yōu)先級高于賦值運算符。4.3.1 關(guān)系運算符和關(guān)系表達(dá)式關(guān)系運算符和關(guān)系表達(dá)式算術(shù)運算符賦值運算符關(guān)系運算符 (低)(高)例如:例如: c a + b 等效于等效于 c (a + b) a b = c 等效于等效于 (a b) = c a = b c 等效于等效于 a = (b c)三三 關(guān)系表達(dá)式關(guān)系表達(dá)式 定義:定義: 用關(guān)系運算符將兩個表達(dá)式連接起來的式子。用關(guān)系運算符將兩個表達(dá)式連接起來的式子。例如:例如: a b , a + b b + c , (a = 3) (b = 5) , a b) (b b”的值為的
3、值為“真真”,即:關(guān)系表達(dá)式的值為,即:關(guān)系表達(dá)式的值為“1”。 “b + c b c f = ?再如再如 : f = 0.1 0.5 b) & (x y) (a b) | (x y) “!”是“一目(元)運算符”,只要求有一個運算量。例如:例如: ! (a b) 邏輯運算舉例例如:例如: a & b 若若a、b都為真,則都為真,則a & b為真。為真。 a | b 若若a、b之一為真,則之一為真,則a | b為真。為真。 !a 若若a為真,則為真,則 !a為假。為假。2. 邏輯運算符的優(yōu)先次序邏輯運算符的優(yōu)先次序 !(非) & (與) | (或) (“!”的優(yōu)
4、先級最高) 邏輯運算符中的“&”和“|”低于關(guān)系運算符,“!”高于算術(shù)運算符。!(非非)算術(shù)運算符算術(shù)運算符關(guān)系運算符關(guān)系運算符&賦值運算符賦值運算符(低低)(高)(高) |例如: a b & x y !a | a b 在在C語言中規(guī)定非零為語言中規(guī)定非零為“真真”,零為,零為“假假”例如:例如: 若若a = 4,則,則 !a 0 若若a = 4,b = 5,則,則 a &b 1 a = 4,b = 5,則,則 !a | b 1 4.3 & 0 | -0.52 1 a & b 1 !(0.1 0.6 0.9) & A 10) &
5、(y=5+4) & (z = 7)思考:計算表達(dá)式后以下變量和表達(dá)式的值 x = ? y =? z = ? 表達(dá)式的值為:?(x=3 , y、z變量的值“不確定”,表達(dá)式值為0)(2)“|”運算 (x = 1) | (y = 2) (z = 1) | (x + z) = y思考:計算表達(dá)式后以下變量和表達(dá)式的值 x = ? y =? z = ? 表達(dá)式的值為:?(x=1 , y、z變量的值“不確定”,表達(dá)式值為1)4.3.3 if語句語句 if語句是語句是選擇結(jié)構(gòu)選擇結(jié)構(gòu)的控制語句的控制語句。一一 if語句的三種形式語句的三種形式 if (表達(dá)式表達(dá)式) 語句;語句;注:為單分支控制結(jié)
6、構(gòu);注:為單分支控制結(jié)構(gòu); 其中表達(dá)式可是常量、變量、其中表達(dá)式可是常量、變量、函數(shù)和表達(dá)式,表示判別條件;函數(shù)和表達(dá)式,表示判別條件; 語句可是簡單或復(fù)合語句。語句可是簡單或復(fù)合語句。表達(dá)式表達(dá)式語句語句真假例例1:有一個函數(shù):有一個函數(shù): y=-1 x0編一程序,輸入一個編一程序,輸入一個x值,輸出值,輸出y值。值。#include int main(void)int x, y;printf(Please input x:);scanf(%d, &x);if (x 0) y = 1;printf(x=%d,y=%dn, x, y); return 0; 例例2:輸入任意三個整數(shù),然
7、后按從小到大的順序輸出。#include int main(void) int a, b, c, t; scanf(%d%d%d, &a, &b, &c); if (a b) t = a; a = b; b = t; if (a c) t = a; a = c; c = t; if (b c) t = b; b = c; c = t; printf(a=%d b=%d c=%dn, a, b, c); return 0;2. if(表達(dá)式表達(dá)式) 語句語句1 ; else 語句語句2;注意:雙分支控制結(jié)構(gòu);注意:雙分支控制結(jié)構(gòu); 當(dāng)條件表達(dá)式值為真當(dāng)條件表達(dá)式值為真(非
8、(非0)則選擇執(zhí)行)則選擇執(zhí)行語句語句1;當(dāng)值為假(;當(dāng)值為假(0)則選擇執(zhí)行語句則選擇執(zhí)行語句2。語句語句1表達(dá)式表達(dá)式語句語句2 假假真真例例3:輸入任意三個整數(shù),求其中的最大數(shù)。分析:分析:1.輸入a,b,c的值2.處理:求三個數(shù)的最大(小)數(shù)算法:“兩兩比較”法3.輸出最大值#include int main(void)int a, b, c, max; printf(Please input a,b,c data: );scanf(%d%d%d, &a, &b, &c);if (a b)max = a;elsemax = b;if (c max)max = c
9、;printf(Max data is :%dn, max);return 0;3. if (表達(dá)式表達(dá)式1) 語句語句1 ; else if (表達(dá)式表達(dá)式2) 語句語句2; else if (表達(dá)式表達(dá)式m) 語句語句m ; else 語句語句n;表達(dá)式表達(dá)式2表達(dá)式表達(dá)式3表達(dá)式表達(dá)式1語句語句1語句語句2語句語句4語句語句3假假真真 真真真真假假假假多分支控制結(jié)構(gòu)多分支控制結(jié)構(gòu)例例4:有一個函數(shù):有一個函數(shù): y=-1 x0編一程序,輸入一個編一程序,輸入一個x值,輸出值,輸出y值。值。#include int main(void)int x, y;printf(Please inpu
10、t x:);scanf(%d, &x);if (x 0) y = -1;else if (x = 0)y = 0;else y = 1;printf(x=%d,y=%dn, x, y);return 0; 二二 if 語句的嵌套語句的嵌套 定義:定義: 在在if語句中又包含一個或多個語句中又包含一個或多個if語句,稱語句,稱為為if語句的嵌套。語句的嵌套。 一般形式:一般形式: if ( ) if ( ) 語句語句1; else 語句語句2; else if ( ) 語句語句3; else 語句語句4;例例4:有一個函數(shù):有一個函數(shù): y=-1 x0編一程序,輸入一個編一程序,輸入一個
11、x值,輸出值,輸出y值。值。#include int main(void)int x, y;printf(Please input x:);scanf(%d, &x);if (x =90,等級為“A”若80=score90,等級為“B”若70=score80,等級為“C”若60=score70,等級為“D”若score= 90) grade = A;else if (score = 80) grade = B;else if (score = 70) grade = C;else if (score = 60) grade = D;else grade = E;printf(“Scor
12、e=%.2f Grade=%cn”, score, grade);三三 條件運算符條件運算符1 .條件運算符(條件運算符(三目運算符三目運算符) 一般形式 表達(dá)式表達(dá)式1?表達(dá)式表達(dá)式2 : 表達(dá)式表達(dá)式3例如:例如: (a b) ? A : b 執(zhí)行過程表達(dá)式表達(dá)式1條件表達(dá)式取條件表達(dá)式取表達(dá)式表達(dá)式2的值的值條件表達(dá)式取條件表達(dá)式取表達(dá)式表達(dá)式3的值的值假假真真算術(shù)運算符關(guān)系運算符條件運算符賦值運算符(低)(高)2.幾點說明:幾點說明: 優(yōu)先級例如:例如:a b ? a : b + 1 等價于等價于 (a b) ? a : (b + 1)例例7:輸入一個字符,判別它是否大寫字母,如果是,
13、將它轉(zhuǎn)換成小寫字母;如果不是,不轉(zhuǎn)換。然后輸出最后得到的字符。#include int main(void)char ch;scanf(“%c”, &ch);ch = (ch = A & ch = A & ch = Z) ch = ch + 32; else ch = ch; 4.3.4 switch語句語句 switch語句是多分支選擇語句,用來實現(xiàn)多分支選擇結(jié)構(gòu)。一一 、一般形式、一般形式switch (表達(dá)式表達(dá)式)case 常量表達(dá)式常量表達(dá)式1:語句:語句1 ; case 常量表達(dá)式常量表達(dá)式2:語句:語句2 ;case 常量表達(dá)式常量表達(dá)式3:語句:語句3;
14、 case 常量表達(dá)式常量表達(dá)式n:語句:語句n;default: 語句語句n+1;注意注意: (表達(dá)式)必須是有序類型:整型、字符型等。表達(dá)式)必須是有序類型:整型、字符型等。 switch-case語句僅僅是起一種開關(guān)的作用。語句僅僅是起一種開關(guān)的作用。switch語句的執(zhí)行流程表達(dá)式表達(dá)式常量1常量2常量3常量ndefault語句1語句2語句3語句n語句n+1注意:當(dāng)起用某個開關(guān)后,其實質(zhì)是一種順序執(zhí)行流程。switch語句的另一種形式二、在二、在switch結(jié)構(gòu)中可選用結(jié)構(gòu)中可選用break子句子句switch (表達(dá)式表達(dá)式)case 常量表達(dá)式常量表達(dá)式1:語句:語句1 ; bre
15、ak;case 常量表達(dá)式常量表達(dá)式2:語句:語句2 ; break;case 常量表達(dá)式常量表達(dá)式3:語句:語句3; break; case 常量表達(dá)式常量表達(dá)式n:語句:語句n; break;default: 語句語句n+1;注意:加上注意:加上break子句將改變原來的順序執(zhí)行流程。子句將改變原來的順序執(zhí)行流程。switch語句的另一種執(zhí)行流程表達(dá)式表達(dá)式常量1常量2常量3常量ndefault語句1語句2語句3語句n語句n+1breakbreakbreakbreak注意:加注意:加break后,已經(jīng)不再是順序執(zhí)行流程了。后,已經(jīng)不再是順序執(zhí)行流程了。例例8:輸入任意的日期值,求該日期是該
16、年的輸入任意的日期值,求該日期是該年的第幾天。第幾天。#include int main(void) int y, m, d, len; printf(“Please input year,month,day data:”); scanf(“%d%d%d”, &y, &m, &d); len = d; switch (m - 1) case 11: len += 30; case 10: len += 31; case 9: len += 30; case 8: len += 31; case 7: len += 31; case 6: len += 30; case
17、5: len += 31; case 4: len += 30; case 3: len += 31; case 2: len += (y % 4 = 0 & y % 100 !=0)| (y % 400 = 0) ? 29:28; case 1: len += 31; printf(“Len = %dn”, len); return 0;例例9:輸入任意的年份與月份,求該年該月有輸入任意的年份與月份,求該年該月有幾天?幾天?#include int main(void) int y, m, d; printf(“Please input year,month data:”); sca
18、nf(“%d%d”, &y, &m); switch (m) case 12: case 10: case 8: case 7: case 5: case 3: case 1: d = 31;break; case 11 : case 9: case 6: case 4: d = 30;break; case 2: d = (y % 4 = 0 & y % 100 !=0)| (y % 400 = 0) ? 29:28; default: printf(“error!n); return 0; printf(“Day = %dn”, day); return 0;例例1
19、0:要求按照考試成績的等級打印出百分要求按照考試成績的等級打印出百分制分?jǐn)?shù)段。制分?jǐn)?shù)段。#include int main(void)char grade; scanf(%c, &grade); switch (grade) case A:printf(85100n); case B:printf(7084n); case C:printf(6069n); case D:printf(60n); default :printf(errorn); return 0;不用不用break語句語句#include int main(void)char grade; scanf(%c, &
20、;grade); switch (grade) case A:printf(85100n);break; case B:printf(7084n);break; case C:printf(6069n);break; case D:printf(60n);break; default :printf(errorn); return 0;使用使用break語句語句例例11:思考:以下程序的功能是什么?:思考:以下程序的功能是什么?#include int main(void ) char grade; scanf(%c, &grade); switch (grade) case A: case B:case C:case D:printf(“60n);break;default:printf(“60n); return 0;多個多個case可以共用一組執(zhí)行語句可以共用一組執(zhí)行語句switch語句編程舉例語句編程舉例:例例12:編寫一個簡單計算器程序,輸入格式編寫一個簡單計算器程序,輸入格式為:為:data1 op data2。其中。其中data1和和data2是參加是參加運算的兩個數(shù)運算的兩個數(shù)(data1、data2必須定義為必須定義為int,但二者相加可能超出但二者相加可能超出int
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 從內(nèi)部出發(fā)如何增強(qiáng)企業(yè)內(nèi)部供應(yīng)鏈的透明度
- 企業(yè)文化海報設(shè)計創(chuàng)意指南
- 企業(yè)健康管理個性化健康計劃的制定要點
- 腹腔鏡闌尾切除術(shù)后護(hù)理
- 四川省涼山州西昌市2024-2025學(xué)年高二下學(xué)期期中考試英語試題(原卷版+解析版)
- 江蘇省徐州市2024-2025學(xué)年高二下學(xué)期4月期中考試政治試題(原卷版+解析版)
- 新六月份個人工作總結(jié)
- 保障質(zhì)量與效率區(qū)塊鏈在工業(yè)供應(yīng)鏈的應(yīng)用分析
- 5G技術(shù)在提升醫(yī)療健康管理水平中的實踐研究
- 從實訓(xùn)到實戰(zhàn)大學(xué)生在醫(yī)療器械行業(yè)的成長之路
- 《服裝陳列展示設(shè)計》課件
- 110kVXX變電站預(yù)試定檢施工方案試卷教案
- 《基金管理人》課件2
- 舞蹈培訓(xùn)機(jī)構(gòu)校長聘用合同
- 物流行業(yè)無人機(jī)配送方案
- 2025年中考語文二輪專題復(fù)習(xí):現(xiàn)代文閱讀高頻考點及答題技巧 講義
- 風(fēng)機(jī)事故完整版本
- 開工安全交底
- 北京市2020-2024年高考生物復(fù)習(xí)分類匯編:基因工程(含詳解)
- 無人機(jī)應(yīng)急處置預(yù)案及流程
- 【MOOC】量子信息原理與應(yīng)用-南京大學(xué) 中國大學(xué)慕課MOOC答案
評論
0/150
提交評論