




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第三章順序結構程序設計【教學要求】1.了解C語言程序的特點:C程序是由函數組成的2.C程序的三種基本結構:掌握C程序的順序結構、選擇結構、循環結構。3.掌握賦值語句構成與使用要點。4.熟練掌握格式輸入/輸出函數的使用方法。5.能編寫簡單的順序結構程序。
教學要點1、C語句概述
C程序結構
C語句的構成2、結構化程序的三種基本形式結構化程序的三種形式:順序、選擇、循環。3、數據的輸入與輸出
C語言輸入輸出的實現:C語言沒有提供輸入輸出語句,而是由輸入輸出函數來實現的。標準的庫函數的使用。
輸出函數putchar()、printf()的使用。輸入函數getchar()
、scanf()的使用。...C程序結構C程序源程序文件1源程序文件2源程序文件n預編譯命令函數1函數n說明部分執行部分(語句)C語句的構成1、控制語句:用于完成一定的控制功能。組成:例:2、函數調用語句:用于完成一次函數調用。組成:由一次函數調用+“;”構成。例:printf(“ThisisaCstatement!”);3、表達式語句:用于完成一次表達式操作。組成:由一個表達式+“;”構成。例:a=3;i++;等4、空語句:用作被轉向點或循環語句中的循環體。組成:只由一個“;”構成。5、復合語句:完成一些特定的操作功能。組成:將一些語句用{}括起來構成,在程序中當作一個語句看待。例:main(){…{z=x+y;t=z/100;printf(“%f”,t);}…}控制語句條件語句:if<條件>~else~(或?:)循環語句:for()~條件循環:while(){~}條件循環:do{~}while();結束本次循環語句:continue終止循環或switch語句:break多分支選擇語句:switch(){case...;~}轉向語句:goto由函數返回語句:return結構化程序設計方法1、含義:它要求程序設計者按照一定的結構形式來設計和編寫程序。2、引入結構化程序設計方法的原因:使程序易讀、易理解、易修改,以提高程序設計和維護工作的效率。3、結構化程序的三種基本結構:順序結構、選擇結構、循環結構。4、結構化程序設計的方法:自頂向下、逐步精化。例:求一組正數中的最大者。求一組正數中的最大者找出這些數中的最大的數打印最大數使max=0逐個讀入數據,把最大者送到max中結構化程序的三種形式1、順序結構程序2、選擇結構程序if~else~選擇結構多分支選擇結構(switch)3、循環結構程序while(){~}循環do{~}while();循環for(){~}循環順序結構程序1、基本結構2、執行過程:先執行A操作,再執行B操作ABAB選擇結構程序1、基本結構:2、執行過程:當條件P成立時執行A操作,當條件P不成立時執行B操作。TFBBAAPPFT循環結構程序:當型循環當P條件成立時,反復執行A操作,直到P為假時才跳出循環。TFPA當P為真A循環結構程序:直到型循環先執行A操作,再判斷條件P是否成立,若為假,再執行A,直到條件為真跳出循環。PAFT直到P為假A賦值語句1、構成:由賦值表達式加上一個分號(;)構成。如:a=12;2、使用要點:(1)在賦值表達式中,“=”作為賦值運算符;理解n=n+1的含義與“存儲覆蓋”的原理(2)區別賦值表達式與賦值語句是兩個不同的概念。如:if((a=b)>0)t=a;(正確)
if((a=b;)>0)t=a;(錯誤)(3)例題:例exp3_1:main(){inta,b;
scanf(“%d%d”,&a,&b);if(a>=b)c=aelsec=b;
printf(“c=%d”,c);}如果輸入23,輸出為c=3;如果輸入32,輸出為c=3。putchar()函數1、功能:將一個字符輸出到標準輸出設備。2、格式:putchar(c)3、使用要點:putchar(c)中的c可以是字符型或整型數據;
c=98;putchar(c)輸出字符b
putchar(‘a’)輸出字符aputchar(0x41)輸出字符A使用輸出函數需要調用c的標準I/O庫函數,故需用預編譯命令:
#include<stdio.h>
將stdio.h文件包含在用戶源程序文件中;putchar()也可以輸出一個控制字符或其它轉義字符。如:putchar(‘\n’)輸出一個換行符
putchar(‘\101’)輸出字符Aputchar(‘\’’)輸出字符單引號’4、舉例:例exp3_2:#include<stdio.h>main(){chara,b,c;a=‘B’;b=‘o’;c=‘y’;putchar(a);putchar(b);putchar(c);}輸出結果為:Boyprintf()函數1、功能:按指定的格式向終端輸出若干任意類型的數據。2、格式:printf(格式控制,輸出表列)
如:printf(“x=%d”,x)3、使用要點
(1)格式控制部分的用法:
(2)輸出表列:可以是合法的常量、變量和表達式,輸出項表中的個輸出項之間要用“,”分隔。(3)當格式符個數少于輸出項時,多余的輸出項不予輸出。若格式符多于輸出項時,各系統的處理有所不同,TC對于缺少的項將輸出不定值。
(4)每次調用printf函數之后,將得到一個整型的函數值,該值等于正常輸出的字符個數。4、舉例:printf()函數的格式控制1、格式控制字符是用雙引號括起來的字符串,用來確定確定輸出項的格式和需要原樣輸出的字符串。其組成形式為:
“普通字符串%+
0m.nl格式控制字符”其中:輸出數據項的順序一般按從左至右的順序輸出。格式控制中的普通字符串,照原樣輸出;
如:printf(“a=%d,b=%d”,a,b);%:為C語言規定的標記符;+
:指定輸出數據的對齊方式:+為右對齊(可缺省);-為左對齊;0:指定輸出的數據中不使用的位置是否填數字“0”關于m.n與l的說明:格式控制字符用于指定數據的輸出形式,可以包含轉義字符,用兩個連續的“%%”表示輸出字符“%”。2、舉例:格式控制字符printf()中的m.nl格式說明符(1)printf(“%4d,%4d”,a,b);
若a=123,b=12345則輸出為:□123,12345
如果數據位數小于m,則左端補空格,若大于m,則按實際輸出。(2)longa=135790;
printf(“%ld”,a);
長整型數據應采用%ld格式輸出,若采用%d格式則出錯。(3)inta=-1;
printf(“%d,%o”,a,a);輸出為:-1,177777
對于八進制輸出不會輸出帶符號的數據,長整型數據用%lo格式輸出,也可以指定寬度。如:printf(“%lo,%8o”,a,a);(4)inta=-1;
printf(“%x,%o,%d”,a,a,a);輸出結果為:ffff,177777,-1
同樣,也可以用%lx輸出長整型數據或指出輸出寬度,如:printf(“%lx,%12x”,a,a)例exp3_3:#include<stdio.h>main(){unsignedinta=65535;
intb=-2;
printf(“a=%d,%o,%x,%u\n”,a,a,a,a);
printf(“b=%d,%x,%o,%u\n”,b,b,b,b);}輸出為a=-1,177777,ffff,65535b=-2,fffe,177776,65534例exp3_4:字符輸出main(){charc=‘a’;
intk=97;
printf(“%c,%d\n”,c,c);
printf(“%c,%d\n”,k,k);}輸出為:a,97a,97例exp3_5:輸出字符串printf(“%s”,”china”);輸出字符串chinaprintf(“%7s\n”,”china”);輸出字符串□□chinaprintf(“%3s\n”,”china”);輸出字符串chinaprintf(“%5.3s\n”,”china”);輸出字符串□□chiprintf(“%-5.3s\n”,”china”);輸出為chi□□例exp3_6:實型數據#include<stdio.h>main(){floatx,y,z;doublea,b;x=11111.111,y=22222.222,z=123.456;a=1111111111111.111111111;b=2222222222222.222222222
printf(“%f\n%f\n”,x+y,a+b);printf(“%10f,%10.2f\n”,z,z);
printf(“%e\n”,z);
printf(“%g\n”,z);}輸出為:33333.3339843333333333333.333010123.456001,□□□□123.461.234560e+02123.456□□□getchar()函數1、功能:從標準輸入設備上讀入一個字符。2、格式:getchar()3、使用要點:getchar()函數本身沒有參數,其函數值就是從輸入設備得到的一個字符;由getchar()獲得的字符可以賦值給一個字符或整型變量,也可以作為表達式的一部分;如:c=getchar(a);
putchar(getchar());
printf(“%c”,getchar());使用getchar()函數要調用c的標準I/O庫函數,應在程序首部加上:#include<stdio.h>4、舉例:例exp3_7:#include<stdio.h>main(){charc;c=getchar();
putchar(c);
printf(“%c\n%d\n”,c,c);}輸入a輸出a 97scanf()函數1、功能:將從終端(鍵盤)輸入的數據傳送給對應的變量。2、格式:scanf(格式控制,輸入項地址表)說明:格式控制的含義同printf函數,“%格式控制字符”
輸入項地址表由若干個地址組成,代表每一個變量在內存的地址。表示為:&變量(或數組與字符串的首地址)每次調用scanf()函數后,函數將得到一個整型函數值,此值等于正常輸入數據的個數3、使用要點:4、舉例:scanf()函數的使用要點1、格式符的個數必須與輸入項的個數相等,數據類型必須從左至右一一對應。2、scanf()函數中常用的格式符有:3、用戶可以指定輸入數據的域寬,系統將自動按此域寬截取所讀入的數據,如:scanf(“%3d%3d”,&a,&b);輸入123456系統自動將123賦值給a,將456賦值給b.4、輸入實型數據時,用戶不能規定小數點后的位數。scanf(“%7.2f”,&a);是錯誤的.5、輸入實型數據時,可以不帶小數點,即按整型數方式輸入。scanf()函數的使用要點6、從終端輸入數值數據時,遇下述情況系統將認為該項數據結束:遇到空格、回車符或制表符(TAB),故可用它們作為數值數據間的分隔符;遇到寬度結束,如“%4d”表示只取輸入數據的前4列。遇到非法輸入,如:假設a為整型變量,ch為字符型變量,對于:
scanf(“%d%c”,&a,&ch);
若輸入246a,則系統將認為:a=246,ch=a7、在使用%c格式符時,輸入的數據之間不需要分隔符標志;空格、回車符都將作為有效字符讀入。scanf(“%c%c%c”,&a,&b,&c);輸入b□o□yb賦值給a,□賦值給b,o賦值給cscanf()函數的使用要點8、如果格式控制字符串中除了格式說明之外,還包含其它字符,則輸入數據時,在與之對應的位置上也必須輸入與這些字符相同的字符。如:scanf(“Enteranumber:%d”,&x);
scanf(“%d%d”&a,&b);輸入格式12223
scanf(“%d,%d”,&a,&b);輸入格式122,23
scanf(“a=%d,b=%d”,&a,&b);輸入格式a=123,b=239、格式說明%*表示跳過對應的輸入數據項不予讀入。如:scanf(“%2d%*2d%2d”,&a,&b);
若輸入1234567
則12賦給a,67
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 園林用地移交協議書
- 解除母親關系協議書
- 終止解除協議書范本
- 繼承父母房子協議書
- 馬上消費還款協議書
- 駐廠員工協議書范本
- 農田復耕協議書文案
- 簡單安全用電協議書
- 鹵菜物品轉讓協議書
- 樂團演員聘用協議書
- GB/T 10004-2008包裝用塑料復合膜、袋干法復合、擠出復合
- 核磁-波普分析課件
- 部編人教版道德與法治四年級下冊《合理消費》優質課件
- 吉林省吉林市2022-2023學年高三上學期第一次調研測英語含答案
- 閩南建筑風格研究課件
- 小學美術 嶺南版 六年級 古代傳說中的藝術形象 ppt 課件
- 保潔投標書(范本)
- 幼兒園《插座電線我不碰》
- 生產線直通率統計表
- 常用有縫鋼管的規格及有關參數
- 大腸桿菌及大腸菌群計數方法
評論
0/150
提交評論