C語言順序結(jié)構(gòu)詳解_第1頁
C語言順序結(jié)構(gòu)詳解_第2頁
C語言順序結(jié)構(gòu)詳解_第3頁
C語言順序結(jié)構(gòu)詳解_第4頁
C語言順序結(jié)構(gòu)詳解_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

會(huì)計(jì)學(xué)1C語言順序結(jié)構(gòu)詳解2023/1/172結(jié)構(gòu)化程序設(shè)計(jì)目標(biāo):將學(xué)習(xí)三種結(jié)構(gòu)的程序設(shè)計(jì)方法順序結(jié)構(gòu)程序設(shè)計(jì)選擇結(jié)構(gòu)程序設(shè)計(jì)循環(huán)結(jié)構(gòu)程序設(shè)計(jì)。第1頁/共57頁2023/1/173三種控制結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)AB⑴BAPyesno⑵noPAyes⑶第2頁/共57頁2023/1/174C語句概述實(shí)現(xiàn)順序結(jié)構(gòu)的語句實(shí)現(xiàn)選擇結(jié)構(gòu)的語句實(shí)現(xiàn)循環(huán)結(jié)構(gòu)的語句賦值語句函數(shù)調(diào)用語句復(fù)合語句if語句switch語句while語句do-while語句for語句第3頁/共57頁2023/1/175實(shí)現(xiàn)順序結(jié)構(gòu)的語句順序結(jié)構(gòu)的程序中的語句是按照從上到下的順序逐行排列的;程序的執(zhí)行順序是按語句的排列順序進(jìn)行的。完成順序程序設(shè)計(jì)的語句包括:賦值語句函數(shù)調(diào)用語句復(fù)合語句第4頁/共57頁2023/1/176賦值語句賦值語句由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成,作用是將一個(gè)確定的值賦給一個(gè)變量。

語句格式:例:;=ysin(x)+cos(x)變量名=表達(dá)式;第5頁/共57頁2023/1/177賦值語句的作用:將“=”右側(cè)表達(dá)式的值送到“=”左側(cè)的變量所對(duì)應(yīng)的單元中。賦值語句中的“=”是賦值號(hào)而不是數(shù)學(xué)意義上的等號(hào);它代表的是一種操作→賦值操作;賦值號(hào)兩側(cè)的內(nèi)容不能調(diào)換;A=B;和B=A;具有不同的含義;A=B;B=A;意味著將B的值送給A;意味著將A的值送給B;第6頁/共57頁2023/1/178賦值的意義:在計(jì)算機(jī)內(nèi)部,一個(gè)變量對(duì)應(yīng)一塊內(nèi)存存儲(chǔ)空間;具有一個(gè)名字。賦值的過程:就是將指定的值送入指定的存儲(chǔ)空間的過程。賦值的結(jié)果:指定的變量所對(duì)應(yīng)的存儲(chǔ)空間具有了指定的值。xX=1010第7頁/共57頁2023/1/179例:順序執(zhí)行以下三個(gè)賦值語句,結(jié)果如何?a=0;b=10;a=b;ab1.a=0;2.b=10;3.a=b;01010第8頁/共57頁2023/1/1710復(fù)合語句由一組語句組成,并放在一對(duì)花括號(hào)“{}”中間。語句格式:

{說明部分; 執(zhí)行部分;}復(fù)合語句復(fù)合語句是一個(gè)整體,在語法結(jié)構(gòu)上與一個(gè)單一語句相同。第9頁/共57頁2023/1/1711函數(shù)調(diào)用語句C程序中,需要使用很多復(fù)雜的功能,例如,輸入數(shù)據(jù)、輸出數(shù)據(jù)、數(shù)學(xué)公式的使用(sinx、cosx、ex等)。這些功能的使用是通過函數(shù)調(diào)用來實(shí)現(xiàn)的。系統(tǒng)把一些獨(dú)立的功能編制成標(biāo)準(zhǔn)函數(shù),提供給使用者調(diào)用的格式。下面我們先介紹兩個(gè)最常用的標(biāo)準(zhǔn)函數(shù):格式輸出函數(shù)和格式輸入函數(shù)第10頁/共57頁2023/1/1712格式輸出函數(shù)第11頁/共57頁2023/1/1713格式輸出函數(shù)語句格式:printf(格式控制,輸出變量列表);函數(shù)名參數(shù)表#include<stdio.h>輸出的變量名列表功能:

