高級(jí)程序語(yǔ)言設(shè)計(jì)第3章.ppt

上傳人:xin****828 文檔編號(hào):15447395 上傳時(shí)間:2020-08-10 格式:PPT 頁(yè)數(shù):59 大?。?74KB
收藏 版權(quán)申訴 舉報(bào) 下載
高級(jí)程序語(yǔ)言設(shè)計(jì)第3章.ppt_第1頁(yè)
第1頁(yè) / 共59頁(yè)
高級(jí)程序語(yǔ)言設(shè)計(jì)第3章.ppt_第2頁(yè)
第2頁(yè) / 共59頁(yè)
高級(jí)程序語(yǔ)言設(shè)計(jì)第3章.ppt_第3頁(yè)
第3頁(yè) / 共59頁(yè)

下載文檔到電腦,查找使用更方便

14.9 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《高級(jí)程序語(yǔ)言設(shè)計(jì)第3章.ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《高級(jí)程序語(yǔ)言設(shè)計(jì)第3章.ppt(59頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、,本章導(dǎo)讀 C語(yǔ)言是一種結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,程序的結(jié)構(gòu)可以分為三種基本結(jié)構(gòu)類(lèi)型,即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。各種程序都是由這三種基本結(jié)構(gòu)組成。本章主要介紹了這三種流程結(jié)構(gòu)的語(yǔ)法規(guī)則和表現(xiàn)形式 。,返回本書(shū)目錄,本章主要知識(shí)點(diǎn) (1) 了解結(jié)構(gòu)化程序設(shè)計(jì)的基本思想。 l (2) 掌握順序結(jié)構(gòu)的基本語(yǔ)句。 l (3) 掌握選擇結(jié)構(gòu)的語(yǔ)句和編程使用。 (4)掌握循環(huán)結(jié)構(gòu)的語(yǔ)句和編程使用。,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,,返回本章導(dǎo)讀,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),3.1 順序結(jié)構(gòu)程序設(shè)計(jì),第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,3.4 綜合舉例,返回本章目錄,第3章 高級(jí)語(yǔ)言程

2、序設(shè)計(jì)概述,結(jié)構(gòu)化程序設(shè)計(jì)的基本思想是:任何程序都可以通過(guò)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)表示。 3.1.1 賦值語(yǔ)句 賦值語(yǔ)句是程序中最基本的語(yǔ)句。賦值語(yǔ)句通常由一個(gè)賦值表達(dá)式加上分號(hào)“;”組成,其一般形式為:賦值表達(dá)式; 例如: x=10/* 賦值表達(dá)式,非表達(dá)式語(yǔ)句 */ x=10; /* 賦值語(yǔ)句 */ x=y=z=5;/* 連續(xù)賦值,等效于z=5; y=z; x=y; */,,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,3.1.2 基本的輸入、輸出語(yǔ)句 在使用輸入輸出庫(kù)函數(shù)時(shí),應(yīng)在源程序的開(kāi)頭使用如下語(yǔ)句: #include 或 #include stdio.h 1格式輸入輸出(

