最簡單的C程序設(shè)計(jì)——順序程序設(shè)計(jì)_第1頁
最簡單的C程序設(shè)計(jì)——順序程序設(shè)計(jì)_第2頁
最簡單的C程序設(shè)計(jì)——順序程序設(shè)計(jì)_第3頁
最簡單的C程序設(shè)計(jì)——順序程序設(shè)計(jì)_第4頁
最簡單的C程序設(shè)計(jì)——順序程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩90頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、聊城大學(xué)數(shù)學(xué)科學(xué)學(xué)院聊城大學(xué)數(shù)學(xué)科學(xué)學(xué)院 鄭紅霞鄭紅霞最簡單的最簡單的C C程序設(shè)計(jì)程序設(shè)計(jì)順序程序設(shè)計(jì)順序程序設(shè)計(jì)第第3 3章章 最簡單的最簡單的C C程序設(shè)計(jì)程序設(shè)計(jì)v3.1 3.1 順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例v3.2 3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算v3.3 C3.3 C語句語句v3.4 3.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出3.13.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例v例例3.1 3.1 有人用溫度計(jì)測量出用華氏法表示的溫度有人用溫度計(jì)測量出用華氏法表示的溫度( (如如 F F,今要求把它轉(zhuǎn)換為以攝氏法表示的溫度今要求把它轉(zhuǎn)換為以攝氏法表示的溫度( (如如 C)

2、 C) 。v解題思路:找到二者間的轉(zhuǎn)換公式解題思路:找到二者間的轉(zhuǎn)換公式vf f代表華氏溫度代表華氏溫度,c c代表攝氏溫度代表攝氏溫度)32(95fc3.13.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例v算法:算法:輸入輸入f f的值的值輸出輸出c c的值的值)32(95fcN-S圖圖3.13.1順序程序設(shè)計(jì)舉例順序程序設(shè)計(jì)舉例v#include stdio.h#include vintint main ( ) main ( )v v float f,c float f,c; ; /定義定義f f和和c c為單精度浮點(diǎn)型變量為單精度浮點(diǎn)型變量v f=64.0; f=64.0; /指定指定f f的值的

3、值v c=(5.0/9) c=(5.0/9)* *(f-32); (f-32); /計(jì)算計(jì)算c c的值的值v printf(f=%fnc=%fn,f,c printf(f=%fnc=%fn,f,c); ); /輸出輸出f f和和c c的的值值v return 0; return 0;v )32(95f變量變量常量常量3.2 3.2 數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算數(shù)據(jù)的表現(xiàn)形式及其運(yùn)算v3.2.1 3.2.1 常量和變量常量和變量v3.2.2 3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型v3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)v3.2.4 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)v3.2.5 3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)

4、v3.2.6 3.2.6 怎樣確定常量的類型怎樣確定常量的類型v3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式3.2.1 3.2.1 常量和變量常量和變量v1.1.常量常量:在程序運(yùn)行過程中,其值不能被改變的量在程序運(yùn)行過程中,其值不能被改變的量v整型常量整型常量:如如10001000,1234512345,0 0,-345-345v實(shí)型常量實(shí)型常量: 十進(jìn)制小數(shù)形式十進(jìn)制小數(shù)形式:如如0.34 -56.79 0.00.34 -56.79 0.0 指數(shù)形式指數(shù)形式:如如12.34e3 (12.34e3 (代表代表12.3412.34 103)103) 注意:字母注意:字母e(e(或或E)

5、E)之前必須有數(shù)字,且之前必須有數(shù)字,且e e后面的指數(shù)后面的指數(shù)必須為整數(shù)必須為整數(shù)1e3 1.8e-3 -123e-6 -.1e-31e3 1.8e-3 -123e-6 -.1e-3e3 2.1e3.5 .e3 e e3 2.1e3.5 .e3 e 3.2.1 3.2.1 常量和變量常量和變量v 字符常量字符常量:如:如? 普通字符,使用單撇號括起來普通字符,使用單撇號括起來aa,bb等。等。 轉(zhuǎn)義字符轉(zhuǎn)義字符:以:以 開頭的一些特殊字符,開頭的一些特殊字符, n n 換行當(dāng)前位置移到下一行開頭換行當(dāng)前位置移到下一行開頭 t t 橫橫向跳格向跳格 r r 回回車車, ,當(dāng)前位置移到本行開頭

