第3_1章 順序程序設計_第1頁
第3_1章 順序程序設計_第2頁
第3_1章 順序程序設計_第3頁
第3_1章 順序程序設計_第4頁
第3_1章 順序程序設計_第5頁
已閱讀5頁,還剩114頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第3章 順序程序設計(shj)C語言程序設計(chn x sh j)基礎共一百一十九頁第3章 順序程序設計(shj)3.1 順序程序設計舉例3.2 數(shù)據(jù)的表現(xiàn)形式及其運算3.3 C語句3.4 數(shù)據(jù)的輸入(shr)與輸出共一百一十九頁3.1 順序程序設計(shj)舉例例1:有人用溫度計測量出用華氏法表示(biosh)的溫度,要求將其轉(zhuǎn)換為攝氏法溫度。 公式為:c=5/9(f-32)輸入f的值c=5/9(f-32)輸出c的值N-S圖表示執(zhí)行步驟共一百一十九頁3.1 順序程序設計(shj)舉例例1:有人用溫度計測量(cling)出用華氏法表示的溫度,要求將其轉(zhuǎn)換為攝氏法溫度。 公式:c=5/9(f-

2、32)#includemain()float f,c; /*定義f和c為單精度浮點型變量 */f=64.0; /*指定f的值 */c=(5.0/9)*(f-32); /*利用公式計算c的值 */printf(f=%fn c=%fn,f,c); /*輸出c的值*/共一百一十九頁3.1 順序程序設計(shj)舉例例2:已知個人的基本工資總額(已扣除5險1金),要求(yoqi)計算個人所得稅及實際收入。(個稅免征額3500元 ) 公式:應納個人所得稅稅額= 應納稅所得額 適用稅率- 速算扣除數(shù) 實際收入=基本工資總額-應納個人所得稅稅額共一百一十九頁3.1 順序程序設計(shj)舉例例2:已知個人的

3、基本工資總額(zng )(已扣除5險1金),要求計算實際收入。(個稅免征額3500元 ) 公式:應納個人所得稅稅額revenue= (應納稅所得額salary-3500) 適用稅率rate- 速算扣除數(shù)minus 實際收入income=基本工資總額-應納個人所得稅稅額輸入工資總額salary的值revenue=(salary-3500)*rate-minus income=salary-revenue輸出income的值N-S圖表示執(zhí)行步驟共一百一十九頁3.1 順序程序設計(shj)舉例例2:已知個人的基本工資總額(zng )(已扣除5險1金),要求計算實際收入。(個稅免征額3500元 ) m

4、ain()float salary, revenue, income;printf(please input the salary:n); scanf(%f,&salary);revenue=(salary-3500)*0.10-105;income=salary-revenue;printf(salary:%.1f,revenue:%.1f,income:%.1fn,salary,revenue,income);共一百一十九頁3.2 數(shù)據(jù)(shj)的表現(xiàn)形式及其運算常量和變量數(shù)據(jù)類型整型數(shù)據(jù)字符型數(shù)據(jù)浮點型數(shù)據(jù)怎樣(znyng)確定常量的類型運算符和表達式共一百一十九頁3.2.1 常量和變量

5、(binling)(了解) 引例(yn l) int a; a=3;3a總結變量:由于a所對應的空間中存放的數(shù)據(jù)是可以變化的(此例中a可以是一定范圍內(nèi)的任意普通整型數(shù)據(jù)),所以a稱為變量。常量:3是一個常數(shù),不能變化,這種不能變化的數(shù)為常量。共一百一十九頁3.2.1 常量(chngling)與符號常量(chngling) 12;0;-3 整型常量(chngling) 4.6;-1.23 實型常量 a;d 字符常量 “boy”;”123” 字符串常量 這些常量一般從其字面形式即可判 別,稱為字面常量或直接常量。例1總結共一百一十九頁3.2.1 常量(chngling)與符號常量(chngling

6、)(續(xù)) #define PRICE 30 main() int num,total; num=10; total=num*PRICE; printf(“total=%dn”,total); 例2共一百一十九頁3.2.1 常量(chngling)與符號常量(chngling)(續(xù)) #define PRICE 30 main() int num1,num2,num3,num4,total1,total2,total3,total4; num1=10;num2=15;num3=35;num4=45; total1=num1*PRICE;total2=num2*PRICE; total3=num3

