C語言程序設(shè)計 最簡單的C程序設(shè)計_免費下載.ppt_第1頁
C語言程序設(shè)計 最簡單的C程序設(shè)計_免費下載.ppt_第2頁
C語言程序設(shè)計 最簡單的C程序設(shè)計_免費下載.ppt_第3頁
C語言程序設(shè)計 最簡單的C程序設(shè)計_免費下載.ppt_第4頁
C語言程序設(shè)計 最簡單的C程序設(shè)計_免費下載.ppt_第5頁
已閱讀5頁,還剩115頁未讀, 繼續(xù)免費閱讀

C語言程序設(shè)計 最簡單的C程序設(shè)計_免費下載.ppt.ppt 免費下載

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

文檔簡介

1、第3章 最簡單的C程序設(shè)計,徐國艷 北京航空航天大學交通科學與工程學院,第3章 最簡單的C程序設(shè)計,3.1 順序程序設(shè)計舉例 3.2 數(shù)據(jù)的表現(xiàn)形式及其運算 3.3 C語句 3.4 數(shù)據(jù)的輸入輸出,3.1順序程序設(shè)計舉例,例3.1 有人用溫度計測量出用華氏法表示的溫度(如 F),今要求把它轉(zhuǎn)換為以攝氏法表示的溫度(如 C) 。,解題思路:找到二者間的轉(zhuǎn)換公式,f代表華氏溫度,c代表攝氏溫度,3.1順序程序設(shè)計舉例,算法:,例3.1 有人用溫度計測量出用華氏法表示的溫度(如 F,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度(如 C) 。,N-S圖,3.1順序程序設(shè)計舉例,#include int main

2、 ( ) float f,c; f=64.0; c=(5.0/9)*(f-32); printf(f=%fnc=%fn,f,c); return 0; ,定義f和c為單精度浮點型變量,指定f的值,計算c的值,輸出f和c的值,3.1順序程序設(shè)計舉例,例3.2 計算存款利息。有1000元,想存一年。有三種方法可選: (1)活期,年利率為r1 (2)一年期定期,年利率為r2 (3)存兩次半年定期,年利率為r3 請分別計算出一年后按三種方法所得到的本息和。,3.1順序程序設(shè)計舉例,解題思路:確定計算本息和的公式。 從數(shù)學知識可知:若存款額為p0,則: 活期存款一年后本息和為: p1=p0(1+r1)

3、一年期定期存款,一年后本息和為: p2=p0(1+r2) 兩次半年定期存款,一年后本息和為:,3.1順序程序設(shè)計舉例,算法:,3.1順序程序設(shè)計舉例,#include int main ( ) float p0=1000, r1=0.0036,r2=0.0225, r3=0.0198, p1, p2, p3; p1 = p0 * (1 + r1); p2 = p0 * (1 + r2); p3 = p0 * (1 + r3/2) * (1 + r3/2); printf(”%fn%fn%fn”,p1, p2, p3); return 0; ,定義變量同時賦予初值,3.2 數(shù)據(jù)的表現(xiàn)形式及其運算

4、,3.2.1 常量和變量 3.2.2 數(shù)據(jù)類型 3.2.3 整型數(shù)據(jù) 3.2.4 字符型數(shù)據(jù) 3.2.5 浮點型數(shù)據(jù) 3.2.6 怎樣確定常量的類型 3.2.7 運算符和表達式,3.2.1 常量和變量,1.常量:在程序運行過程中,其值不能被改變的量 整型常量:如1000,12345,0,-345 實型常量 十進制小數(shù)形式:如0.34 -56.79 0.0 指數(shù)形式:如12.34e3 (代表12.34103) 字符常量:如? 轉(zhuǎn)義字符:如n 字符串常量:如”boy” 符號常量:#define PI 3.1416,注意:符號常量在作用域內(nèi)不能改變,也不能被賦值。一般用大寫字母。 優(yōu)點:含意清楚,一

5、改全改。,3.2.1 常量和變量,程序從變量中取值就是通過相應(yīng)的地址從存儲單元中讀取數(shù)據(jù)。,變量 變量:其值可以改變的量 變 量-存儲單元 變量名-符號地址,3.2.1 常量和變量,3.常變量:const int a=3; 4.標識符:一個對象的名字 語言規(guī)定標識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線 合法的標識符:如sum,average, _total, Class, day, BASIC, li_ling 不合法的標識符:M.D.John,¥123,33,3D64,ab,大小寫字母是不同的字符,3.2.2 數(shù)據(jù)類型,所謂類型,就是對數(shù)據(jù)分配存儲單元的安排,

6、包括存儲單元的長度(占多少字節(jié))以及數(shù)據(jù)的存儲形式 不同的類型分配不同的長度和存儲形式,3.2.2 數(shù)據(jù)類型,C語言允許使用的數(shù)據(jù)類型: 基本類型 整型類型 基本整型 短整型 長整型 雙長整型 字符型 布爾型,浮點類型 單精度浮點型 雙精度浮點型 復(fù)數(shù)浮點型,3.2.2 數(shù)據(jù)類型,C語言允許使用的數(shù)據(jù)類型: 基本類型 枚舉類型 空類型 派生類型 指針類型 數(shù)組類型 結(jié)構(gòu)體類型 共用體類型 函數(shù)類型,算術(shù)類型,純量類型:變量的值以數(shù)字表示。,3.2.3 整型數(shù)據(jù),1. 整型數(shù)據(jù)的分類 最基本的整型類型 基本整型(int型):占2個或4個字節(jié) 短整型(short int):VC+6.0中占2個字節(jié)

7、 長整型(long int):VC+6.0中占4個字節(jié) 雙長整型(long long int):C99新增的,3.2.3 整型數(shù)據(jù),1. 整型數(shù)據(jù)的分類 2. 整型變量的符號屬性 整型變量的值的范圍包括負數(shù)到正數(shù) 可以將變量定義為“無符號”類型 擴充的整型類型:,3.2.3 整型數(shù)據(jù),擴充的整型類型: 有符號基本整型 signed int; 無符號基本整型 unsigned int; 有符號短整型 signed short int; 無符號短整型 unsigned short int; 有符號長整型 signed long int; 無符號長整型 unsigned long int 有符號雙長

8、整型 signed long long int; 無符號雙長整型 unsigned long long int,3.2.4 字符型數(shù)據(jù),字符是按其代碼(整數(shù))形式存儲的 C99把字符型數(shù)據(jù)作為整數(shù)類型的一種 字符型數(shù)據(jù)在使用上有自己的特點,3.2.4 字符型數(shù)據(jù),1.字符與字符代碼 大多數(shù)系統(tǒng)采用ASCII字符集 字母:A Z,a z 數(shù)字:09 專門符號:29個:! ” # 系統(tǒng)把? 的ASCII代碼63賦給變量c printf(”%d %cn”,c,c); 輸出結(jié)果是: 63 ?,3.2.5 浮點型數(shù)據(jù),浮點型數(shù)據(jù)是用來表示具有小數(shù)點的實數(shù) float型(單精度浮點型) 編譯系統(tǒng)為floa

9、t型變量分配4個字節(jié) 數(shù)值以規(guī)范化的二進制數(shù)指數(shù)形式存放,以二進制形式存放,以2的冪次存放,3.2.5 浮點型數(shù)據(jù),浮點型數(shù)據(jù)是用來表示具有小數(shù)點的實數(shù) float型(單精度浮點型) double型(雙精度浮點型) 編譯系統(tǒng)為double型變量分配8個字節(jié) 15位有效數(shù)字 long double(長雙精度)型,3.2.6 怎樣確定常量的類型,字符常量:由單撇號括起來的單個字符或轉(zhuǎn)義字符 整型常量:不帶小數(shù)點的數(shù)值 系統(tǒng)根據(jù)數(shù)值的大小確定int型還是long型等 浮點型常量:凡以小數(shù)形式或指數(shù)形式出現(xiàn)的實數(shù) C編譯系統(tǒng)把浮點型常量都按雙精度處理 分配8個字節(jié),實型數(shù)據(jù)的舍入誤差: 避免大數(shù)加減小

10、數(shù),#include void main( ) double a,b; a=123456.789e5; b=a+20; printf(a=%lf,b=%lfn,a,b); ,實型常量的類型: a = 2.45678 * 4523.65 (做為雙精度處理) float a; a = 2222.22222;,#include void main( ) float a,b; a=123456.789e5; b=a+20; printf(a=%f,b=%fn,a,b); ,(float只能保證有效數(shù)字7位,后兩位數(shù)不起作用),3.2.7 運算符和表達式,1.基本的算術(shù)運算符: + :正號運算符(單目運

11、算符) - :負號運算符(單目運算符) * :乘法運算符 / :除法運算符 % :求余運算符 + :加法運算符 - :減法運算符,3.2.7 運算符和表達式,說明 兩個整數(shù)相除的結(jié)果為整數(shù) 如5/3的結(jié)果值為,舍去小數(shù)部分 如果除數(shù)或被除數(shù)中有一個為負值,舍入方向不固定。例如,-5/3,有的系統(tǒng)中得到的結(jié)果為-1,在有的系統(tǒng)中則得到結(jié)果為-2 VC+采取“向零取整”的方法 如5/3=1,-5/3=-1,取整后向零靠攏 % 運算符要求參加運算的運算對象(即操作數(shù))為整數(shù),結(jié)果也是整數(shù)。如8%3,結(jié)果為2,3.2.7 運算符和表達式,2. 自增、自減運算符: 作用是使變量的值加或減 +i,-i:在

