第三章順序程序設計_第1頁
第三章順序程序設計_第2頁
第三章順序程序設計_第3頁
第三章順序程序設計_第4頁
第三章順序程序設計_第5頁
已閱讀5頁,還剩21頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、12 順序結構順序結構 分支結構分支結構 循環結構循環結構C語言用于順序結構的基本語句是表達式語句、復合語句和空語語言用于順序結構的基本語句是表達式語句、復合語句和空語句。句。 3.1.1 表達式語句表達式語句3表達式;表達式; 【例例】a1; 【功能功能】完成計算表達式的值或將結果賦給某一變量的任務;完成計算表達式的值或將結果賦給某一變量的任務; 【例例】i+; 【例例】printf(“bye!”); 【例例】x=y+z;4 表達式語句中最常用的是表達式語句中最常用的是賦值表達式賦值表達式 ;);) 簡單賦值:變量表達式;簡單賦值:變量表達式; 多重賦值:變量多重賦值:變量1變量變量2變量變

2、量n表達式;表達式; 賦值表達式可以出現在任何表達式允許出現的地方,而賦賦值表達式可以出現在任何表達式允許出現的地方,而賦 值語句則不能;值語句則不能;x=(y=2)+(z=3+y);x=(y=2;)+(z=3+y;);正確正確錯誤錯誤53.1.2 復合語句復合語句 若干連續語句若干連續語句 【例例】 z=x; x=y; y=z; 中最后一個語句末尾的分號不能省略,并且在中最后一個語句末尾的分號不能省略,并且在 之外之外不能再加不能再加“;”。 【應用范圍應用范圍】復合語句主要用于選擇結構和循環結構中。復合語句主要用于選擇結構和循環結構中。返回返回63.1.3 空語句空語句; 【功能功能】一般

3、作為程序的轉向點或作為循環語句中的空循環體;一般作為程序的轉向點或作為循環語句中的空循環體;7C語言的輸入和輸出函數(原型放在頭文件語言的輸入和輸出函數(原型放在頭文件stdio.h中中):): putchar(字符輸出);(字符輸出); printf(格式輸出);(格式輸出); getchar(字符輸入);(字符輸入); scanf(格式輸入);(格式輸入);83.2.1 數據的輸出數據的輸出 1、putchar函數函數 在顯示器上輸出在顯示器上輸出字符。字符。 putchar (參數)(參數) 參數可以是一個字符型變量、一個整型變量或一個字參數可以是一個字符型變量、一個整型變量或一個字符型

4、常量(包括控制字符和轉義字符)等。符型常量(包括控制字符和轉義字符)等。 【例例】使用庫函數使用庫函數putchar()輸出各種字符。()輸出各種字符。9 include main( ) char ch1, ch2; int j; ch1=C; ch2=h; j=105;putchar(ch1);putchar(ch2);putchar(j);putchar(n);putchar(141); putchar(n);輸出字符輸出字符C C輸出字符輸出字符h h輸出字符輸出字符i i輸出字符輸出字符n n輸出字符輸出字符a a,141141是轉義字符是轉義字符輸出換行輸出換行10 2、printf

5、函數函數 1) printf(“格式控制字符串格式控制字符串”,輸出項,輸出項1,輸出項,輸出項2,) 將各輸出項(可以是變量、常量、表達式)的值將各輸出項(可以是變量、常量、表達式)的值按指定的格式輸出到屏幕上。按指定的格式輸出到屏幕上。 【例例】 printf( “”,x ); 2) printf函數中常用的格式控制函數中常用的格式控制 11格式字符格式字符 格式修飾格式修飾 格式說明總是由格式說明總是由“”字符開始字符開始標志、類型修飾、輸標志、類型修飾、輸出最小寬度和精度出最小寬度和精度說明輸出項類型說明輸出項類型 格式字符格式字符 見見P32表表3.1; 【例例】printf(“xd

6、,y=fn”,x,y);); 【例】【例】main()() char c=A; int x=1234; float y=-123.456789; printf(“|%c|%s|%d|%f|%e|n”,c,“Hello”,x,y,y); 12v 標志標志 -表示輸出值左對齊,右邊補空;表示輸出值左對齊,右邊補空; 【例例】 printf(”-d”,-24);); 運行結果:運行結果:-24 +表示輸出結果右對齊,輸出符號位;表示輸出結果右對齊,輸出符號位; 對對o格式輸出時加前綴格式輸出時加前綴0,對,對x格式輸出時加前綴格式輸出時加前綴0 x,對,對 e、g、f格式當結果有小數時才給出小數點;