7、*PRICE; total4=num4*PRICE; printf(“%d %d %d %dn”,total1,total2,total3,total4); 例3共一百一十九頁3.2.1 常量(chngling)與符號常量(chngling)(續(xù))總結(zngji)符號常量:用一個標識符代表一個常量的,稱為符號常量,即標識符形式的常量。注意與變量的區(qū)別:符號常量的值在其作用域內(nèi)不能改變,也不能在再被賦值。符號常量名用大寫。符號常量的一個好處:“一改全改”。共一百一十九頁3.2.2 變量(binling)例1 float score;score89.2score總結(zngji) 變量:指其值可

8、以改變的量,一個變量對應一個存儲空間。 變量名:是存儲空間的名字。 變量的值:是存放在存儲空間的數(shù)據(jù)。 score=89.2;共一百一十九頁3.2.2 變量(binling)(續(xù))例2 int studnum; stednum=32;總結(zngji)1. 程序中所有變量在使用之前都必須定義其類型和名字。2. 每個變量都必須被指定為一確定類型,系統(tǒng)根據(jù)類型為變量分配相應長度的存儲空間。studnum共一百一十九頁標識符的命名(mng mng)規(guī)則標識符只能由字母、數(shù)字、下劃線組成,且第一個字符不能為數(shù)字。C語言區(qū)分大小寫,所以在標識符命名(mng mng)時,大小寫字母是不一樣的。標識符的名字

9、不能和C語言中的關鍵字(32個)和特定字(7個)相同。標識符的長度最好不要超過8個字符。標識符的命名最好做到見名知義。3.2.2 變量(續(xù))共一百一十九頁關鍵字和特定(tdng)字舉例關鍵字舉例(j l)double int float else for ifwhile case for short unsigned 特定字舉例Define include endif undef ifdef 共一百一十九頁3.2.2 數(shù)據(jù)類型數(shù)據(jù)類型基本類型派生類型枚舉類型空類型雙精度型單精度型 共同體類型 結構體類型實型(浮點型)字符型整型數(shù)組類型復數(shù)度型布爾型指針類型共一百一十九頁3.2.3 整型數(shù)據(jù)(s

10、hj)(掌握)整型數(shù)據(jù)(shj)整型常數(shù)整型變量共一百一十九頁1 整型常量(chngling)的表示方法例1十進制整數(shù)以數(shù)字0開頭(ki tu)的整數(shù)是八進制整數(shù)以0 x開頭的整數(shù)是十六進制整數(shù)總結123,-456,1,3,-3,00123,-0110 x123,-0 x12共一百一十九頁2 整型變量(binling)(掌握)如果需要定義一個用來存放年齡的變量age,該如何定義呢?因為(yn wi)年齡應該用整數(shù)表示所以有如下定義:int age;共一百一十九頁1.整型數(shù)據(jù)(shj)在內(nèi)存中存放方式例1int age;age=15;111100000000000015在age存儲單元中的實際存

11、放形式為:共一百一十九頁1.整型數(shù)據(jù)在內(nèi)存中存放(cnfng)方式(續(xù))Int temp;temp=-15;例21000111111111111-15在temp存儲單元中的實際存放形式為:共一百一十九頁2. 整型變量(binling)的分類類型比特數(shù)最小取值范圍int16-3276832767unsigned16065535short16-3276832767unsigned short16065535long32-21474836482147483647unsigned long3204294967295ANSI標準(biozhn)定義的整數(shù)類型表共一百一十九頁3. 整型變量(binling

12、)的定義例1int a,b;unsigned short c,d;long e,f;unsigned long g,h;共一百一十九頁3. 整型變量(binling)的定義(續(xù))例2main() unsigned age; int number2,number3; unsigned long number1; age=23; number1=33991024; number2=32768;number3=32767;printf(“%u,%lu,%d,%dn”,age,number1,number2,number3);共一百一十九頁3.2.4 字符(z f)型數(shù)據(jù)(掌握)字符(z f)型數(shù)據(jù)字

13、符常量字符變量字符串常量共一百一十九頁1 字符(z f)常量例如(lr)a, A, $, ?n, r總結字符常量:就是單撇號括起來的一個字符轉(zhuǎn)義字符:特殊形式的字符常量,以開頭共一百一十九頁轉(zhuǎn)義字符及其含義(hny)字符形式含義ASCII代碼n換行10r回車,將當前位置移到本行開頭13f換頁,將當前位置移到下頁開頭12單引號字符39”雙引號字符34共一百一十九頁2 字符(z f)變量如果需要定義一個用來存放英語字母的變量letter,該如何定義呢?因為英語字母是字符(z f),所以有如下定義:char letter;共一百一十九頁字符(z f)變量舉例例如(lr)char c1,c2;c1=a