6、當(dāng)前位置移到本行開頭 反反斜杠斜杠 dddddd dddddd表示表示1 1到到3 3位位八八進(jìn)制數(shù)字,如進(jìn)制數(shù)字,如101101代表代表ASCIIASCII碼為八進(jìn)制碼為八進(jìn)制101101的字符的字符 AA(十進(jìn)制(十進(jìn)制6565) xhhxhh hhhh表示表示1 1到到2 2位位十六十六進(jìn)制數(shù)字,進(jìn)制數(shù)字,x41x41也代表也代表ASCIIASCII碼為十六進(jìn)制碼為十六進(jìn)制4141的字符的字符A A (十進(jìn)制(十進(jìn)制6565) 其余詳見其余詳見P40P40頁表頁表3.13.13.2.1 3.2.1 常量和變量常量和變量v 字符串常量字符串常量:如如”boy”boy”,雙撇號作為字符串的定

7、界符,但是不,雙撇號作為字符串的定界符,但是不屬于字符串。屬于字符串。v 符號常量符號常量: #define PI 3.1415926535897#define PI 3.1415926535897 #include stdio.h#include intint main ( ) main ( ) double area, girth,radiusdouble area, girth,radius; ;printf(inputprintf(input radius:); radius:);scanf(%lf,&radiusscanf(%lf,&radius););area=PI

8、area=PI* *radiusradius* *radiusradius; ; /圓的面積圓的面積girth=2girth=2* *PIPI* *radius; radius; /圓的周長圓的周長printf(area=%fngirth=%fn,area,girthprintf(area=%fngirth=%fn,area,girth);); return 0;return 0; 使用符號常量的好處:使用符號常量的好處:含義清楚:含義清楚:#define PI 3.1415926便于修改,一次修改,全部改變。便于修改,一次修改,全部改變。3.2.1 3.2.1 常量和變量常量和變量v2. 2

9、. 變量變量:在程序運(yùn)行期間,值可以改變的稱為在程序運(yùn)行期間,值可以改變的稱為變量變量 變量必須先定義,后使用。變量必須先定義,后使用。保證名稱正確保證名稱正確編譯時分配相應(yīng)的存儲空間編譯時分配相應(yīng)的存儲空間編譯時檢查相應(yīng)運(yùn)算是否合法編譯時檢查相應(yīng)運(yùn)算是否合法 定義定義變量變量時指定該變量的名字和類型時指定該變量的名字和類型區(qū)分大小寫區(qū)分大小寫。A A和和a a是不同的變量名是不同的變量名建議變量名的長度最好不要超過建議變量名的長度最好不要超過8 8個字符。個字符。在選擇變量名和其它標(biāo)識符時,應(yīng)注意做到在選擇變量名和其它標(biāo)識符時,應(yīng)注意做到“見見名知意名知意”,即選有含意的英文單詞,即選有含意

10、的英文單詞 (或其縮寫)(或其縮寫)作標(biāo)識符。作標(biāo)識符。變量命名的規(guī)定:語言規(guī)定標(biāo)識符只能由變量命名的規(guī)定:語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線字母、數(shù)字和下劃線三種字符組成,且三種字符組成,且第一個字符必須為字母或下劃線第一個字符必須為字母或下劃線。例:例:sum _total month Student_name lotus_1_2_3 BASIC li_ling (正確的命名方法)(正確的命名方法) M.D.John ¥123 3D64 ab (錯誤的命名方法)(錯誤的命名方法)3.2.1 3.2.1 常量和變量常量和變量v2.2.變量變量 代表內(nèi)存中具有特定屬性的一個代表內(nèi)存中具有特

11、定屬性的一個存儲單元存儲單元,用來存放數(shù)據(jù)(即變量的值);用來存放數(shù)據(jù)(即變量的值); 變量的值變量的值在程序運(yùn)行期間,可以改變;在程序運(yùn)行期間,可以改變; 變量名變量名 以名字對應(yīng)代表一個地址,在程序編譯連接以名字對應(yīng)代表一個地址,在程序編譯連接時由編譯系統(tǒng)給每一個變量名分配對應(yīng)的內(nèi)存地址;時由編譯系統(tǒng)給每一個變量名分配對應(yīng)的內(nèi)存地址; 從變量中取值從變量中取值通過變量名找到相應(yīng)的內(nèi)存地址,從通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)。該存儲單元中讀取數(shù)據(jù)。 如右圖所示:如右圖所示:3a變量名變量名變量值變量值存儲單元存儲單元3.2.1 3.2.1 常量和變量常量和變量v3.3.常

12、變量常變量:程序運(yùn)行過程中不允許值改變的變量。和:程序運(yùn)行過程中不允許值改變的變量。和符號常量有區(qū)別。符號常量有區(qū)別。const intconst int a=3; a=3;v4.4.標(biāo)識符標(biāo)識符:對變量、符號常量、函數(shù)、數(shù)組、自定義:對變量、符號常量、函數(shù)、數(shù)組、自定義類型等類型等的命名。的命名。 語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線語言規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線3 3種字種字符組成,且第一個字符必須為字母或下劃線符組成,且第一個字符必須為字母或下劃線 合法的標(biāo)識符:合法的標(biāo)識符:如如sumsum,average, _total, Class, average, _total, C

13、lass, day, BASIC, li_lingday, BASIC, li_ling 不合法的標(biāo)識符不合法的標(biāo)識符:M.D.JohnM.D.John,¥,¥123123,3333,3D643D64,a ab b3.2.2 3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型v所謂類型,就是對數(shù)據(jù)分配存儲單元的安排,包括存所謂類型,就是對數(shù)據(jù)分配存儲單元的安排,包括存儲單元的長度儲單元的長度( (占多少字節(jié)占多少字節(jié)) )以及數(shù)據(jù)的存儲形式。以及數(shù)據(jù)的存儲形式。v不同的類型分配不同的長度和存儲形式。不同的類型分配不同的長度和存儲形式。vC C語言中允許的數(shù)據(jù)類型詳見下圖語言中允許的數(shù)據(jù)類型詳見下圖3.2.2 3.2

14、.2 數(shù)據(jù)類型數(shù)據(jù)類型3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)v1. 1. 整型數(shù)據(jù)的分類,最基本的整型類型有整型數(shù)據(jù)的分類,最基本的整型類型有: 基本整型基本整型(int(int型型) ):占:占2 2個或個或4 4個字節(jié)個字節(jié) 短整型短整型(short int(short int) ):VC+6.0VC+6.0中占中占2 2個字節(jié)個字節(jié) 長整型長整型(long int(long int) ):VC+6.0VC+6.0中占中占4 4個字節(jié)個字節(jié) 雙長整型雙長整型(long long int(long long int) ):C99C99新增的新增的3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)v整

15、型數(shù)據(jù)在內(nèi)存中的存放形式整型數(shù)據(jù)在內(nèi)存中的存放形式 數(shù)據(jù)在內(nèi)存中是以數(shù)據(jù)在內(nèi)存中是以二進(jìn)制二進(jìn)制形式存放的。形式存放的。如如: int: int i; i; / /* * 定義為整型變量定義為整型變量 * */ /i=10; i=10; / /* * 給給i i賦以整數(shù)賦以整數(shù)10 10 * */ / 注意:注意:十進(jìn)制數(shù)十進(jìn)制數(shù)1010的二進(jìn)制形式為的二進(jìn)制形式為10101010,Turbo C 2.0Turbo C 2.0和和Turbo C+ 3.0Turbo C+ 3.0為一個整型變量在內(nèi)存中分配為一個整型變量在內(nèi)存中分配2 2個字節(jié)的存儲單元個字節(jié)的存儲單元( (不同的編譯系統(tǒng)為整型數(shù)

16、據(jù)不同的編譯系統(tǒng)為整型數(shù)據(jù)分配的字節(jié)數(shù)是不相同的分配的字節(jié)數(shù)是不相同的,VC+ 6.0VC+ 6.0則分配則分配4 4個個字節(jié))。字節(jié))。數(shù)值是以數(shù)值是以補(bǔ)碼補(bǔ)碼(complement) (complement) 表示的。表示的。3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)vi=10i=10 原碼:原碼:00000000,00000000,00000000,10101010 補(bǔ)碼:補(bǔ)碼:00000000,00000000,00000000,10101010vi=-10 i=-10 其補(bǔ)碼為絕對值取反加其補(bǔ)碼為絕對值取反加1 1(二進(jìn)制)(二進(jìn)制)絕對值的原碼:絕對值的原碼:00000000,000

