語言順序結構程序設計_第1頁
已閱讀1頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2010年3月13日星期日,教師:趙軍富,C 語言程序設計,第三章順序結構程序設計,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,§3.1 C語句概述§3.2 C程序基本結構§3.3 數據輸入、輸出§3.4 程序實例,第三章 順序結構程序設計,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,C程序的特點:1、一個C程序由若干函數組成2、程序

2、中有且只有一個主函數main( )3、程序的運行從主函數開始4、函數由函數首部和函數體組成5、函數體由說明語句和執(zhí)行語句組成6、C中語句有四類,控制語句表達式語句空語句復合語句,§3.1 C語句概述,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,結構化程序有三種基本結構,順序結構,選擇結構,循環(huán)結構,語句執(zhí)行的順序與程序書寫的順序一致。,根據條件進行判斷,若條件成立,執(zhí)行A,否則執(zhí)行B,,當型循環(huán):

3、當條件成立時,反復執(zhí)行A 條件不成立,停止,,直到型循環(huán):重復執(zhí)行動作A, 直到某一條件成立時,停止,§3.2 C程序基本結構,三種基本結構,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,一、順序結構,,main( ){ int a,b,c; a=5; b=6; c=a+b;},1. 程序執(zhí)行的順序和語句書

4、寫的順序一致,2.有一個數據入口一個數據出口,,特點:,§3.2 C程序基本結構,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,二、選擇結構,條件,,,A,,,B,,,,,,YES,NO,1、當條件滿足時,執(zhí)行語 句A,否則,執(zhí)行語句B,2、有一個數據入口 一個數據出口,,例如:鍵盤輸入一個整數,判斷其正負?,,int a;,,,a,a>0,if(a>0)printf(“a為正

5、數”);elseprintf(“a為負數”);,語句A,語句B,特點:,§3.2 C程序基本結構,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,三、循環(huán)結構,,,,,,,,,,Y,N,求1~100的自然數之和,X<=100,s=0,x=1,語句,,,,,1當型循環(huán),,,1. 若條件滿足,重復執(zhí)行語句內容,否則,退出循環(huán),條件,,,2. 一個數據入口一個數據出口,s=s+x; x=x+1;,語句,,

6、,S,條件不滿足,不執(zhí)行任何語句,特點:,§3.2 C程序基本結構,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,,,,,語句,,N,Y,,,,求1+2+3+~n <=1000的最大的n,例:,s=1+2+3......n=,n=1,s=0;,s=s+nn=n+1,……,S<=1000,n=1s=0,,語句,,2直到型循環(huán),特點:不論條件是否滿足,語語句至少執(zhí)行一次。,條件,

7、7;3.2 C程序基本結構,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,四、 流程控制語句,1、if( ) ~else 條件語句2、for( ) 循環(huán)語句 3、while( ) 循環(huán)語句 4、do ~while() 循環(huán)語句5、continue 繼續(xù)語句 6、break 間斷語句7、switch( )

8、 開關語句8、 goto 轉向語句 9、return 返回語句,,控制語句的作用:在于控制程序的走向(流程),§3.2 C程序基本結構,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,五、表達式語句,定義:表達式加分號就構成了表達式語句。,賦值語句,X = 5 ;,,賦值表達式,,分號,+,=,函數調用表達式:printf(“fdks”) 函數調

9、用語句: printf(“fdks”) ;,算術表達式:x+y 算術表達式語句: x+y ;,合法的語句,§3.2 C程序基本結構,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,六、復合語句和空語句,1、復合語句:用一對{ }括起的一條或多條語句。,注意: (1) 復合語句作為一條語句使用 (2) }花括號外不必加分號,2、空語句:有而且只有由一個分號組

10、成,不執(zhí)行任何操作。,main( ) { int a=10,b=20,c; if(b>a) { c=a+b;printf(“%d”,c); }Else ; },控制語句,表達式語句,復合語句,函數調用語句,空語句,§3.2 C程序基本結構,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,例如:若a的值等于100,則成績?yōu)閮?yōu)秀,if(a=10

11、0)…...,,,if(a==100),賦值運算,關系運算,格式:變量=表達式,功能:將表達式的值賦給左邊的變量(存入該變量的內存單元中)。,說明:1.左邊是以變量名為標識的內存單元。 2.當右邊類型與變量類型不符時,先進行類型轉換,再賦值。 3.左邊必須是變量,不允許是常量或表達式。,k=1 ;k+1=1;1=k ;,,七 、賦值語句,§3.2 C程序基本結構,2010年3月