3、printf函數(shù),scanf函數(shù)) (1)scanf函數(shù) scanf函數(shù)用于輸入指定類(lèi)型的多個(gè)數(shù)據(jù),函數(shù)的一般形式為: scanf(“格式控制字符串”,地址列表); 一定要注意,地址列表中直接給變量名將會(huì)出錯(cuò),因?yàn)檫@是非法的參數(shù)。 scanf(%d,a);/* 非法的表示 */ scanf(%d,/* 合法的表示 */,,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,【例3.1】整數(shù)的輸入方法。 代碼如下: #include stdio.h void main() int a,b,c; scanf(%d%d%d,/*輸出變量中的數(shù)據(jù)*/ 運(yùn)行結(jié)果: 輸入:10 20 30 輸出:a=10

4、,b=20,c=30,,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,各種類(lèi)型數(shù)據(jù)的輸入方法如下: l 指定輸入實(shí)數(shù) scanf(%f, 輸入:123456789 long類(lèi)型的變量a被賦值為123456789;如果變量a定義的不是正確的數(shù)據(jù)類(lèi)型(如int型)則a中數(shù)據(jù)不會(huì)是正確的輸入數(shù)據(jù)。,,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,l 指定數(shù)據(jù)所占字符數(shù)(寬度) scanf(%3d%2d, 輸入:11 22 33,,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,系統(tǒng)把11賦值給a,22被跳過(guò),33賦值給b。 l 輸入字符數(shù)據(jù) scanf(%c%c%c, 輸入:i j k 程

5、序會(huì)把字符i賦值給變量a,空格 賦值給變量b,然后將字符j賦值給c。 輸入:ijk 才能得到a=i,b=j,c=k的結(jié)果。 也就是說(shuō),如果格式控制串中無(wú)非格式字符,則認(rèn)為所有輸入的字符均為有效字符。,,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,【例3.2】字符的輸入方法。. 代碼如下: #includestdio.h void main() char a,b; scanf(a:%c,b:%c, 運(yùn)行結(jié)果: 輸入:a:M,b:N,,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,(2)printf函數(shù) printf函數(shù)的作用是向默認(rèn)的輸出設(shè)備輸出若干指定類(lèi)型的數(shù)據(jù),函數(shù)的一般形式為:

6、 printf(“格式控制字符串”,輸出表列); 【例3.3】輸出字符及其ASCII碼。 代碼如下: #include stdio.h void main() int x=65,y=97; printf(%d,%dn,x,y); printf(x:%c,y:%cn,x,y); 運(yùn)行結(jié)果: 輸出:65,97 x:A,y:a,,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,2字符的輸入輸出 (1)getchar函數(shù) getchar函數(shù)的功能是從鍵盤(pán)上輸入一個(gè)字符,其一般形式為: getchar(); 【例3.4】輸入單個(gè)字符. 代碼如下: #include stdio.h void main

7、() char c; c = getchar();/*取得用戶鍵盤(pán)輸入字符,賦給字符變量*/ putchar(c);/*將字符變量中的字符輸出到屏幕*/ 運(yùn)行結(jié)果: 輸入:a /* 輸入字符a,回車(chē)確定 */ 輸出:a /* 輸出字符 */,,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,【例3.5】依次取回輸入字符. 代碼如下: #include stdio.h void main() char c1,c2,c3; c1 = getchar();/*取第一個(gè)輸入字符*/ c2 = getchar();/*取第二個(gè)輸入字符*/ c3 = getchar();/*取第

8、三個(gè)輸入字符*/ putchar(c1); putchar(c2); putchar(c3); putchar(getchar());/*getchar函數(shù)直接作為表達(dá)式使用*/ 運(yùn)行結(jié)果: 輸入:abcdefg 輸出:abcd,,,,返回本章目錄,第3章 高級(jí)語(yǔ)言程序設(shè)計(jì)概述,(2)putchar 函數(shù) putchar 函數(shù)是字符輸出函數(shù),其功能是在顯示器上輸出單個(gè)字符,函數(shù)帶有一個(gè)參數(shù)ch,可以是字符常量或字符型變量。其一般形式為: putchar(ch); 【例3.6】輸出單個(gè)字符。 #include stdio.h void main() char c1=H,c2=E,c

9、3=L,c4=O;/*定義字符變量并賦值*/ putchar(c1);/*輸出字符變量的值*/ putchar(c2);putchar(c3);putchar(c3);putchar(c4); putchar(t);/*輸出Tab制表鍵*/ putchar(87);/*輸出字符W,87是其ASCII編碼值*/ putchar(!);/*輸出字符*/ putchar(n);/*輸出回車(chē)換行符*/ 運(yùn)行結(jié)果: 輸出:HELLOW!,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),3.2.1 復(fù)合語(yǔ)句 例如: int x; x=y+z; printf(%d,x); 是一條復(fù)合語(yǔ)句。復(fù)合

10、語(yǔ)句內(nèi)的各條語(yǔ)句都必須以分號(hào)“;”結(jié)尾,在括號(hào)“”外不能加分號(hào)。,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),3.2.2 關(guān)系運(yùn)算符、邏輯運(yùn)算符、條件運(yùn)算符 1關(guān)系運(yùn)算符和關(guān)系表達(dá)式,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),【例3.7】判斷關(guān)系表達(dá)式是否為真,如果為真則輸出1,不假則輸出0。 #include stdio.h void main() char c1=a,c2=b; int i=10,j=20,k=30; printf(c1=%c, c2=%cn,c1,c2);/* 顯示變量c1和c2的值 */ printf(result of c1c2 is: %dn,c1c2);

11、/* 比較兩個(gè)字符變量 */ printf(i=%d, j=%d, k=%dn, i, j, k);/* 顯示變量i、j和k的值 */ printf(result of k==i+j is: %dn,k==i+j);/* 比較整型數(shù)據(jù),顯示表達(dá)式k==i+j的結(jié)果 */ printf(result of c1c2 is: 0 i=10, j=20, k=30 result of k= =i+j is: 1 result of c1

12、目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),例如: ac等效于 (! a) scanf (%d, /* 計(jì)算并輸出x的絕對(duì)值 */ 運(yùn)行結(jié)果: -21 y = -1 abs(x)= 21 ,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),3.2.3 選擇結(jié)構(gòu)的程序設(shè)計(jì) 1if語(yǔ)句 (1)簡(jiǎn)單if形式 一般語(yǔ)句表示形式為: if (表達(dá)式) 語(yǔ)句;,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),【例3.9】輸入學(xué)生成績(jī),判斷學(xué)生成績(jī)是否及格,如果及格則輸出“Good”。 # include stdio.h void main() int grade; printf(Please input you

