第3章 最簡單的C程序設(shè)計-順序程序設(shè)計_第1頁
第3章 最簡單的C程序設(shè)計-順序程序設(shè)計_第2頁
第3章 最簡單的C程序設(shè)計-順序程序設(shè)計_第3頁
第3章 最簡單的C程序設(shè)計-順序程序設(shè)計_第4頁
第3章 最簡單的C程序設(shè)計-順序程序設(shè)計_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第3 3章章主講:程永奇程永奇材料與能源學(xué)院材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page2第第3章章 最簡單的最簡單的C程序設(shè)計程序設(shè)計 順序程序設(shè)計順序程序設(shè)計v主要內(nèi)容:主要內(nèi)容: 3.1 順序程序設(shè)計舉例3.2 數(shù)據(jù)的表現(xiàn)形式及其運算3.3 C語句3.4 數(shù)據(jù)的數(shù)據(jù)的輸入與輸出輸入與輸出【重點】材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計v編寫編寫C C語言程序必須具備以下的知識和能力:語言程序必須具備以下的知識和能力:1)要有正確的解題思路,即學(xué)會設(shè)計算法學(xué)會設(shè)計算法,否則無從下手;2)掌握掌握C語言的語法語言的語法,知道怎樣使用C語言所提供的

2、功能編寫出一個完整的、正確的程序。3)在寫算法和編寫程序時,要采用結(jié)構(gòu)化采用結(jié)構(gòu)化程序設(shè)計方法程序設(shè)計方法,編寫出結(jié)構(gòu)化的程序。材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計例例3.13.1 有人用溫度計測量出用華氏法表示的溫度(如 F,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度(如 C) 。解題思路:解題思路:找到二者間的轉(zhuǎn)換公式找到二者間的轉(zhuǎn)換公式)32(95fcf代表華氏溫度代表華氏溫度,c代表攝氏溫度代表攝氏溫度3.1 順序程序設(shè)計舉例順序程序設(shè)計舉例材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計算法:算法:輸入f的值輸出c的值)32(95fcN-S圖圖3.1 順序

3、程序設(shè)計舉例順序程序設(shè)計舉例材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計#include int main ( ) 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è)計舉例順序程序設(shè)計舉例材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計例例3.23.2 計算存款利息。有1000元,想存一年。有三種方法可選: (1)活期,年利率為r1 (2)一年期定

4、期,年利率為r2 (3)存兩次半年定期,年利率為r3 請分別計算出一年后按三種方法所得到的本息和。3.1 順序程序設(shè)計舉例順序程序設(shè)計舉例材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計v解題思路:解題思路:確定計算本息和的公式。v從數(shù)學(xué)知識可知:若存款額為p0,則:活期存款一年后本息和為: p1=p0(1+r1)一年期定期存款,一年后本息和為: p2=p0(1+r2)兩次半年定期存款,一年后本息和為: ) 23+)(123+p0(1=p3rr3.1 順序程序設(shè)計舉例順序程序設(shè)計舉例材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計v算法算法:輸入p0,r1,r2,r3的

5、值計算p1=p0(1+r1)計算p2=p0(1+r2)計算p3=p0(1+ )(1+ )輸出p1,p2,p323r23r3.1 順序程序設(shè)計舉例順序程序設(shè)計舉例材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(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

6、; 定義變量定義變量同時同時賦予初值賦予初值3.1 順序程序設(shè)計舉例順序程序設(shè)計舉例注意:不同注意:不同編譯系統(tǒng)對編譯系統(tǒng)對數(shù)據(jù)類型的數(shù)據(jù)類型的處理!處理!材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計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 運算符和表達(dá)式3.2 數(shù)據(jù)的表現(xiàn)形式及其運算數(shù)據(jù)的表現(xiàn)形式及其運算材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.1 常量和變量常量和變量 對于基本數(shù)據(jù)類型量,按其取值是否可改變又分為常量常量和變量變量兩種。 在程序

7、執(zhí)行過程中,其值不發(fā)生改變的量稱為常量常量,其值可變的量稱為變量變量。它們可與數(shù)據(jù)類型結(jié)合起來分類。例如,可分為整型常量、整型變量、浮點常量、浮點變量、字符常量、字符變量、枚舉常量、枚舉變量等。 在程序中,常量常量是可以是可以不經(jīng)說明而直接引不經(jīng)說明而直接引用用的的,而變量變量則必須則必須先定義后使用先定義后使用。材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.1 常量和變量常量和變量1.常量常量:在程序運行過程中,其值不能被改變的量v整型常量:如1000,12345,0,-345v實型常量十進(jìn)制小數(shù)形式:如0.34 -56.79 0.0指數(shù)形式:如12.34e3 (代表1

8、2.34103)v字符常量:普通字符:如a , Z, 3, ?, #轉(zhuǎn)義字符轉(zhuǎn)義字符:如nv字符串常量:如”boy”v符號常量:#define PI 3.1416使用符號常量的好處: 含義清楚。如用PI代表3.141593。 能做到“一改全改”。材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page143.2.1 常量和變量常量和變量v有些以“ ”開頭的特殊字符稱為轉(zhuǎn)義字符轉(zhuǎn)義字符字符形式含義ASCII代碼n換行換行,將當(dāng)前位置移到下一行開頭10t水平制表水平制表(跳到下一個Tab位置)9b退格,將當(dāng)前位置移到前一列8r回車,將當(dāng)前位置移到本行開頭13f換頁,將當(dāng)前位置移到下頁開

9、頭12代表一個反斜杠字符“”92代表一個單引號單引號(撇號)字符39”代表一個雙引號雙引號字符34ddd1到3位八進(jìn)制數(shù)所代表的字符xhh1到2位十六進(jìn)制數(shù)所代表的字符材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.1 常量和變量常量和變量2. 變量變量:在程序運行期間,變量的值是可以改變的v變量必須先定義,后使用v定義變量時指定該變量的名字和類型v變量名和變量值是兩個不同的概念v變量名實際上是以一個名字代表的一個存儲地址v從變量中取值,實際上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.1 常量和

10、變量常量和變量3.常變量常變量:const int a=3;4.標(biāo)識符標(biāo)識符:一個對象的名字v語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線3種字符組成,且第一個字符必須為字母或下劃線合法的標(biāo)識符:如sum,average, _total, Class, day, BASIC, li_ling不合法的標(biāo)識符:M.D.John,¥123,33,3D64,ab大小寫字母是不同的字符大小寫字母是不同的字符材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型v所謂類型,就是對數(shù)據(jù)分配存儲單元的安排,包括存儲單元的長度(占多少字節(jié))以及數(shù)據(jù)的存儲形式v不同的類型分配不同的長度

11、和存儲形式材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型vC語言允許使用的數(shù)據(jù)類型如下:基本數(shù)據(jù)類型基本數(shù)據(jù)類型最主要的特點是其值不可以再分解為其它類型,也就是說基本數(shù)據(jù)類型是自我說明的。 指針類型指針類型是一種特殊的同時又具有重要作用的數(shù)據(jù)類型,其值用來表示某個變量在內(nèi)存儲器中的地址。 空類型空類型指在調(diào)用函數(shù)不需要返回值時,將該函數(shù)定義為void類型。 派生數(shù)據(jù)類型派生數(shù)據(jù)類型是根據(jù)已定義的一個或多個數(shù)據(jù)類型用構(gòu)造的方法來定義的,也就是說一個構(gòu)造類型的值可以分解成若干個“成員”或“元素”,每個“成員”都是一個基本數(shù)據(jù)類型或又是一個構(gòu)造類型。 材料與

12、能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)1. 整型數(shù)據(jù)的分類v最基本的整型類型基本整型(int型):占2個或4個字節(jié)短整型(short int):VC+6.0中占2個字節(jié)長整型(long int):VC+6.0中占4個字節(jié)雙長整型(long long int):C99新增的材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page203.2.3 整型數(shù)據(jù)整型數(shù)據(jù)v整型數(shù)據(jù)在內(nèi)存中的存放形式整型數(shù)據(jù)在內(nèi)存中的存放形式如定義一個整型變量i: int i=10; /*定義為整型變量,并給i賦以整數(shù)10*/ 注注:數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的。十

13、進(jìn)制數(shù)10的二進(jìn)制形式為1010。Turbo C+ 3.0為一個整型變量在內(nèi)存中分配2個字節(jié)的存存儲單元儲單元(不同的編譯系統(tǒng)為整型數(shù)據(jù)分配的字節(jié)數(shù)不同,VC+ 6.0分配4個字節(jié))。計算機(jī)中,數(shù)值是以補(bǔ)碼補(bǔ)碼表示的。則則:整型數(shù)據(jù)10和-10的存放形式分別為:正整數(shù)正整數(shù)的補(bǔ)碼補(bǔ)碼和該數(shù)的原碼(即該數(shù)的二進(jìn)制形式)相同;負(fù)數(shù)負(fù)數(shù)的補(bǔ)碼補(bǔ)碼為將該數(shù)的絕對值的二進(jìn)制形式按位取反再加1。10i0101000000000000-10i0110111111111111材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)1. 整型數(shù)據(jù)的分類2. 整型變量的符號屬性整型

14、變量的值的范圍包括負(fù)數(shù)到正數(shù)可以將變量定義為“無符號”類型擴(kuò)充的整形類型:材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)擴(kuò)充的整型類型擴(kuò)充的整型類型:v有符號基本整型 signed int;v無符號基本整型 unsigned int;v有符號短整型 signed short int;v無符號短整型 unsigned short int;v有符號長整型 signed long int;v無符號長整型 unsigned long intv有符號雙長整型 signed long long int; v無符號雙長整型 unsigned long long in