12、13日星期日,教師:趙軍富,C 語言程序設計,§3.3 數據的輸入輸出,數據輸入輸出簡單概述1、C中沒有專門的輸入輸出語句;2、輸入輸出操作通過輸入、輸出函數實現;3、本節(jié)介紹兩個基本的輸出函數;4、字符輸出函數;5、格式輸出函數。,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,一 、字符輸出函數,1 格式: putchar(字符變量),2 功能 :在標準輸出設備上,輸出指定的字符.,3 說明 :,*

13、一次調用只能輸出一個字符* 加上分號成為字符輸出語句* 使用時在程序開頭用,#include,#includemain( ){ char c=‘a’; putchar( c);},思考,char c1,c2,c3;c1=‘a’;c2=‘b’;c3=‘c’;putchar(c1);putchar(c2);putchar(c3);,abc,abc,輸出多個字符怎樣排列?,§3.3.1 數據的輸出,201

14、0年3月13日星期日,教師:趙軍富,C 語言程序設計,二 格式輸出函數,1 格式:printf(格式控制串,變量列表)2 功能:從標準輸出設備上,按指定的格式輸出對應的變量.,%d: 按十進制整數形式輸出變量的值%o:按八進制整數形式輸出變量的值%x:按十六進制整數形式輸出變量的值%ld: 按十進制整數形式輸出長整型變量的值%u: 輸出無符號整數變量%f:輸出單精度浮點變量的值%e: 按指數形式輸出浮點變量的值,

15、格式控制串,§3.3.1 數據的輸出,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,%g: 輸出f和e格式中寬度較小的格式,不輸出無意義的0%c: 輸出字符變量%s: 輸出一個字符串,%md 輸出整數據占m個字符位,右對齊%-md 輸出整數據占m個字符位,左對齊%m.nf 輸出數據占m個字符位,小數點后留n位,右對齊%-m.nf 輸出數據占m個字符

16、位,小數點后留n位,左對齊%m.ns 輸出字符串占m個字符位,僅輸出前n個字符,右對齊注 意:這里的留指以四舍五入的方法保留,float x=12.345;Printf(“%f”,x); 12.345000Printf(“%e”,x); 1.2345e+01Printf(“%g”,x); 12.345,§3.3.1 數據的輸出,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,1.

17、 格式控制串的控制符號與變量表要一一對應,即:類型相同,個數相等printf(“%d,%d ,%d\n”,a,b); 輸出?,2. 格式控制符號盡量用小寫字母,%e和%E的區(qū)別:.78e+001 6.78E+001,3. 格式控制符號之外的符號均照原樣顯示,printf(“a=%d,b=%d”,a,b);輸出:a=3,b=5,4. 若需顯示百分號,格式為:%%,%,當a為3,b為5時,5. 如果實際數據所占字符位大于指定的域寬

18、,按實際輸出,特點:,§3.3.1 數據的輸出,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,例如: int a=5,b=8 printf(“%d,%d \n”,a,b);,5,8,printf(“a=%d,b=%d\n”,a,b);,a=5,b= 8,printf(“%5d%5d\n”,a,b);,5 8,5之前空4個字符位,,printf(“Turbo C”);,Turbo C,§3.3

19、.1 數據的輸出,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,功能:從標準輸入設備上讀一個字符,一、字符輸入函數,格式1:getch()格式2:getche()格式3:getchar(),輸入字符,回車后才讀入,輸入字符,并回顯,不必回車,輸入字符,不回顯,不回車,區(qū)別,#include,格式3,格式1,2,,例如:大寫字符和小寫字符的轉換,§3.3.2 數據的輸入,2010年3月13日星期日,教師:趙軍富

20、,C 語言程序設計,main(){ char c; c=getchar( ); putchar(c);},從鍵盤輸入一個字符,從屏幕輸出一個字符,例如:,§3.3.2 數據的輸入,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,,,二 格式輸入函數,1 . 格式:scanf(格式控制串,地址表列),2. 功能:按照格式控制參數的要求,從終端上把數據送到地址參數所指定的內存空間中,3 .

21、格式控制符號 :同printf(),4. 要求:類型相同,個數相等,int a,b;,scanf(“%d,%d”, &a ,&b);,,,,&b,&a,&,輸入:5 , 8,,,,5,8,§3.3.2 數據的輸入,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,,說明:,,5. 輸入時不允許規(guī)定精度,可以指定域寬,int a ;scanf(“%3d”,&a);,f