7、格式當結果有小數時才給出小數點;13v 精度精度 m .nm .n 【例例】printfprintf(“8.1f8.1f”,123.45123.45);); 輸出結果:輸出結果: 123.5123.5v 輸出寬度輸出寬度 用十進制整數限定輸出數據的位數:用十進制整數限定輸出數據的位數: 【例例】printfprintf(“5d5d”,-24-24);); 運行結果:運行結果: -24-24數據總寬度小數位數14v 類型修飾類型修飾 h h表示輸出項是短整型或無符號短整型;表示輸出項是短整型或無符號短整型; l l表示輸出項是長整型或無符號長整型;表示輸出項是長整型或無符號長整型;【例例】 lo

8、ng int x long int x12345671234567; printfprintf(”|%ld|%d|%ld|%d|”, x, x, x, x); ; 輸出結果:輸出結果:|1234567|-10617|1234567|-10617|15 【例例】printfprintf函數應用舉例。函數應用舉例。 include include main( ) main( ) int x =28; int x =28; float y =-1.7; float y =-1.7; char c = char c =B B; ; double z =1.25e+7; double z =1.25e+

9、7; printf( printf(“x=%+5d, y=%-8.3fnx=%+5d, y=%-8.3fn”, x, y);, x, y); printf( printf(“|%c#%-5c|n|%c#%-5c|n”, c, c);, c, c); printf( printf(“z=%lfnz=%lfn”, z);, z); x= x= +28,y=-1.700+28,y=-1.700 |B#B|B#B | |Z=12500000.000000Z=12500000.000000163.2.2 數據的輸入數據的輸入 1、getchar函數函數cgetchar( ) 從鍵盤上讀取從鍵盤上讀取字符

10、;字符;【例例】include main( ) char ch; ch=getchar( ); printf(“%c:%dn”, ch, ch); include main( ) char ch; ch=getchar( ); printf(“c:%dn”, ch); 17 2、scanf函數函數 1)函數調用)函數調用 scanf(“格式控制字符串格式控制字符串”,輸入項,輸入項1,輸入項,輸入項2,) 按指定的格式接收由鍵盤輸入的數據,并存入輸入按指定的格式接收由鍵盤輸入的數據,并存入輸入項變量所在的內存單元中。項變量所在的內存單元中。 格式修飾格式修飾 格式字符格式字符 輸入項必須為地址

11、引用:輸入項必須為地址引用:&變量名變量名【例例】scanf(“%d, %d”, &x, &y);18 2)scanf函數中常用的格式控制函數中常用的格式控制 格式字符格式字符 見見P36表表3.3; 輸入數據寬度輸入數據寬度 用十進制整數設定輸入數據的寬用十進制整數設定輸入數據的寬 度,度,【例例】scanf(”5d”,&a);輸入輸入7654321 類型修飾符類型修飾符 類同于類同于printf函數;函數; 3)scanf函數的使用要點函數的使用要點 int x;scanf(”%d”,x);); 輸入數據時,不允許規定精度輸入數據時,不允許規定精度錯誤錯誤s

12、canf(”%d”,&x)19 輸入數據時,數據與數據之間應使用分隔符;輸入數據時,數據與數據之間應使用分隔符; 【例例】scanf(”d,d”,&x,&y);); 【例例】scanf(”dd”,&x,&y);); 按原樣輸入的字符在鍵入時不能遺漏,否則將導致數據按原樣輸入的字符在鍵入時不能遺漏,否則將導致數據 項與對應讀入數據錯位;項與對應讀入數據錯位; 【例例】scanf(“x=%d,y=%d”,&x,&y);正確的輸入應該是正確的輸入應該是x3,y4 鍵入數據的類型、寬度應該與格式控制中給定的相一致;鍵入數據的類型、寬度應該與格式控