13、r grade:);/* 打印提示信息,提示輸入成績(jī) */ scanf(%d, 運(yùn)行結(jié)果: Please input your grade: 80 Good! ,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),3.2.3 選擇結(jié)構(gòu)的程序設(shè)計(jì) (2)if else形式 一般語(yǔ)句表示形式為: if (表達(dá)式) 語(yǔ)句1; else 語(yǔ)句2;,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),【例3.10】判斷兩個(gè)整數(shù)的是否相等,如果相等則輸出“Equal!”,否則輸出“Unequal!”。 # include stdio.h void main() int a,b; printf(Please

14、input two integer numbers: ); /* 提示用戶輸入兩個(gè)整數(shù) */ scanf(%d%d, 運(yùn)行結(jié)果: Please input two numbers: 80 100 Unequal! ,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),(3)if else if形式 一般語(yǔ)句表示形式為: if (表達(dá)式1)語(yǔ)句1; else if (表達(dá)式2)語(yǔ)句2; else if (表達(dá)式3)語(yǔ)句3; else語(yǔ)句n;,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),【例3.11】比較兩個(gè)數(shù)的大小。 代碼如下: # include stdio.h void main()

15、 int a, b; printf(Please input two integer numbers: ); /* 提示輸入兩個(gè)整數(shù) */ scanf(%d%d,/* 如果不相等,當(dāng)b小于a時(shí) */ ,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),【例3.12】判斷學(xué)生成績(jī)的級(jí)別。 # include void main() int grade; printf(Please input your grade(0-100):);/* 提示用戶輸入一個(gè)成績(jī),要求在0到100范圍內(nèi) */ scanf(%d,/* 如果grade<60,顯示NOT GOOD表示差 */ 運(yùn)行結(jié)果: Please

16、 input your grade(0-100): 89 89 is GOOD! ,,,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),(4)if 語(yǔ)句的嵌套 if 語(yǔ)句還可以嵌套使用,即在if的分支語(yǔ)句中包括了一個(gè)或多個(gè)if 語(yǔ)句,例如圖3-6所示的情況。,,,,,if (表達(dá)式1) if (表達(dá)式2) 語(yǔ)句1; else 語(yǔ)句2;,if (表達(dá)式1) if (表達(dá)式2) 語(yǔ)句1; else 語(yǔ)句2; else 語(yǔ)句3;,if (表達(dá)式1) if (表達(dá)式2) 語(yǔ)句1; else 語(yǔ)句2; else if (表達(dá)式3) 語(yǔ)句3; else 語(yǔ)句4;,if (表達(dá)式1) if (

17、表達(dá)式2) 語(yǔ)句1;,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),【例3.13】比較兩個(gè)數(shù)的大小。 #include stdio.h void main() int a,b; printf(Please input two numbers: );/* 提示用戶輸入兩個(gè)數(shù) */ scanf(%d%d, /* a等于b 時(shí)*/ 運(yùn)行結(jié)果: Please input two numbers: 80 100 a=100, b=80 ab ,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),【例3.14】求三個(gè)數(shù)中的最大數(shù)。 # include stdio.h void main() int x, y, z

18、, max; printf(Please input three integer number:); scanf(%d%d %d, 運(yùn)行結(jié)果: Please input three number: 11 11 33 max =33 ,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),2switch語(yǔ)句 switch語(yǔ)句的一般形式如下: switch (表達(dá)式) case常量表達(dá)式C1: 語(yǔ)句組1; case常量表達(dá)式C2: 語(yǔ)句組2; case常量表達(dá)式Cn: 語(yǔ)句組n; default : 語(yǔ)句組m; ,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),2switch語(yǔ)句 【