14、;c2=b;總結一個字符型變量只能存放一個字符,而不是一個字符串。共一百一十九頁3 字符變量(binling)在內(nèi)存中的存放例1main()char c1,c2;c1=97;c2=98; printf(“%c,%cn”,c1,c2); printf(“%d,%dn”,c1,c2);字符(z f)“a”在內(nèi)存中的存儲方式01100001共一百一十九頁例2main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(“%c %c”,c1,c2);共一百一十九頁例3main() int i; char c; i=a; c=97; printf(“

15、%c %dn”,c, c); printf(“%c %dn”,i, i);共一百一十九頁總結(zngji)字符型數(shù)據(jù)是以相應的ASCII代碼放到存儲單元中。一個字符數(shù)據(jù)可以以字符形式(%c)輸出(shch),也可以以整數(shù)形式(%d)輸出(shch)。字符數(shù)據(jù)只占1個字節(jié)(8位)。字符數(shù)據(jù)和整型數(shù)據(jù)可以相互賦值。共一百一十九頁4 字符串常量(chngling)例main() printf(“CHINA”); printf(“”How are you.”); 共一百一十九頁總結(zngji)字符串常量是以雙引號括起來的字符序列。C語言中沒有專門的字符串變量。字符串常量的存儲方式(fngsh): 以

16、字符0作為字符串的結束標記。 例:CHINA0共一百一十九頁3.2.5 浮點型數(shù)據(jù)(shj)(掌握)浮點型數(shù)據(jù)浮點型常數(shù)(chngsh)浮點型變量共一百一十九頁1 浮點型常量(chngling)的表示方法例如(lr)0.123103 、0.345201010.123e3 、0.34520e1總結指數(shù)形式。規(guī)范化的指數(shù)形式:小數(shù)部分中小數(shù)點前的數(shù)字為0、小數(shù)點后第一位數(shù)字不為0的表示形式共一百一十九頁如果需要定義一個用來存放成績的變量score,該如何定義呢?因為成績有小數(shù),所以(suy)有如下定義:float score;2 浮點型變量(binling)共一百一十九頁1. 浮點型數(shù)據(jù)在內(nèi)存(n

17、i cn)中的存放形式例如(lr)+3.14159+.3141591在內(nèi)存中的存放形式小數(shù)位符號位指數(shù)位共一百一十九頁2. 浮點型變量(binling)的分類類型字節(jié)數(shù)有效數(shù)字數(shù)值范圍float461.2*10-383.4*1038double8152.3*10-3081.7*10308long double16193.4*10-49321.1*104932共一百一十九頁3. 浮點型變量(binling)的定義main() float a,b; a=123456.789e5; b=a+20; printf(“%f,%fn”,a,b);例1共一百一十九頁3. 浮點型變量(binling)的定義(

18、續(xù))總結(zngji)一個浮點型變量能保證的有效數(shù)字是有限制的.例如float型有效數(shù)字為6,則只能保證的有效數(shù)字是6位,后面的數(shù)字是無意義的.共一百一十九頁變量(binling)賦初值(了解)舉例(j l)int a=3;float f=3.56;int a,b,c=5;int a=3,b=3,c=5;允許在定義變量的同時使變量初始化??梢越o被定義的變量的一部分賦初值??梢栽谝粭l語句中給幾個類型相同的變量賦初值。共一百一十九頁總結(zngji)C語言允許在定義變量的同時(tngsh)使變量初始化??梢越o被定義的變量的一部分賦初值??梢栽谝粭l語句中給幾個類型相同的變量賦初值。共一百一十九頁3.

