C語言程序設(shè)計-模塊一順序編程設(shè)計訓(xùn)練課件_第1頁
C語言程序設(shè)計-模塊一順序編程設(shè)計訓(xùn)練課件_第2頁
C語言程序設(shè)計-模塊一順序編程設(shè)計訓(xùn)練課件_第3頁
C語言程序設(shè)計-模塊一順序編程設(shè)計訓(xùn)練課件_第4頁
C語言程序設(shè)計-模塊一順序編程設(shè)計訓(xùn)練課件_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、模塊一 順序程序設(shè)計訓(xùn)練能力目標 了解結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu); 了解流程控制的基本語句; 熟練掌握數(shù)據(jù)的輸入/輸出處理函數(shù)和表達式語句; 掌握構(gòu)建順序結(jié)構(gòu)程序的基本語句及程序基本構(gòu)架; 掌握順序結(jié)構(gòu)程序設(shè)計方法。第1頁,共42頁。知識準備任務(wù)引例-判斷從鍵盤輸入的整數(shù)數(shù)據(jù)的奇偶性。程序清單#include void main( )int num;do printf(請輸入一個自然數(shù):); /提示用戶輸入一個數(shù)值 scanf(%d,&num); /接受用戶輸入的數(shù)值 if (num%2=0) printf(您輸入的是一個偶數(shù)n); else printf(您輸入的是一個奇數(shù)n);while(n

2、um!=0);第2頁,共42頁。程序運行 請輸入一個自然數(shù):25您輸入的是一個奇數(shù)請輸入一個自然數(shù):26您輸入的是一個偶數(shù)請輸入一個自然數(shù):0您輸入的是一個偶數(shù)第3頁,共42頁。引例解析 當num變量的值不為0時,循環(huán)。 if(num%2=0)是判斷語句,當關(guān)系表達式num%2=0成立,表示num變量中的數(shù)據(jù)是偶數(shù)。 scanf()函數(shù)接收用戶鍵盤輸入的數(shù)據(jù)到指定變量。 printf()函數(shù)向計算機屏幕輸出信息。第4頁,共42頁。結(jié)束否圖1-1 引例1.1的流程圖第5頁,共42頁。1.1 程序和算法1.1.1 程序 1.程序的定義 一個程序包括以下兩方面的內(nèi)容: 對數(shù)據(jù)的描述 在程序中要指定數(shù)

3、據(jù)的類型和數(shù)據(jù)的組織形式,即數(shù)據(jù)結(jié)構(gòu)。 對操作的描述 即操作步驟,也就是算法。 循環(huán)結(jié)構(gòu) 如do-while語句 程序=數(shù)據(jù)結(jié)構(gòu)+算法第6頁,共42頁。2.程序設(shè)計 程序設(shè)計過程包括 分析問題 設(shè)計算法 編寫代碼 測試程序 編寫程序文檔第7頁,共42頁。1.1.2 算法1.算法的定義 廣義地講,算法是指為解決某個具體問題而采取的方法和步驟。 根據(jù)不同的算法控制結(jié)構(gòu),程序有3種結(jié)構(gòu): 順序結(jié)構(gòu) 最主要、最基本 選擇結(jié)構(gòu) 是程序中的局部結(jié)構(gòu),如if語句 循環(huán)結(jié)構(gòu) 如do-while語句第8頁,共42頁。2.算法描述 算法描述的結(jié)果必須滿足算法的五個特征: 有窮性 確切性 輸入 輸出 可行性 自然語

4、言 偽代碼 流程圖 N-S圖第9頁,共42頁。 流程圖是用幾何圖形將一個算法的各步驟的邏輯關(guān)系展示出來的一種圖示技術(shù)。表1-1 流程圖的常用符號和含義圖形含義圖形含義圓角矩形表示“開始”與“結(jié)束”用平行四邊形表示輸入輸出矩形表示某種操作或計算箭頭代表工作流方向菱形表示問題判斷或判定環(huán)節(jié)A流程連接點第10頁,共42頁。圖1-2 常見基本控制結(jié)構(gòu)流程圖a) 順序結(jié)構(gòu)b) 分支結(jié)構(gòu)c) 直到型循環(huán)結(jié)構(gòu)d) 當型循環(huán)第11頁,共42頁。a) 順序結(jié)構(gòu)d) 直到型循環(huán)結(jié)構(gòu)c) 當型循環(huán)結(jié)構(gòu)b) 選擇結(jié)構(gòu)圖1-3 三種常見控制結(jié)構(gòu)的N-S圖第12頁,共42頁。1.2 基本語句基本語句控制語句表達式語句1)