17、00000,00000000,10101010取反:取反: 11111111,11111111,11111111,01010101加加1 1: 11111111,11111111,11111111,01100110補(bǔ)碼:補(bǔ)碼: 11111111,11111111,11111111,011001103.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)v 2. 2. 整型變量的符號屬性整型變量的符號屬性 整型變量的值的范圍包括負(fù)數(shù)到正數(shù)整型變量的值的范圍包括負(fù)數(shù)到正數(shù) 可以將變量定義為可以將變量定義為“無符號無符號”類型類型 擴(kuò)充的整形類型:擴(kuò)充的整形類型: 有符號基本整型有符號基本整型 signed int

18、signed int; ; 無符號基本整型無符號基本整型 unsigned int unsigned int; ; 有符號短整型有符號短整型 signed short int signed short int; 無符號短整型無符號短整型 unsigned short int unsigned short int; 有符號長整型有符號長整型 signed long int signed long int; 無符號長整型無符號長整型 unsigned long int unsigned long int; 有符號雙長整型有符號雙長整型 signed long long int signed lon

19、g long int; ; 無符號雙長整型無符號雙長整型 unsigned long long int unsigned long long int;3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)v int i,j;v unsigned int ui,uj;v i=1 0000,0000,0000,0001v ui=10000,0000,0000,00011111,1111,1111,11101111,1111,1111,1111 -1的補(bǔ)碼的補(bǔ)碼v j=-11111,1111,1111,0110 代表代表 -1v uj=-11111,1111,1111,0110 代表代表 65535v 有符號整數(shù)

20、:有符號整數(shù):v 無符號整數(shù):無符號整數(shù):0(正)(正)/ 1(負(fù))(負(fù))數(shù)據(jù)位數(shù)據(jù)位整型變量的定義(聲明):規(guī)定在程序中所整型變量的定義(聲明):規(guī)定在程序中所用到的變量都必須在程序中定義,即用到的變量都必須在程序中定義,即“強(qiáng)制類型強(qiáng)制類型定義定義”。3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)v大家可以考慮一下:大家可以考慮一下: 10001000,00000000,00000000,00000000 代表的是哪個數(shù)?代表的是哪個數(shù)?3.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)v不同整型變量的取值范圍詳見表不同整型變量的取值范圍詳見表3.23.2v一般系統(tǒng)對不同整數(shù)類型的存儲長度定義如下:一般系

21、統(tǒng)對不同整數(shù)類型的存儲長度定義如下:shortshort型不大于型不大于intint,longlong不小于不小于intint。雙長整型雙長整型 long longlong long8 8字節(jié)字節(jié)雙長整型雙長整型 long long long long8 8字節(jié)字節(jié)223.2.3 3.2.3 整型數(shù)據(jù)整型數(shù)據(jù)v例例3.3 3.3 整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出#include stdio.h#include intint main() main() intint a,b; a,b; a=32767;a=32767; b=a+1;b=a+1;printf(“%d,%dn”,printf(“%d,%

22、dn”,a,ba,b);); return 0;return 0; 運(yùn)行結(jié)果:運(yùn)行結(jié)果: 32767,-32767,-3276832768v說明:說明: 數(shù)值是以補(bǔ)碼表示的。數(shù)值是以補(bǔ)碼表示的。 一個整型變量只能容一個整型變量只能容納納-32768-327683276732767范圍范圍內(nèi)的數(shù),無法表示大內(nèi)的數(shù),無法表示大于于3276732767或小于或小于-32768-32768的數(shù)。遇此情況就發(fā)的數(shù)。遇此情況就發(fā)生生“溢出溢出”。3276701111111 1111111 132767+110000000 0000000 0減減101111111 1111111 1取反取反32768100

23、00000 0000000 0(-32768)21474836472147483647,- 21474836473.2.4 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)v字符是按其代碼字符是按其代碼( (整數(shù)整數(shù)) )形式存儲的。形式存儲的。vC99C99把字符型數(shù)據(jù)作為整數(shù)類型的一種。把字符型數(shù)據(jù)作為整數(shù)類型的一種。v字符型數(shù)據(jù)在使用上有自己的特點(diǎn)。字符型數(shù)據(jù)在使用上有自己的特點(diǎn)。3.2.4 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)v1.1.字符與字符代碼字符與字符代碼v大多數(shù)系統(tǒng)采用大多數(shù)系統(tǒng)采用ASCIIASCII字符集字符集 字母:字母:A ZA Z,a za z 數(shù)字:數(shù)字:0 09 9 專門符號:專門

24、符號:2929個:個:! ” # & ( ) ! ” # & ( ) * *等等 空格符:空格、水平制表符、換行空格符:空格、水平制表符、換行等等 不能顯示的字符:空不能顯示的字符:空(null)(null)字符字符( (以以00表示表示) )、警告警告( (以以aa表示表示) )、退格、退格( (以以bb表示表示) )、回車、回車( (以以rr表示表示) )等等3.2.4 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)v字符字符11和整數(shù)和整數(shù)1 1是不同的概念是不同的概念: 字符字符11只是代表一個形狀為只是代表一個形狀為11的符號,在需的符號,在需要時按原樣輸出,在內(nèi)存中以要時按原樣輸