12、使用i之前,先使i的值加(減)1 i+,i-:在使用i之后,使i的值加(減)1,例: 設(shè)i=3; j=+i 結(jié)果: i=?, j=? i=3; j=i+ 結(jié)果: i=?, j=? i=3; printf(“%d”,+i); 輸出? i=3; printf(“%d”, i +); 輸出?,注意:自增、自減運算只能用于變量,而不能用于常量或表達式,3.2.7 運算符和表達式,3. 算術(shù)表達式和運算符的優(yōu)先級與結(jié)合性: 用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的、符合語法規(guī)則的式子,稱為算術(shù)表達式 運算對象包括常量、變量、函數(shù)等 語言規(guī)定了運算符的優(yōu)先級和結(jié)合性,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同

13、一類型,再進行計算 轉(zhuǎn)換規(guī)則:高 double float long unsigned 低 int char, short 如:int i; float f; double d; long e; 式子:10 + a + i * f - d / e 結(jié)果是double型 轉(zhuǎn)換是系統(tǒng)內(nèi)自動進行的,4.不同類型數(shù)據(jù)間的混合運算:,3.2.7 運算符和表達式,4.不同類型數(shù)據(jù)間的混合運算: +、-、*、/ 運算的兩個數(shù)中有一個數(shù)為float或double型,結(jié)果是double型。系統(tǒng)將float型數(shù)據(jù)都先轉(zhuǎn)換為double型,然后進行運算; (2) 如果int型與float或double型數(shù)據(jù)進行運算