19、例3.15】輸出一個(gè)星期七天中的某一天所對(duì)應(yīng)的英文名稱(chēng)。 # include stdio.h void main() int day; printf(“Please input a integer number between 1 and 7:”); scanf(%d, ,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),運(yùn)行結(jié)果: Please input a integer number between 1 and 7:5 Friday Saturday Sunday Error,,,,,返回本章目錄,3.2 選擇結(jié)構(gòu)程序設(shè)計(jì),【例3.16】判斷用戶輸入字符是數(shù)字還是空格或其他符號(hào)。

20、 # include stdio.h void main() char c; printf(Please input a character:); scanf(%c, /* 輸入字符是其他字符 */ ,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),3.3.1 循環(huán)結(jié)構(gòu)的程序設(shè)計(jì) C語(yǔ)言提供了while語(yǔ)句、do-while語(yǔ)句和for語(yǔ)句等來(lái)實(shí)現(xiàn)循環(huán)結(jié)構(gòu)。 1while語(yǔ)句 while語(yǔ)句是當(dāng)型循環(huán)控制語(yǔ)句。while語(yǔ)句的一般形式為: while(表達(dá)式) 語(yǔ)句,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),【例3.17】使用while語(yǔ)句求5的階乘5!。 #include st

21、dio.h void main() int i=1,mul=1;/*i是循環(huán)的控制變量,此處為它賦初值;mul為存放結(jié)果的變量。*/ while(i<=5)/*表達(dá)式為循環(huán)的條件*/ mul=mul*i;/*花括號(hào)內(nèi)為循環(huán)體*/ i++; printf(mul=%dn,mul); 運(yùn)行結(jié)果: mul=120,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),2do-while語(yǔ)句 do-while語(yǔ)句是直到型循環(huán)控制語(yǔ)句。do-while語(yǔ)句的一般形式為: do 語(yǔ)句 while(表達(dá)式);,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),【例3.18】使用do-while語(yǔ)

22、句求5的階乘5!。 #include stdio.h void main() int i=1,mul=1;/*i是循環(huán)的控制變量;mul為存放結(jié)果的變量。*/ do mul=mul*i;/*花括號(hào)內(nèi)為循環(huán)體*/ i++; while(i<=5);/*表達(dá)式為循環(huán)的條件,最后的分號(hào);不能少*/ printf(mul=%dn,mul); 運(yùn)行結(jié)果: mul=120,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),3for語(yǔ)句 for語(yǔ)句是循環(huán)控制結(jié)構(gòu)中使用最廣泛的一類(lèi)循環(huán)控制語(yǔ)句,它特別適合循環(huán)次數(shù)事先能確定的情況。它的一般形式為: for(表達(dá)式1;表達(dá)式2;表達(dá)式3)

23、 語(yǔ)句,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),【例3.19】使用for語(yǔ)句求5的階乘5!。 #include stdio.h void main() int i,mul=1; for(i=1;i<=5;i++) mul=mul*i;/*循環(huán)體*/ printf(mul=%dn,mul); 運(yùn)行結(jié)果: mul=120,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),4break與continue語(yǔ)句 以do-while語(yǔ)句為例說(shuō)明break語(yǔ)句的作用如下: do 語(yǔ)句1 if(條件) break; 語(yǔ)句2 while(表達(dá)式);,,,,,返回本章目錄,3.3 循

24、環(huán)結(jié)構(gòu)程序設(shè)計(jì),【例3.20】從鍵盤(pán)輸入一串字符,求其中小寫(xiě)字母的個(gè)數(shù),當(dāng)遇到回車(chē)時(shí)停止計(jì)數(shù)。 #include stdio.h void main( ) char c; int i=0; do c=getchar(); /*讀取一個(gè)字符*/ if (c=a 運(yùn)行結(jié)果: 輸入:abcdEEEF 輸出:i=4,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),(2)continue語(yǔ)句 do 語(yǔ)句1 if(條件) continue; 語(yǔ)句2 while(表達(dá)式);,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),【例3.21】從鍵盤(pán)輸入一串字符,求前10個(gè)字符中小寫(xiě)字母的

