![程序設計基礎第3章講_第1頁](http://file4.renrendoc.com/view/231499820cccea8a150311e3b1f44c97/231499820cccea8a150311e3b1f44c971.gif)
![程序設計基礎第3章講_第2頁](http://file4.renrendoc.com/view/231499820cccea8a150311e3b1f44c97/231499820cccea8a150311e3b1f44c972.gif)
![程序設計基礎第3章講_第3頁](http://file4.renrendoc.com/view/231499820cccea8a150311e3b1f44c97/231499820cccea8a150311e3b1f44c973.gif)
![程序設計基礎第3章講_第4頁](http://file4.renrendoc.com/view/231499820cccea8a150311e3b1f44c97/231499820cccea8a150311e3b1f44c974.gif)
![程序設計基礎第3章講_第5頁](http://file4.renrendoc.com/view/231499820cccea8a150311e3b1f44c97/231499820cccea8a150311e3b1f44c975.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第3章順序結構程序設計3.1程序的三種結構3.2C語句總述3.3數(shù)據(jù)的輸入與輸出3.4順序結構程序設計舉例3.1程序的三種結構順序結構、選擇結構、循環(huán)結構用這三種基本結構作為表示一個良好算法的基本單元。三種基本結構的圖示:
順序結構選擇結構當型(While型)循環(huán)結構直到型(Until型)循環(huán)循環(huán)結構的圖示:三種基本結構的共同特點:(1)只有一個入口;
(2)只有一個出口;(請注意:一個菱形判斷框有兩個出口,而一個選擇結構只有一個出口。不要將菱形框的出口和選擇結構的出口混淆。)(3)結構內(nèi)的每一部分都有機會被執(zhí)行到;(4)結構內(nèi)不存在“死循環(huán)”(無終止的循環(huán))。小結:由三種基本結構組成的算法結構,可以解決任何復雜的問題。由基本結構所構成的算法屬于“結構化”的算法,它不存在無規(guī)律的轉向,只在本基本結構內(nèi)才允許存在分支和向前或向后的跳轉。3.2C語句綜述一個C程序可以有若干個源程序文件組成一個源文件可以有若干個函數(shù)和預處理命令以及全局變量聲明部分組成;一個函數(shù)有函數(shù)首部和函數(shù)體組成;函數(shù)體由數(shù)據(jù)聲明和執(zhí)行語句組成;C語句分為5類控制語句函數(shù)調(diào)用語句表達式語句空語句復合語句(一)控制語句完成一定的控制功能
1if()~else條件語句6break間斷語句
2for()~循環(huán)語句7switch()開關語句
3while()~循環(huán)語句8goto轉向語句
4do~while();循環(huán)語句9return返回語句
5continue繼續(xù)語句(二)函數(shù)調(diào)用語句
一個函數(shù)調(diào)用加一個分號構成一個語句。
Printf(“ThisisaCstatement.”);例:(三)表達式語句
有一個表達式加一個分號構成一個語句。
a=3;例:(四)空語句只有一個分號的語句。(什么也不做)用來做流程的轉向點用來作為循環(huán)語句中的循環(huán)體(五)復合語句用一對{}括起來的語句
{ intx=123.5,y; y=x/100; printf(“%f”,t); }例:3.3數(shù)據(jù)的輸入與輸出輸入/輸出以計算機為主體,輸入是指從輸入設備(鍵盤等)向計算機輸入數(shù)據(jù),輸出是指從計算機向輸出設備(顯示器等)輸出數(shù)據(jù)。
C語言本身不提供輸入輸出語句,輸入輸出操作通過C系統(tǒng)函數(shù)庫的函數(shù)來完成的。如輸入函數(shù):scanf()、getchar();輸出函數(shù):printf()、putchar()等。在使用系統(tǒng)函數(shù)庫的函數(shù)時,要用編譯預處理命令“#include”將有關的“頭文件”包含到用戶的源文件中。1.單個字符的輸出──putchar()函數(shù)例3.1putchar()函數(shù)的格式和使用方法。#include<stdio.h>
/*編譯預處理命令:文件包含*/intmain()
{chara,b,c;/*定義字符型變量*/
a=‘B’;b=‘O’;c=‘Y’;/*為字符型變量賦值*/putchar(a);putchar(b);/*輸出字符*/putchar(c);putchar(‘\n’);
}
程序運行結果如下:
BOYputchar()函數(shù)的格式:putchar(ch);
其中ch可以是一個字符變量或常量,也可以是一個轉義字符。putchar()函數(shù)的作用是向終端輸出一個字符。(1)putchar()函數(shù)只用于輸出單個字符,且一次只能輸出一個字符。另外,從功能角度來看,printf()函數(shù)可以完全代替putchar()函數(shù)。(2)在程序中使用putchar()函數(shù),務必牢記:在程序(或文件)的開頭加編譯預處理命令(也稱包含命令):
#include<stdio.h>2.單個字符的輸入──getchar()函數(shù)例3.2getchar()函數(shù)的使用。#include<stdio.h>intmain(){charr;r=getchar();/*輸入一個字符*/putchar(r);/*輸出該字符*/putchar(‘\n’);}a↙/*鍵盤輸入的字符數(shù)據(jù)*/a/*屏幕顯示的輸出數(shù)據(jù)*/程序執(zhí)行時輸入一個字符a并按回車鍵后,在屏幕上看到結果。getchar()函數(shù)的格式:
getchar();
getchar()函數(shù)的作用:從系統(tǒng)輸入設備(如鍵盤)輸入一個字符。另外,從功能角度來看,scanf()函數(shù)可以完全代替getchar()函數(shù)。(1)getchar()函數(shù)只能用于單個字符的輸入,一次輸入一個字符。當需要多個字符時,可通過循環(huán)輸入實現(xiàn)。(2)程序中要使用getchar()函數(shù),必須在程序(或文件)的開頭加上編譯預處理命令:
#include<stdio.h>
注意:函數(shù)getchar()
和putchar(ch)在格式上和應用上的差別。3.格式化輸出函數(shù)printf()函數(shù)例3.3已知圓半徑radius=1.5,求圓的周長和面積并輸出。
#include<stdio.h>intmain()
{floatradius,length,area,pi=3.1415926;
radius=1.5;
length=2*pi*radius; /*求圓周長*/
area=pi*radius*radius; /*求圓面積*/
printf(“radius=%f\n”,radius);
/*輸出半徑*/
printf(“l(fā)ength=%7.2f,area=%7.2f\n”,
length,area);
}
printf()函數(shù)的作用:向計算機系統(tǒng)默認的輸出設備輸出一個或多個任意類型的數(shù)據(jù)。printf()函數(shù)的一般格式如下:printf(“格式控制”,輸出表列);
(1)格式控制格式控制時用雙引號括起來的字符串,可以包含三種信息:①格式說明。格式說明的一般形式如下:%格式字符
②轉義字符例如,中printf()函數(shù)中的'\n'就是轉義字符,輸出時產(chǎn)生一個“換行”操作。③普通字符──除格式字符和轉義字符之外的其它字符。格式字符串中的普通字符,原樣輸出。例如,printf(“radius=%f\n”,radius);(2)輸出表列輸出表列是可選的。如果要輸出的數(shù)據(jù)不止1個,相鄰2個之間用逗號分開。必須與“輸出表列”中輸出項的數(shù)據(jù)類型一致,否則會引起輸出錯誤。下面的printf()函數(shù)都是合法的:(1)printf("Iamastudent.\n");
(2)printf("%d",3+2);
是普通字符(3)格式字符輸出不同類型的數(shù)據(jù),要使用不同的格式字符。常用的有:
①格式字符d──以帶符號的十進制整數(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)默認的寬度,輸出單精度和雙精度實數(shù)。例3.5顯示輸出浮點數(shù)(左對齊、右對齊)。#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ù)右對齊數(shù)據(jù)左對齊對于實數(shù),也可使用格式符%e,以標準指數(shù)形式輸出:尾數(shù)中的整數(shù)部分大于等于1、小于10,小數(shù)點占一位,尾數(shù)中的小數(shù)部分占5位;指數(shù)部分占4位,其中e占一位,指數(shù)符號占一位,指數(shù)占2位,共計11位。也可使用格式符%g,讓系統(tǒng)根據(jù)數(shù)值的大小,自動選擇%f或%e格式、且不輸出無意義的零。③格式字符c──輸出一個字符(只占一列寬度)。例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);}
需要強調(diào)的是:在C語言中,整數(shù)可以用字符形式輸出,字符數(shù)據(jù)也可以用整數(shù)形式輸出。④格式字符s──輸出一個字符串。例3.7格式字符s的使用。
#include<stdio.h>intmain(){
printf("%s\n","Internet");}
運行結果如下:Internet
注意:系統(tǒng)輸出字符和字符串時,不輸出單引號和雙引號。(4)使用說明①printf()可以輸出常量、變量和表達式的值。但格式控制中的格式說明符,必須按從左到右的順序,與輸出表中的每個數(shù)據(jù)一一對應,否則出錯。②格式字符x、e、g可以用小寫字母,也可以用大寫字母。使用大寫字母時,輸出數(shù)據(jù)中包含的字母也大寫。除了x、e、g格式字符外,其它格式字符必須用小寫字母。例如,%f不能寫成%F。③格式字符緊跟在“%”后面就作為格式字符,否則將作為普通字符使用(原樣輸出)。
4.格式輸入——scanf()函數(shù)例3.8scanf()函數(shù)用來從鍵盤向計算機輸入數(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);}在程序中給計算機提供數(shù)據(jù),可以用賦值語句,也可以用輸入函數(shù)。在C語言中,可使用scanf()函數(shù),通過鍵盤輸入,給計算機同時提供多個、任意類型的數(shù)據(jù)。(1)scanf()函數(shù)的一般格式scanf("格式字符串",輸入項首地址表);①格式字符串。格式字符串可以包含3種類型的字符:格式字符、空格和修飾字符。格式指示符與printf()函數(shù)的相似,空白字符作為相鄰2個輸入數(shù)據(jù)的缺省分隔符,非空白字符在輸入數(shù)據(jù)時,必須原樣一起輸入。②輸入項首地址表──由若干個輸入項首地址組成,相鄰2個輸入項首地址之間,用逗號分開。輸入項地址表中的地址,可以是變量的首地址,也可以是字符數(shù)組名或指針變量。變量首地址的表示方法:&變量名其中“&”是地址運算符。
(2)scanf()函數(shù)的功能:從鍵盤上接收格式化輸入。
(3)格式字符格式說明符與輸出函數(shù)中一樣。一般形式為:
%格式字符
①格式字符類型字符類似輸出。例如案例3.6的scanf()函數(shù)語句中,格式字符串“%f”。
②附加說明符(最好不使用)指定該項輸入數(shù)據(jù)所占列數(shù)為n。換句話說,讀取輸入數(shù)據(jù)中相應的n位,按需要的位數(shù)賦給相應的變量,多余部分被舍棄。例如:scanf("%3d%3d",&a,&b);printf(“a=%d,b=%d\n",a,b);使用scanf()注意事項:
1.對應“%d%f%d”從鍵盤上輸入數(shù)據(jù)時,整型或?qū)嵭蛿?shù)據(jù)可以用空格、回車或Tab鍵隔開,但對于“%c%c”,輸入字符時不需要隔開。
2.“格式字符串”中出現(xiàn)的普通字符(包括轉義字符),務必原樣輸入。例如,scanf("%d,%d",&n1,&n2);
正確的操作是用逗號隔開兩個數(shù),即:12,36↙
3.scanf()函數(shù)中、格式字符串內(nèi)的轉義字符(如\n),系統(tǒng)并不把它當轉義字符來解釋,而是將其視為普通字符,所以也要原樣輸入。例3.9輸入三角形的三邊長,求三角形面積。假設:三個邊長a,b,c能構成三角形。已知面積公式: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);/*輸入三條邊長*/s=1.0/2*(a+b+c);/*計算周長*/area=sqrt(s*(s-a)*(s-b)*(s-c));/*計算面積*/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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度客車駕駛員勞動合同示范文本
- 2025年度國際民間貿(mào)易合同模板修訂版
- 2025年度車輛租賃合同車輛使用規(guī)范合同
- 2025年度航空航天復合材料研發(fā)保密合同范本
- 環(huán)境治理在城市建設中的關鍵作用
- 2025年度專利文件兼職翻譯服務合同規(guī)范文本
- 2025年度綠色生態(tài)護坡設計與施工一體化合同樣本
- 2025年度工地磚渣環(huán)保處理與再生利用合同
- 2025年度航空航天零部件制造合同知識產(chǎn)權條款正規(guī)范本
- 2025年度跨境電商合同糾紛解決機制與法律適用
- 《大小比較》(說課課件)二年級下冊數(shù)學西師大版
- 張五常子女和婚姻合約中的產(chǎn)權執(zhí)行問題
- 口腔粘膜常見疾病
- 校園安全派出所
- 餐廳值班管理培訓
- XXXX無線維護崗位認證教材故障處理思路及案例分析
- 2024年浙江省自然資源集團有限公司招聘筆試參考題庫附帶答案詳解
- 酒店春節(jié)營銷方案
- 營銷管理方案中的定價策略與盈利模式
- 2024年西寧城市職業(yè)技術學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 2024年臨沂市高三一模(學業(yè)水平等級考試模擬試題)物理試卷
評論
0/150
提交評論