15、t 材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)v字符是按其代碼(整數(shù))形式存儲的vC99把字符型數(shù)據(jù)作為整數(shù)類型的一種v字符型數(shù)據(jù)在使用上有自己的特點材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)1.字符與字符代碼大多數(shù)系統(tǒng)采用ASCII字符集字母:A Z,a z數(shù)字:09專門符號:29個:! ” # & ( ) *等空格符:空格、水平制表符、換行等不能顯示的字符:空(null)字符(以0表示)、警告(以a表示)、退格(以b表示)、回車(以r表示)等材料與能源學(xué)院2022-5-3C C語言程

16、序設(shè)計語言程序設(shè)計3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)v字符1和整數(shù)1是不同的概念:字符1只是代表一個形狀為1的符號,在需要時按原樣輸出,在內(nèi)存中以ASCII碼形式存儲,占1個字節(jié)整數(shù)1是以整數(shù)存儲方式(二進(jìn)制補(bǔ)碼方式)存儲的,占2個或4個字節(jié)0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)2.字符變量字符變量v用類型符char定義字符變量 char c = ?; 系統(tǒng)把“?”的ASCII代碼63賦給變量cprintf(”%d %cn”,c,c);輸出結(jié)果是:

17、63 ?材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.5 浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型數(shù)據(jù)是用來表示具有小數(shù)點的實數(shù)vfloat型(單精度浮點型)編譯系統(tǒng)為float型變量分配4個字節(jié)數(shù)值以規(guī)范化的二進(jìn)制數(shù)指數(shù)形式存放 參見主教材圖3.11材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.5 浮點型數(shù)據(jù)浮點型數(shù)據(jù)浮點型數(shù)據(jù)是用來表示具有小數(shù)點的實數(shù)vfloat型(單精度浮點型)vdouble型(雙精度浮點型)u編譯系統(tǒng)為double型變量分配8個字節(jié)u15位有效數(shù)字long double(長雙精度)型材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序