25、出,在內(nèi)存中以ASCIIASCII碼形式存儲,占碼形式存儲,占1 1個字節(jié)個字節(jié) 整數(shù)整數(shù)1 1是以整數(shù)存儲方式是以整數(shù)存儲方式( (二進(jìn)制補(bǔ)碼方式二進(jìn)制補(bǔ)碼方式) )存儲的,存儲的,占占2 2個或個或4 4個字節(jié)個字節(jié)0 0 1 1 0 0 0 1 0 0 0 0 0 0 0 00 0 0 0 0 0 0 13.2.4 3.2.4 字符型數(shù)據(jù)字符型數(shù)據(jù)v2.2.字符變量字符變量 用類型符用類型符charchar定義字符變量定義字符變量 char c = ?; char c = ?;系統(tǒng)把系統(tǒng)把“?”“?”的的ASCIIASCII代碼代碼6363賦給變量賦給變量c c 輸出時使用輸出時使用“%

26、c”%c”對字符型對字符型 進(jìn)行輸出,也可以對字進(jìn)行輸出,也可以對字符型變量按照符型變量按照“%d”%d”格式輸出。格式輸出。printf(”%d %cn”,c,cprintf(”%d %cn”,c,c););輸出結(jié)果是:輸出結(jié)果是: 63 ? 63 ?3.2.5 3.2.5 浮點(diǎn)型數(shù)據(jù)浮點(diǎn)型數(shù)據(jù)v 浮點(diǎn)型數(shù)據(jù)是用來表示具有小數(shù)點(diǎn)的實(shí)數(shù)浮點(diǎn)型數(shù)據(jù)是用來表示具有小數(shù)點(diǎn)的實(shí)數(shù)v floatfloat型型( (單精度浮點(diǎn)型單精度浮點(diǎn)型) ) 編譯系統(tǒng)為編譯系統(tǒng)為floatfloat型變量分配型變量分配4 4個字節(jié)個字節(jié) 數(shù)值以規(guī)范化的二進(jìn)制數(shù)指數(shù)形式存放,數(shù)值以規(guī)范化的二進(jìn)制數(shù)指數(shù)形式存放,6 6位

27、有效數(shù)字位有效數(shù)字v doubledouble型型( (雙精度浮點(diǎn)型雙精度浮點(diǎn)型) ) 編譯系統(tǒng)為編譯系統(tǒng)為doubledouble型變量分配型變量分配8 8個字節(jié)個字節(jié) 1515位有效數(shù)字位有效數(shù)字v long doublelong double( (長雙精度長雙精度) )型型 8 8個字節(jié),與個字節(jié),與doubledouble一樣(不同的編譯系統(tǒng)不同的分配方式)一樣(不同的編譯系統(tǒng)不同的分配方式)+ +.314159.3141591 1#include int main()float a,b; a = 123456.789e5; b = a + 20 ; printf(“%fn”,b);r

28、eturn 0; 應(yīng)當(dāng)避免將一個很大的應(yīng)當(dāng)避免將一個很大的數(shù)和一個很小的數(shù)直接數(shù)和一個很小的數(shù)直接相加或相減,否則就會相加或相減,否則就會“丟失丟失”小的數(shù)小的數(shù)3.2.6 3.2.6 怎樣確定常量的類型怎樣確定常量的類型v字符常量字符常量:由單撇號括起來的單個字符或轉(zhuǎn)義字符,由單撇號括起來的單個字符或轉(zhuǎn)義字符,如:如:bb,nnv浮點(diǎn)型常量浮點(diǎn)型常量:凡以小數(shù)形式或指數(shù)形式出現(xiàn)的實(shí)數(shù)凡以小數(shù)形式或指數(shù)形式出現(xiàn)的實(shí)數(shù),C C編譯系統(tǒng)把浮點(diǎn)型常量都按雙精度處理編譯系統(tǒng)把浮點(diǎn)型常量都按雙精度處理,分配分配8 8個字節(jié)個字節(jié)3.2.6 3.2.6 怎樣確定常量的類型怎樣確定常量的類型v整型常量整型常

29、量:不帶小數(shù)點(diǎn)的數(shù)值不帶小數(shù)點(diǎn)的數(shù)值 系統(tǒng)根據(jù)數(shù)值的大小確定系統(tǒng)根據(jù)數(shù)值的大小確定intint型型還是還是longlong型型等。等。 系統(tǒng)根據(jù)系統(tǒng)根據(jù)后綴后綴決定是何種決定是何種存儲形式存儲形式的整數(shù):的整數(shù):12345u12345u: unsigned intunsigned int型常量,整常量后面加型常量,整常量后面加字母字母u u或或U U,在內(nèi)存中按,在內(nèi)存中按unsigned intunsigned int規(guī)定的方式規(guī)定的方式存放。存放。12345l12345l: long intlong int型常量,整常量后面加字母型常量,整常量后面加字母 l l 或或 L L。3.2.6

30、3.2.6 怎樣確定常量的類型怎樣確定常量的類型 系統(tǒng)根據(jù)系統(tǒng)根據(jù)前綴前綴決定是何種決定是何種進(jìn)制進(jìn)制的整數(shù)。的整數(shù)。十進(jìn)制整數(shù)。如:十進(jìn)制整數(shù)。如:123, -456,4123, -456,4。八進(jìn)制整數(shù)。以八進(jìn)制整數(shù)。以0 0頭的數(shù)是八進(jìn)制數(shù)。如:頭的數(shù)是八進(jìn)制數(shù)。如:01230123表示八進(jìn)制數(shù)表示八進(jìn)制數(shù)123123,等于十進(jìn)制數(shù),等于十進(jìn)制數(shù)83,83,-011-011表示八進(jìn)制數(shù)表示八進(jìn)制數(shù)-11-11,即十進(jìn)制數(shù),即十進(jìn)制數(shù)-9-9。十六進(jìn)制整數(shù)。以十六進(jìn)制整數(shù)。以0 x0 x開頭的數(shù)是開頭的數(shù)是1616進(jìn)制數(shù)。如:進(jìn)制數(shù)。如:0 x1230 x123,代表代表1616進(jìn)制數(shù)進(jìn)制