5、if-else(條件語句)2)switch(多分支選擇語句)3)while(循環(huán)語句)4)do-while(循環(huán)語句)5)for(循環(huán)語句)6)break(中止循環(huán)或switch結(jié)構(gòu)語句)7)continue(結(jié)束本次循環(huán)語句)8)goto(轉(zhuǎn)向語句)9)return(返回語句)函數(shù)調(diào)用語句賦值語句空語句復(fù)合語句第13頁,共42頁。#include #include void main()double y;int x,m;for(y=1;y=-1;y-=0.1) m=(int)(acos(y)*10); for(x=1;xm;x+) printf ( ); printf(*); for(;x6

6、2-m;x+) printf ( ); printf(*n);做中學(xué)1-1 輸出余弦函數(shù)圖形程序程序清單第14頁,共42頁。 輸出結(jié)果 見圖1-4圖1-4 做中學(xué)1-1輸出結(jié)果第15頁,共42頁。#include void main( ) char ch;printf(請輸入多個字母:);ch=getchar( );printf(您輸入的是:%c,ch);做中學(xué)1-2 利用getchar( )函數(shù)接收鍵盤輸入的數(shù)據(jù)。程序清單1.3 字符輸入輸出1.3.1 getchar()函數(shù)程序運行 請輸入多個字母:abcd 您輸入的是:a第16頁,共42頁。知識點 getchar函數(shù)是字符輸入函數(shù),接收從

7、鍵盤輸入的單個字符數(shù)據(jù),是一個無參函數(shù),其語法格式為: getchar(); 通常把輸入的字符賦予一個字符變量,構(gòu)成賦值語句。 如:char ch; ch=getchar( ); getchar( )函數(shù)只能接收單個字符。輸入數(shù)字也按字符處理,輸入多于一個字符時,只接收第一個字符。 使用getchar前必須包含頭文件“stdio.h”。 getchar函數(shù)等待用戶輸入直到按“回車”鍵才結(jié)束,回車前的所有輸入字符都會逐個顯示在屏幕上。第17頁,共42頁。#include void main( ) char c=B; /*定義字符變量c并賦值B*/ putchar(c); /*輸出該字符*/ pu

8、tchar(x42); /*輸出字母B */ putchar(0 x42); /*用16進制ASCII碼值輸出字母B */ putchar(66); /*用ASCII碼值輸出字母B */做中學(xué)1-3 利用putchar( )函數(shù)輸出字符。程序清單1.3.2putchar()函數(shù)輸出結(jié)果 BBBB第18頁,共42頁。#include void main( ) int a,b,c;printf(請輸入三個整數(shù),整數(shù)間兩個用英文空格分開:); scanf(%d%d%d,&a,&b,&c); printf(a=%d,b=%d,c=%dn,a,b,c);做中學(xué)1-4 使用scanf( )函數(shù)從鍵盤接收程

9、序用戶的輸入。程序清單程序運行 請輸入三個整數(shù),整數(shù)間兩個用英文空格分開:11 22 44 a=11,b=22,c=441.4.1 scanf()函數(shù)1.4 格式輸入輸出第19頁,共42頁。知識點 scanf函數(shù)語法格式為:scanf(格式控制,地址表列); 格式控制的含義與printf函數(shù)的格式控制相同。說明 &a表示變量a的地址,“&”為取地址運算符?!?a,&b,&c”表示將鍵盤收到的數(shù)值存儲到a,b,c三個變量對應(yīng)的存儲單元中,相當于對這3個變量進行了賦值。 scanf函數(shù)的格式說明同printf函數(shù),必須以%開始,后面跟一個格式符組成。 scanf函數(shù)常用的格式符見表1-6,附加格式

10、說明符見表1-7。第20頁,共42頁。格式符含義d,i用于輸入有符號的十進制整數(shù)u用于輸入無符號的十進制整數(shù)o用于輸入無符號的八進制整數(shù)X,x用于輸入無符號的十六進制整數(shù)c用于輸入單個字符s用于輸入字符串,將字符串送到一個字符數(shù)組中,輸入時以非空白字符開始,以空白字符(可以為空格、制表符或換行符)結(jié)束,系統(tǒng)將自動在字符串末尾加上0作為結(jié)束標志。f用于輸入實數(shù),可以以小數(shù)或指數(shù)形式輸入,但不能指定輸入寬度。E,e,G,g同格式符f表1-2 scanf函數(shù)常用的格式符第21頁,共42頁。字符說明l用于輸入長整型數(shù)據(jù)(可用%ld,%lo,%lx)以及double型數(shù)據(jù)(用%lf或%le)h用于輸入短