14、,先把int型和float型數(shù)據(jù)轉(zhuǎn)換為double型,然后進行運算,結(jié)果是double型; (3)字符型數(shù)據(jù)與整型數(shù)據(jù)進行運算,就是把字符的ASCII代碼與整型數(shù)據(jù)進行運算。,3.2.7 運算符和表達式,例3.3 給定一個大寫字母,要求用小寫字母輸出。,解題思路: 關(guān)鍵是找到大、小寫字母間的內(nèi)在聯(lián)系 同一個字母,用小寫表示的字符的ASCII代碼比用大寫表示的字符的ASCII代碼大32,3.2.7 運算符和表達式,#include int main ( ) char c1,c2; c1=A; c2=c1+32; printf(%cn,c2); printf(”%dn”,c2); return 0

15、; ,將字符A的ASCII代碼65放到c1中,將65+32的結(jié)果放到c2中,用字符形式輸出,用十進制形式輸出,3.2.7 運算符和表達式,5. 強制類型轉(zhuǎn)換運算符 強制類型轉(zhuǎn)換運算符的一般形式為 (類型名)(表達式) (double)a (將轉(zhuǎn)換成double類型) (int) (x+y) (將x+y的值轉(zhuǎn)換成int型) (float)(5%3)(將5%3的值轉(zhuǎn)換成float型) 有兩種類型轉(zhuǎn)換 系統(tǒng)自動進行的類型轉(zhuǎn)換 強制類型轉(zhuǎn)換,3.2.7 運算符和表達式,6.運算符 (1) 算術(shù)運算符 (+ - * / % + -) (2) 關(guān)系運算符 ( ?。?(3) 邏輯運算符 (! |) (4)

16、位運算符 ( | ) (5) 賦值運算符 (及其擴展賦值運算符) (6) 條件運算符 (?:),3.2.7 運算符和表達式,6.運算符 (7) 逗號運算符 (,) (8) 指針運算符 (*和) (9) 求字節(jié)數(shù)運算符 (sizeof) (10) 強制類型轉(zhuǎn)換運算符 ( (類型) ) (11) 成員運算符 (.-) (12) 下標運算符 ( ) (13) 其他 (如函數(shù)調(diào)用運算符(),3.2. 7.1 賦值運算符和賦值表達式,一、賦值運算符 即“=”,如 “a = 3” 二、類型轉(zhuǎn)換 賦值運算符兩側(cè)類型不同時,賦值時要轉(zhuǎn)換: 1. 將實型數(shù)據(jù)賦給整型時,舍棄小數(shù)部分; 2 .將整型數(shù)據(jù)賦給單、雙

17、精度變量時,數(shù)值不變,以浮點形式存到變量中; 3. 將double型數(shù)據(jù)賦給float變量時,截取前面7位有效數(shù)字注意范圍不能溢出; 4. 將float 型數(shù)據(jù)賦給double變量時,數(shù)值不變,有效位為16位。,4. 字符型數(shù)據(jù)賦給整型時,將其對應(yīng)ASCII值原樣送給整型; 5. 將int, short, long型數(shù)據(jù)賦給char型變量時,將低8位原樣送給char型變量; 6. 將int 型數(shù)據(jù)賦給long型變量時,將16位原樣送給; 將long型數(shù)據(jù)賦給int型變量時,將低16位原樣送給; 7. 將unsigned int型數(shù)據(jù)賦給long int型變量時,高位補0; 8. 將非unsig

18、ned型數(shù)據(jù)賦給長度相同的unsigned型變量時,原樣照賦。,三、復(fù)合的賦值運算符 在賦值符“=”之前加上其他運算符,四、賦值表達式 變量 賦值運算符 表達式 如:a = 5 賦值表達式的值就是被賦值的變量的值 結(jié)合順序:自右向左, 如:a = ( b = 4 ) ; 等于 a = b = 4 ;,a=a+3,x * = y + 8,x = x *( y + 8),x % = 3,x = x % 3,a + = 3,#include void main () int a,b,c; a=b=c=5; printf(1:a=%d,b=%d,c=%dn,a,b, c); a=5+(c=6); pr

19、intf(2:a=%d,b=%d,c=%dn,a,b, c); a=(b=4)+(c=6); printf(3:a=%d,b=%d,c=%dn,a,b, c); a=(b=10)/(c=2); printf(4:a=%d,b=%d,c=%dn,a,b, c); a += a -= a * a; printf(5:a=%d,b=%d,c=%dn,a,b, c); printf(6:a=%d,b=%d,c=%d,表達式(a=b)=%dn,a,b, c,a=b); printf(7:a=%d,b=%d,c=%d,表達式(a=b=c)=%dn,a,b, c,a=b=c); ,3.2.7.2 逗號運算符

20、和逗號表達式 逗號表達式: 用逗號運算符將兩個表達式連接起來 一般形式: 表達式1,表達式2 ( 又叫順序求值運算符) 求解過程: 先解表達式1,再解表達式2,整個逗號表達式 的值是表達式2的值。 如:a = 3 * 5, a * 4 (a=3*5,a*4),a+5,擴展形式: 表達式1,表達式2 , 表達式3.表達式n 其值為表達式n的值 逗號運算符是所有運算符中級別最低的, 如: x=(a=3,6*3) x=a=3,6*a printf(“%d,%d,%d”,a,b,c); printf(“%d,%d,%d”,(a,b,c),b,c);,例:設(shè)整型變量a, b為2, 計算:b=a+3,c=

21、b+4 d=a-, e=d-, f=-e,3.3 C語句,3.3.1 C語句的作用和分類 3.3.2 最基本的語句賦值語句,3.3.1 C語句的作用和分類,語句分為以下5類: (1) 控制語句: if、switch、for、while、dowhile、continue、break、return、goto等 (2) 函數(shù)調(diào)用語句 (3) 表達式語句 (4) 空語句 (5) 復(fù)合語句,3.3.2 最基本的語句-賦值語句,在C程序中,最常用的語句是: 賦值語句 輸入輸出語句 其中最基本的是賦值語句,3.3.2 最基本的語句-賦值語句,例3.4 給出三角形的三邊長,求三角形面積。,3.3.2 最基本的

22、語句-賦值語句,解題思路:假設(shè)給定的三個邊符合構(gòu)成三角形的條件 關(guān)鍵是找到求三角形面積的公式 公式為: 其中s=(a+b+c)/2,#include #include int main ( ) double a,b,c,s,area; a=3.67; b=5.43; c=6.21; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); return 0; ,對邊長a、b、c賦值,計算s,計算area,#include #include int main (

23、) double a,b,c,s,area; a=3.67; b=5.43; c=6.21; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); return 0; ,數(shù)學函數(shù),計算平方根,調(diào)用數(shù)學函數(shù)加此行,#include #include int main ( ) double a,b,c,s,area; a=3.67; b=5.43; c=6.21; s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); print