31、數(shù)123123,等于十進(jìn)制數(shù),等于十進(jìn)制數(shù) 291291。-0 x12-0 x12等于十進(jìn)制數(shù)等于十進(jìn)制數(shù)1818。3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v1.1.基本的算術(shù)運(yùn)算符基本的算術(shù)運(yùn)算符: + + :正號運(yùn)算符正號運(yùn)算符( (單目運(yùn)算符單目運(yùn)算符) ) - - :負(fù)號運(yùn)算符負(fù)號運(yùn)算符( (單目運(yùn)算符單目運(yùn)算符) ) * * :乘法運(yùn)算符乘法運(yùn)算符 / / :除法運(yùn)算符除法運(yùn)算符 % % :求余運(yùn)算符求余運(yùn)算符 + + :加法運(yùn)算符加法運(yùn)算符 - - :減法運(yùn)算符減法運(yùn)算符3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v說明說明 兩個整數(shù)相除的結(jié)果為整數(shù)兩個整數(shù)相除

32、的結(jié)果為整數(shù)5/3=15/3=1,即即舍去小數(shù)部分舍去小數(shù)部分。-5/3=-1-5/3=-1或或-2-2,即,即除數(shù)或被除數(shù)中有一個為負(fù)值,除數(shù)或被除數(shù)中有一個為負(fù)值,舍入方向不固定舍入方向不固定。VC+VC+采取采取“向零取整向零取整”的方法的方法如如5/3=15/3=1,-5/3=-1-5/3=-1,取整后向零靠攏,取整后向零靠攏 % % 運(yùn)算符要求參加運(yùn)算的運(yùn)算對象運(yùn)算符要求參加運(yùn)算的運(yùn)算對象( (即操作數(shù)即操作數(shù)) )為整為整數(shù),結(jié)果也是整數(shù)。如數(shù),結(jié)果也是整數(shù)。如8%38%3,結(jié)果為,結(jié)果為2 2。3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v2. 2. 自增、自減運(yùn)算符自增

33、、自減運(yùn)算符: 作用是使作用是使變量變量的值或減的值或減+i+i,-i-i:在使用在使用i i之前,先使之前,先使i i的值加(減)的值加(減)1 1i+i+,i-i-:在使用在使用i i之后,使之后,使i i的值加(減)的值加(減)1 1 如:如:i=3i=3,則,則j=i+;j=i+;j j的值為的值為j=+i;j=+i;j j的值為的值為34只能用于變量只能用于變量3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v3. 3. 算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級與結(jié)合性: 用算術(shù)運(yùn)算符和括號將運(yùn)算對象(也稱操作數(shù))連用算術(shù)運(yùn)算符和括號將運(yùn)算對象(也稱操作數(shù))連

34、接起來的、符合語法規(guī)則的式子,稱為算術(shù)表接起來的、符合語法規(guī)則的式子,稱為算術(shù)表達(dá)式達(dá)式。 運(yùn)算對象包括常量、變量、函數(shù)等。運(yùn)算對象包括常量、變量、函數(shù)等。 語言規(guī)定了運(yùn)算符的優(yōu)先級語言規(guī)定了運(yùn)算符的優(yōu)先級和和結(jié)合性。詳見附錄結(jié)合性。詳見附錄D D3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v4.4.不同類型數(shù)據(jù)間的混合運(yùn)算不同類型數(shù)據(jù)間的混合運(yùn)算:doublefloatlongunsignedintchar,short 高低363.7 3.7 各類數(shù)值型數(shù)據(jù)間的混合運(yùn)各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算算10+ 10+ a+ a+ 1.5 -1.5 - 8765.1234 8765.1234

35、* * b bint charint char doubledouble double doublecharcharintintintintdouble double double double double doubleintintdoubledoubledoubledoubledoubledoubledoubledoubledoubledoubledoubledoubledoubledoubledoubledouble3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式 (1) +(1) +、- -、* *、/ / 運(yùn)算的兩個數(shù)中有一個數(shù)為運(yùn)算的兩個數(shù)中有一個數(shù)為floatfloat或或d

36、oubledouble型,結(jié)果是型,結(jié)果是doubledouble型型。系統(tǒng)將系統(tǒng)將floatfloat型數(shù)據(jù)型數(shù)據(jù)都先轉(zhuǎn)換為都先轉(zhuǎn)換為doubledouble型,然后進(jìn)行運(yùn)算型,然后進(jìn)行運(yùn)算 (2) (2) 如果如果intint型與型與floatfloat或或doubledouble型數(shù)據(jù)進(jìn)行運(yùn)算,型數(shù)據(jù)進(jìn)行運(yùn)算,先把先把intint型和型和floatfloat型數(shù)據(jù)轉(zhuǎn)換為型數(shù)據(jù)轉(zhuǎn)換為doubledouble型,然后進(jìn)型,然后進(jìn)行運(yùn)算,結(jié)果是行運(yùn)算,結(jié)果是doubledouble型型 (3)(3)字符型數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運(yùn)算,就是把字符的字符型數(shù)據(jù)與整型數(shù)據(jù)進(jìn)行運(yùn)算,就是把字符的ASCIIA

37、SCII代碼與整型數(shù)據(jù)進(jìn)行運(yùn)算代碼與整型數(shù)據(jù)進(jìn)行運(yùn)算3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v不同類型數(shù)據(jù)間的混合運(yùn)算舉例不同類型數(shù)據(jù)間的混合運(yùn)算舉例 例例3.3 3.3 給定一個大寫字母,要求用小寫字母輸出。給定一個大寫字母,要求用小寫字母輸出。 解題思路:解題思路:u關(guān)鍵是關(guān)鍵是找到大找到大、小寫字母間小寫字母間的的內(nèi)在聯(lián)系內(nèi)在聯(lián)系u同一個字母,用小寫表示的字符的同一個字母,用小寫表示的字符的ASCII代碼比用大代碼比用大寫表示的字符的寫表示的字符的ASCII代碼大代碼大32uA 65ua 973.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v#include stdio.

