C語言學習教案第3章 順序結構_第1頁
C語言學習教案第3章 順序結構_第2頁
C語言學習教案第3章 順序結構_第3頁
C語言學習教案第3章 順序結構_第4頁
C語言學習教案第3章 順序結構_第5頁
已閱讀5頁,還剩45頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、一、目的 1.了解C程序的組成,初步掌握語句的分類; 2.理解結構化程序設計方法、程序的三種基本控制結構; 3.掌握putchar和getchar函數(shù)的使用方法; 4.熟練應用printf和scanf函數(shù)編程; 5.理解、掌握順序結構程序的設計步驟,能獨立編寫順序結構的程序; 6.養(yǎng)成良好的編程習慣,保證程序的正確性,概述,二、本章內(nèi)容、重點、難點,內(nèi)容: 變量定義、賦值語句、輸入輸出語句。 輸出函數(shù) printf(“格式控制”,輸出列表) 輸入函數(shù) scanf(“格式控制”,地址列表) 難點是格式控制,地址列表,概述,例: #include main() int a = 3, b =- 5,

2、 c; c = a * b / 2; printf(c=%dn, c);,開始,結束,順序結構: 就是程序中的語句按先后順序逐條執(zhí)行的結構,概述,3.1.1 C程序的組成 C程序:由一個或多個“*.C”文件組成 *.C文件:由預編譯命令、函數(shù)組成。其中,預編譯命令 如:#define、#include 函數(shù) 包含一個主函數(shù)、一個或多個其它函數(shù) 函數(shù):由說明部分、語句組成,3.1 C語句概述,C語言源程序是由語句構成的,預編譯命令 函數(shù)1 函數(shù)m,程序的組成,f1.c,f2.c,fn.c,預編譯命令 main() 函數(shù)1 函數(shù)n,說明部分 語句,3.1 C語句概述,3.1.2 C 語句的分類,按

3、功能可分成: 表達式語句 描述要執(zhí)行的操作運算。 流程控制語句 描述程序執(zhí)行的走向,3.1 C語句概述,3.1 C語句概述,3.2.1 什么是結構化程序設計,結構化程序設計的思想: 不用或少用無條件轉向語句(goto語句); 改善并統(tǒng)一每個模塊的控制結構及模塊間的聯(lián)系,3.2 結構化程序設計,結構化程序設計: 是一種程序設計技術,采用:自頂向下、模塊化、逐步細化、結構化編程的設計方法。 運用:順序、分支、循環(huán)三種控制結構。 控制遵循的原則是:單入口、單出口。 結構化程序設計強調程序設計的風格和程序結構的規(guī)范化,提倡清晰的結構,3.2 結構化程序設計,3.2.2 三種基本結構,1. 三種基本結構