18、設(shè)計3.2.6 怎樣確定常量的類型怎樣確定常量的類型v字符常量字符常量:由單撇號括起來的單個字符或轉(zhuǎn)義字符v整型常量整型常量:不帶小數(shù)點的數(shù)值系統(tǒng)根據(jù)數(shù)值的大小確定int型還是long型等v浮點型常量浮點型常量:凡以小數(shù)形式或指數(shù)形式出現(xiàn)的實數(shù)C編譯系統(tǒng)把浮點型常量都按雙精度處理分配8個字節(jié)材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.7 運算符和表達(dá)式運算符和表達(dá)式1.基本的算術(shù)運算符基本的算術(shù)運算符:+ :正號運算符(單目運算符) - :負(fù)號運算符(單目運算符)* :乘法運算符/ :除法運算符% :求余運算符+ :加法運算符 - :減法運算符材料與能源學(xué)院2022-5

19、-3C C語言程序設(shè)計語言程序設(shè)計3.2.7 運算符和表達(dá)式運算符和表達(dá)式說明v兩個整數(shù)相除的結(jié)果為整數(shù)如5/3的結(jié)果值為,舍去小數(shù)部分如果除數(shù)或被除數(shù)中有一個為負(fù)值,舍入方向不固定。例如,-5/3,有的系統(tǒng)中得到的結(jié)果為-1,在有的系統(tǒng)中則得到結(jié)果為-2VC+采取“向零取整”的方法 如5/3=1,-5/3=-1,取整后向零靠攏v% 運算符要求參加運算的運算對象(即操作數(shù))為整數(shù),結(jié)果也是整數(shù)。如8%3,結(jié)果為2材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page323.2.7 運算符和表達(dá)式運算符和表達(dá)式v2. 自增、自減運算符自增、自減運算符 作用是使變量的值增或減,如:

20、+i, -i (在使用i之前,先使i的值加(減)1) i+, i- (在使用i之后,使i的值加(減)1)#include void main() int a, b, i=5; a=i+; b=+i; printf(“%d,%dn”, a, b);注注:(1)(1)自增運算符自增運算符(+)(+),自減運算符,自減運算符(-)(-),只能用于變量,而不能用于常量,只能用于變量,而不能用于常量或表達(dá)式;或表達(dá)式; (2)+(2)+和和-的結(jié)合方向是的結(jié)合方向是“自右至左自右至左”。自增。自增( (減減) )運算符常用于循環(huán)語句運算符常用于循環(huán)語句中使循環(huán)變量自動加中使循環(huán)變量自動加, ,也用于指針

21、變量,使指針指向下一個地址。也用于指針變量,使指針指向下一個地址。 +是先執(zhí)行是先執(zhí)行i=i+1后,再使用后,再使用i的值;的值; i+是先使用是先使用i的值后,再執(zhí)行的值后,再執(zhí)行i=i+1。材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.7 運算符和表達(dá)式運算符和表達(dá)式3. 算術(shù)表達(dá)式和運算符的優(yōu)先級與結(jié)合性算術(shù)表達(dá)式和運算符的優(yōu)先級與結(jié)合性:v用算術(shù)運算符和括號將運算對象(也稱操作數(shù))連接起來的、符合語法規(guī)則的式子,稱為算術(shù)表達(dá)式v運算對象包括常量、變量、函數(shù)等v語言規(guī)定了運算符的優(yōu)先級和結(jié)合性材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.7 運

22、算符和表達(dá)式運算符和表達(dá)式4.不同類型數(shù)據(jù)間的混合運算不同類型數(shù)據(jù)間的混合運算:+、-、*、/ 運算的兩個數(shù)中有一個數(shù)為float或double型,結(jié)果是double型。系統(tǒng)將float型數(shù)據(jù)都先轉(zhuǎn)換為double型,然后進(jìn)行運算(2) 如果int型與float或double型數(shù)據(jù)進(jìn)行運算,先把int型和float型數(shù)據(jù)轉(zhuǎn)換為double型,然后進(jìn)行運算,結(jié)果是double型(3)字符型數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運算,就是把字符的ASCII代碼與整型數(shù)據(jù)進(jìn)行運算材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.7 運算符和表達(dá)式運算符和表達(dá)式 例例3.33.3 給定一個大寫字母,要求

23、用小寫字母輸出。解題思路:解題思路:u關(guān)鍵是關(guān)鍵是找到大找到大、小寫字母間小寫字母間的的內(nèi)在聯(lián)系內(nèi)在聯(lián)系u同一個字母,用小寫表示的字符的同一個字母,用小寫表示的字符的ASCII代代碼比用大寫表示的字符的碼比用大寫表示的字符的ASCII代碼大代碼大32材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.7 運算符和表達(dá)式運算符和表達(dá)式#include int main ( ) char c1,c2; c1=A; c2=c1+32; printf(%cn,c2); printf(”%dn”,c2); return 0;將字符將字符A的的ASCII代碼代碼65放到放到c1中中將將65