11、整型數(shù)據(jù)(可用%hd,%ho,%hx)域?qū)捴付ㄝ斎霐?shù)據(jù)所占寬度,為正整數(shù)。如“scanf(%4d%4d,&a,&b);”*帶*的輸入項在讀入后將被跳過表1-3 scanf函數(shù)附加格式說明符第22頁,共42頁。#include void main() int a,b,c; scanf(%d,%d,%d,&a,&b,&c); printf(a=%d,b=%d,c=%d,a,b,c);做中學(xué)1-5 非格式符的使用。程序清單程序運行 5,6,7 a=5,b=6,c=7說明: 如果格式控制串中有非格式字符則輸入時也要輸入該非格式字符。程序中用非格式字符“,”作間隔符,故輸入應(yīng)為:5,6,7第23頁,共4

12、2頁。#include int main() float a,b;double x,y; scanf(%f,%e,%lf,%le, &a,&b,&x,&y);printf(%f,%e,%lf,%le n, a,b,x,y); return 0;做中學(xué)1-6 實型數(shù)據(jù)的輸入輸出。程序清單第24頁,共42頁。程序運行 若輸入為: 3.1415,3.1415e2,123.456,1234.56e1 則輸出結(jié)果為: 3.141500,3.141500e+002,123.456000,1.234560e+004 若輸入為:3.1415926,666.666666,123456789.123456789,

13、123456.7898765 則輸出結(jié)果為:3.141593,6.666667e+002,123456789.123457,1.234568e+005說明: 對于十進制小數(shù)形式,單精度型和雙精度型的有效數(shù)字分別是7位和16位。對于十進制指數(shù)形式,都是7位有效數(shù)字??梢允褂?f和%e來控制輸入(輸出)float類型的數(shù)據(jù),使用%lf和%le控制輸入(輸出)double類型的數(shù)據(jù)。第25頁,共42頁。#include void main( ) char a=B; int b=10; printf(The name is %c,the value is %dn,a,b);做中學(xué)1-7 printf(

14、)函數(shù)的使用。程序清單輸出結(jié)果 The name is B,the value is 101.4.2 printf()函數(shù)第26頁,共42頁。知識點 printf函數(shù)為格式輸出函數(shù),它是一個標準庫函數(shù),其函數(shù)原型在頭文件“stdio.h”中,它向終端輸出若干個任意類型的數(shù)據(jù)。其語法格式為:printf(格式控制,輸出表列) 如:printf(“%dn”,i); 對于不同類型的數(shù)據(jù)需要用不同的格式字符進行說明。常用格式字符有:d格式符。輸出帶符號十進制整數(shù)第27頁,共42頁。用法含義%d按整型數(shù)據(jù)實際位數(shù)輸出%mdm:指定輸出數(shù)據(jù)的寬度。m數(shù)據(jù)實際位數(shù)時,數(shù)據(jù)共占用屏幕m位,右對齊輸出,左邊補空

15、格;否則,按數(shù)據(jù)實際位數(shù)輸出%-mdm含義同上。左對齊輸出%ld輸出長整型數(shù)據(jù)%mld指定長整型數(shù)據(jù)輸出寬度為m位,右對齊輸出%-mld指定長整型數(shù)據(jù)輸出寬度為m位,左對齊輸出表1-4 d格式符常見用法第28頁,共42頁。#include void main() int a; long b; a=123; b=655666635L; printf(n %cd %dn,%,a); printf( %c10d %10dn,%,a); printf( %cld %ldn,%,b); printf(%c20ld %20ldn,%,b);做中學(xué)1-8 printf()函數(shù)按%d格式輸出數(shù)據(jù)。程序清單輸出

16、結(jié)果 %d 123 %10d 123 %ld 655666635 %20ld 655666635第29頁,共42頁。#include void main() int a; long b; a=-1; b=655666635L; printf( %co %on,%,a); printf( %c15o %15on,%,a); printf( %cLo %Lon,%,b); printf(%c20Lo %20Lon,%,b);做中學(xué)1-9 printf函數(shù)按%o格式輸出數(shù)據(jù)。程序清單輸出結(jié)果 %o 37777777777 %15o 37777777777 %Lo 4705126713 %20Lo 4