24、f(a=%ftb=%ft%fn,a,b,c); printf(area=%fn,area); return 0; ,轉(zhuǎn)義字符,使輸出位置跳到下一個tab位置,調(diào)用數(shù)學函數(shù)加此行,歸納總結(jié): 1.賦值運算符 “”是賦值運算符 作用是將一個數(shù)據(jù)賦給一個變量 也可以將一個表達式的值賦給一個變量,歸納總結(jié): 1.賦值運算符 2.復(fù)合的賦值運算符 在賦值符“”之前加上其他運算符,可以構(gòu)成復(fù)合的運算符 等價于 ,歸納總結(jié): 1.賦值運算符 2.復(fù)合的賦值運算符 3.賦值表達式 一般形式為: 變量 賦值運算符 表達式 對賦值表達式求解的過程: 求賦值運算符右側(cè)的“表達式”的值 賦給賦值運算符左側(cè)的變量,歸納

25、總結(jié): 1.賦值運算符 2.復(fù)合的賦值運算符 3.賦值表達式 賦值表達式“a=3*5”的值為15,對表達式求解后,變量a的值和表達式的值都是15 “a=(b=5)”和“a=b=5”等價 “a=b”和“b=a”含義不同,歸納總結(jié): 1.賦值運算符 2.復(fù)合的賦值運算符 3.賦值表達式 4.賦值過程中的類型轉(zhuǎn)換 兩側(cè)類型一致時,直接賦值 兩側(cè)類型不一致,但都是算術(shù)類型時,自動將右側(cè)的類型轉(zhuǎn)換為左側(cè)類型后賦值 定義變量時要防止數(shù)據(jù)溢出,歸納總結(jié): 1.賦值運算符 2.復(fù)合的賦值運算符 3.賦值表達式 4.賦值過程中的類型轉(zhuǎn)換 5.賦值表達式和賦值語句 賦值表達式的末尾沒有分號,而賦值語句有分號 一個