24、+32的的結(jié)果結(jié)果放到放到c2中中用字符形式輸出用字符形式輸出用十進(jìn)制形式輸出用十進(jìn)制形式輸出材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.7 運算符和表達(dá)式運算符和表達(dá)式5. 強(qiáng)制類型轉(zhuǎn)換運算符強(qiáng)制類型轉(zhuǎn)換運算符v強(qiáng)制類型轉(zhuǎn)換運算符的一般形式為 (類型名)(表達(dá)式)(double)a (將轉(zhuǎn)換成double類型)(int) (x+y) (將x+y的值轉(zhuǎn)換成int型) (float)(5%3)(將5%3的值轉(zhuǎn)換成float型)v有兩種類型轉(zhuǎn)換系統(tǒng)自動進(jìn)行的類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.2.7 運算符和表達(dá)式運算符和表達(dá)

25、式6.運算符運算符(1) 算術(shù)運算符 (+ - * / % + -)(2) 關(guān)系運算符 ( ?。?3) 邏輯運算符 (! |)(4) 位運算符 ( | )(5) 賦值運算符 (及其擴(kuò)展賦值運算符)(6) 條件運算符 (?:)(7) 逗號運算符 (,)(8) 指針運算符 (*和)(9) 求字節(jié)數(shù)運算符 (sizeof)(10) 強(qiáng)制類型轉(zhuǎn)換運算符 ( (類型) )(11) 成員運算符 (.-)(12) 下標(biāo)運算符 ( )(13) 其他 (如函數(shù)調(diào)用運算符()材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.3 C語句語句3.3.1 C語句的作用和分類3.3.2 最基本的語句-賦值語

26、句材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page403.3 C語句語句vC C程序結(jié)構(gòu)程序結(jié)構(gòu):C程序源程序文件1源程序文件2源程序文件n預(yù)處理命令函數(shù)n函數(shù)1數(shù)據(jù)聲明函數(shù)首部函數(shù)體執(zhí)行語句數(shù)據(jù)聲明一個一個C C程序可以有若干個源程序文件組成程序可以有若干個源程序文件組成一個源文件可以有若干個函數(shù)和預(yù)處理一個源文件可以有若干個函數(shù)和預(yù)處理命令以及全局變量聲明部分組成命令以及全局變量聲明部分組成函數(shù)體由數(shù)據(jù)聲明函數(shù)體由數(shù)據(jù)聲明和執(zhí)行語句組成和執(zhí)行語句組成控制語句控制語句函數(shù)調(diào)用語句函數(shù)調(diào)用語句表達(dá)式語句表達(dá)式語句空語句空語句復(fù)合語句復(fù)合語句一個函數(shù)有函數(shù)首部和函數(shù)體組成一個

27、函數(shù)有函數(shù)首部和函數(shù)體組成材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page413.3 C語句語句vC C語句類型:語句類型:C C語言數(shù)據(jù)語言數(shù)據(jù)操作語句操作語句簡單語句簡單語句表達(dá)式語句表達(dá)式語句( (表達(dá)式;表達(dá)式;) )函數(shù)調(diào)用語句函數(shù)調(diào)用語句( (函數(shù)名函數(shù)名( (參數(shù)表參數(shù)表)空語句空語句(:)(:)復(fù)合語句復(fù)合語句( (一條或多條語句一條或多條語句) )流程流程控制語句控制語句結(jié)構(gòu)化語句結(jié)構(gòu)化語句非結(jié)構(gòu)化語句非結(jié)構(gòu)化語句條件語句條件語句( (ifif語句語句, ,switchswitch語句語句) )循環(huán)語句循環(huán)語句whilewhile語句語句dodowhile

28、while語句語句forfor語句語句限定轉(zhuǎn)向語句限定轉(zhuǎn)向語句非限定轉(zhuǎn)向語句非限定轉(zhuǎn)向語句( (gotogoto語句語句) )breakbreak語句語句continuecontinue語句語句returnreturn語句語句printf(“This is a C statement.”);a=3; ; 注注:作流程的轉(zhuǎn)向點;作流程的轉(zhuǎn)向點; 作為循環(huán)語句中的循環(huán)體。作為循環(huán)語句中的循環(huán)體。材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.3.2 最基本的語句最基本的語句-賦值語句賦值語句v在C程序中,最常用的語句是:賦值語句輸入輸出語句v其中最基本的是賦值語句材料與能源學(xué)院20

29、22-5-3C C語言程序設(shè)計語言程序設(shè)計Page433.3.2 最基本的語句最基本的語句-賦值語句賦值語句例 輸入三角形的三邊長,求三角形面積。假設(shè):三個邊長a,b,c能構(gòu)成三角形。已知面積公式:輸入三邊長計算s計算面積開始結(jié)束#include#includevoid main() float a,b,c,s,area; scanf(“%f,%f,%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(“a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2fn”,a,b,c

30、,s); printf(“area=%7.2fn”,area);數(shù)學(xué)函數(shù)庫,因為要用到其中的sqrt函數(shù))()(csbsassarea)(21cbasv運行結(jié)果運行結(jié)果:輸入三個邊長,按Enter鍵格式化輸出三個邊長和三角形面積材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page443.3.2 最基本的語句最基本的語句-賦值語句賦值語句v歸納總結(jié)歸納總結(jié):賦值運算符賦值運算符賦值符號“= =”就是賦值運算符,它的作用是將一個數(shù)據(jù)賦給一個變量。如“a=3”的作用是執(zhí)行一次賦值操作(或稱賦值運算),把常量3賦給變量a。也可以將一個表達(dá)式的值賦給一個變量。材料與能源學(xué)院2022-5-

31、3C C語言程序設(shè)計語言程序設(shè)計2.復(fù)合的賦值運算符復(fù)合的賦值運算符在賦值符“”之前加上其他運算符,可以構(gòu)成復(fù)合的運算符 等價于 3.賦值表達(dá)式賦值表達(dá)式一般形式為: 變量 賦值運算符 表達(dá)式對賦值表達(dá)式求解的過程:求賦值運算符右側(cè)的“表達(dá)式”的值賦給賦值運算符左側(cè)的變量材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計4.賦值過程中的類型轉(zhuǎn)換賦值過程中的類型轉(zhuǎn)換兩側(cè)類型一致時,直接賦值兩側(cè)類型不一致,但都是算術(shù)類型時,自動將右側(cè)的類型轉(zhuǎn)換為左側(cè)類型后賦值定義變量時要防止數(shù)據(jù)溢出5.賦值表達(dá)式和賦值語句賦值表達(dá)式和賦值語句賦值表達(dá)式的末尾沒有分號,而賦值語句有分號一個表達(dá)式可以包含賦

32、值表達(dá)式,但決不能包含賦值語句6.變量賦初值變量賦初值int a=3,b=3,c;int a=3; 相當(dāng)于 int a; a=3;材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.4 數(shù)據(jù)的輸入輸出數(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ù)的輸入輸出材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.4.1 輸入輸出舉例輸入輸出舉例例3.5 求 方程的根。a、b、c由鍵盤輸入, 設(shè)02cbxax042 acbv解題思路:首先要知道求方程式的根的方

33、法。v由數(shù)學(xué)知識已知:如果 0,則一元二次方程有兩個實根:acb42aacbbx2421aacbbx2422abp2aacbq242若記若記qpx1qpx2材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計#include #include int main ( ) double a,b,c,disc,x1,x2,p,q; scanf(%lf%lf%lf,&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(x1=%7.2fnx2=%7.2fn

34、,x1,x2); return 0;程序中程序中調(diào)用數(shù)學(xué)函數(shù)調(diào)用數(shù)學(xué)函數(shù)sqrt輸入輸入a,b,c的值的值材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page503.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念v(一一)所謂輸入輸出是以計算機(jī)主機(jī)為主體而言的。所謂輸入輸出是以計算機(jī)主機(jī)為主體而言的。輸出:從計算機(jī)向外部輸出設(shè)備(顯示器,打印機(jī))輸出數(shù)據(jù);輸入:從輸入設(shè)備(鍵盤,鼠標(biāo),掃描儀)向計算機(jī)輸入數(shù)據(jù)。v(二二)C語言本身不提供輸入輸出語句語言本身不提供輸入輸出語句,輸入和輸出操作輸入和輸出操作是由是由C函數(shù)庫中的函數(shù)來實現(xiàn)的。函數(shù)庫中的函數(shù)來實現(xiàn)的。例如: 字符

35、輸入函數(shù) getchar 字符輸出函數(shù) putchar 格式輸入函數(shù) scanf 格式輸出函數(shù) printf 字符串輸入函數(shù) gets 字?jǐn)?shù)穿輸出函數(shù) putsv(三三)在使用系統(tǒng)庫函數(shù)時在使用系統(tǒng)庫函數(shù)時,要用預(yù)編譯命令要用預(yù)編譯命令“#include”將有關(guān)的將有關(guān)的“頭文件頭文件”包括到用戶源文件中。包括到用戶源文件中。例如: #include 或 #include “stdio.h”材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)v在C程序中用來實現(xiàn)輸出和輸入的,主要是printf函數(shù)和scanf函數(shù)這兩個函數(shù)是格式輸入輸