17、705126713第30頁,共42頁。 o格式符 以八進制形式輸出整數(shù)。 x格式符 以十六進制形式輸出整數(shù),用法同o格式符。 u格式符 用于輸出unsigned型數(shù)據(jù),以十進制形輸出。 c格式符 用來輸出一個字符,可以指定寬度。第31頁,共42頁。#include void main() char x=a; int y=98; printf(The value of x is %c,the ASCII is %d.n,x,x); printf(The value of x is %c,the ASCII is %d.n,y,y);做中學(xué)1-10 printf()函數(shù)按%c格式輸出數(shù)據(jù)。程序清單

18、輸出結(jié)果 The value of x is a,the ASCII is 97. The value of x is b,the ASCII is 98.第32頁,共42頁。 s格式符 用來輸出一個字符串,常見用法見表1-5。用法含義%s輸出字符串,不包括雙引號(串長為字符串的字符數(shù))%msm串長,字符串占用屏幕m位,左邊補空格;否則,按串長輸出%-msm串長,字符串占用屏幕m位,右邊補空格;否則,按串長輸出%m.ns指定字符串輸出寬度m位,但只取字符串中左端 n個字符,左邊補空格;nm,按串長輸出%-m.ns指定字符串輸出寬度m位,但只取字符串中左端 n個字符,右邊補空格;nm,按串長輸出

19、表1-5 s格式符常見用法第33頁,共42頁。 f格式符 用小數(shù)形式來輸出實數(shù)(包括單、雙精度實數(shù)),常見用法見表1-6。表1-6 f格式符常見用法用法含義%f輸出6位小數(shù)。單精度實數(shù)的有效位為7位,雙精度實數(shù)有效位為16位%m.nf數(shù)據(jù)占用屏幕m列,n位小數(shù),左邊補空格%-m.nf數(shù)據(jù)占用屏幕m列,n位小數(shù),右邊補空格第34頁,共42頁。 e格式符 以指數(shù)形式輸出實數(shù),常見用法見表1-7。表1-7 e格式符常見用法用法含義%e系統(tǒng)自動指定6位小數(shù),指數(shù)部分占5位,其中:e占1位,符號占1位,數(shù)據(jù)占3位%m.ne指定輸出數(shù)據(jù)占m位,n位小數(shù),如數(shù)值長度小于 m,則左端補空格%-m.ne指定輸出

20、數(shù)據(jù)占m位,n位小數(shù),如數(shù)值長度小于m,則右端補空格第35頁,共42頁。 g格式符 用于輸出實數(shù),根據(jù)數(shù)值的大小自動選擇f格式或e格式中輸出寬度較小的格式輸出,不輸出無意義的零,6位有效數(shù)字。說明: 若需要輸出符號%,則在“格式控制”中用兩個連續(xù)的%表示。 x格式符也可寫成X。若用小寫字母x,十六進制數(shù)的af以小寫形式輸出;若用大寫字母X,十六進制數(shù)的AF以大寫形式輸出。 e格式符可以寫成E。指數(shù)表示法中的“e”將變成“E”。 g格式符可以寫成G,但仍為自動選擇格式。第36頁,共42頁。邊學(xué)邊練 getchar、putchar函數(shù)應(yīng)用。 求一元二次方程的根。 編一個程序,利用ASCII碼值大寫

21、轉(zhuǎn)小寫。 printf函數(shù)按%x,%u格式輸出數(shù)據(jù)。 *格式符的使用。 域?qū)捀袷椒氖褂谩?%s格式符的使用。 分別輸入一個八進制、一個十進制和一個十六進制數(shù),將這3個數(shù)相加,以十進制的形式輸出。第37頁,共42頁。拓展提升1.5 Turbo C環(huán)境下的單步調(diào)試1.6 VC+ 6.0環(huán)境下的單步調(diào)試1.7 VC+6.0 標準輸入輸出cin和cout是C+的標準輸入輸出流,在 “iostream.h” 頭文件中定義。cin是輸入流,代表鍵盤,使用cin能從鍵盤接收數(shù)據(jù)給變量;cout是輸出流,代表顯示器,使用cout能向屏幕輸出。 cin和cout只能在C+的源程序文件中使用,文件的擴展名必須是“.cpp”。第3

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論