38、h#include vintint main ( ) main ( )v v char c1,c2; char c1,c2;v c1=A; c1=A; v c2=c1+32; c2=c1+32; v printf(%cn,c2); printf(%cn,c2); v printf(”%dn”,c2); printf(”%dn”,c2); v return 0; return 0;v 將字符將字符A的的ASCII代碼代碼65放到放到c1中中將將65+32的的結(jié)果結(jié)果放到放到c2中中用字符形式輸出用字符形式輸出用十進(jìn)制形式輸出用十進(jìn)制形式輸出3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v5

39、. 5. 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的的一般形式為一般形式為 (類型名)(表達(dá)式)(類型名)(表達(dá)式)(double)a(double)a (將轉(zhuǎn)換成(將轉(zhuǎn)換成doubledouble類型)類型)(int) (x+y(int) (x+y) ) (將(將x+yx+y的值轉(zhuǎn)換成的值轉(zhuǎn)換成intint型)型) (float)(5%3)(float)(5%3)(將(將5%35%3的值轉(zhuǎn)換成的值轉(zhuǎn)換成floatfloat型)型) 有兩種類型轉(zhuǎn)換有兩種類型轉(zhuǎn)換系統(tǒng)自動進(jìn)行的類型轉(zhuǎn)換系統(tǒng)自動進(jìn)行的類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換3.2.7 3.2.7 運(yùn)算符和

40、表達(dá)式運(yùn)算符和表達(dá)式v6.6.運(yùn)算符運(yùn)算符 (1) (1) 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 + - + - * * / % + - / % + - (2) (2) 關(guān)系運(yùn)算符關(guān)系運(yùn)算符 ! (3) (3) 邏輯運(yùn)算符邏輯運(yùn)算符 ! | | (4) (4) 位運(yùn)算符位運(yùn)算符 | | (5) (5) 賦值運(yùn)算符賦值運(yùn)算符 及其擴(kuò)展賦值運(yùn)算符及其擴(kuò)展賦值運(yùn)算符 (6) (6) 條件運(yùn)算符條件運(yùn)算符 ?:?:3.2.7 3.2.7 運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式v6.6.運(yùn)算符運(yùn)算符 (7) (7) 逗號運(yùn)算符逗號運(yùn)算符 , (8) (8) 指針運(yùn)算符指針運(yùn)算符 * *和和 (9) (9) 求字節(jié)數(shù)運(yùn)算符求字節(jié)數(shù)

41、運(yùn)算符 sizeofsizeof (10) (10) 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 ( (類型類型) ) (11) (11) 成員運(yùn)算符成員運(yùn)算符 .- .- (12) (12) 下標(biāo)運(yùn)算符下標(biāo)運(yùn)算符 (13) (13) 其他其他,如如 函數(shù)調(diào)用運(yùn)算符()函數(shù)調(diào)用運(yùn)算符()3.3 C3.3 C語句語句v3.3.1 C3.3.1 C語句的作用和分類語句的作用和分類v3.3.2 3.3.2 最基本的語句最基本的語句-賦值語句賦值語句3.3.1 3.3.1 C C語句的作用和分類語句的作用和分類v語句分為以下語句分為以下5 5類類: (1) (1) 控制語句控制語句: ifif、switch

42、switch、forfor、whilewhile、dodowhilewhile、continuecontinue、breakbreak、returnreturn、gotogoto等等 (2) (2) 函數(shù)調(diào)用語句函數(shù)調(diào)用語句 printf(“%dn%dn”,a,bprintf(“%dn%dn”,a,b);); (3) (3) 表達(dá)式語句表達(dá)式語句a=3;(a=3;(賦值表達(dá)式賦值表達(dá)式+ +分號分號 構(gòu)成賦構(gòu)成賦值語句值語句) ) (4) (4) 空語句空語句; ;僅有分號僅有分號 (5) (5) 復(fù)合語句復(fù)合語句 由花括號包含進(jìn)多條語由花括號包含進(jìn)多條語句構(gòu)成的一條復(fù)合語句句構(gòu)成的一條復(fù)合語

43、句3.3.2 3.3.2 最基本的語句最基本的語句-賦值語句賦值語句v在在C C程序中,最常用的語句是:程序中,最常用的語句是: 賦值語句賦值語句 輸入輸出語句輸入輸出語句v其中最基本的是賦值語句其中最基本的是賦值語句3.3.2 3.3.2 最基本的語句最基本的語句-賦值語句賦值語句v例例3.4 3.4 給出三角形的三邊長,求三角形面積。給出三角形的三邊長,求三角形面積。 解題思路:假設(shè)給定的三個邊符合構(gòu)成三角形的條解題思路:假設(shè)給定的三個邊符合構(gòu)成三角形的條件件 關(guān)鍵是找到求三角形面積的公式關(guān)鍵是找到求三角形面積的公式 公式為:公式為:其中其中s=(a+b+c)/2s=(a+b+c)/2)(

44、)(csbsassareav #include stdio.h#include v #include math.h#include v intint main ( ) main ( )v double a,b,c,s,area double a,b,c,s,area; ; v a=3.67; a=3.67; v b=5.43; b=5.43; v c=6.21; c=6.21; v s=(a+b+c)/2; s=(a+b+c)/2; v area=sqrt(s area=sqrt(s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c(s-c););v printf(a=%ftb

45、=%ft%fn,a,b,c printf(a=%ftb=%ft%fn,a,b,c); ); v printf(area=%fn,area printf(area=%fn,area); ); v return 0; return 0;v 對邊長對邊長a、b、c賦值賦值計(jì)算計(jì)算s計(jì)算計(jì)算areav #include stdio.h#include v #include math.h#include v intint main ( ) main ( )v double a,b,c,s,area double a,b,c,s,area; ; v a=3.67; a=3.67; v b=5.43; b=