36、出函數(shù)用這兩個函數(shù)時,必須指定格式材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page523.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)vprintf函數(shù)函數(shù)一般格式一般格式:printf(格式控制格式控制,輸出表列輸出表列)函數(shù)作用函數(shù)作用:向終端(或系統(tǒng)隱含指定的輸出設(shè)備)輸出若干個任意類型的數(shù)據(jù)。格式說明格式說明和普通字符普通字符例例:printf(“The results were %d, %dn”,max,min);附加格式說明字符:附加格式說明字符:l: 用于長整型整數(shù),可加在格式符d,o,x,u前面。m(代表一正整數(shù)): 數(shù)據(jù)最小寬度n(代表一正整數(shù)): 對

37、實數(shù),表示輸出n位小數(shù); 對字符串,表示截取的字符個數(shù)。-: 輸出的數(shù)字或字符在域內(nèi)向左靠。%d%d( (帶符號十進(jìn)制整數(shù)帶符號十進(jìn)制整數(shù)) )、%o%o( (無符號八進(jìn)制整數(shù)無符號八進(jìn)制整數(shù)) )、%x%x( (無符號十六進(jìn)制整數(shù)無符號十六進(jìn)制整數(shù)) )、%u%u( (無符號十進(jìn)制整數(shù)無符號十進(jìn)制整數(shù)) )、%c%c( (字符字符) )、%s%s( (字符串字符串) )、%f%f( (單,雙精度數(shù)單,雙精度數(shù)) )、%e%e( (指數(shù)形式實數(shù)指數(shù)形式實數(shù)) )、%g%g( (用用%f%f或或%e%e寬度較短的寬度較短的) )。材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Pag