22、loat x; scanf(“%8.2f ”,&x);(不正確),,,6. 輸入時,遇下列情況結束,* 回車,空格* 寬度結束* 非法輸入,int K; scanf(“%3d”,&K);輸入:123456789K為: 123,§3.3.2 數據的輸入,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,,main( ) { int a; float b,c; sca

23、nf(“%2d%3f%4f”,&a,&b,&c); printf(“a=%d,b=%f,c=%f\n”,a,b,c);},輸入:12345678987654321,輸出?,a=12,b=345.000000,c=6789.000000,12,345,6789,§3.3.2 數據的輸入,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,6. 格式控制符號之外的符號照原樣輸入,int a,

24、b;,scanf(“%d%d”,&a,&b); 3 5,,scanf(“%d,%d”,&a,&b); 3, 5,,scanf(“a=%d,b=%d”,&a,&b); 輸入: a=3,b=5

25、 ,char c1,c2,c3; scanf(“%c%c%c”, &c1, &c2, &c3);,‘A’ ‘B’ ‘C’,(1)輸入:ABC (2) 輸入:A B C,?,§3.3.2 數據的輸入,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,§3.4 順序結構程序實例,例1:x=10.2,y=20.5, 如何交換兩個變量的值?,10.2,2

26、0.5,x,y,,20.5,10.2,20.5,10.2,,t,10.2,,10.2,20.5,,,main( ){ float x, y, t;scanf(“%f,%f”, &x,&y); t=x; x=y; y=t;printf(“%f,%f\n”,x,y) ;},x,y,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,例2:計算表達式:Z=3X+5Y-8,Main( )

27、 { int X,Y,Z; scanf(“%d ,%d”,&X,&Y); Z=3*X+5*Y-8; printf(“%d”,Z); },§3.4 順序結構程序實例,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,例3:求ax2+bx +c=0方程的根。a,b,c由鍵盤 輸入,設b2 – 4ac> 0。,開始,輸入a,b,c,p=,,q =,,,結束

28、,,= p+q,,= p-q,,,#include main( ){ float a, b, c, disc, x1, x2, p, q; scanf(“a=%f, b=%f, c=%f”, &a, &b, &c); disc=b*b-4*a*c; p=-b/(2.0*a); q=sqrt(disc)/(2.0*a); x1=p+q; x2=p-q; printf(“\nx1

29、=%5.2f\nx2=%5.2f\n”, x1, x2);},§3.4 順序結構程序實例,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,一、C中的語句有四類二、C程序的基本結構有三種三、字符輸入輸出函數(一次一個字符)四、格式輸入輸出函數(scanf,printf)五、格式控制符的使用: %m.nf, %-m.nf, %ms,%-ms等,本章小結,2010年3月13日星期日,教師:趙軍富,C 語

30、言程序設計,二 、 補充習題: 1、以下程序的輸出結果是: ( ) main( ) { printf(“\n*s1=%16s*”, “China_Beijing”); printf(“\n*s2=%-5s*”, “chi”); } A、*s1=China_Beijing_ _ _ * B、 *s1=China_

31、Beijing_ _ _ * *s2=**chi* *s2=chi_ _* C、*s1=*_ _ _China_Beijing * D、 *s1=_ _ _China_Beijing * *s2= _ _ chi*

32、 *s2= chi _ _ *,一、課后習題(P61 的6、7、8、9題),習題,D,2010年3月13日星期日,教師:趙軍富,C 語言程序設計,2、根據定義和數據的輸入方式,下列輸入語句正確的是: ( ) 已有定義: float f1, f2 ; 數據的輸入形式為:

33、 4.52 3.5A、scanf(“%f, %f”, &f1,&f2); B、scanf(“%f%f”, &f1,&f2);C、scanf(“%3.2f, %2.1f”, &f1,&f2); D、scanf(“%3.2f%2.1f”, &

34、amp;f1,&f2);3、已知ch是字符型變量,下面不正確的賦值語句是: ( ) A、ch=‘a+b’ B、ch=‘\0’ C、ch=‘7’+ ‘9’ D、ch=7+94、設x、y、z為整型變量,則運行以下語句x=(y=(z=10)+5)-5后: ( ) A、 x=10 B、x=10 C、 x=

35、10 D、 x=10 y=15 y=10 y=10 y=5 z=10 z=10 z=15 z=5,,A,B,D,習題

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論