46、5.43; v c=6.21; c=6.21; v s=(a+b+c)/2; s=(a+b+c)/2; v area=sqrt(s area=sqrt(s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c); (s-c); printf(a=%ftb=%ft%fn,a,b,cprintf(a=%ftb=%ft%fn,a,b,c); ); v printf(area=%fn,area printf(area=%fn,area); ); v return 0; return 0;v 數(shù)學(xué)函數(shù),數(shù)學(xué)函數(shù),計(jì)算計(jì)算平方根平方根調(diào)用數(shù)學(xué)函數(shù)調(diào)用數(shù)學(xué)函數(shù)加此行加此行v #include s

47、tdio.h#include v #include math.h#include v intint main ( ) main ( )v double a,b,c,s,area double a,b,c,s,area; ; v a=3.67; a=3.67; v b=5.43; b=5.43; v c=6.21; c=6.21; v s=(a+b+c)/2; s=(a+b+c)/2; v area=sqrt(s area=sqrt(s* *(s-a)(s-a)* *(s-b)(s-b)* *(s-c); (s-c); printf(a=%ftb=%ft%fn,a,b,cprintf(a=%ft

48、b=%ft%fn,a,b,c); ); v printf(area=%fn,area printf(area=%fn,area); ); v return 0; return 0;v 轉(zhuǎn)義字符轉(zhuǎn)義字符,使輸出位置跳使輸出位置跳到下一個到下一個tab位置位置調(diào)用數(shù)學(xué)函數(shù)調(diào)用數(shù)學(xué)函數(shù)加此行加此行v歸納歸納總結(jié):總結(jié): 1.賦值運(yùn)算符賦值運(yùn)算符“=”“=”是賦值運(yùn)算符是賦值運(yùn)算符作用是將一個數(shù)據(jù)賦給一個變量作用是將一個數(shù)據(jù)賦給一個變量也可以將一個表達(dá)式的值賦給一個變量也可以將一個表達(dá)式的值賦給一個變量 2.復(fù)合的賦值運(yùn)算符復(fù)合的賦值運(yùn)算符在賦值符在賦值符“=”“=”之前加上其他運(yùn)算符,可以構(gòu)成之前加

49、上其他運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符復(fù)合的運(yùn)算符a+=3a+=3等價于等價于 a=a+a=a+a%=3a%=3a=a%3a=a%3a a* *=b=ba=aa=a* *b b 3.3.賦值表達(dá)式賦值表達(dá)式一般形式為一般形式為: 變量變量 賦值運(yùn)算符賦值運(yùn)算符 表達(dá)式表達(dá)式 對賦值表達(dá)式求解的過程:對賦值表達(dá)式求解的過程:(a=3+5(a=3+5* *2)2)求賦值運(yùn)算符求賦值運(yùn)算符右側(cè)右側(cè)的的“表達(dá)式表達(dá)式”的值的值 3+53+5* *2 2為為1313賦給賦值運(yùn)算符賦給賦值運(yùn)算符左側(cè)左側(cè)的變量的變量將將1313給給a a舉例舉例va=b=c=5a=b=c=5值為值為5 5a=5 b=5a=5

50、b=5va=5+(c=6)a=5+(c=6)值為:值為:11 11 a=11 c=6a=11 c=6va=(b=4)+(c=6)a=(b=4)+(c=6)值為:值為:10 10 a=10 c=6 b=4a=10 c=6 b=4va=(b=10) / (c=2)a=(b=10) / (c=2)值為值為5 a=5 b=10 c=25 a=5 b=10 c=2v(a=3(a=3* *5)=45)=4* *3 3如何運(yùn)算如何運(yùn)算va=12 a+=a-=aa=12 a+=a-=a* *a a的值為?的值為?不能寫成不能寫成:a=3*5=4*3int main()int a , b;printf(%dn,

51、(a=3*5)=4*3);printf(%dnn,a);return 0; 4.4.賦值過程中的類型轉(zhuǎn)換(詳細(xì)見課本賦值過程中的類型轉(zhuǎn)換(詳細(xì)見課本P62P62)兩側(cè)類型一致兩側(cè)類型一致時時,直接賦值,直接賦值 a=3a=3兩側(cè)類型不一致,但都是算術(shù)類型時,兩側(cè)類型不一致,但都是算術(shù)類型時,自動將右自動將右側(cè)的側(cè)的類型轉(zhuǎn)換類型轉(zhuǎn)換為左側(cè)類型后賦值為左側(cè)類型后賦值a=1.5a=1.5定義變量時要防止數(shù)據(jù)溢出,定義變量時要防止數(shù)據(jù)溢出,a=12345678901234567a=12345678901234567 5.5.賦值表達(dá)式和賦值語句賦值表達(dá)式和賦值語句賦值表達(dá)式的末尾沒有分號,而賦值語句有

52、賦值表達(dá)式的末尾沒有分號,而賦值語句有分號分號一個表達(dá)式可以包含賦值表達(dá)式,但決不能包含一個表達(dá)式可以包含賦值表達(dá)式,但決不能包含賦值語句賦值語句3+(a=5)3+(a=5)的值為的值為8 3+(a=5;)8 3+(a=5;)就不是表達(dá)式就不是表達(dá)式 6.6.變量賦初值變量賦初值 可以在說明變量時賦以初值可以在說明變量時賦以初值intint a=3,b=4,c=5; a=3,b=4,c=5;intint a=3,b=3,c=3; a=3,b=3,c=3; 相當(dāng)于相當(dāng)于 int a,b,cint a,b,c; a=b=c=3; a=b=c=3;3.4 3.4 數(shù)據(jù)的輸入輸出數(shù)據(jù)的輸入輸出v3.4

53、.1 3.4.1 輸入輸出舉例輸入輸出舉例v3.4.2 3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念v3.4.3 3.4.3 用用printfprintf函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)v3.4.4 3.4.4 用用scanfscanf函數(shù)輸入數(shù)據(jù)函數(shù)輸入數(shù)據(jù)v3.4.5 3.4.5 字符數(shù)據(jù)的輸入輸出字符數(shù)據(jù)的輸入輸出3.4.1 3.4.1 輸入輸出舉例輸入輸出舉例v例例3.5 3.5 求求 方程的根。方程的根。a a、b b、c c由鍵由鍵盤輸入盤輸入v 設(shè)設(shè) 02cbxaxacb423.4.1 3.4.1 輸入輸出舉例輸入輸出舉例v解題思路:首先要知道求方程式的根的方法。解題思路:首