38、e533.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)v d格式符格式符。用來輸出十進(jìn)制整數(shù) 幾種用法:幾種用法:%d:按十進(jìn)制整型數(shù)據(jù)的實際長度輸出。%md:m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實際位數(shù)輸出。 %ld:輸出長整型數(shù)據(jù)。#include void main() int a=123,b=12345; printf(%4d,%4dn,a,b); long c=123456; printf(%ldn,c);/* 定義c為長整型變量*/* 定義a、b為整型變量*/輸出a、b,限定字段寬度為4輸出c,指定格式為長整型材料與能源學(xué)院2022-5

39、-3C C語言程序設(shè)計語言程序設(shè)計Page543.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)v格式符格式符。用來以小數(shù)形式輸出實數(shù)(包括單雙精度)幾種用法:幾種用法:%f。不指定字段寬度,由系統(tǒng)自動指定字段寬度,使整數(shù)部分全部輸出,并輸出位小數(shù)。注意注意:在輸出的數(shù)字中并非全部數(shù)字都是有效數(shù)字。單精度實數(shù)的有效位數(shù)單精度實數(shù)的有效位數(shù)一般為位。一般為位。#include void main()float a,b; a=111111.111; b=222222.222; printf(%f,a+b); double x,y; x=1111111111111.111111111; y=222