printf函數(shù)可以將任意類型的多個(gè)數(shù)據(jù),按指定格式輸出到標(biāo)準(zhǔn)輸出設(shè)備上(一般為顯示器)。第12頁/共57頁2023/1/1714由雙引號(hào)括起來的字符串;形式:"控制字符"由“%”和格式字符組成,它的作用是將對(duì)應(yīng)的變量按照指定的類型輸出。需要原樣輸出的字符用于控制輸出普通字符格式說明轉(zhuǎn)義字符格式控制printf(

格式控制

,輸出變量列表);第13頁/共57頁2023/1/1715格式說明符:由%和格式字符組成,作用是將輸出的數(shù)據(jù)按照指定的格式輸出。第14頁/共57頁2023/1/1716指數(shù)形式輸出單、雙精度實(shí)數(shù)%e輸出十六進(jìn)制無符號(hào)整數(shù)%x小數(shù)形式輸出單、雙精度實(shí)數(shù)

%f輸出一個(gè)字符

%c輸出十進(jìn)制無符號(hào)整數(shù)%u輸出一個(gè)字符串%s當(dāng)指數(shù)小于-4或大于指定精度使用%e格式,否則用%f格式%g

輸出八進(jìn)制無符號(hào)整數(shù)%o輸出十進(jìn)制帶符號(hào)整數(shù)

%d含義格式字符第15頁/共57頁2023/1/1717附加格式說明字符含義L輸出長整型,可用在格式符d、o、x、u,f的前面

整數(shù)

輸出數(shù)據(jù)的最小寬度.整數(shù)對(duì)實(shí)數(shù)表示輸出的小數(shù)位數(shù);對(duì)字符串表示截取的字符個(gè)數(shù)-輸出數(shù)字或字符在域內(nèi)向左靠齊例:%ld%lf對(duì)應(yīng)長整型數(shù)據(jù)的輸入輸出格式描述對(duì)應(yīng)double型數(shù)據(jù)的輸入輸出格式描述第16頁/共57頁2023/1/1718附加格式說明字符含義L輸出長整型,可用在格式符d、o、x、u,f的前面

整數(shù)