19、2.7 運算符和表達式共一百一十九頁 1 算術(sunsh)運算符和算術(sunsh)表達式(掌握)運算符名稱運算符算術運算符+ - * / % + - -關系運算符 = !=邏輯運算符:! & |位運算符 | &賦值運算符= 及其擴展條件運算符?:逗號運算符,指針運算符* &求字節(jié)數(shù) sizeof強制類型轉(zhuǎn)換(類型)下標運算符. -其它( ) -共一百一十九頁1 算術(sunsh)運算符和算術(sunsh)表達式1. 基本(jbn)的算術運算符 + 加 - 減 * 乘 / 除 (向零取整,當除數(shù)和被除數(shù)都為整型,其結果也為整型。當除數(shù)和被除數(shù)之一為浮點型,其結果也為浮點型) % 取余 (除數(shù)

20、和被除數(shù)都為整型數(shù),并且余數(shù)的符號與被除數(shù)相同)共一百一十九頁 例如(lr)5/3=?-5/3=? 5%3=?-5%3=?共一百一十九頁例題(lt)結果5/3=2-5/3=-1 (向零取整)-5/3=-2 (四舍五入(s sh w r))5%3=2 (取余數(shù))-5%3=-2 (余數(shù)的符號和被除數(shù)符號相同)共一百一十九頁優(yōu)先級: 先乘除(chngch)后加減結合性: 左結合性(結合性參看附錄4)2 算術(sunsh)表達式和運算符的優(yōu)先級與結合性例如main() float x,y,s;int a; x=2.5;a=7;y=4.5; s=x+a%3*(x+y)/4; printf(%f n,s)

21、;共一百一十九頁3 各類數(shù)值型數(shù)據(jù)間的混合運算(yn sun)(了解)思考:假設某一次運算中,以上的7個類型的數(shù)據(jù)中的某幾個或者7個都遇到一起(yq),同時參加運算了,結果該屬于哪個類型? 基本類型中的整型(int、long、short、unsigned),實型(float、double),字符型(char)。 共一百一十九頁例如(lr)main() int i;float f; double d,s;long e; s=10+a+ i*f - d/e; printf(“%f n”,s); 共一百一十九頁總結(zngji)數(shù)值(shz)型數(shù)據(jù)間混合運算時,先將各類型數(shù)據(jù)轉(zhuǎn)化成同一個類型,然后進

22、行運算。轉(zhuǎn)換規(guī)則如圖:橫向向左的箭頭表示必定的轉(zhuǎn)換縱向箭頭表示當運算對象為不同類型時轉(zhuǎn)換的方向intunsignedlongdoublefloatchar,short低高共一百一十九頁4 強制(qingzh)類型轉(zhuǎn)換運算符例如(lr)main() float x,y,s;int a,b; x=3.5; a=2;b=3; y=2.5; s=(float)(a+b)/2+(int)x%(int)y; printf(%f n,s);共一百一十九頁總結(zngji)強制(qingzh)類型轉(zhuǎn)換運算符形式: (類型名)(表達式)強制類型轉(zhuǎn)換運算優(yōu)先于加、減、乘、除和取余運算。共一百一十九頁例1main(

23、) int i,j,m,n; i=8; j=10; m=+i; n=j+; printf(%d,%d,%d,%d,i,j,m,n);5. 自增、自減運算符共一百一十九頁總結(zngji)自增運算符+:使變量的值增1 i+:在使用(shyng)i之后使i的值增1 +i:在使用i之前使i的值增1自減運算符-:使變量的值減1 i-:在使用i之后使i的值減1 -i:在使用i之前使i的值減1共一百一十九頁 例2main() int a=1,b,c,d,e; b=a+; c=+b; d=c-; e=-c; printf(na=%d,b=%d,c=%d,d=%d,e=%dn,a,b,c,d,e); 共一百一

24、十九頁例題(lt)解析main() int a=1,b,c,d,e; b=a+; /*先將a的值賦給b,然后(rnhu)a增1,則b為1,a為2 */ c=+b; /*先將b增1,b為2,再賦值給c,c也為2 */ d=c-; /*先將c的值賦給d,d為2,然后c減1,c為1 */ e=-c; /* 先將c減1,c為0,然后c的值0賦給e,e為0 */ printf(na=%d,b=%d,c=%d,d=%d,e=%dn,a,b,c,d,e); 結果:a=2,b=2,c=0,d=2,e=0共一百一十九頁注意(zh y)+,-只能(zh nn)用于變量,而不能用于常量或表達式。+,-的結合方向是“

25、自右至左”。+,-,+,-*,/,% +,-高低自右向左自左向右自左向右優(yōu)先級結合性共一百一十九頁例如(lr)已知i=3,j=4,a=5,b=6,m為未知,求下列(xili)各式的值。(1)+i+j-a(2)m=-j+共一百一十九頁3.3 C語句(yj)共一百一十九頁3.3.2 賦值語句(yj)(掌握)例如(lr)a=3、a+=3、a-=3、x*=y+8、x%=3總結C語言中,除了有“=”這個簡單賦值運算符外,還有一些復雜的復合賦值運算符,如:+=、-=、*=、/=、%=等。共一百一十九頁想一想:變量屬于某一種類型,如果“=”右邊的常量(chngling)或表達式的類型和左邊的類型不一樣,該怎

