版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第三章 最簡單的C程序設(shè)計,上一章介紹了程序中用到的一些基本要素(常量、變量、運(yùn)算符、表達(dá)式等),它們是構(gòu)成程序的基本成份。本章介紹為編寫簡單的程序所必須的一些知識。,3.1 C語句概述 3.2 程序的三種基本結(jié)構(gòu) 3.3 賦值語句 3.4 數(shù)據(jù)輸出 3.5 數(shù)據(jù)輸入 3.6 程序舉例,3.1 C語句概述,C程序結(jié)構(gòu)如右圖。即一個C程序由若于個源程序文件組成,一個源文件又由若干函數(shù)和預(yù)編譯命令組成,一個函數(shù)則由數(shù)據(jù)定義部分和執(zhí)行語句組成。 一個程序包括數(shù)據(jù)描述(用來定義數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)初值)和數(shù)據(jù)操作(對數(shù)據(jù)進(jìn)行加工)。,3.1 C語句概述-語句分類,一、控制語句:完成一定的控制功能,語言有種控
2、制語句,見右邊。其中,( )表示一個條件;表示內(nèi)嵌的語句。,if( ) else for ( ) while ( ) do while ( ) continue break switch goto return,3.1 C語句概述-語句分類,二、函數(shù)調(diào)用語句:由一個函數(shù)調(diào)用加一個分號構(gòu)成一個語句。,例如:printf(”This is a C statement.”);,3.1 C語句概述-語句分類,三、表達(dá)式語句:由一個表達(dá)式加一個分號構(gòu)成一個語句。,最典型的是由一個賦值表達(dá)式加一個分號構(gòu)成一個賦值語句,如:a=3; 任何表達(dá)式都可以加上分號而構(gòu)成語句,如:I+; 又如:x+y; 表達(dá)式能構(gòu)
3、成語句是語言的一個特色。其實(shí),函數(shù)調(diào)用語句也是表達(dá)式語句。正由于程序中大多數(shù)語句是表達(dá)式語句,所以有人把語言稱作表達(dá)式語言。,3.1 C語句概述-語句分類,四、空語句:即只有一個分號的語句。即:;,空語句只有一個分號,它什么也不做。有時用來作被轉(zhuǎn)向點(diǎn),也可作循環(huán)語句中的循環(huán)體(循環(huán)體為空語句時,表示循環(huán)體中什么也不做)。,3.1 C語句概述-語句分類,五、復(fù)合語句:用把一些語句括起來構(gòu)成復(fù)合語句。特別注意:復(fù)合語句中最后一個語句中最后的分號不能省略。,例如: z=x+y; t=z/100; printf(”%f”,t); ,3.1 C語句概述-語句分類,語言中的語句包括上面介紹的五類,即控制語
4、句、函數(shù)調(diào)用語句、表達(dá)式語句、空語句和復(fù)合語句。,值得一提的是,語言允許一行寫幾個語句,也允許一個語句拆開寫在幾行上,書寫格式無固定要求。但是,為閱讀方便,一般采用縮進(jìn)格式。如:main() int c1,c2; c1=97; c2=98; printf(”%c %c”,c1,c2);,3.2 程序的三種基本結(jié)構(gòu),程序的三種基本結(jié)構(gòu)是指順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。它是結(jié)構(gòu)化程序設(shè)計(SP)中采用的三種結(jié)構(gòu)。采用結(jié)構(gòu)化程序設(shè)計,可使程序結(jié)構(gòu)清晰、易讀性強(qiáng),從而提高程序設(shè)計的質(zhì)量和效率。,在編寫一個程序之前,為了方便,總是借助于一種框圖來形象地表示要解決問題的流程,以醒目的方式描述程序的結(jié)構(gòu),即
5、程序先做什么、后做什么、遇到什么情況如何判斷和處理等,這種框圖稱程序流程圖。下面結(jié)合三種基本結(jié)構(gòu)介紹傳統(tǒng)形式的流程圖和N-S結(jié)構(gòu)化流程圖。,3.2 程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu),傳統(tǒng)形式的流程圖,N-S結(jié)構(gòu)化流程圖,3.2 程序的三種基本結(jié)構(gòu)選擇結(jié)構(gòu),傳統(tǒng)形式的流程圖,N-S結(jié)構(gòu)化流程圖,3.2 程序的三種基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)之一,傳統(tǒng)形式的流程圖,N-S結(jié)構(gòu)化流程圖,當(dāng)型循環(huán),3.2 程序的三種基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)之二,傳統(tǒng)形式的流程圖,N-S結(jié)構(gòu)化流程圖,直到型循環(huán),3.2 程序的三種基本結(jié)構(gòu),上面介紹了三種基本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。其中,選擇結(jié)構(gòu)可以派生出另一種基本結(jié)構(gòu):多分支選擇
6、結(jié)構(gòu),見右圖。多分支選擇結(jié)構(gòu)是根據(jù)k的值(k1,k2,kn)不同而決定執(zhí)行A1,A2,An之一。,3.3 賦值語句,一般格式:賦值運(yùn)算符; 基本功能:先計算賦值運(yùn)算符右邊的表達(dá)式,然后將其值存儲到左邊的變量中。,C語言中的賦值語句與其它高級語言有些區(qū)別,如:(1)C語言中用“=”作賦值運(yùn)算符;(2)C語言把賦值語句和賦值表達(dá)式區(qū)分開來。從而增加了表達(dá)式的種類,例如:if (a=b)0) t=a;,3.4 數(shù)據(jù)輸出,首先指出:C語言本身不提供輸入輸出語句,輸入和輸出由函數(shù)來實(shí)現(xiàn)。在不同計算機(jī)系統(tǒng)的C語言中提供的函數(shù)庫有所不同,但有些通用的函數(shù)(如printf和scanf),各種計算機(jī)系統(tǒng)都提供,
7、成為各種計算機(jī)系統(tǒng)的標(biāo)準(zhǔn)函數(shù)(標(biāo)準(zhǔn)輸入輸出庫的一部分)。 本節(jié)介紹兩個最基本的輸出函數(shù)。,3.4 數(shù)據(jù)輸出,一、putchar函數(shù)格式:putchar(c);功能:向終端輸出一個字符。例3.1 源程序見右邊注意:可輸出轉(zhuǎn)義字符,如:putchar(n); putchar(); putchar(101); putchar(015);等。,#includestdio.h main() char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c); ,3.4 數(shù)據(jù)輸出,二、printf函數(shù)(格式輸出函數(shù)) 功能:向終端輸出若干個任意類型的數(shù)據(jù) 格
8、式:printf(格式控制,輸出表列)其中,格式控制是雙引號括起來的字符串,包括兩種信息:(1)格式說明:由“%”和格式字符組成,如:%d,%f等;(2)普通字符:即需要原樣輸出的字符。輸出表列是需要輸出的一些數(shù)據(jù),可以是表達(dá)式。 例如:printf(”a=%d, b=%d”,a,b);,3.4 數(shù)據(jù)輸出-printf格式字符介紹,d 以帶符號的10進(jìn)制形式輸出整數(shù)(正數(shù)不輸出符號) o 以8進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0) x 以16進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0 x) u 以無符號10進(jìn)制形式輸出整數(shù) c 以字符形式輸出,只輸出一個字符 s 輸出字符串 f 以小數(shù)形式輸出單
9、、雙精度實(shí)數(shù),隱含輸出6位小數(shù) e 以標(biāo)準(zhǔn)指數(shù)形式輸出單、雙精度實(shí)數(shù),數(shù)字部分小數(shù)位數(shù)為6位 g 自動選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0,3.4 數(shù)據(jù)輸出-printf附加格式說明符,附加格式說明符(如: “%ld ”,“%m.ne”, “%-m.nf ”) 字母l 用于長整型整數(shù),可加在格 式符d,o,x,u前面 m(代表一個正整數(shù)) 數(shù)據(jù)最小寬度 .n(代表一個正整數(shù)) 對實(shí)數(shù),表示輸出n位小數(shù); 對字符串,表示截取的字符 個數(shù)。 - 輸出的數(shù)字或字符在域內(nèi) 向左靠。,3.4 數(shù)據(jù)輸出-printf函數(shù)注意事項(xiàng),1、有些系統(tǒng)要求格式字符要用小寫,如%d不能寫成%D
10、; 2、可以在格式控制字符串中包含轉(zhuǎn)義字符,如:n,t,b,r,f,377等; 3、一個格式說明以%開始,以9個格式符號之一結(jié)束,中間可以插入附加格式字符(或稱修飾符)。如:printf(”c=%cf=%fs=%s”,c,f,s); 4、如果想輸出%,則應(yīng)在格式控制字符串中用連續(xù)兩個%表示,如:printf(”%f%”,1.0/3); 輸出:0.333333% 5、不同的系統(tǒng)在實(shí)現(xiàn)格式輸出時,輸出結(jié)果可能稍有差別,如%e格式符的指數(shù)部分及數(shù)字部分位數(shù)的規(guī)定。,3.4 數(shù)據(jù)輸出-使用printf函數(shù)的例子,下頁是對無符號整數(shù)65535 和 有符號整數(shù)-2分別用%d,%o,%x,%u格式符輸出的程
11、序。 運(yùn)行結(jié)果為:a=-1,177777,ffff,65535b=-2,177776,fffe,65534,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1,a=65535,b=-2,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0,3.4 數(shù)據(jù)輸出-使用printf函數(shù)的例子,/* #includestdio.h */ main() unsigned int a=65535; int b=-2; printf(a=%d,%o,%x,%un,a,a,a,a); printf(b=%d,%o,%x,%un,b,b,b,b); ,3.5 數(shù)據(jù)輸入-getchar函數(shù),字
12、符輸入函數(shù)getchar的作用為:從終端輸入一個字符。 一般形式為:getchar(),例3.8 #include stdio.h main() char c; c=getchar(); putchar(c); ,3.5 數(shù)據(jù)輸入-scanf函數(shù),getchar一次只能從終端輸入一個字符,scanf函數(shù)可以用來輸入任何類型的多個數(shù)據(jù)。 一般形式為:scanf(格式控制,地址表列),其中,格式控制的含義同printf函數(shù),地址表列是由若干個地址組成的表列,可以是變量的地址,或字符串的首地址。 例子見右邊。,例3.9 /* #include stdio.h */ main() int a,b,c;
13、 scanf(%d%d%d, ,3.5 數(shù)據(jù)輸入-scanf格式字符介紹,d 用來輸入10進(jìn)制形式整數(shù) o 用來輸入8進(jìn)制形式整數(shù) x 用來輸入16進(jìn)制形式整數(shù) c 用來輸入單個字符 s 用來輸入字符串,將字符串送到一個字符數(shù)組中,在輸入時以非空白字符開始,以第一個空白字符結(jié)束。字符串以串結(jié)束標(biāo)記0作為其最后一個字符。 f 或e 以小數(shù)形式或指數(shù)形式輸入實(shí)數(shù),不能規(guī)定精度,3.5 數(shù)據(jù)輸入-scanf附加格式說明符,字母l 用于長整型數(shù)據(jù)(可用%ld,%lo,%lx),以及double型數(shù)據(jù)(用 %lf或%le) 字母h 用于輸入短整型數(shù)據(jù)(可用%hd,%ho,%hx)。 正整數(shù)m 用于指定輸
14、入數(shù)據(jù)所占寬度(列數(shù)) 字母* 表示本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量。,3.5 數(shù)據(jù)輸入-scanf函數(shù)注意事項(xiàng),1、標(biāo)準(zhǔn)C在scanf中不使用%u格式說明符 2、可以指定輸入數(shù)據(jù)所占列數(shù) 3、%后的*表示跳過它相應(yīng)的數(shù)據(jù) 4、輸入數(shù)據(jù)時不能規(guī)定精度 5、格式控制后面應(yīng)該是變量地址而不應(yīng)是變量名 6、格式控制中如有其它字符,則輸入時要照樣輸入,3.6 程序舉例,例3.10 輸入三角形的三個邊,求面積。 #include math.h main() float a,b,c,s,area; scanf(%f,%f,%f, ,3.6 程序舉例,例3.11 從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。程序如下: #includestdi
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年分享與成長我的職務(wù)述職
- 2026年施工安全與質(zhì)量控制的成功案例
- 2025年美術(shù)專業(yè)化筆試及答案
- 2025年潮南區(qū)教師招聘筆試真題及答案
- 2025年棗莊礦務(wù)局醫(yī)院筆試題及答案
- 2025年事業(yè)單位交通委考試題及答案
- 2025年岱山人事考試及答案
- 2025年溫江人事考試及答案
- 2026年房地產(chǎn)市場的信任構(gòu)建與維護(hù)策略
- 2026年河北水利發(fā)展集團(tuán)有限公司公開招聘工作人員1名筆試備考試題及答案解析
- 《看圖找關(guān)系》(教學(xué)設(shè)計)-2024-2025學(xué)年六年級上冊數(shù)學(xué)北師大版
- 新版高中物理必做實(shí)驗(yàn)?zāi)夸浖捌鞑?(電子版)
- 心理與教育測量課件
- ABAQUS在隧道及地下工程中的應(yīng)用
- 【郎朗:千里之行我的故事】-朗朗千里之行在線閱讀
- 相似件管理規(guī)定
- 長沙市財政評審中心 2023年第一期材料價格手冊簽章版
- 病原生物與免疫學(xué)試題(含答案)
- 尼帕病毒專題知識宣講
- 現(xiàn)代企業(yè)管理制度
- GB/T 24312-2022水泥刨花板
評論
0/150
提交評論