13、制中給定的相一致; 例例 double a,b;scanf(”dd”,&a,&b);); 錯誤錯誤20 為了提高程序設計的質量和效率,現在普遍采用結構化程序設為了提高程序設計的質量和效率,現在普遍采用結構化程序設計方法。結構化程序由若干個基本結構組成。每一個基本結構可以計方法。結構化程序由若干個基本結構組成。每一個基本結構可以包含一個或若干個語句。包含一個或若干個語句。 見下圖。先執行見下圖。先執行A操作,再執行操作,再執行B操作,兩者是順操作,兩者是順序執行的關系。圖是序執行的關系。圖是ns結構化流程圖。結構化流程圖。21 【例例】輸入三角形的三邊長,求三角形面積。輸入三角形

14、的三邊長,求三角形面積。 設輸入的三邊長設輸入的三邊長a、b、c能構成三角形。從數學知識已知求三角形能構成三角形。從數學知識已知求三角形面積的公式為:面積的公式為: 其中其中s=(a+b+c)/2; include include main( ) float a,b,c,s,area; scanf(%f,%f,%f,&a,&b,&c); s= (a+b+c) /2 ; area=sqrt(s*(s-a)*(s-b)*(s-c); 22 printf(a=%7.2f,b=%7.2f,c =%7.2f,s =%7.2fn, a,b,c,s); printf(area=%7.

15、2fn,area); 運行情況如下:輸入運行情況如下:輸入 3,4,6 a= 3.00,b= 4.00,c= 6.00,s= 6.50 area= 5.33 23【例例】編寫程序,鍵盤輸入一個三位整數,逆序輸出之。編寫程序,鍵盤輸入一個三位整數,逆序輸出之。 #include main( ) int a,i,j,k; printf(“Input datas:”); scanf(“%3d”,&a); printf(“output:%d%d%dn”,k,j,i); 24 【例例】不借助于第不借助于第3個變量,將鍵盤輸入的兩個整數賦予變量個變量,將鍵盤輸入的兩個整數賦予變量a和和b,程序輸出

16、,程序輸出a,b的原始值以及相互交換后的值。的原始值以及相互交換后的值。 include main( ) int a,b; printf(“Input a and b:”); scanf(“%d%d”,&a,&b); printf(“old a=%d b=%dn”,a,b); a=a+b; b=a-b; a=a-b; printf(“new a=%d b=%dn”,a,b); 686+8=1486+8=1414-8=614-6=8625負數的進轉換負數的進轉換 (1)負數十進制轉換成八進制或十六進制負數十進制轉換成八進制或十六進制如(如(-12)10=( )8=( )16第一步

17、:將第一步:將-12看成看成12,轉換成二進制,轉換成二進制 0000 0000 0000 1100第二步:取反加一第二步:取反加一 1111 1111 1111 0100第三步:轉換成八進制是三位一結合:(第三步:轉換成八進制是三位一結合:(177764)8 轉換成十六進制是四位一結合:(轉換成十六進制是四位一結合:(fff4)16(2)負數八進制或十六進制轉換成十進制負數八進制或十六進制轉換成十進制如(如(-12)8=( )10或或(-12)16=( )10注意:在此首先可以不看負號注意:在此首先可以不看負號將將12轉換成二進制,對于八進制是一位展開為三位,轉換成二進制,對于八進制是一位展開為三位,16進制是一位展開為四位。進制是一位展開為四位。得到:得到:八進制轉換成的二進制:八進制轉換成的二進制:000 000 000 001 010 利用二進制化十進制的公式得出利用二進制化十進制的公式得出1*23+1*21=10 所以所以(-12)8=(-10)10 16進制轉換成的二進制:進制轉換成的二進制:0000 0000 0001 0010 利用二進制化十進制的公式得出利用二進制化十進制的公式得出1*24+1*21=18 所以所以(-12)8=(-18)1026負數的進轉換負數的進轉換 (3)負數八進制

溫馨提示

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

評論

0/150

提交評論