4、,3.2 結構化程序設計,2.流程圖表示,順序結構,選擇結構,循環(huán)結構,當型,直到型,3.2 結構化程序設計,輸出:從內(nèi)存 外設(打印、顯示、存盤)。 輸入:從外設 內(nèi)存。 C語言用編譯系統(tǒng)提供的函數(shù)實現(xiàn)輸入輸出。 沒有輸入輸出語句,3.3 數(shù)據(jù)輸出,3.3.1 putchar函數(shù)(單個字符輸出函數(shù),格式: putchar(字符變量|字符常量) 功能: 向終端輸出一個字符。含控制和轉義字符。 說明: 終端默認為是顯示器,變量 常量,例: char c=8; putchar(c); putchar(A); 注意: 該函數(shù)包含在 stdio.h頭文件中,3.3 數(shù)據(jù)輸出,例3-1 用putchar

5、函數(shù)輸出字符,include main() char a = O, b = K, c= !; putchar(a); putchar(b); putchar(c); /*輸出一個回車符*/ putchar(n,3.3 數(shù)據(jù)輸出,*用8進制表示字符A*/ putchar(101); /*用16進制表示字符z*/ putchar(x7a); /*用8進制表示回車換行*/ putchar(015); putchar(012); getch();,putchar 功能簡單,只能輸出一個字符; 完全可被 printf代替; 但優(yōu)點是:生成的代碼短,3.3.2 printf函數(shù)(格式輸出函數(shù),1.一般格式

6、: printf(“格式控制符”,輸出列表) 功能: 將輸出列表項按格式控制符給定的格式輸出。 說明: 格式控制符 用雙引號括起來的字符串。有3種: 格式聲明符,如:%c、%d、%f、%s等。 為輸出列表指定輸出格式。 普通字符,原樣輸出。 轉義字符,按轉義輸出。如:n、015等,3.3 數(shù)據(jù)輸出,輸出列表 是要輸出的常量或表達式。 輸出列表項與格式符從左到右一一匹配。其中: 個數(shù)相等時,按格式符類型一一輸出; 輸出列表個數(shù)格式符個數(shù)時,多余的不輸出; 格式符個數(shù)輸出列表個數(shù)時,多余的亂輸出。 應確保:輸出列表個數(shù)=格式符個數(shù),以免出錯,3.3 數(shù)據(jù)輸出,對不同類型的數(shù)據(jù)使用不同的格式符,常用

7、有9種,2.格式字符與格式修飾符,3.3 數(shù)據(jù)輸出,說明,數(shù)據(jù)類型必須與格式字符匹配,以免出錯; 用“X”時,輸出用大寫字母 AF表示1015 ; 用“E”或“G”輸出時,指數(shù)用大寫字母表示; 格式控制字符串中可以使用轉義字符,3.3 數(shù)據(jù)輸出,整型類,d 格式 輸出十進制有符號整數(shù),與修飾符組合有6種形式,3.3 數(shù)據(jù)輸出,例,int a=123,b=4567; long c=123456,d=654321; printf(“%d%dn”,a,b) ; printf(“%5d%2dn”,a,b) ; printf(“%-5d%-5dn”,a,b) ; printf(“%ld%ldn”,c,d

8、) ; printf(“%-8ld%8ld”,c,d),輸出: 1234567 123 4567 123456654321 123456 654321,3.3 數(shù)據(jù)輸出,o、%x、%u格式 輸出八進制、十六進制、無符號整數(shù)。 與“l(fā)”、”m”、”-”符號結合,有類似%d的六種格式。 輸出的八進制、十六進制數(shù)不另帶符號,符號位作為八進制、十六進制數(shù)的一部分輸出。 利用不同的輸出格式,可以方便的實現(xiàn)不同數(shù)值之間的轉換,3.3 數(shù)據(jù)輸出,例3-2:輸入十進制整數(shù),分別以八進制、十六進制和無符號形式輸出。 說明:因為系統(tǒng)對不同進制的數(shù)不做任何標識,本例在各數(shù)前面補充輸出字符0、0 x、u。 main(

9、) int a; printf(“a(-3276832767)=?”); scanf(“%d”,3.3 數(shù)據(jù)輸出,運行結果如下: a(-3276832767)=? 5678 a=5678 013056 0 x162e u5678 a(-3276832767)=?-1 a=-1 0177777 0 xffff u65535 -1絕對值原碼 取反 -1 補碼 如果看成有符號數(shù)就是-1;無符號數(shù)就是65535。 16個1用八進制表示為177777;用十六進制表示為ffff,3.3 數(shù)據(jù)輸出,實型類,輸出單精度、雙精度數(shù)使用相同的三種輸出格式。 %f 以小數(shù)形式輸出實數(shù) * %f格式 按系統(tǒng)默認精度輸

10、出實數(shù)??孔蠓拧?單精度型輸出6位小數(shù),有效位數(shù)為7位; 雙精度輸出有效位數(shù)16位,小數(shù)也是6位。 整數(shù)部分全部輸出,小數(shù)部分不一定全部有效。 例如: float x=1234567.890123; double y=1234567.890123; printf(“x=%ft y=%fn”,x,y); 輸出為 x=1234567.875000 y=1234567.890123,3.3 數(shù)據(jù)輸出,m.nf格式 輸出占m列寬度,其中: 小數(shù)為n位,第n+1位自動四舍五入; 小數(shù)點占1位; 右對齊輸出; 數(shù)據(jù)長度m時,左端補空格。 * %-m.nf格式 含義同上。 左對齊輸出; 數(shù)據(jù)長度m時,右端補

11、空格,3.3 數(shù)據(jù)輸出,例3-3:輸出實數(shù)時指定小數(shù)位,main() float f=123.456; printf(“%ft%10ft%10.2ft%.2ft%-10.2f t%10.0fn”, f,f,f,f,f,f);,3.3 數(shù)據(jù)輸出,e 以標準指數(shù)格式輸出實數(shù)。其中: 小數(shù)點前僅1位非0數(shù)字; 系統(tǒng)自動指定小數(shù)位數(shù)為56位(TC為5位); 指數(shù)部分占:e占1位、指數(shù)符號1位、 指數(shù)占24位; 例:printf(“%e”,123.456789); 輸出:1.23457e+02 /*Turbo C*/ 注意:不同系統(tǒng)有區(qū)別,e 以指數(shù)形式輸出實數(shù),3.3 數(shù)據(jù)輸出,m.ne、%-m.ne

12、格式 含義同前。其中: n 小數(shù)位數(shù),有些系統(tǒng)少1位,TC即為n-1位 當不指定n時,TC自動取n=5; m 實際長度,按實際長度。 例:若 f=123.456; printf(“%e%10e%10.2e%.2e%-10.2e”,f,f,f,f,f); 輸出如下: 1.23456e+021.23456e+021.2e+021.2e+021.2e+02 11列 11列 10列 7列 10列,3.3 數(shù)據(jù)輸出,g 格式,根據(jù)數(shù)值大小,自動選取%f或%e格式中寬度較小的一種,且省略尾部無意義的0。 例: double x=1234567890.123,y=4.56,z=78.9000; printf

13、(“%f=%f %e=%e %g=%g y=%g z=%g”,x,x,x,y,z); 輸出結果: %f=1234567890.123000 %e=1.23457e+09 %g=1.23457e+09 y=4.56 z=78.9,3.3 數(shù)據(jù)輸出,c 格式 輸出一個字符。 整型數(shù)的值在0255范圍內(nèi)時,可用字符形式輸出,系統(tǒng)自動輸出其ASCII碼字符; 字符型數(shù)據(jù)也可以用整型數(shù)格式輸出,系統(tǒng)按1字節(jié)數(shù)處理; 也可以指定輸出字符占的列數(shù)。如: printf(“%3ct %-3c”, a, a); 結果為: aa,字符類,左對齊,3.3 數(shù)據(jù)輸出,s 格式 按緊湊格式輸出字符串。 例: printf

14、(“%s%sn”,”CHINA”,”O(jiān)K!”); 結果:CHINAOK! * %ms 輸出占m列;右對齊,不足左補空格;超過m按實際長度輸出。 %-ms 左對齊,不足右補空格;其余同%ms 。 * %m.ns 從串中左取n個字符,按m列輸出;右對齊,不足左補空格。 %-m.ns 左對齊,不足右補空格;其余同%m.ns,3.3 數(shù)據(jù)輸出,define W “CHINA” main() printf(“%3s,%7.2s,%.4S,%-5.3Sn”,W,W,W,W); 輸出結果: CHINA, CH,CHIN,CHI,3.3 數(shù)據(jù)輸出,3.4.1 getchar 函數(shù)(單字符輸入函數(shù),格式: ge

15、tchar () 功能: 從終端輸入一個字符。 終端: 一般指鍵盤,用途: 可為字符變量、整型變量賦值; 也可出現(xiàn)在表達式中,3.4 數(shù)據(jù)輸入,例3-9:輸入4個字符,可是字母、數(shù)字,查看結果。 #include main() char c; int i; c = getchar(); printf(c=%-4c, c); i = getchar(); printf(i=%-5d, i); printf(c1=%-4cc2=%cn, getchar(), getchar(); getch(); /*從鍵盤上輸入ABCD*,3.4 數(shù)據(jù)輸入,函數(shù)多次出現(xiàn)時,應將所有取值一次全部從鍵盤輸完,否則所

16、按的回車鍵有可能成為函數(shù)值; 函數(shù)每次從緩沖區(qū)取一個字符為值; getchar和putchar配合使用,如: c=getchar();putchar(); putchar(getchar(); 4. 函數(shù)最常用在if或while語句中,如: if (ch=getchar() !=#) while (ch=getchar() !=,注意,3.4 數(shù)據(jù)輸入,3.4.2 getch 與getche函數(shù),1. getch() 函數(shù) 格式: getch() 功能:等待擊鍵,如解決輸出屏幕一閃而過的問題。 執(zhí)行過程:程序執(zhí)行碰到此函數(shù)時,停留在輸出屏幕(用戶) ,當單擊任意一鍵后,立即返回到編輯界面。按的

17、鍵不顯示出來。 2. getche() 函數(shù) 格式: getche() 功能、執(zhí)行過程:同上。 區(qū)別是:按的鍵顯示出來,3.4 數(shù)據(jù)輸入,例3-4:顯示15的平方。按任意鍵結束程序運行,include main() int i; for (i=1;i=5;i+) printf(%d*%d=%dt,i,i,i*i); getch(); /*運行后顯示結果,按任一鍵后返回到編輯屏幕*/,3.4 數(shù)據(jù)輸入,3.4.3 scanf函數(shù)(格式輸入函數(shù),1. 一般格式: scanf(“格式控制”,地址列表) 功能: 一次可以輸入任何類型的多個數(shù)據(jù),說明: “格式控制” :含義類似printf函數(shù); 地址列

18、表 : 若干個地址??梢允亲兞康牡?址或字符串的首地址,3.4 數(shù)據(jù)輸入,例: int a,b,*p1= 說明: 變量的地址是在編譯連接階段分配的; 輸入數(shù)據(jù)時,分隔兩個數(shù)值型數(shù)據(jù)可用: 一個或多個空格 回車換行鍵 Tab鍵,3.4 數(shù)據(jù)輸入,格式控制,格式控制符 類似printf函數(shù),3.4 數(shù)據(jù)輸入,說明,格式控制”中若有其它字符,應一并輸入 scanf(“a=%d,b=%d”, printf(a,b,c=); scanf(%d%o%x,3.4 數(shù)據(jù)輸入,例 3-6-2 格式控制中含有非格式字符時的輸入方法。 #include main() int a,b; scanf(a=%d,b=%d, 運行程序必須輸入(假如給 a 123、b 456為值): a=123,b=456,3.4 數(shù)據(jù)輸入,例3-7-1 多個“%c”格式連用,輸入時無分隔符。 #include main() char a,b

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論