54、先要知道求方程式的根的方法。v由數(shù)學(xué)知識已知:如果由數(shù)學(xué)知識已知:如果 0 0,則一元二,則一元二次方程有兩個實(shí)根次方程有兩個實(shí)根: :v若記若記acb42aacbbx2421aacbbx2422abp2aacbq242qpx1qpx2v #include stdio.h#include v #include math.h#include v intint main ( ) main ( ) v double a,b,c,disc,x1,x2,p,q;double a,b,c,disc,x1,x2,p,q;v scanf(%lf%lf%lf,&a,&b,&cscanf(

55、%lf%lf%lf,&a,&b,&c););v disc=bdisc=b* *b-4b-4* *a a* *c;c;v p=-b/(2.0p=-b/(2.0* *a);a);v q=sqrt(disc)/(2.0q=sqrt(disc)/(2.0* *a);a);v x1=p+q; x2=p-qx1=p+q; x2=p-q; ;v printf(x1=%7.2fnx2=%7.2fn,x1,x2);printf(x1=%7.2fnx2=%7.2fn,x1,x2);v return 0;return 0;v 輸入輸入a,b,c的值的值輸入的是雙精度型實(shí)數(shù)輸入的是雙精度型實(shí)數(shù)

56、程序中程序中調(diào)用數(shù)學(xué)函數(shù)調(diào)用數(shù)學(xué)函數(shù)sqrtv #include stdio.h#include v #include math.h#include v intint main ( ) main ( ) v double a,b,c,disc,x1,x2,p,q;double a,b,c,disc,x1,x2,p,q;v scanf(%lf%lf%lf,&a,&b,&c scanf(%lf%lf%lf,&a,&b,&c););v disc=b disc=b* *b-4b-4* *a a* *c;c;v p=-b/(2.0 p=-b/(2.0* *

57、a);a);v q=sqrt(disc)/(2.0 q=sqrt(disc)/(2.0* *a);a);v x1=p+q; x2=p-q x1=p+q; x2=p-q; ;v printf(x1=%7.2fnx2=%7.2fn,x1,x2); printf(x1=%7.2fnx2=%7.2fn,x1,x2);v return 0; return 0;v 要求輸入要求輸入3個實(shí)數(shù)個實(shí)數(shù)自動自動轉(zhuǎn)成實(shí)數(shù)轉(zhuǎn)成實(shí)數(shù)后賦給后賦給a,b,c輸出輸出數(shù)據(jù)占數(shù)據(jù)占7列,其中小數(shù)占列,其中小數(shù)占2列列3.4.2 3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念v 幾乎每一個幾乎每一個C C程序都包含輸入

58、輸出,輸入輸出是程序中最基本的程序都包含輸入輸出,輸入輸出是程序中最基本的操作之一。操作之一。v (1) (1) 所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的 從計(jì)算機(jī)向輸出設(shè)備從計(jì)算機(jī)向輸出設(shè)備( (如顯示器、打印機(jī)等如顯示器、打印機(jī)等) )輸出數(shù)據(jù)稱為輸輸出數(shù)據(jù)稱為輸出出 從輸入設(shè)備(如鍵盤、磁盤、光盤、掃描儀等)向計(jì)算機(jī)輸從輸入設(shè)備(如鍵盤、磁盤、光盤、掃描儀等)向計(jì)算機(jī)輸入數(shù)據(jù)稱為輸入入數(shù)據(jù)稱為輸入v (2) (2) 語言本身不提供輸入輸出語句語言本身不提供輸入輸出語句 輸入和輸出操作是由輸入和輸出操作是由C C標(biāo)準(zhǔn)函數(shù)庫中的函數(shù)來實(shí)現(xiàn)的標(biāo)準(zhǔn)函數(shù)庫中的函

59、數(shù)來實(shí)現(xiàn)的 printfprintf和和scanfscanf不是語言的關(guān)鍵字,而只是庫函數(shù)的名字不是語言的關(guān)鍵字,而只是庫函數(shù)的名字 還有還有putcharputchar、getchargetchar、putsputs、getsgets等等3.4.2 3.4.2 有關(guān)數(shù)據(jù)輸入輸出的概念有關(guān)數(shù)據(jù)輸入輸出的概念v(3)(3)在使用在使用輸入輸出輸入輸出函數(shù)時,要在程序文件的開頭用預(yù)函數(shù)時,要在程序文件的開頭用預(yù)編譯指令編譯指令 #include stdio.h#include 或或 #include #include stdio.hstdio.h3.4.3 3.4.3 用用printfprintf

60、函數(shù)輸出數(shù)據(jù)函數(shù)輸出數(shù)據(jù)v在在C C程序中用來實(shí)現(xiàn)輸出和輸入的,主要是程序中用來實(shí)現(xiàn)輸出和輸入的,主要是printfprintf函數(shù)函數(shù)和和scanfscanf函數(shù)函數(shù)v這兩個函數(shù)是格式輸入輸出函數(shù),用這兩個函數(shù)時,這兩個函數(shù)是格式輸入輸出函數(shù),用這兩個函數(shù)時,必須指定格式。必須指定格式。v1.printf1.printf函數(shù)的一般格式函數(shù)的一般格式 printfprintf(格式控制,輸出表列)(格式控制,輸出表列) 例如:例如: printf(”i=%d,c=%cn”,i,cprintf(”i=%d,c=%cn”,i,c););格式聲明格式聲明普通字符普通字符可以是常量、可以是常量、變量或表達(dá)式變量或表達(dá)式格式控制:是由雙引號括起來的字符串,也稱為格式控制:是由雙引號括起來的字符串,也稱為“轉(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

提交評論