26、么處理?遇到這種類型不一致的情況,先將右邊表達式的類型轉(zhuǎn)換為和左邊相同(xin tn)的類型,然后再賦值。1. 賦值運算符共一百一十九頁例如(lr)int i;i=3.56;float f;f=3;共一百一十九頁 2. 類型轉(zhuǎn)換int i; i=3.56;結果(ji gu):i=3將實型數(shù)據(jù)賦給整型變量時,舍棄實數(shù)(shsh)的小數(shù)部分,并且在內(nèi)存中以整數(shù)形式存在。例1總結共一百一十九頁 2. 類型轉(zhuǎn)換(續(xù))float f; f=23;結果(ji gu):j=23.00000將整型數(shù)據(jù)賦給實型變量時,數(shù)值不變,加小數(shù)位,并且在內(nèi)存中以浮點數(shù)形式(xngsh)存在。例2總結共一百一十九頁 3.

27、復合(fh)的賦值運算符例如(lr)a+=3 等價于 a=a+3a-=3 等價于 a=a-3a=3 等價于 a=a3x*=y+8 等價于 x=x*(y+8)x%=3 等價于 x=x%3共一百一十九頁 3. 復合(fh)的賦值運算符(續(xù))共種復合(fh)賦值運算符總結共一百一十九頁 3. 復合(fh)的賦值運算符(續(xù))記憶(jy)方法x*= y+8x*= y+8x=x*(y+8)總結共一百一十九頁 4. 賦值表達式a=5a=b=c=5a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)例如(lr)共一百一十九頁 4. 賦值表達式(續(xù))a=5 表達式的值為5 a=b=c=5表達

28、式的值為5 a=5+(c=6)表達式的值為11 a=(b=4)+(c=6)表達式的值為10 a=(b=10)/(c=2)表達式的值為5 例題(lt)解析共一百一十九頁總結(zngji)賦值表達式的一般(ybn)形式: 優(yōu)先級: 賦值運算符的優(yōu)先級低于算術運算符結合性: 自右向左共一百一十九頁3.3 C語句(yj)概述(了解) 1. 控制(kngzh)語句例如1: if(xy) z=x; else z=y;總結: 控制語句就是完成一定控制功能的語句。例如2: for(i=1;i=100;i+) sum=sum+i;共一百一十九頁 1. 控制(kngzh)語句(續(xù))控制語句控制語句類型if()el

29、se條件語句for() 循環(huán)語句while()循環(huán)語句do while()循環(huán)語句continue結束本次循環(huán)語句break中止執(zhí)行switch或循環(huán)語句switch多分支選擇語句goto轉(zhuǎn)向語句return從函數(shù)返回語句共一百一十九頁 2.函數(shù)調(diào)用語句(yj)例如(lr) printf(“This is a C statement.”);總結 函數(shù)調(diào)用語句:由一次函數(shù)調(diào)用加一個分號構成一個語句。共一百一十九頁 3. 表達式語句(yj)總結: 表達式語句:由一個表達式構成一個語句。 任何表達式都可以(ky)加上分號而成為語句。例如1: a=3 /*表達式*/ a=3; /*表達式語句*/例如2