40、2222222222.222222222; printf(%f,x+y);輸出單精度(a+b),7位有效數(shù)字輸出雙精度(x+y),16位有效位數(shù),6位小數(shù)材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page553.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)%m.nf。指定輸出的數(shù)據(jù)共占列,其中有位小數(shù)。如果數(shù)值長度小于,則左端補(bǔ)空格。%-m.nf與%m.nf基本相同,只是使輸出的數(shù)值向左端靠,右端補(bǔ)空格。#include void main() float f=123.456; printf(%f %10f %10.2f %-10.2f %.2fn,f,f,f,f,f);

41、注意注意:浮點型數(shù)據(jù)的存儲誤差材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page56字符說明d(或i)以帶符號的十進(jìn)制形式輸出整數(shù),不輸出(+)號o以八進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符數(shù)字0)x(或X)以十六進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0 x)u以無符號十進(jìn)制形式輸出整數(shù)c輸出一個字符s輸出字符串f以小數(shù)形式輸出單、雙精度數(shù),隱含輸出6位小數(shù)e(或E)以指數(shù)形式輸出單、雙精度數(shù),小數(shù)位數(shù)為6位g(或G)由給定的值和精度自動選用%f或%e或%E格式3.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)vprintf格式字符格式字符!字母o材料與能源學(xué)院2022-5-3

42、C C語言程序設(shè)計語言程序設(shè)計Page573.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)v格式說明的形式:格式說明的形式:%flagswidth.precltype方括號表示該方括號表示該項可有可無。項可有可無。“-” 輸出的數(shù)字或字輸出的數(shù)字或字符在域內(nèi)向左靠。符在域內(nèi)向左靠?!皀”輸出精度指示符(十進(jìn)制整數(shù)):輸出精度指示符(十進(jìn)制整數(shù)):對實數(shù),表示輸出小數(shù)位數(shù);對實數(shù),表示輸出小數(shù)位數(shù);對字符串,表示截取的字符個數(shù)。對字符串,表示截取的字符個數(shù)?!發(fā)”用于長整型整數(shù),可加在用于長整型整數(shù),可加在格式符格式符d,o,x,u前面。前面。格式字符,用來格式字符,用來進(jìn)行格式轉(zhuǎn)換。進(jìn)行格

43、式轉(zhuǎn)換。“m”十進(jìn)制整數(shù),指定輸出寬度。十進(jìn)制整數(shù),指定輸出寬度。指定寬度指定寬度實際寬度,補(bǔ)空格。實際寬度,補(bǔ)空格。指定寬度指定寬度實際寬度,按實際輸出。實際寬度,按實際輸出。不指定寬度,按實際輸出。不指定寬度,按實際輸出。材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page583.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)例 無符號數(shù)據(jù)的輸出。運行結(jié)果運行結(jié)果:#includevoid main() unsigned int a=65535;int b=-2; printf(“a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%

44、un”,b,b,b,b);依次輸出:依次輸出:帶符號十進(jìn)制整數(shù),帶符號十進(jìn)制整數(shù),無符號八進(jìn)制整數(shù),無符號八進(jìn)制整數(shù),無符號十六進(jìn)制整數(shù),無符號十六進(jìn)制整數(shù),無符號十進(jìn)制整數(shù)無符號十進(jìn)制整數(shù)負(fù)數(shù)的存儲與表示形式材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page593.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)例 字符和字符串的輸出。運行結(jié)果運行結(jié)果:#includevoid main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i); printf(“%3s,%7.2s,%-5.3s,%.4sn”, “CHINA”, “CHINA”, “CHINA”, “CHINA”);字符數(shù)據(jù)的輸出字符串的輸出輸出一個字符和一個整數(shù)輸出一個字符和一個整數(shù)輸出格式化字符串輸出格式化字符串材料與能源學(xué)院2022-5-3C C語言程序設(shè)計語言程序設(shè)計Page603.4.3 用用printf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)v使用printf函數(shù)說明:除了X,E,G外,其他格式字符必須用小寫??梢栽趐rintf函數(shù)中的“格式控制”字符串中包含轉(zhuǎn)義字符。一個格式說明必須以“%”開

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論