26、表達式可以包含賦值表達式,但決不能包含賦值語句,歸納總結(jié): 1.賦值運算符 2.復(fù)合的賦值運算符 3.賦值表達式 4.賦值過程中的類型轉(zhuǎn)換 5.賦值表達式和賦值語句 6.變量賦初值 int a=3,b=3,c; int a=3; 相當于 int a; a=3;,3.4 數(shù)據(jù)的輸入輸出,3.4.1 輸入輸出舉例 3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念 3.4.3 用printf函數(shù)輸出數(shù)據(jù) 3.4.4 用scanf函數(shù)輸入數(shù)據(jù) 3.4.5 字符數(shù)據(jù)的輸入輸出,3.4.1 輸入輸出舉例,例3.5 求 方程的根。a、b、c由鍵盤輸入 設(shè) ,3.4.1 輸入輸出舉例,解題思路:首先要知道求方程式的根的方法

27、。 由數(shù)學知識已知:如果 0,則一元二次方程有兩個實根:,若記,#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf, ,程序中調(diào)用數(shù)學函數(shù)sqrt,輸入a,b,c的值,#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf, ,輸入的是雙精度型實數(shù),#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,

28、,要求輸入3個實數(shù),自動轉(zhuǎn)成實數(shù)后賦給a,b,c,#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf, ,輸出數(shù)據(jù)占7列,其中小數(shù)占2列,3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念,幾乎每一個C程序都包含輸入輸出 輸入輸出是程序中最基本的操作之一,3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念,(1) 所謂輸入輸出是以計算機主機為主體而言的 從計算機向輸出設(shè)備(如顯示器、打印機等)輸出數(shù)據(jù)稱為輸出 從輸入設(shè)備(如鍵盤、磁盤、光盤、掃描儀等)向計算機輸入數(shù)據(jù)稱為輸入,3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念,(2) 語言本