30、: i+ /*表達式*/ i+ ; /*表達式語句*/共一百一十九頁 4. 空語句例如(lr): ;總結: 空語句:只有一個(y )分號的語句,它什么也不做。共一百一十九頁例如(lr): z=x+y; t=z/100; printf(“%f”,t); 5. 復合(fh)語句總結: 復合語句:把一些語句用 括起來。共一百一十九頁3.4 數(shù)據(jù)(shj)的輸入輸出(掌握)C語言函數(shù)庫中有一批“標準輸入輸出函數(shù)”: putchar(輸出字符(z f);getchar(輸入字符(z f); printf(格式輸出);scanf(格式輸入); puts(輸出字符串);gets(輸入字符串);引子共一百一十

31、九頁引子(yn zi)(續(xù))在使用(shyng)C語言庫函數(shù)時,要用預編譯命令“#include”將有關的“頭文件”包括到用戶的源文件中。在調(diào)用標準輸入輸出庫函數(shù)時,文件開頭應有以下預編譯命令: #include 注釋: studio=standard input&output hhead因為printf和scanf函數(shù)使用頻繁,系統(tǒng)允許在使用這兩個函數(shù)時可不加#include命令。共一百一十九頁3.4.5 字符數(shù)據(jù)(shj)的輸出與輸入例如(lr)1#includemain()char a,b,c; a=B;b=O;c=Y; putchar(a); putchar(b); putchar(c

32、); putchar(n); putchar(101);例如2 見putc-2.c 1. putchar函數(shù)(字符輸出函數(shù))共一百一十九頁putchar函數(shù)(hnsh)總結putchar函數(shù)的作用是向終端輸出一個字符。putchar函數(shù)可以(ky)輸出單個字符,也可以輸出轉(zhuǎn)義字符。共一百一十九頁#includemain()char c; c=getchar(); putchar(c); 2. getchar函數(shù)(字符(z f)輸入函數(shù))例如(lr)1共一百一十九頁getchar函數(shù)(hnsh)總結getchar函數(shù)的作用(zuyng)是從終端輸入一個字符。getchar函數(shù)得到的字符可以賦給一

33、個字符型變量或整型變量,也可以不賦給任何變量。共一百一十九頁#includemain() putchar(getchar();例如(lr)2共一百一十九頁3.4.3 格式輸入(shr)與輸出(掌握)printf函數(shù)(格式(g shi)輸出函數(shù))scanf函數(shù)(格式輸入函數(shù))共一百一十九頁 1 printf函數(shù)(hnsh)(格式輸出函數(shù)(hnsh))1. printf函數(shù)(hnsh)的一般格式例如:printf(“%d+%d=%d”,a,b,sum);總結:printf函數(shù)的一般格式為:printf(格式控制,輸出表列)共一百一十九頁總結(zngji)(續(xù))printf(格式控制,輸出表列)格式

34、控制:用“”括起來的字符串。格式說明:%+格式字符普通字符:原樣輸出的字符輸出表列:需要輸出的一些數(shù)據(jù)(shj),或者是表達式。例如:printf(“%d+%d=%d”,a,b,sum);格式說明普通字符輸出表列普通字符格式字符共一百一十九頁 2. 格式(g shi)字符(1)d格式符。用來(yn li)輸出十進制int型數(shù)據(jù)。例如main()int a=520;long int b=33991024;printf(%d,%2d,%5d,%ld,%5ld,%10ld,a,a,a,b,b,b);520,520, 520,33991024,33991024, 33991024共一百一十九頁(1)d

35、格式(g shi)符(續(xù))總結(zngji)%d:表示按整數(shù)的實際長度輸出。%md:m是一個常數(shù),用來限定輸出數(shù)據(jù)所占的寬度。 當m的值小于數(shù)據(jù)的實際寬度,數(shù)據(jù)寬度不變。 當m的值大于數(shù)據(jù)的實際寬度,在左端添空格補齊, 如果m是負數(shù),則在右端添空格補齊。%ld:以長整型形式輸出數(shù)據(jù)。%mld:與%md意義相同。共一百一十九頁 2. 格式(g shi)字符(續(xù))(2)u格式符。用來輸出十進制unsigned型數(shù)據(jù)。(3)o格式符。以八進制無符號形式(xngsh)輸出整數(shù),輸出時將符號位一起轉(zhuǎn)換為八進制數(shù)值。(4)x格式符。以十六進制無符號形式輸出整數(shù),輸出時將符號位一起轉(zhuǎn)換為十六進制數(shù)值。共一百

36、一十九頁 2. 格式(g shi)字符(續(xù))(5)c格式符。以字符(z f)形式輸出數(shù)據(jù)。例如main() int c1=97; char c2=a; printf(%c,%d,c1,c2);輸出結果:a,97共一百一十九頁(5)c格式(g shi)符(續(xù))總結(zngji)0255范圍內(nèi)的整數(shù)也可以用字符型形式輸出,輸出的是該整數(shù)作為ASCII碼所對應的字符,同樣,字符數(shù)據(jù)也可以以整型形式輸出,輸出其對應的ASCII碼即可。共一百一十九頁 2. 格式(g shi)字符(續(xù))(6)f格式符。以小數(shù)形式輸出(shch)實數(shù)。例如main() float x=12345.1111001; doub

37、le y=123456789123456.1111111111111111; printf(%f,%fn,x,y); printf(%10.2f,%-10.1f,%.2f,x,x,x);12345.111328 ,123456789123456.10900 12345.11,12345.1 ,12345.11共一百一十九頁總結(zngji)%f: 輸出帶6位小數(shù)的實數(shù)。對于單精度(jn d)實數(shù),有效位數(shù)為7位,對于雙精度(jn d)實數(shù),有效位數(shù)為16位。%m.nf: 輸出數(shù)據(jù)占m列,其中有n位小數(shù),如果數(shù)值長度小于m,則左補空格。%-m.nf:意義同上,如果數(shù)值長度小于m,則右補空格。%.

38、nf: 表示帶n位小數(shù),對列寬無限制。共一百一十九頁 2. 格式(g shi)字符(續(xù))(7)s格式符。用來(yn li)輸出一個字符串。例如main()printf(%s,%3s,%6s,%-6s,%7.3s,%-7.3s,%.4s, china“, china“, china“, china“, china“, china“, china );china,china,china,china , chi,chi ,chin共一百一十九頁總結(zngji)%s:按實際(shj)長度輸出字符串。%ms:限定輸出字符串占n列,若字符串長度大于m,則按原長輸出,若字符串長度小于m,則左補空格。%-m

39、s:同上,但若字符串長度小于m,則右補空格。%m.ns:限定輸出占m列,但只取字符串左端的n個字符。這n個字符輸出時靠右對齊,左補空格。%-m.ns:意義同上,右補空格共一百一十九頁 2. 格式(g shi)字符(續(xù))(8)e格式符。以指數(shù)(zhsh)形式輸出實數(shù)。例如main()float f=123.456;printf(“%e %10e %10.2e %.2e %-10.2e”,f,f,f,f,f);1.23456e+02 1.23456e+02 1.23e+02 1.23e+02 1.23e+02 共一百一十九頁 2. 格式(g shi)字符(續(xù))(9)g格式符。用來輸出實數(shù)(shsh

40、),它根據(jù)數(shù)值的大小,自動選f格式或者e格式(選擇輸出占寬度較小的一種),且不輸出無意義的零。例如main()float f=123.456;printf(“%f %e %g”,f,f,f);123.456000 123456e+02 123.456共一百一十九頁 2 scanf函數(shù)(hnsh)(格式輸入函數(shù)(hnsh)) 總結scanf函數(shù)的一般(ybn)形式:scanf(格式控制,地址表列)1.一般形式例如scanf(“%d%d%d”, &a,&b,&c);共一百一十九頁總結(zngji)(續(xù))scanf(格式控制,地址表列)格式控制:用“”括起來的字符串。格式說明(shumng):%+格

41、式字符地址表列:需要輸入的一些數(shù)據(jù)。例如:scanf(“%d %d %d”,&a,&b,&c);格式說明地址表列共一百一十九頁例如(lr)1main()float math,chinese,english;float sum,average;scanf(%f%f%f,&math,&chinese,&english);sum=math+chinese+english;average=sum/3;printf(sum=%.2f,average=%.2f,sum,average);共一百一十九頁例如(lr)2main()float math,chinese,english;float sum,ave

42、rage;scanf(“%f,%f,%f,&math,&chinese,&english);sum=math+chinese+english;average=sum/3;printf(sum=%.2f,average=%.2f,sum,average);共一百一十九頁例如(lr)3main()float math,chinese,english;float sum,average;scanf(“math=%f,chinese=%f,english=%f,&math,&chinese,&english);sum=math+chinese+english;average=sum/3;printf(

43、sum=%.2f,average=%.2f,sum,average);共一百一十九頁總結(zngji)如果在“格式控制”字符串中除了格式說明以外(ywi)還有其他字符,則在輸入數(shù)據(jù)時應輸入與這些字符相同的字符。在輸入數(shù)據(jù)時,遇以下情況時該數(shù)據(jù)認為結束??崭瘢?c格式輸入字符時除外)按指定的寬度結束Tab鍵回車鍵共一百一十九頁例如(lr)4main()int num1,num2;float num3,sum;scanf(“%3d%4d%5f,&num1,&num2,&num3);sum=num1+num2+num3;printf(“num1=%d,num2=%d,num3=%f,sum=%f,num1,num2,num3,sum);共一百一十九頁例如(lr)5main()int nu

溫馨提示

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

評論

0/150

提交評論