輸出數(shù)據(jù)的最小寬度.整數(shù)對(duì)實(shí)數(shù)表示輸出的小數(shù)位數(shù);對(duì)字符串表示截取的字符個(gè)數(shù)-輸出數(shù)字或字符在域內(nèi)向左靠齊例:%5d%8.3f對(duì)應(yīng)的整型數(shù)據(jù)的輸入輸出寬度為5對(duì)應(yīng)float型數(shù)據(jù)的輸出;輸出的數(shù)據(jù)寬度為8個(gè)字符,小數(shù)點(diǎn)后保留3位。第17頁/共57頁2023/1/1719main(

{inta,b;floatx;charc;a=123;b=-1;x=3.14;c='A';printf("%d,%6d\n",a,a);printf("%d,%x,%o,%u\n“,b,b,b,b);printf("%c,%d\n",c,c);printf("%f,%6.1f\n",x,x);}寫出程序運(yùn)行結(jié)果第18頁/共57頁2023/1/1720printf("%d,%6d\n",a,a);1111111111111111-1在內(nèi)存中的存放運(yùn)行結(jié)果a=123;b=-1;x=3.14;c='A';printf("%d,%x,%o,%u\n",b,b,b,b);

printf("%c,%d\n",c,c);123,□□□123-1,ffff,177777,65535A,65printf("%f,%6.1f\n",x,x);}3.140000,□□□3.1第19頁/共57頁2023/1/1721轉(zhuǎn)義字符轉(zhuǎn)義字符是一組以“\”開頭的特殊字符序列,用單引號(hào)括起來。用來表示任何可以輸出的字母字符、專用字符、控制字符、圖形字符。在printf的格式控制串中,控制輸出格式。常用的有:\b、\f、\n、\r、\t、\ooo、\xhh、\0;第20頁/共57頁2023/1/1722課上練習(xí):寫出以下程序段的運(yùn)行結(jié)果#include<stdio.h>voidmain(){charc1=‘a(chǎn)’,c2=‘b’,c3=‘c’,c4=‘\101’,c5=‘\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\bc%c%c\n”,c4,c5);}第21頁/共57頁2023/1/1723用實(shí)驗(yàn)來學(xué)習(xí)和驗(yàn)證第22頁/共57頁2023/1/1724#include<stdio.h>voidmain(){/*沒有\(zhòng)n時(shí)*/ printf("thisisoneprograminc"); printf("thisisoneprograminc");/*在格式控制串尾有\(zhòng)n時(shí)*/ printf("thisisoneprograminc\n"); printf("thisisoneprograminc");/*在格式控制串首有\(zhòng)n時(shí)*/ printf("thisisoneprograminc"); printf("\nthisisoneprograminc");}思考題:轉(zhuǎn)義字符’\n’在格式控制中的作用是什么?第23頁/共57頁2023/1/1725/*轉(zhuǎn)義字符/b在控制串中的作用*/#include<stdio.h>voidmain(){ /*在控制串中不使用轉(zhuǎn)義字符’/b’*/ printf("thisisoneprograminc"); printf("thisisoneprograminc\n"); /*在控制串中使用轉(zhuǎn)義字符’/b’*/ printf("thisisoneprograminc"); printf("\b\bthisisoneprograminc\n");}思考題:轉(zhuǎn)義字符’\b’在格式控制中的作用是什么?第24頁/共57頁2023/1/1726/*轉(zhuǎn)義字符/r在控制串中的作用*/#include<stdio.h>voidmain(){ /*在控制串中不使用轉(zhuǎn)義字符’/r’*/ printf("thisisoneprograminc"); printf("thisisoneprograminc\n"); /*在控制串中使用轉(zhuǎn)義字符’/r’*/ printf("thisisoneprograminc"); printf("\rthisisoneprograminc\n"); }思考題:轉(zhuǎn)義字符’\r’在格式控制中的作用是什么?第25頁/共57頁2023/1/1727/*轉(zhuǎn)義字符/t在控制串中的作用*/#include<stdio.h>voidmain(){ /*在控制串中不使用轉(zhuǎn)義字符’/t’*/ printf("thisisoneprograminc"); printf("thisisoneprograminc\n"); /*在控制串中使用轉(zhuǎn)義字符’/t’*/ printf("thisisoneprograminc");printf("\tsecondprogram\n");}思考題:轉(zhuǎn)義字符’\t’在格式控制中的作用是什么?第26頁/共57頁2023/1/1728/*轉(zhuǎn)義字符/ooo和/xhh在控制串中的作用*/#include<stdio.h>voidmain(){ printf("thisisoneprograminc"); printf("\101thisisthesecondprogram\n"); printf("\x1athisissecondprogram\n");}思考題:轉(zhuǎn)義字符’\ooo’和‘/xhh’在格式控制中的作用各是什么?第27頁/共57頁2023/1/1729普通字符在printf的格式控制串中,除了以上的特殊字符(%+格式符、轉(zhuǎn)義字符)以外的字符,都是需要原樣輸出的字符,稱為普通字符。例:

printf("\x1athisissecondprogram\n");在一個(gè)printf語句的格式控制串中,首先將處理特殊字符(轉(zhuǎn)義字符控制輸出的狀態(tài)、格式控制符(%+d等)控制對(duì)應(yīng)位置的變量的值的顯示格式),控制串中的其它字符都將按原樣輸出。第28頁/共57頁2023/1/1730同理,學(xué)習(xí)和驗(yàn)證每一個(gè)格式控制符的作用第29頁/共57頁2023/1/1731標(biāo)準(zhǔn)格式輸入函數(shù)第30頁/共57頁2023/1/1732格式輸入函數(shù)格式:scanf(格式控制,地址表列);與

printf中的含義相同函數(shù)名將輸入的數(shù)據(jù)放入此變量中第31頁/共57頁2023/1/1733標(biāo)準(zhǔn)格式輸入函數(shù)的功能:scanf函數(shù)可以從標(biāo)準(zhǔn)輸入設(shè)備輸入任意類型的多個(gè)數(shù)據(jù)(一般為鍵盤),存入指定的變量單元中。例:scanf(“%d,%f”,&a,&b);意味著從鍵盤讀入兩個(gè)數(shù)據(jù),分別存入變量a和b中。%d:按十進(jìn)制整數(shù)格式讀入;%f:按實(shí)數(shù)格式讀入;第32頁/共57頁2023/1/1734格式輸入函數(shù)scanf中格式控制串的格式應(yīng)與地址表列中變量的順序相一致;scanf中格式控制串的格式應(yīng)與輸入數(shù)據(jù)的格式相一致;當(dāng)語句格式如下時(shí):scanf(“%d,%f”,&a,&b);輸入數(shù)據(jù)的格式應(yīng)為:12,3.14如果語句寫成:scanf(“%d%f”,&a,&b);輸入數(shù)據(jù)的格式應(yīng)為:123.14第33頁/共57頁2023/1/1735怎樣保證輸入數(shù)據(jù)的正確性?在對(duì)數(shù)據(jù)進(jìn)行輸入時(shí),需要解決兩方面的問題:輸入語句格式的正確;輸入數(shù)據(jù)格式的正確;雖然說,在輸入語句中的格式控制串與在輸出中的意義一樣,但在使用時(shí),還是有很多不同點(diǎn)的。第34頁/共57頁2023/1/1736格式控制串的意義:%d等:控制對(duì)應(yīng)于該控制符的變量的數(shù)據(jù)的類型轉(zhuǎn)義字符:用于控制輸入時(shí)的狀態(tài)控制意義和輸出時(shí)一致;普通字符:在輸入語句中的普通字符在輸入數(shù)據(jù)是必須原樣寫的;思考:當(dāng)輸入數(shù)據(jù)的類型與格式說明符不一致時(shí)會(huì)出現(xiàn)什么現(xiàn)象?如果在輸入數(shù)據(jù)時(shí),不寫輸入語句中的普通字符會(huì)如何?第35頁/共57頁2023/1/1737用隱含的分隔符。語句格式為:scanf(“%d%d”,&a,&b);輸入數(shù)據(jù)時(shí),在輸入數(shù)據(jù)中用空格或換行符分隔數(shù)據(jù)。輸入數(shù)據(jù)的格式應(yīng)為:34

或:

34使用顯示分隔符。語句格式為:scanf("%d,%d",&a,&b);如果在格式控制串中有其它字符,在輸入數(shù)據(jù)時(shí)在相應(yīng)位置應(yīng)輸入與這些字符相同的字符。例:輸入語句的幾種格式:輸入結(jié)果:a=3,b=43,4第36頁/共57頁2023/1/1738#include<stdio.h>voidmain(){ inta,b; scanf(“%d%d“,&a,&b); printf(“a=%d,b=%d\n”,a,b);}變量順序與輸入數(shù)據(jù)順序?qū)斎虢Y(jié)果的影響;輸入數(shù)據(jù):讀入的數(shù)據(jù):輸出結(jié)果:輸入數(shù)據(jù):讀入的數(shù)據(jù):輸出結(jié)果:3553a=3

b=5

a=5b=3a=3,b=5

a=5,b=3第37頁/共57頁2023/1/1739#include<stdio.h>voidmain(){inta; floatx;scanf(“%d%f”,&a,&x); printf(“a=%d,x=%f\n”,a,x);}格式控制字符對(duì)輸入結(jié)果的影響輸入數(shù)據(jù):讀入的數(shù)據(jù):輸出結(jié)果:輸入數(shù)據(jù):讀入的數(shù)據(jù):輸出結(jié)果:35.65.63a=3x=5.6a=5x=0.6a=3,x=5.6

a=5,x=0.6第38頁/共57頁2023/1/1740#include<stdio.h>voidmain(){inta,b; /*沒有顯示分格符時(shí)*/scanf(“%d%d“,&a,&b);printf(“a=%d,b=%d\n”,a,b);/*有顯示分格符時(shí)*/scanf(“%d,%d“,&a,&b);printf(“a=%db=%d\n”,a,b);}格式控制字符之間有無顯示分隔符對(duì)輸入的影響輸入數(shù)據(jù):讀入的數(shù)據(jù):輸出結(jié)果:輸入數(shù)據(jù):讀入的數(shù)據(jù):輸出結(jié)果:353,5a=3b=5a=3b=5a=3,b=5a=3b=53,5a=3b=?

a=3,b=?

35a=3b=?

a=3b=?第39頁/共57頁2023/1/1741#include<stdio.h>voidmain(){inta,b; scanf(“%d%d“,&a,&b);printf(“a=%d,b=%d\n”,a,b);scanf(“%2d%3d“,&a,&b);printf(“a=%d,b=%d\n”,a,b);}格式控制字符%后面添加域?qū)捙c否對(duì)輸入的影響輸入數(shù)據(jù):讀入的數(shù)據(jù):輸出結(jié)果:輸入數(shù)據(jù):讀入的數(shù)據(jù):輸出結(jié)果:123512456a=123b=5a=12b=456a=123,b=5a=12,b=45612456a=12b=4a=12,b=4第40頁/共57頁2023/1/1742提示:格式控制符對(duì)輸入的結(jié)果的影響,還有很多,開動(dòng)腦筋,可以試驗(yàn)出很多結(jié)論第41頁/共57頁2023/1/1743順序結(jié)構(gòu)

程序設(shè)計(jì)舉例第42頁/共57頁2023/1/1744voidmain(){charc1,c2;charc;

printf("Pleaseenteracharacter:\n");

c=getchar();c1=c-1;c2=c+1;

printf("%c%c%c\n",c1,c,c2);

}例:給出一個(gè)大寫字母,要求按字母順序打印出3個(gè)字母,指定的字母是三個(gè)字母中間的一個(gè)字母。輸入的字母不能為A或Z。求解過程#include"stdio.h"輸入一個(gè)字母。求出它的前趨和后繼。輸出三個(gè)字母。第43頁/共57頁2023/1/1745輸入三角形的三邊長,求三角形的面積。分析:三角形面積計(jì)算公式:area=√s(s-a)(s-b)(s-c)s=(a+b+c)/2安排計(jì)算步驟:寫出完整的程序第44頁/共57頁2023/1/1746解決問題的步驟:定義變量area=√s(s-a)(s-b)(s-c)輸入:a,b,c;計(jì)算s;計(jì)算area;輸出area;floata,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“theareais%f\n”,area);第45頁/共57頁2023/1/1747寫出完整程序:#include<stdio.h>#include<math.h>voidmain(){floata,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=(a+b+c)/2.0;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“theareais%f\n”,area);}第46頁/共57頁2023/1/1748設(shè)1990年我國工業(yè)產(chǎn)值是100,如果每年以7.4%的速度增長,求20年后我國的工業(yè)產(chǎn)值是多少?分析:計(jì)算產(chǎn)值的公式是:安排計(jì)算步驟:寫出完整的程序 p1=p0(1+r)n

其中:p1為n年后的產(chǎn)值,p0為初始值,r為增長率,n為年數(shù)。

第47頁/共57頁2023/1/1749解決問題的步驟:定義變量:輸入:p0,n,r;計(jì)算p1;輸出p0,n,r,p1;floatp1,p0,r;p1=p0(1+r)n其中:p1為n年后的產(chǎn)值,p0為初始值,r為增長率,n為年數(shù)。

intn;第48頁/共57頁2023/1/1750寫出完整程序:/*功能:計(jì)算工業(yè)產(chǎn)值*/#include<stdio.h>#include<math.h>voidmain(){intn;floatp0,p1,r;scanf("%d,%f,%f",&n,&p0,&r);p1=p0*pow(1+r/100,n);printf("p1=%10.4f\n",p1);}第49頁/共57頁2023/1/1751例.求華氏溫度100°F對(duì)應(yīng)的攝氏溫度。攝氏溫度C=(5/9)(F-32)#include<stdio.h>intmain(void){intcelsius,fahr;fahr=100;celsius=5*(fahr-32)/9.0;printf("fahr=%d,celsius=%d\n",fahr,celsius);return0;}編寫程序,輸入一個(gè)F值,輸出對(duì)應(yīng)的C值。scanf(“%f”,&fahr);第50頁/共57頁2023/1/1752擴(kuò)展閱讀第51頁/共57頁2023/1/1753常用數(shù)學(xué)庫函數(shù)庫函數(shù)C語言處理系統(tǒng)提供事先編好的函數(shù),供用戶在編程時(shí)調(diào)用。scanf(),printf(),exp()在相應(yīng)的系統(tǒng)文件(頭文件)中定義一些必需的信息。#include命令用戶調(diào)用庫函數(shù)時(shí),將相應(yīng)的頭文件包含到源程序中。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論