25、個(gè)數(shù)。 #include stdio.h void main() int i=0; int j=0; char c; do i++; c=getchar(); /*讀取一個(gè)字符*/ if(c=a 運(yùn)行結(jié)果: 輸入:a00000a000a 輸出:j=2,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),5goto語(yǔ)句 goto語(yǔ)句也被稱(chēng)為無(wú)條件轉(zhuǎn)移語(yǔ)句,其一般形式為: goto語(yǔ)句標(biāo)號(hào) goto語(yǔ)句的作用是無(wú)條件轉(zhuǎn)向“語(yǔ)句標(biāo)號(hào)”處執(zhí)行。 【例3.22】用if語(yǔ)句和goto語(yǔ)句構(gòu)成循環(huán),求5的階乘5!。 #include stdio.h void main() int i,m

26、ul=1; i=1; loop:if(i<=5)/*loop為語(yǔ)句標(biāo)號(hào)*/ mul=mul*i; i++; goto loop;/*無(wú)條件轉(zhuǎn)向語(yǔ)句標(biāo)號(hào)loop*/ printf(mul=%dn,mul); 運(yùn)行結(jié)果: 輸出:mul=120,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),3.3.2 循環(huán)結(jié)構(gòu)類(lèi)型的選擇及轉(zhuǎn)換 1幾種循環(huán)語(yǔ)句的比較 (1)四種循環(huán)(while、do-while、for、goto)可以互相替換,但應(yīng)盡量少用goto。 (2)while、do-while語(yǔ)句在while后面指定循環(huán)條件;for語(yǔ)句在“表達(dá)式2”中指定循環(huán)條件。 (3)while、

27、do-while在循環(huán)前指定循環(huán)的初始條件;而for循環(huán)在“表達(dá)式1”中指定循環(huán)的初始條件。 (4)while、for循環(huán)先判循環(huán)條件,后執(zhí)行;do-while循環(huán)先執(zhí)行,后判循環(huán)條件。 (5)while、do-while、for循環(huán)均可用break語(yǔ)句跳出循環(huán),用continue語(yǔ)句提前結(jié)束本次循環(huán)體的執(zhí)行。,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),2循環(huán)結(jié)構(gòu)類(lèi)型的選擇 一般情況下,while、do-while、for可以通用。但在實(shí)際情況中,何時(shí)選用何種語(yǔ)句仍然有微小的差別。 (1)如果循環(huán)的次數(shù)能夠事先預(yù)見(jiàn),那么一般采用for語(yǔ)句;如果循環(huán)的次數(shù)是根據(jù)循環(huán)體的執(zhí)行情況而定,那么一

28、般采用while或do-while語(yǔ)句。 (2)當(dāng)循環(huán)體至少要被執(zhí)行一次時(shí),采用do-while語(yǔ)句,否則,采用while或for語(yǔ)句。 3循環(huán)結(jié)構(gòu)的相互轉(zhuǎn)換 在3.3.1節(jié)中分別采用while循環(huán)、do-while循環(huán)和for循環(huán)來(lái)解決5的階乘5!的求解充分說(shuō)明了一般情況下,這3類(lèi)循環(huán)時(shí)可以互相轉(zhuǎn)換的。,,,,,返回本章目錄,3.3 循環(huán)結(jié)構(gòu)程序設(shè)計(jì),3.3.3 循環(huán)的嵌套 【例3.23】利用嵌套循環(huán)求5!+4!+3!+2!+1! #include stdio.h void main() int i,j,b,sum=0; for(i=1;i<=5;i++)/*外層循環(huán)*/ for(j

29、=1,b=1;j<=i;j++)/*內(nèi)層循環(huán)*/ b=b*j; /*內(nèi)層循環(huán)體*/ sum=sum+b; printf(sum=%dn,sum); 運(yùn)行結(jié)果: 輸出:sum=153,,,,,返回本章目錄,3.4 綜 合 舉 例,【例3.24】輸入圓的半徑,求圓的周長(zhǎng)和面積。 #include stdio.h void main( ) float r; printf(Please input the radius:n); scanf(%d, 運(yùn)行結(jié)果: Please input the radius: 30 circumference = 188

30、.50 area = 2827.43,,,,,返回本章目錄,3.4 綜 合 舉 例,【例3.26】判斷輸入的年份是否是閏年。 閏年是能被4整除但不能被100整除的年份,或可以被400整除的年份。 # include stdio.h void main() char year, leap; printf(Please input the year:); scanf(%d, ,,,,,返回本章目錄,3.4 綜 合 舉 例,【例3.27】已知某銷(xiāo)售公司員工的底薪為500,員工每月的實(shí)際薪金為該月該員工實(shí)際銷(xiāo)售提成加上底薪,按下面的利潤(rùn)提成方式,計(jì)算員工的當(dāng)月薪水。 銷(xiāo)售1000元以下:

31、沒(méi)有提成 銷(xiāo)售10005000元:提成10% 銷(xiāo)售500010000元:提成15% 銷(xiāo)售1000050000元:提成20% 銷(xiāo)售50000元以上:提成25%,,,,,返回本章目錄,3.4 綜 合 舉 例,# include stdio.h void main() float profit; double ratio; double salary = 500; printf(Please input the profit:); scanf(%f, 運(yùn)行結(jié)果:Please input the profit: 35000 The salary is 7500.

32、00 ,,,,,返回本章目錄,3.4 綜 合 舉 例,【例3.28】從鍵盤(pán)輸入任意兩個(gè)數(shù)和一個(gè)運(yùn)算符(+、-、*、/),根據(jù)輸入的運(yùn)算符對(duì)兩個(gè)數(shù)進(jìn)行計(jì)算,輸出結(jié)果。 # include stdio.h void main() float m, n, result; /* 存放兩個(gè)操作數(shù)和結(jié)果的變量 */ char op; /* 存放運(yùn)算符的變量 */ int tag = 0; /* 運(yùn)算標(biāo)志,值為0表示合法運(yùn)算;值為1表示非法運(yùn)算 */ printf(Please input two number:); scanf(%f, %f , /* 乘法運(yùn)算 */,,,,,

33、返回本章目錄,3.4 綜 合 舉 例,case / : if(!n) printf(Divisor is zero!n); tag = 1; else /* 除數(shù)不為0 */ result = m / n; break; default : printf(Invalid operator!n); tag =1; if(!tag) printf(%.2f %c %.2f = %.2fn, m, op, n, result); 運(yùn)行結(jié)果: Please input two number: 33.5, 2 Plea

34、se input the operator (+, -, *, / ): * 33.50 * 2 = 67.00,,,,,返回本章目錄,3.4 綜 合 舉 例,【例3.29】編程計(jì)算a+aa+aaa++aa(n個(gè)a)的值,n和a的值由鍵盤(pán)輸入。 #include stdio.h void main( ) int i,n,a; int j; long sum=0; printf(please enter the number a !na=); scanf(%d, 運(yùn)行結(jié)果: 輸入:2 3 輸出:sum=246,,,,,返回本章目錄,3.4 綜 合 舉 例,【例3.30】一個(gè)百萬(wàn)富翁遇到

35、一個(gè)陌生人,陌生人找他談一個(gè)換錢(qián)的計(jì)劃,該計(jì)劃如下:在30天內(nèi),陌生人每天給百萬(wàn)富翁10萬(wàn)元;而在這30天,百萬(wàn)富翁第一天只需要給陌生人1分錢(qián);第二天給陌生人2分錢(qián),以后每天給百萬(wàn)富翁的錢(qián)是前一天的2倍,直到第30天為止。百萬(wàn)富翁高興的接收了這個(gè)計(jì)劃,請(qǐng)編寫(xiě)程序給出百萬(wàn)富翁一共付出多少,而陌生人一共付出多少?,,,,,返回本章目錄,3.4 綜 合 舉 例,#include stdio.h void main() int i; long s,s1,t;/*其中變量s為陌生人每天獲得的錢(qián),變量s1為陌生人獲得的錢(qián)總數(shù),變量t為百萬(wàn)富翁所獲得的錢(qián)總數(shù)*/ s=1; s1=0; t=1000

36、00; for(i=1;i<=30;i++) s1=s1+s; s=s*2; printf(s1=%ldn,s1); printf(t=%ldn,t*30); 運(yùn)行結(jié)果: 輸出:s1=1073741823 t =3000000,,,,,返回本章目錄,3.4 綜 合 舉 例,【例3.31】編寫(xiě)程序求300400間的第一個(gè)3個(gè)數(shù)字之積為42,和為12的整數(shù)。 #include stdio.h void main() int n; /*符合條件的數(shù)*/ int tag=0; /*標(biāo)記,用來(lái)表識(shí)找到符合條件的數(shù)*/ int i,j,k; /*百位、十位和個(gè)位數(shù)值*/ i=3; for(j=0;j<=9;j++)/*雙重嵌套搜索*/ for(k=0;k<=9;k++) if(i+j+k==12 運(yùn)行結(jié)果: 327,,,,,

展開(kāi)閱讀全文
溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!