29、身不提供輸入輸出語句 輸入和輸出操作是由C標準函數(shù)庫中的函數(shù)來實現(xiàn)的 printf和scanf不是語言的關(guān)鍵字,而只是庫函數(shù)的名字 putchar、getchar、puts、gets,3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念,(3)在使用輸入輸出函數(shù)時,要在程序文件的開頭用預(yù)編譯指令 #include 或 #include stdio.h,3.4.3 用printf函數(shù)輸出數(shù)據(jù),在C程序中用來實現(xiàn)輸出和輸入的,主要是printf函數(shù)和scanf函數(shù) 這兩個函數(shù)是格式輸入輸出函數(shù) 用這兩個函數(shù)時,必須指定格式,3.4.3 用printf函數(shù)輸出數(shù)據(jù),1.printf函數(shù)的一般格式 printf(格式控

30、制,輸出表列) 例如: printf(”i=%d,c=%cn”,i,c);,格式聲明,3.4.3 用printf函數(shù)輸出數(shù)據(jù),1.printf函數(shù)的一般格式 printf(格式控制,輸出表列) 例如: printf(”i=%d,c=%cn”,i,c);,普通字符,3.4.3 用printf函數(shù)輸出數(shù)據(jù),1.printf函數(shù)的一般格式 printf(格式控制,輸出表列) 例如: printf(”i=%d,c=%cn”,i,c);,可以是常量、變量或表達式,3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格式字符 格式符。用來輸出一個有符號的十進制整數(shù) 可以在格式聲明中指定輸出數(shù)據(jù)的域?qū)?pri

31、ntf(”%5d%5dn”,12,-345); %d輸出int型數(shù)據(jù) %ld輸出long型數(shù)據(jù),3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格式字符 格式符。用來輸出一個字符 char ch=a; printf(”%c”,ch); 或 printf(”%5c”,ch);,輸出字符:a,3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格式字符 格式符。用來輸出一個字符串 printf(”%s”,”CHINA”); ,輸出字符串:CHINA,3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格式字符 f格式符。用來輸出實數(shù),以小數(shù)形式輸出 不指定數(shù)據(jù)寬度和小數(shù)位數(shù),用%f 例3.6 用%f

32、輸出實數(shù),只能得到位小數(shù)。 double a=1.0; printf(”%fn”,a/3);,3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格式字符 f格式符。用來輸出實數(shù),以小數(shù)形式輸出 指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用%m.nf printf(%20.15fn,1/3); printf(%.0fn”,10000/3.0);,3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格式字符 f格式符。用來輸出實數(shù),以小數(shù)形式輸出 指定數(shù)據(jù)寬度和小數(shù)位數(shù)。用%m.nf float a; a=10000/3.0; printf(%fn,a);,3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格式字符

33、f格式符。用來輸出實數(shù),以小數(shù)形式輸出 輸出的數(shù)據(jù)向左對齊,用%-m.nf,3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格式字符 f格式符。用來輸出實數(shù),以小數(shù)形式輸出 float型數(shù)據(jù)只能保證6位有效數(shù)字 double型數(shù)據(jù)能保證15位有效數(shù)字 計算機輸出的數(shù)字不都是絕對精確有效的,3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格式字符 e格式符。指定以指數(shù)形式輸出實數(shù) %e,VC+給出小數(shù)位數(shù)為位 指數(shù)部分占5列 小數(shù)點前必須有而且只有1位非零數(shù)字 printf(”%e”,123.456); 輸出:1.234560 e+002,3.4.3 用printf函數(shù)輸出數(shù)據(jù),2. 常用格

34、式字符 e格式符。指定以指數(shù)形式輸出實數(shù) %m.ne printf(”%13.2e”,123.456); 輸出: 1.23e+002 (前面有4個空格),格式控制,用雙引號括起的字符串,用于指定輸出數(shù)據(jù)的類型、格式、個數(shù) 包括:普通字符和格式說明符,照原樣輸出,printf (c=%d+%d=%dn, a, b, a+b );,格式說明符:指定輸出3個十進制整型數(shù),分別為變量 a、b、ab的值,88,輸出格式說明符,在和格式符之間可以使用附加說明符,例如: %ld 輸出十進制長整型數(shù) %m.nf 右對齊,m位域?qū)挘琻位小數(shù) %-m.nf 左對齊,附加格式說明符,90,例4.2 整型數(shù)據(jù)的輸出,

