版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章順序結(jié)構(gòu)程序設(shè)計(jì)3.1程序的三種結(jié)構(gòu)3.2C語(yǔ)句總述3.3數(shù)據(jù)的輸入與輸出3.4順序結(jié)構(gòu)程序設(shè)計(jì)舉例3.1程序的三種結(jié)構(gòu)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)用這三種基本結(jié)構(gòu)作為表示一個(gè)良好算法的基本單元。三種基本結(jié)構(gòu)的圖示:
順序結(jié)構(gòu)選擇結(jié)構(gòu)當(dāng)型(While型)循環(huán)結(jié)構(gòu)直到型(Until型)循環(huán)循環(huán)結(jié)構(gòu)的圖示:三種基本結(jié)構(gòu)的共同特點(diǎn):(1)只有一個(gè)入口;
(2)只有一個(gè)出口;(請(qǐng)注意:一個(gè)菱形判斷框有兩個(gè)出口,而一個(gè)選擇結(jié)構(gòu)只有一個(gè)出口。不要將菱形框的出口和選擇結(jié)構(gòu)的出口混淆。)(3)結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到;(4)結(jié)構(gòu)內(nèi)不存在“死循環(huán)”(無(wú)終止的循環(huán))。小結(jié):由三種基本結(jié)構(gòu)組成的算法結(jié)構(gòu),可以解決任何復(fù)雜的問題。由基本結(jié)構(gòu)所構(gòu)成的算法屬于“結(jié)構(gòu)化”的算法,它不存在無(wú)規(guī)律的轉(zhuǎn)向,只在本基本結(jié)構(gòu)內(nèi)才允許存在分支和向前或向后的跳轉(zhuǎn)。3.2C語(yǔ)句綜述一個(gè)C程序可以有若干個(gè)源程序文件組成一個(gè)源文件可以有若干個(gè)函數(shù)和預(yù)處理命令以及全局變量聲明部分組成;一個(gè)函數(shù)有函數(shù)首部和函數(shù)體組成;函數(shù)體由數(shù)據(jù)聲明和執(zhí)行語(yǔ)句組成;C語(yǔ)句分為5類控制語(yǔ)句函數(shù)調(diào)用語(yǔ)句表達(dá)式語(yǔ)句空語(yǔ)句復(fù)合語(yǔ)句(一)控制語(yǔ)句完成一定的控制功能
1if()~else條件語(yǔ)句6break間斷語(yǔ)句
2for()~循環(huán)語(yǔ)句7switch()開關(guān)語(yǔ)句
3while()~循環(huán)語(yǔ)句8goto轉(zhuǎn)向語(yǔ)句
4do~while();循環(huán)語(yǔ)句9return返回語(yǔ)句
5continue繼續(xù)語(yǔ)句(二)函數(shù)調(diào)用語(yǔ)句
一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成一個(gè)語(yǔ)句。
Printf(“ThisisaCstatement.”);例:(三)表達(dá)式語(yǔ)句
有一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成一個(gè)語(yǔ)句。
a=3;例:(四)空語(yǔ)句只有一個(gè)分號(hào)的語(yǔ)句。(什么也不做)用來(lái)做流程的轉(zhuǎn)向點(diǎn)用來(lái)作為循環(huán)語(yǔ)句中的循環(huán)體(五)復(fù)合語(yǔ)句用一對(duì){}括起來(lái)的語(yǔ)句
{ intx=123.5,y; y=x/100; printf(“%f”,t); }例:3.3數(shù)據(jù)的輸入與輸出輸入/輸出以計(jì)算機(jī)為主體,輸入是指從輸入設(shè)備(鍵盤等)向計(jì)算機(jī)輸入數(shù)據(jù),輸出是指從計(jì)算機(jī)向輸出設(shè)備(顯示器等)輸出數(shù)據(jù)。
C語(yǔ)言本身不提供輸入輸出語(yǔ)句,輸入輸出操作通過C系統(tǒng)函數(shù)庫(kù)的函數(shù)來(lái)完成的。如輸入函數(shù):scanf()、getchar();輸出函數(shù):printf()、putchar()等。在使用系統(tǒng)函數(shù)庫(kù)的函數(shù)時(shí),要用編譯預(yù)處理命令“#include”將有關(guān)的“頭文件”包含到用戶的源文件中。1.單個(gè)字符的輸出──putchar()函數(shù)例3.1putchar()函數(shù)的格式和使用方法。#include<stdio.h>
/*編譯預(yù)處理命令:文件包含*/intmain()
{chara,b,c;/*定義字符型變量*/
a=‘B’;b=‘O’;c=‘Y’;/*為字符型變量賦值*/putchar(a);putchar(b);/*輸出字符*/putchar(c);putchar(‘\n’);
}
程序運(yùn)行結(jié)果如下:
BOYputchar()函數(shù)的格式:putchar(ch);
其中ch可以是一個(gè)字符變量或常量,也可以是一個(gè)轉(zhuǎn)義字符。putchar()函數(shù)的作用是向終端輸出一個(gè)字符。(1)putchar()函數(shù)只用于輸出單個(gè)字符,且一次只能輸出一個(gè)字符。另外,從功能角度來(lái)看,printf()函數(shù)可以完全代替putchar()函數(shù)。(2)在程序中使用putchar()函數(shù),務(wù)必牢記:在程序(或文件)的開頭加編譯預(yù)處理命令(也稱包含命令):
#include<stdio.h>2.單個(gè)字符的輸入──getchar()函數(shù)例3.2getchar()函數(shù)的使用。#include<stdio.h>intmain(){charr;r=getchar();/*輸入一個(gè)字符*/putchar(r);/*輸出該字符*/putchar(‘\n’);}a↙/*鍵盤輸入的字符數(shù)據(jù)*/a/*屏幕顯示的輸出數(shù)據(jù)*/程序執(zhí)行時(shí)輸入一個(gè)字符a并按回車鍵后,在屏幕上看到結(jié)果。getchar()函數(shù)的格式:
getchar();
getchar()函數(shù)的作用:從系統(tǒng)輸入設(shè)備(如鍵盤)輸入一個(gè)字符。另外,從功能角度來(lái)看,scanf()函數(shù)可以完全代替getchar()函數(shù)。(1)getchar()函數(shù)只能用于單個(gè)字符的輸入,一次輸入一個(gè)字符。當(dāng)需要多個(gè)字符時(shí),可通過循環(huán)輸入實(shí)現(xiàn)。(2)程序中要使用getchar()函數(shù),必須在程序(或文件)的開頭加上編譯預(yù)處理命令:
#include<stdio.h>
注意:函數(shù)getchar()
和putchar(ch)在格式上和應(yīng)用上的差別。3.格式化輸出函數(shù)printf()函數(shù)例3.3已知圓半徑radius=1.5,求圓的周長(zhǎng)和面積并輸出。
#include<stdio.h>intmain()
{floatradius,length,area,pi=3.1415926;
radius=1.5;
length=2*pi*radius; /*求圓周長(zhǎng)*/
area=pi*radius*radius; /*求圓面積*/
printf(“radius=%f\n”,radius);
/*輸出半徑*/
printf(“l(fā)ength=%7.2f,area=%7.2f\n”,
length,area);
}
printf()函數(shù)的作用:向計(jì)算機(jī)系統(tǒng)默認(rèn)的輸出設(shè)備輸出一個(gè)或多個(gè)任意類型的數(shù)據(jù)。printf()函數(shù)的一般格式如下:printf(“格式控制”,輸出表列);
(1)格式控制格式控制時(shí)用雙引號(hào)括起來(lái)的字符串,可以包含三種信息:①格式說(shuō)明。格式說(shuō)明的一般形式如下:%格式字符
②轉(zhuǎn)義字符例如,中printf()函數(shù)中的'\n'就是轉(zhuǎn)義字符,輸出時(shí)產(chǎn)生一個(gè)“換行”操作。③普通字符──除格式字符和轉(zhuǎn)義字符之外的其它字符。格式字符串中的普通字符,原樣輸出。例如,printf(“radius=%f\n”,radius);(2)輸出表列輸出表列是可選的。如果要輸出的數(shù)據(jù)不止1個(gè),相鄰2個(gè)之間用逗號(hào)分開。必須與“輸出表列”中輸出項(xiàng)的數(shù)據(jù)類型一致,否則會(huì)引起輸出錯(cuò)誤。下面的printf()函數(shù)都是合法的:(1)printf("Iamastudent.\n");
(2)printf("%d",3+2);
是普通字符(3)格式字符輸出不同類型的數(shù)據(jù),要使用不同的格式字符。常用的有:
①格式字符d──以帶符號(hào)的十進(jìn)制整數(shù)形式。例3.4格式字符d的使用。#include<stdio.h>intmain(){intn1=123;longn2=123456;
/*用3種不同格式,輸出int型數(shù)據(jù)n1的值*/printf("n1=%d,n1=%-5d,n1=%5d\n",n1,n1,n1);
/*用2種不同格式,輸出long型數(shù)據(jù)n2的值*/printf("n2=%ld,n2=%5ld\n",n2,n2);}
②格式字符f─以小數(shù)形式、按系統(tǒng)默認(rèn)的寬度,輸出單精度和雙精度實(shí)數(shù)。例3.5顯示輸出浮點(diǎn)數(shù)(左對(duì)齊、右對(duì)齊)。#include<stdio.h>intmain(){floatf=123.456;doubled1,d2;d1=1111111.111;d2=2222222.222;printf("%f,%10.2f,%-10.2f,%.2f\n",f,f,f,f);printf("d1+d2=%lf\n",d1+d2);}
數(shù)據(jù)右對(duì)齊數(shù)據(jù)左對(duì)齊對(duì)于實(shí)數(shù),也可使用格式符%e,以標(biāo)準(zhǔn)指數(shù)形式輸出:尾數(shù)中的整數(shù)部分大于等于1、小于10,小數(shù)點(diǎn)占一位,尾數(shù)中的小數(shù)部分占5位;指數(shù)部分占4位,其中e占一位,指數(shù)符號(hào)占一位,指數(shù)占2位,共計(jì)11位。也可使用格式符%g,讓系統(tǒng)根據(jù)數(shù)值的大小,自動(dòng)選擇%f或%e格式、且不輸出無(wú)意義的零。③格式字符c──輸出一個(gè)字符(只占一列寬度)。例3.6格式字符c的使用。#include<stdio.h>intmain(){charc='A';inti=65;printf("c=%c,%5c,%d\n",c,c,c);printf("i=%d,%c\n",i,i);}
需要強(qiáng)調(diào)的是:在C語(yǔ)言中,整數(shù)可以用字符形式輸出,字符數(shù)據(jù)也可以用整數(shù)形式輸出。④格式字符s──輸出一個(gè)字符串。例3.7格式字符s的使用。
#include<stdio.h>intmain(){
printf("%s\n","Internet");}
運(yùn)行結(jié)果如下:Internet
注意:系統(tǒng)輸出字符和字符串時(shí),不輸出單引號(hào)和雙引號(hào)。(4)使用說(shuō)明①printf()可以輸出常量、變量和表達(dá)式的值。但格式控制中的格式說(shuō)明符,必須按從左到右的順序,與輸出表中的每個(gè)數(shù)據(jù)一一對(duì)應(yīng),否則出錯(cuò)。②格式字符x、e、g可以用小寫字母,也可以用大寫字母。使用大寫字母時(shí),輸出數(shù)據(jù)中包含的字母也大寫。除了x、e、g格式字符外,其它格式字符必須用小寫字母。例如,%f不能寫成%F。③格式字符緊跟在“%”后面就作為格式字符,否則將作為普通字符使用(原樣輸出)。
4.格式輸入——scanf()函數(shù)例3.8scanf()函數(shù)用來(lái)從鍵盤向計(jì)算機(jī)輸入數(shù)據(jù)的。#include<stdio.h>intmain(){floatx,y,z,aver;scanf(“%f%f%f”,&x,&y,&z);/*從鍵盤輸入數(shù)據(jù)*/ aver=(x+y+z)/3; printf("%8.4f+%8.4f+%8.4f=%8.4f\n“,x,y,z,aver);printf("%-8.4f+%-8.4f+%-8.4f=%-8.4f\n",x,y,z,aver);}在程序中給計(jì)算機(jī)提供數(shù)據(jù),可以用賦值語(yǔ)句,也可以用輸入函數(shù)。在C語(yǔ)言中,可使用scanf()函數(shù),通過鍵盤輸入,給計(jì)算機(jī)同時(shí)提供多個(gè)、任意類型的數(shù)據(jù)。(1)scanf()函數(shù)的一般格式scanf("格式字符串",輸入項(xiàng)首地址表);①格式字符串。格式字符串可以包含3種類型的字符:格式字符、空格和修飾字符。格式指示符與printf()函數(shù)的相似,空白字符作為相鄰2個(gè)輸入數(shù)據(jù)的缺省分隔符,非空白字符在輸入數(shù)據(jù)時(shí),必須原樣一起輸入。②輸入項(xiàng)首地址表──由若干個(gè)輸入項(xiàng)首地址組成,相鄰2個(gè)輸入項(xiàng)首地址之間,用逗號(hào)分開。輸入項(xiàng)地址表中的地址,可以是變量的首地址,也可以是字符數(shù)組名或指針變量。變量首地址的表示方法:&變量名其中“&”是地址運(yùn)算符。
(2)scanf()函數(shù)的功能:從鍵盤上接收格式化輸入。
(3)格式字符格式說(shuō)明符與輸出函數(shù)中一樣。一般形式為:
%格式字符
①格式字符類型字符類似輸出。例如案例3.6的scanf()函數(shù)語(yǔ)句中,格式字符串“%f”。
②附加說(shuō)明符(最好不使用)指定該項(xiàng)輸入數(shù)據(jù)所占列數(shù)為n。換句話說(shuō),讀取輸入數(shù)據(jù)中相應(yīng)的n位,按需要的位數(shù)賦給相應(yīng)的變量,多余部分被舍棄。例如:scanf("%3d%3d",&a,&b);printf(“a=%d,b=%d\n",a,b);使用scanf()注意事項(xiàng):
1.對(duì)應(yīng)“%d%f%d”從鍵盤上輸入數(shù)據(jù)時(shí),整型或?qū)嵭蛿?shù)據(jù)可以用空格、回車或Tab鍵隔開,但對(duì)于“%c%c”,輸入字符時(shí)不需要隔開。
2.“格式字符串”中出現(xiàn)的普通字符(包括轉(zhuǎn)義字符),務(wù)必原樣輸入。例如,scanf("%d,%d",&n1,&n2);
正確的操作是用逗號(hào)隔開兩個(gè)數(shù),即:12,36↙
3.scanf()函數(shù)中、格式字符串內(nèi)的轉(zhuǎn)義字符(如\n),系統(tǒng)并不把它當(dāng)轉(zhuǎn)義字符來(lái)解釋,而是將其視為普通字符,所以也要原樣輸入。例3.9輸入三角形的三邊長(zhǎng),求三角形面積。假設(shè):三個(gè)邊長(zhǎng)a,b,c能構(gòu)成三角形。已知面積公式:area=s=(a+b+c)*0.5#include<stdio.h>#include<math.h>intmain(){floata,b,c,s,area;/*定義變量*/scanf(“%f,%f,%f”,&a,&b,&c);/*輸入三條邊長(zhǎng)*/s=1.0/2*(a+b+c);/*計(jì)算周長(zhǎng)*/area=sqrt(s*(s-a)*(s-b)*(s-c));/*計(jì)算面積*/printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);printf("area=%7.2f\n",area);}
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西省安康市2024-2025學(xué)年八年級(jí)(上)期末語(yǔ)文試卷
- 2025年全球及中國(guó)氯雷他定片行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球工商用管道除濕機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)劃線輪(描線輪)行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球PTFE化學(xué)鍍鎳行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)汽車超高頻天線行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025年全球及中國(guó)多托盤貨叉行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球汽車行業(yè)用生物基聚酰胺行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)樹木介紹牌行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球醫(yī)美用A型肉毒毒素行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030年中國(guó)納米氧化鋁行業(yè)發(fā)展前景與投資戰(zhàn)略研究報(bào)告新版
- 2025年度正規(guī)離婚協(xié)議書電子版下載服務(wù)
- 2025年貴州蔬菜集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 煤礦安全生產(chǎn)方針及法律法規(guī)課件
- 2025年教科室工作計(jì)劃樣本(四篇)
- 2024年版古董古玩買賣合同:古玩交易稅費(fèi)及支付規(guī)定
- 【7歷期末】安徽省宣城市2023-2024學(xué)年七年級(jí)上學(xué)期期末考試歷史試題
- 春節(jié)后安全生產(chǎn)開工第一課
- 2025光伏組件清洗合同
- 電力電纜工程施工組織設(shè)計(jì)
- 2024年網(wǎng)格員考試題庫(kù)完美版
評(píng)論
0/150
提交評(píng)論