35、#include void main( ) int a=11,b=22; int m=10; printf(%d %dn,a,b); printf(a=%d, b=%dn,a,b); printf(m: %d, %o, %x, %un,m,m,m,m); ,91,例4.3 實型數(shù)據(jù)的輸出,#include void main( ) float x=1234.56,y=1.23456789; double z=1234567.123456789; printf(x=%f, y=%f n,x,y); printf(z=%fn,z); printf(z=%en,z); printf(z=%gn,z)

36、; printf(z=%18.8fn,z); printf(x=%10.3fn,x); printf(x=%-10.3fn,x); printf(x=%4.3fnn,x); ,92,例4.4 字符型數(shù)據(jù)的輸出,#include void main( ) int m=97; char ch=B; printf(m: %d %cn,m,m); printf(ch: %d %cn,ch,ch); printf(%sn,student); printf(%10sn,student); printf(%-10sn,student); printf(%10.3sn,student); printf(%.3

37、snn,student); ,程序輸出: m: 97 a ch: 66 B student student student stu stu,注意:,printf函數(shù)格式控制中的格式說明符與輸出參數(shù)的個數(shù)和類型必須一一對應(yīng)。 格式說明符的 % 和后面的描述符之間不能有空格。除 %X、%E、%G外類型描述符必須是小寫字母。 長整型數(shù)應(yīng)該用ld(或lo、lx、lu)格式輸出,否則可能會出現(xiàn)輸出錯誤。 printf函數(shù)的參數(shù)可以是常量、變量或表達式。,3.4.4 用scanf函數(shù)輸入數(shù)據(jù),1. scanf 函數(shù)的一般形式 scanf(格式控制,地址表列),含義同printf函數(shù),3.4.4 用scan

38、f函數(shù)輸入數(shù)據(jù),1. scanf 函數(shù)的一般形式 scanf(格式控制,地址表列),可以是變量的地址,或字符串的首地址,3.4.4 用scanf函數(shù)輸入數(shù)據(jù),2. scanf函數(shù)中的格式聲明 與printf函數(shù)中的格式聲明相似 以開始,以一個格式字符結(jié)束,中間可以插入附加的字符 scanf(a=%f,b=%f,c=%f,3.4.4 用scanf函數(shù)輸入數(shù)據(jù),3.使用scanf函數(shù)時應(yīng)注意的問題 scanf(”%f%f%f”,a,b,c); 錯 scanf(”%f%f%f”, 1 3 2 錯 a=1,b=3,c=2 對 a=1 b=3 c=2 錯,3.4.4 用scanf函數(shù)輸入數(shù)據(jù),3.使用s

39、canf函數(shù)時應(yīng)注意的問題 對于scanf(”%c%c%c”, 若輸入 1234a123o.26,3.4.4 用scanf函數(shù)輸入數(shù)據(jù),3.使用scanf函數(shù)時應(yīng)注意的問題 對于scanf(”%c%c%c”, 若輸入 1234a123o.26,3.4.4 用scanf函數(shù)輸入數(shù)據(jù),3.使用scanf函數(shù)時應(yīng)注意的問題 對于scanf(”%c%c%c”, 若輸入 1234a123o.26,101,格式控制,用雙引號括起的字符串,用于指定輸入數(shù)據(jù)的類型、格式、個數(shù)以及輸入的形式 包括:普通字符和格式說明符,照原樣輸入,scanf (a=%d, b=%d, ,格式說明符:指定輸入2個十進制整型數(shù)賦給

40、變量 a 和 b,102,輸入格式說明符,在和格式符之間可以使用附加說明符,2020/7/28,103,附加格式說明符,例如: %ld、%lo輸入十進制、八進制長整型數(shù) %lf、%le輸入雙精度實型數(shù) %mf輸入m位數(shù)(域?qū)挘?%*d忽略輸入的一個整型數(shù),對float和double型指整數(shù)位數(shù)+小數(shù)點 +小數(shù)位數(shù),104,例如:,scanf (%d%d%d, 輸入的形式是:a=32, b=28 (普通字符要照原樣輸入),#include void main( ) int a,b,c; long m; float x; double y; char ch, string20; printf(input a,b,c,m: ); scanf(%d %o %x %ld, ,105,程序:,106,使用scanf函數(shù)應(yīng)注意:,要求在程序運行中輸入數(shù)據(jù),輸入的數(shù)據(jù)個數(shù)和類型必須與格式說明符一一對應(yīng)。 地址參數(shù)形式: putchar(a); putchar(b); putchar(c); putch

溫馨提示

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

評論

0/150

提交評論