C語言課件C程序設(shè)計講解_第1頁
C語言課件C程序設(shè)計講解_第2頁
C語言課件C程序設(shè)計講解_第3頁
C語言課件C程序設(shè)計講解_第4頁
C語言課件C程序設(shè)計講解_第5頁
已閱讀5頁,還剩91頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C程序設(shè)計計算機(jī)學(xué)院:薛磊江C程序設(shè)計計算機(jī)學(xué)院:薛磊江計算機(jī)程序是指為讓計算機(jī)完成某一任務(wù)而給它發(fā)出的一組有序的指令集合。在生活中程序往往是對做某事的過程描述,比如你學(xué)開車時教練(相當(dāng)于編寫程序的人)教給你(相當(dāng)于計算機(jī))啟動步驟:檢查安全帶——點(diǎn)火——松開手剎——觀察后視鏡——打轉(zhuǎn)向燈——松離合——起步。這就是教練發(fā)給你的“執(zhí)行汽車啟步”的一組有序指令(相當(dāng)于程序)。只不過這是使用你聽懂的人類自然語言發(fā)出的指令,而要讓計算機(jī)執(zhí)行某項任務(wù),就要用計算機(jī)語言來發(fā)指令了。計算機(jī)程序計算機(jī)程序是指為讓計算機(jī)完成某一任務(wù)而給它發(fā)出的一組有序的指計算機(jī)語言:用來書寫計算機(jī)程序(即指令集合)的語言。

計算機(jī)程序中的指令是用計算機(jī)語言來寫的。計算機(jī)語言總的來說分為三類:1、機(jī)器語言:由二進(jìn)制0、1書寫的指令。2、匯編語言:用一些簡潔的英文字母和符號串來替代人類難以理解0、1來書寫指令。如:add、move。3、高級語言:接近于數(shù)學(xué)語言或人自然語言來書寫指令。前兩種也稱為低級語言。他們各有優(yōu)缺點(diǎn)。從人的理解角度而言:高級語言最容易理解其次是匯編和機(jī)器語言,而從計算機(jī)執(zhí)行速度角度而言正好相反。計算機(jī)語言計算機(jī)語言:用來書寫計算機(jī)程序(即指令集合)的語言。計算機(jī)語高級語言又可分為如下幾類:1、從執(zhí)行方式上分為:編譯型和解釋性語言。2、從編程理念上分為:面向過程和面向?qū)ο?。常見的編程語言:C、C++、C#、JAVA、VB等。語言開發(fā)工具:高級語言需要翻譯成計算機(jī)能識別并執(zhí)行的機(jī)器語言,這一過程稱為編譯。不同的語言有不同的編譯工具,即使相同的語言,由于開發(fā)編譯工具的公司不同,編譯工具的名稱也有區(qū)別。如:Mc,Tc等。計算機(jī)語言高級語言又可分為如下幾類:計算機(jī)語言這些工具往往集編寫代碼、編譯、調(diào)試等功能于一身,所以也稱為IDE(集成開發(fā)環(huán)境)。關(guān)于C語言:C語言是面向過程的高級語言。其主要優(yōu)點(diǎn)是它兼有高級語言和匯編語言的特點(diǎn),功能齊全,應(yīng)用范圍廣泛,非常適合程序語言教學(xué)。缺點(diǎn)是不容易支持面向?qū)ο蠹夹g(shù)。如何學(xué)習(xí)計算機(jī)編程語言。

要學(xué)好計算機(jī)語言主要從掌握關(guān)鍵字的用法、控制語句的語法規(guī)則、常見問題的算法入手。多讀程序、多做練習(xí)。循序漸進(jìn),逐步提高。C語言這些工具往往集編寫代碼、編譯、調(diào)試等功能于一身,所以也稱為I

例1-1:在屏幕上輸出“Hello,World!”#include<stdio.h>main(){printf(“Hello,World!”);}簡單C程序舉例主函數(shù),名字固定main()函數(shù)開始結(jié)束,中間為函數(shù)體函數(shù)體內(nèi)的語句編譯預(yù)處理例1-1:在屏幕上輸出“Hello,World!”簡單函數(shù)與主函數(shù)程序由一個或多個函數(shù)組成。一個程序中必須有、且只能有一個主函數(shù)main()。程序執(zhí)行從主函數(shù)main開始(即程序執(zhí)行的),在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。函數(shù)是由函數(shù)名和函數(shù)體構(gòu)成的,函數(shù)體由{}包含。程序語句函數(shù)主要由語句組成。用英文分號“;”作為語句終止符。編譯預(yù)處理命令預(yù)處理命令通常應(yīng)放在源文件或源序的最前面C程序格式和結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)C程序格式和結(jié)構(gòu)特點(diǎn)C程序書寫規(guī)定C程序書寫自由,一行可以寫多條語句,但每條語句要用分號作為結(jié)束標(biāo)記;也可以將一條語句分成多行書寫,但除了控制語句外,其它語句多行書寫要使用續(xù)行符“\”。C語言大小寫敏感,即區(qū)分大小寫。C語言忽略兩個語句之間的空行和空格??梢允褂?/對單行語句或使用/*………………*/對語句塊進(jìn)行注釋,包含在/*……*/中的內(nèi)容或//后的內(nèi)容不被編譯。C程序格式和結(jié)構(gòu)特點(diǎn)C程序書寫規(guī)定C程序格式和結(jié)構(gòu)特點(diǎn)C程序書寫規(guī)范使用TAB鍵縮進(jìn)。采用縮進(jìn)書寫能使程序清晰易懂{}對齊。對齊{}可以避免{}丟失,易于檢查。要有足夠的注釋。以便以后程序的修改和維護(hù)。初學(xué)者易犯的書寫錯誤沒注意大小寫,如main()寫成Main()。每條語句后忘記書寫;或?qū)?寫成;。丟失“}”或沒能合理配對使用“{”“}”。C程序格式和結(jié)構(gòu)特點(diǎn)C程序書寫規(guī)范C程序格式和結(jié)構(gòu)特點(diǎn)編輯鏈接編譯執(zhí)行C程序開發(fā)步驟file.exe程序代碼的錄入,生成源程序*.c語法分析查錯,翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exe編輯鏈接編譯執(zhí)行C程序開發(fā)步驟file.exe程序代碼的錄入第二章:數(shù)據(jù)類型常量、變量和運(yùn)算符C語言的數(shù)據(jù)類型第二章:數(shù)據(jù)類型常量、變量和運(yùn)算符C語言的數(shù)據(jù)類型C語言的基本數(shù)據(jù)類型

類型符號關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsigned

int0~65535320~4294967295unsigned

longunsigned

short160~65535有float323.4e-38~3.4e387位有效有double641.7e-308~1.7e30816位有效

有char8-128~127無unsignedchar80~255返回C語言的基本數(shù)據(jù)類型

類型符號關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型常量:程序運(yùn)行時其值不能改變的量。(常量有普通常量和符號常量)普通常量整型常量按進(jìn)制來分為:十進(jìn)制、八進(jìn)制(數(shù)字0開頭如:0123)、十六進(jìn)制(0x開頭如:0x3A4)按類型分為:int(基本整型)、short(短整型)、long(長整型)如:32L按有無符號分:有符號、無符號(unsigned)常量常量:程序運(yùn)行時其值不能改變的量。(常量有普通常量和符號常量實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù)):

普通寫法:3.2、3.0或3.通常情況下,默認(rèn)的實(shí)數(shù)常量為double型,如果在實(shí)數(shù)后加f,如:3.2f,則認(rèn)為它是float型。

科學(xué)記數(shù)法:“數(shù)字部分e指數(shù)部分”。e或E之前必須有數(shù)字,指數(shù)必須為整數(shù)。如1e2、2.3E-5等。字符型:用單引號‘括起來的單個字符或轉(zhuǎn)義字符(將反斜杠后面的字符轉(zhuǎn)變成另外的意義)。如:’A’、’3’、’好’。字符串型:用雙引號(“”)括起的一個或多個字符。(詳細(xì)解釋)

注意:單引號、雙引號必須在英文狀態(tài)下書寫。常量實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù)):常量符號常量:用標(biāo)識符代表常量。關(guān)于標(biāo)識符:用來標(biāo)識常量、變量、函數(shù)等的字符序列。通俗講就是給常量、變量、函數(shù)等用字符或字符串起的一個名字。標(biāo)識符命名規(guī)則如下:只能由字母、數(shù)字、下劃線組成,且第一個字符必須是字母或下劃線;不能和保留字沖突;區(qū)分大、小寫。規(guī)范:最好見名知義;常量名大寫、變量名小寫。定義符號常量的格式:

#define標(biāo)識符常量

如:definePRICE30常量符號常量:用標(biāo)識符代表常量。常量變量:程序運(yùn)行時中其值可以改變的量。理解變量

在C程序中變量必須先定義后使用,變量定義的格式:數(shù)據(jù)類型變量名;(數(shù)據(jù)類型參看表1)

如intnum,a;floatscor,height;charsex;變量的使用:變量的使用要注意以下幾個問題1、定義變量后,雖然沒有賦值,但其內(nèi)容非空。2、定義變量的同時給變量賦值,稱為初始化。如:inta=3,b=3;char=‘M’;注意:不允許inta=b=3;變量變量:程序運(yùn)行時中其值可以改變的量。理解變量變量3、給變量賦值時,變量原來內(nèi)容被新內(nèi)容取代。4、給變量賦值時要注意數(shù)值范圍、類型匹配和精度問題。如:num=92345678675756;a=3.6scor=3.1415926;5、在0-127范圍內(nèi)char類型和int型通假。charc=‘A’和intc=65一致。6、同一個函數(shù)體內(nèi)不允許2個名字完全相同的變量。變量3、給變量賦值時,變量原來內(nèi)容被新內(nèi)容取代。變量隱式轉(zhuǎn)換什么情況下發(fā)生運(yùn)算轉(zhuǎn)換------不同類型數(shù)據(jù)混合運(yùn)算時。賦值轉(zhuǎn)換------把一個值賦給與其類型不同的變量時。輸出轉(zhuǎn)換------輸出時轉(zhuǎn)換成指定的輸出格式。函數(shù)調(diào)用轉(zhuǎn)換------實(shí)參與形參類型不一致時轉(zhuǎn)換。運(yùn)算轉(zhuǎn)換規(guī)則:不同類型數(shù)據(jù)運(yùn)算時先自動轉(zhuǎn)換成同一類型。顯式轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)一般形式:(類型名)(表達(dá)式)例:(int)(x+y);(int)x+y;(double)(3/2);(int)3.6說明:強(qiáng)制轉(zhuǎn)換得到所需類型的中間變量,原變量類型不變不同類型數(shù)據(jù)間的轉(zhuǎn)換問題隱式轉(zhuǎn)換不同類型數(shù)據(jù)間的轉(zhuǎn)換問題整型、實(shí)型(單、雙精度)、字符型數(shù)據(jù)間可混合運(yùn)算。例如:

10+'a'+1.5-8765.1234*'b'

高double←float↑long↑unsigned↑

低int←char,short各類數(shù)值型數(shù)據(jù)的混合運(yùn)算整型、實(shí)型(單、雙精度)、字符型數(shù)據(jù)間可混合運(yùn)算。各類數(shù)值型第三章:運(yùn)算符和表達(dá)式34種運(yùn)算符第三章:運(yùn)算符和表達(dá)式34種運(yùn)算符表達(dá)式:由運(yùn)算符和相關(guān)操作數(shù)組成的式子,如:a+b、a=34、printf(“/d”,c/m)、等等。表達(dá)式后加分號就變成語句。如:a+b;a=34;printf(“%d”,c/m);學(xué)習(xí)運(yùn)算符應(yīng)注意:運(yùn)算符功能與運(yùn)算量(操作數(shù))關(guān)系要求運(yùn)算量個數(shù)要求運(yùn)算量類型運(yùn)算符優(yōu)先級別結(jié)合方向結(jié)果的類型第三章:運(yùn)算符和表達(dá)式表達(dá)式:由運(yùn)算符和相關(guān)操作數(shù)組成的式子,如:a+b、第三章:算術(shù)運(yùn)算符和表達(dá)式基本算術(shù)運(yùn)算符:+、-、*、/、%結(jié)合方向:從左向右優(yōu)先級:-、*/%、+-說明:“-”可為單目運(yùn)算符時,右結(jié)合性兩整數(shù)相除,結(jié)果為整數(shù)%要求兩側(cè)均為整型數(shù)據(jù)第三章:運(yùn)算符和表達(dá)式例:5/2=2

-5/2.0=-2.5例:5%2=1

-5%2=-11%10=

1

5%1=

05.5%2()算術(shù)運(yùn)算符和表達(dá)式第三章:運(yùn)算符和表達(dá)式例:5/2自增、自減運(yùn)算符++、--作用:使變量值加1或減1種類:前置++i,--i(先執(zhí)行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執(zhí)行i+1或i-1)說明:++--不能用于常量和表達(dá)式,如5++,(a+b)++++--結(jié)合方向:自右向左優(yōu)先級:-

++、

*/%、+-第三章:運(yùn)算符和表達(dá)式例j+++k;(j++)+k;例-i++-(i++)i=3;printf(“%d”,-i++);輸出:-3

自增、自減運(yùn)算符++、--第三章:運(yùn)算符和表達(dá)式例j+賦值運(yùn)算符和表達(dá)式簡單賦值運(yùn)算符符號:=格式:變量標(biāo)識符=表達(dá)式作用:將一個數(shù)據(jù)(常量或表達(dá)式)賦給一個變量。復(fù)合賦值運(yùn)算符

種類:+=、-=、*=、/=、%=第三章:運(yùn)算符和表達(dá)式a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例a=3;d=func();c=d+2;賦值運(yùn)算符和表達(dá)式第三章:運(yùn)算符和表達(dá)式a+=3a=a+3x說明:結(jié)合方向:自右向左。優(yōu)先級:14。左側(cè)必須是變量,不能是常量或表達(dá)式。賦值轉(zhuǎn)換規(guī)則:使賦值號右邊表達(dá)式值自動轉(zhuǎn)換成其左邊變量的類型。賦值表達(dá)式的值與變量值相等,且可嵌套。第三章:運(yùn)算符和表達(dá)式例3=x-2*y;a+b=3;×例

floatf;intI;i=10;f=I;則

f=10.0例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)說明:第三章:運(yùn)算符和表達(dá)式例3=x-2*y;a+b=逗號運(yùn)算符和表達(dá)式形式:表達(dá)式1,表達(dá)式2,……表達(dá)式n結(jié)合性:從左向右。優(yōu)先級:15。逗號表達(dá)式的值:等于表達(dá)式n的值。用途:常用于循環(huán)for語句中。運(yùn)算符和表達(dá)式例a=3*5,a*4;a=3*5,a*4,a+5例x=(a=3,6*3);x=a=3,6*a例a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);逗號運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式例a=3*5,a*4;關(guān)系運(yùn)算符和表達(dá)式關(guān)系運(yùn)算符種類:<<===>=>!=。結(jié)合方向:自左向右。優(yōu)先級別:(如圖)關(guān)系表達(dá)式的值:用1表示真和用0表示假。第三章:運(yùn)算符和表達(dá)式<<=>>===!=優(yōu)先級6(高)優(yōu)先級7(低)例c>a+b//c>(a+b)a>b!=c//(a>b)!=ca==b<c//a==(b<c)a=b>c//a=(b>c)例inta=3,b=2,c=1,d,f;a>b(a>b)==cb+c<ad=a>bf=a>b>c關(guān)系運(yùn)算符和表達(dá)式第三章:運(yùn)算符和表達(dá)式<優(yōu)先級6(高)優(yōu)先關(guān)系運(yùn)算注意:第三章:運(yùn)算符和表達(dá)式例若a=0;b=0.5;x=0.3;

則a<=x<=b的值為0

例5>4>3值為0例inti=1,j=7,a;a=i+(j%4!=0);

則a=2例‘a(chǎn)’>0結(jié)果為1‘A’>100結(jié)果為0例注意區(qū)分“=”與“==”inta=0,b=1;if(a=b)printf(“aequaltob”);elseprintf(“anotequaltob”);例應(yīng)避免對實(shí)數(shù)作相等或不等的判斷如1.0/3.0*3.0==1.0結(jié)果為0可改寫為:fabs(1.0/3.0*3.0-1.0)<1e-6關(guān)系運(yùn)算注意:第三章:運(yùn)算符和表達(dá)式例若a=0;b=邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符種類:!&&||邏輯運(yùn)算規(guī)則:

!--非真得假;非假得真;&&--有假得0,無假得1;||--有真得真,無真得假。C語言中,運(yùn)算量:0表示“假”;非0表示“真”。

運(yùn)算結(jié)果:0表示“假”;

1表示“真”。第三章:運(yùn)算符和表達(dá)式邏輯運(yùn)算符和表達(dá)式第三章:運(yùn)算符和表達(dá)式優(yōu)先級:結(jié)合方向:例:判斷下列表達(dá)式的值:若:a=4;b=5;!aa&&ba||b!a||b4&&0||25>3&&2||8<4-!0‘c’&&‘d’第三章:運(yùn)算符和表達(dá)式!:從右向左&&:從左向右||:從左向右特殊情況:邏輯表達(dá)式求解時,并非所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運(yùn)算符才能求出表達(dá)式的解時,才執(zhí)行該運(yùn)算符。如:a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)優(yōu)先級:第三章:運(yùn)算符和表達(dá)式特殊情況:條件運(yùn)算符與表達(dá)式一般形式:expr1

?expr2

:expr3執(zhí)行過程:功能:相當(dāng)于條件語句,但不能取代一般if語句條件運(yùn)算符可嵌套:如x>0?1:(x<0?-1:0)優(yōu)先級:13結(jié)合方向:自右向左。如a>b?a:c>d?c:d相當(dāng)于:a>b?a:(c>d?c:d)expr1、expr2、expr3類型可不同,表達(dá)式值取較高的類型第三章:運(yùn)算符和表達(dá)式條件運(yùn)算符與表達(dá)式第三章:運(yùn)算符和表達(dá)式結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)。程序設(shè)計應(yīng)遵守結(jié)構(gòu)化原則。C語句的種類:控制語句:完成一定的控制功能。函數(shù)調(diào)用語句:完成函數(shù)調(diào)用功能。表達(dá)式語句:由各種表達(dá)式加分號構(gòu)成??照Z句:只有分號的語句。復(fù)合語句:由{多個語句}組成。第四章順序結(jié)構(gòu)的程序設(shè)計結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)。程數(shù)據(jù)I/O在C語言中的實(shí)現(xiàn)I/O是指從計算機(jī)輸入設(shè)備(如鍵盤、磁盤、掃描儀等)向計算機(jī)輸入數(shù)據(jù);由計算機(jī)向輸出設(shè)備(如顯示器、磁盤、打印機(jī)等)輸出數(shù)據(jù)。(本章只介紹鍵盤輸入和屏幕輸出)C語言本身不提供I/O命令,所有的數(shù)據(jù)I/O都是由庫函數(shù)完成的。C程序的“I/O函數(shù)”均放在stdio.h頭文件中,若在程序中使用這些函數(shù)必須在函數(shù)體外使用#include<stdio.h>將其包含在源程序中。(格式化輸入/輸出函數(shù)除外)第四章順序結(jié)構(gòu)的程序設(shè)計第四章順序結(jié)構(gòu)的程序設(shè)計printf函數(shù)(格式輸出函數(shù))1)作用:向顯示器輸出若干個任意類型的數(shù)據(jù)。2)格式:printf(格式控制,輸出表列)3)說明:⑴格式控制是用雙引號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息:

格式說明:由“%”和格式字符組成。

普通字符:即需要原樣輸出的和轉(zhuǎn)義的字符。⑵輸出表列是需要輸出的數(shù)據(jù),可以是常量、變量或表達(dá)式,也可以沒有,若有多個輸出項,每項用逗號分隔。第四章順序結(jié)構(gòu)的程序設(shè)計printf函數(shù)(格式輸出函數(shù))第四章順序結(jié)構(gòu)的程序設(shè)計4)格式字符:對不同類型的數(shù)據(jù)用不同的格式字符,有以下幾種:⑴d格式符:用來輸出十進(jìn)制整數(shù)。

%d按整型數(shù)據(jù)的實(shí)際長度輸出。

%mdm為指定的輸出字段的寬度。(右對齊)%ld輸出長整型數(shù)據(jù)。

%mld輸出長整型數(shù)據(jù),m為指定的輸出寬度。⑵o格式符:以8進(jìn)制形式輸出整數(shù)。符號位被作為8進(jìn)制的一部分輸出,不會輸出帶負(fù)號的8進(jìn)制數(shù)。也可分為%o,%mo,%lo,%mlo幾種。

⑶x格式符:以16進(jìn)制形式輸出整數(shù)。同樣不會出現(xiàn)負(fù)的16進(jìn)制數(shù)。也可分為%x,%mx,%lx,%mlx幾種。⑷u格式符:輸出unsigned型數(shù)據(jù)。以十進(jìn)制形式輸出。第四章順序結(jié)構(gòu)的程序設(shè)計4)格式字符:對不同類型的數(shù)據(jù)用不同的格式字符,有以下幾種:⑸c格式符:用來輸出一個字符。⑹s格式符:用來輸出一個字符串。

%s按字符串原長輸出。

%ms輸出字符串占m列,右對齊

%-ms輸出字符串占m列,左對齊

%m.ns字符串占m列,但只取左端n個字符,右對齊

%-m.ns字符串占m列,但只取左端n個字符,左對齊⑺f格式符:用來輸出以小數(shù)形式表示的實(shí)數(shù)。

%f指定字段寬度,由系統(tǒng)自動指定,整數(shù)部分全部輸出,輸出6位小數(shù),單精度有效位為7位,雙精度有效位為16位。

%m.nf輸出數(shù)據(jù)共占m列,其中有n位小數(shù),右對齊。

%-m.nf輸出數(shù)據(jù)共占m列,其中有n位小數(shù),(按四舍五入取舍)左對齊,右補(bǔ)空格。第四章順序結(jié)構(gòu)的程序設(shè)計⑸c格式符:用來輸出一個字符。第四章順序結(jié)構(gòu)的程序設(shè)scanf函數(shù)(格式輸入函數(shù))1)作用:輸入任何類型的多個數(shù)據(jù)。2)形式:scanf(格式控制,地址表列)3)說明:⑴格式控制與printf函數(shù)中的格式控制相同。⑵地址表列是由若干個地址組成的表列,可以是變量的地址,或字符串的首地址。例main() {inta,b,c; scanf("%d%d%d",&a,&b,&c); printf("%d,%d,%d\n",a,b,c); }第四章順序結(jié)構(gòu)的程序設(shè)計“&”是地址運(yùn)算符,&a指a在內(nèi)存中的地址?!?d%d%d”表示按十進(jìn)制整數(shù)形式輸入數(shù)據(jù),輸入數(shù)據(jù)時,在兩個數(shù)據(jù)之間以一個或多個空格間隔,也可以用回車鍵、跳格鍵Tab,不能用逗號。scanf函數(shù)(格式輸入函數(shù))第四章順序結(jié)構(gòu)的程序設(shè)計“4)格式說明: 格式說明符與printf中相似,需要注意的是除了格式說明符外,若有普通字符則要求原樣輸入。另作幾點(diǎn)說明:(1)在scanf中不能用%u說明符,對無符號型數(shù)據(jù),以%d,%o,%x格式輸入。(2)可以指定輸入數(shù)據(jù)所占列數(shù),系統(tǒng)自動按它截取所需數(shù)據(jù)。例如:scanf("%3d%3d",&a,&b);

輸入123456↓則自動將123→a,456→bscanf("%3c",&ch);輸入abc個字符,把第一個字符a賦給ch(3)%后的“*”附加說明符,用來表示跳過它相應(yīng)的數(shù)據(jù)。例如:scanf("%2d%*3d%2d",&a,&b);輸入1234567

則將12付給a,67付給b,345被跳過。(4)輸入數(shù)據(jù)時不能規(guī)定精度。如:scanf(“%7.2f”,&a);非法第四章順序結(jié)構(gòu)的程序設(shè)計4)格式說明:第四章順序結(jié)構(gòu)的程序設(shè)計兩個不常用的字符輸入與輸出函數(shù)1.putchar函數(shù)(字符輸出函數(shù))1)作用:向終端輸出一個字符。2)形式:putchar(c);c可以是字符變量或整型變量。2.getchar函數(shù)(字符輸入函數(shù))1)作用:由終端輸入一個字符。2)形式:getchar();函數(shù)的返回值為輸入的字符。要注意有變量接收。例如:charc;c=getchar();putchar(c);也可以直接寫成:putchar(getchar());第四章順序結(jié)構(gòu)的程序設(shè)計兩個不常用的字符輸入與輸出函數(shù)第四章順序結(jié)構(gòu)的程序設(shè)計簡單順序程序設(shè)計例1:輸入一個華氏溫度,要求輸出攝氏溫度,公式為:#include“stdio.h”main(){floatc,f;scanf(“%f",&f);c=5.0/9*(f-32);printf("\nc=%7,2f\n",c);} 第四章順序結(jié)構(gòu)的程序設(shè)計簡單順序程序設(shè)計第四章順序結(jié)構(gòu)的程序設(shè)計C語言課件C程序設(shè)計講解C語言課件C程序設(shè)計講解C語言課件C程序設(shè)計講解C語言課件C程序設(shè)計講解C語言課件C程序設(shè)計講解變量實(shí)際上是在內(nèi)存中開辟的用來存放用戶數(shù)據(jù)的內(nèi)存空間,程序中所需要用到的數(shù)據(jù),就臨時存放到內(nèi)存中

當(dāng)你定義了一個變量時,系統(tǒng)就內(nèi)存中給你開辟了一個相應(yīng)的內(nèi)存空間,供你存放數(shù)據(jù)。

如:inta;floatb;charc;c=‘@’;a=32;在你定義變量的時候,系統(tǒng)做了兩件事:開辟空間,記錄地址。關(guān)于變量@0x00100x00110x00120x00130x00140x00150x0016內(nèi)存內(nèi)存地址abc32a0x0010返回變量實(shí)際上是在內(nèi)存中開辟的用來存放用戶數(shù)據(jù)的內(nèi)存空間,程序中字符形式含義ASCII代碼\n回車換行10\t跳到下一制表位9\b從當(dāng)前位后退一位8\r返回本行開頭13\f換頁12\\\反斜杠92\’’單引號39\’’”雙引號34\dddASCII的八進(jìn)制\xhhASCII的十六進(jìn)制轉(zhuǎn)義字符返回字符形式含義ASCII代碼\n回車換行10\t跳到下一制表位字符串常量在內(nèi)存中的存放:字符串中的每一個字符均以其ASCII碼存放,且最后添加一個“空字符”作為字符串的結(jié)束標(biāo)志。例:字符串常量“CHINA”存放在內(nèi)存中的情況是:

因此,字符常量'a'和字符串常量"a"的區(qū)別是:字符'a':1字節(jié)(值為97)字符串“a”:2字節(jié)(值為97,\0)字符串常量CHINA\0返回字符串常量在內(nèi)存中的存放:字符串中的每一個字符均以其ASCIC程序設(shè)計計算機(jī)學(xué)院:薛磊江C程序設(shè)計計算機(jī)學(xué)院:薛磊江計算機(jī)程序是指為讓計算機(jī)完成某一任務(wù)而給它發(fā)出的一組有序的指令集合。在生活中程序往往是對做某事的過程描述,比如你學(xué)開車時教練(相當(dāng)于編寫程序的人)教給你(相當(dāng)于計算機(jī))啟動步驟:檢查安全帶——點(diǎn)火——松開手剎——觀察后視鏡——打轉(zhuǎn)向燈——松離合——起步。這就是教練發(fā)給你的“執(zhí)行汽車啟步”的一組有序指令(相當(dāng)于程序)。只不過這是使用你聽懂的人類自然語言發(fā)出的指令,而要讓計算機(jī)執(zhí)行某項任務(wù),就要用計算機(jī)語言來發(fā)指令了。計算機(jī)程序計算機(jī)程序是指為讓計算機(jī)完成某一任務(wù)而給它發(fā)出的一組有序的指計算機(jī)語言:用來書寫計算機(jī)程序(即指令集合)的語言。

計算機(jī)程序中的指令是用計算機(jī)語言來寫的。計算機(jī)語言總的來說分為三類:1、機(jī)器語言:由二進(jìn)制0、1書寫的指令。2、匯編語言:用一些簡潔的英文字母和符號串來替代人類難以理解0、1來書寫指令。如:add、move。3、高級語言:接近于數(shù)學(xué)語言或人自然語言來書寫指令。前兩種也稱為低級語言。他們各有優(yōu)缺點(diǎn)。從人的理解角度而言:高級語言最容易理解其次是匯編和機(jī)器語言,而從計算機(jī)執(zhí)行速度角度而言正好相反。計算機(jī)語言計算機(jī)語言:用來書寫計算機(jī)程序(即指令集合)的語言。計算機(jī)語高級語言又可分為如下幾類:1、從執(zhí)行方式上分為:編譯型和解釋性語言。2、從編程理念上分為:面向過程和面向?qū)ο?。常見的編程語言:C、C++、C#、JAVA、VB等。語言開發(fā)工具:高級語言需要翻譯成計算機(jī)能識別并執(zhí)行的機(jī)器語言,這一過程稱為編譯。不同的語言有不同的編譯工具,即使相同的語言,由于開發(fā)編譯工具的公司不同,編譯工具的名稱也有區(qū)別。如:Mc,Tc等。計算機(jī)語言高級語言又可分為如下幾類:計算機(jī)語言這些工具往往集編寫代碼、編譯、調(diào)試等功能于一身,所以也稱為IDE(集成開發(fā)環(huán)境)。關(guān)于C語言:C語言是面向過程的高級語言。其主要優(yōu)點(diǎn)是它兼有高級語言和匯編語言的特點(diǎn),功能齊全,應(yīng)用范圍廣泛,非常適合程序語言教學(xué)。缺點(diǎn)是不容易支持面向?qū)ο蠹夹g(shù)。如何學(xué)習(xí)計算機(jī)編程語言。

要學(xué)好計算機(jī)語言主要從掌握關(guān)鍵字的用法、控制語句的語法規(guī)則、常見問題的算法入手。多讀程序、多做練習(xí)。循序漸進(jìn),逐步提高。C語言這些工具往往集編寫代碼、編譯、調(diào)試等功能于一身,所以也稱為I

例1-1:在屏幕上輸出“Hello,World!”#include<stdio.h>main(){printf(“Hello,World!”);}簡單C程序舉例主函數(shù),名字固定main()函數(shù)開始結(jié)束,中間為函數(shù)體函數(shù)體內(nèi)的語句編譯預(yù)處理例1-1:在屏幕上輸出“Hello,World!”簡單函數(shù)與主函數(shù)程序由一個或多個函數(shù)組成。一個程序中必須有、且只能有一個主函數(shù)main()。程序執(zhí)行從主函數(shù)main開始(即程序執(zhí)行的),在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。函數(shù)是由函數(shù)名和函數(shù)體構(gòu)成的,函數(shù)體由{}包含。程序語句函數(shù)主要由語句組成。用英文分號“;”作為語句終止符。編譯預(yù)處理命令預(yù)處理命令通常應(yīng)放在源文件或源序的最前面C程序格式和結(jié)構(gòu)特點(diǎn)函數(shù)與主函數(shù)C程序格式和結(jié)構(gòu)特點(diǎn)C程序書寫規(guī)定C程序書寫自由,一行可以寫多條語句,但每條語句要用分號作為結(jié)束標(biāo)記;也可以將一條語句分成多行書寫,但除了控制語句外,其它語句多行書寫要使用續(xù)行符“\”。C語言大小寫敏感,即區(qū)分大小寫。C語言忽略兩個語句之間的空行和空格??梢允褂?/對單行語句或使用/*………………*/對語句塊進(jìn)行注釋,包含在/*……*/中的內(nèi)容或//后的內(nèi)容不被編譯。C程序格式和結(jié)構(gòu)特點(diǎn)C程序書寫規(guī)定C程序格式和結(jié)構(gòu)特點(diǎn)C程序書寫規(guī)范使用TAB鍵縮進(jìn)。采用縮進(jìn)書寫能使程序清晰易懂{}對齊。對齊{}可以避免{}丟失,易于檢查。要有足夠的注釋。以便以后程序的修改和維護(hù)。初學(xué)者易犯的書寫錯誤沒注意大小寫,如main()寫成Main()。每條語句后忘記書寫;或?qū)?寫成;。丟失“}”或沒能合理配對使用“{”“}”。C程序格式和結(jié)構(gòu)特點(diǎn)C程序書寫規(guī)范C程序格式和結(jié)構(gòu)特點(diǎn)編輯鏈接編譯執(zhí)行C程序開發(fā)步驟file.exe程序代碼的錄入,生成源程序*.c語法分析查錯,翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exe編輯鏈接編譯執(zhí)行C程序開發(fā)步驟file.exe程序代碼的錄入第二章:數(shù)據(jù)類型常量、變量和運(yùn)算符C語言的數(shù)據(jù)類型第二章:數(shù)據(jù)類型常量、變量和運(yùn)算符C語言的數(shù)據(jù)類型C語言的基本數(shù)據(jù)類型

類型符號關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型字符型實(shí)型有無(signed)int16-32768~32767(signed)short16-32768~32767(signed)long32-2147483648~214748364716unsigned

int0~65535320~4294967295unsigned

longunsigned

short160~65535有float323.4e-38~3.4e387位有效有double641.7e-308~1.7e30816位有效

有char8-128~127無unsignedchar80~255返回C語言的基本數(shù)據(jù)類型

類型符號關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型常量:程序運(yùn)行時其值不能改變的量。(常量有普通常量和符號常量)普通常量整型常量按進(jìn)制來分為:十進(jìn)制、八進(jìn)制(數(shù)字0開頭如:0123)、十六進(jìn)制(0x開頭如:0x3A4)按類型分為:int(基本整型)、short(短整型)、long(長整型)如:32L按有無符號分:有符號、無符號(unsigned)常量常量:程序運(yùn)行時其值不能改變的量。(常量有普通常量和符號常量實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù)):

普通寫法:3.2、3.0或3.通常情況下,默認(rèn)的實(shí)數(shù)常量為double型,如果在實(shí)數(shù)后加f,如:3.2f,則認(rèn)為它是float型。

科學(xué)記數(shù)法:“數(shù)字部分e指數(shù)部分”。e或E之前必須有數(shù)字,指數(shù)必須為整數(shù)。如1e2、2.3E-5等。字符型:用單引號‘括起來的單個字符或轉(zhuǎn)義字符(將反斜杠后面的字符轉(zhuǎn)變成另外的意義)。如:’A’、’3’、’好’。字符串型:用雙引號(“”)括起的一個或多個字符。(詳細(xì)解釋)

注意:單引號、雙引號必須在英文狀態(tài)下書寫。常量實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù)):常量符號常量:用標(biāo)識符代表常量。關(guān)于標(biāo)識符:用來標(biāo)識常量、變量、函數(shù)等的字符序列。通俗講就是給常量、變量、函數(shù)等用字符或字符串起的一個名字。標(biāo)識符命名規(guī)則如下:只能由字母、數(shù)字、下劃線組成,且第一個字符必須是字母或下劃線;不能和保留字沖突;區(qū)分大、小寫。規(guī)范:最好見名知義;常量名大寫、變量名小寫。定義符號常量的格式:

#define標(biāo)識符常量

如:definePRICE30常量符號常量:用標(biāo)識符代表常量。常量變量:程序運(yùn)行時中其值可以改變的量。理解變量

在C程序中變量必須先定義后使用,變量定義的格式:數(shù)據(jù)類型變量名;(數(shù)據(jù)類型參看表1)

如intnum,a;floatscor,height;charsex;變量的使用:變量的使用要注意以下幾個問題1、定義變量后,雖然沒有賦值,但其內(nèi)容非空。2、定義變量的同時給變量賦值,稱為初始化。如:inta=3,b=3;char=‘M’;注意:不允許inta=b=3;變量變量:程序運(yùn)行時中其值可以改變的量。理解變量變量3、給變量賦值時,變量原來內(nèi)容被新內(nèi)容取代。4、給變量賦值時要注意數(shù)值范圍、類型匹配和精度問題。如:num=92345678675756;a=3.6scor=3.1415926;5、在0-127范圍內(nèi)char類型和int型通假。charc=‘A’和intc=65一致。6、同一個函數(shù)體內(nèi)不允許2個名字完全相同的變量。變量3、給變量賦值時,變量原來內(nèi)容被新內(nèi)容取代。變量隱式轉(zhuǎn)換什么情況下發(fā)生運(yùn)算轉(zhuǎn)換------不同類型數(shù)據(jù)混合運(yùn)算時。賦值轉(zhuǎn)換------把一個值賦給與其類型不同的變量時。輸出轉(zhuǎn)換------輸出時轉(zhuǎn)換成指定的輸出格式。函數(shù)調(diào)用轉(zhuǎn)換------實(shí)參與形參類型不一致時轉(zhuǎn)換。運(yùn)算轉(zhuǎn)換規(guī)則:不同類型數(shù)據(jù)運(yùn)算時先自動轉(zhuǎn)換成同一類型。顯式轉(zhuǎn)換(強(qiáng)制轉(zhuǎn)換)一般形式:(類型名)(表達(dá)式)例:(int)(x+y);(int)x+y;(double)(3/2);(int)3.6說明:強(qiáng)制轉(zhuǎn)換得到所需類型的中間變量,原變量類型不變不同類型數(shù)據(jù)間的轉(zhuǎn)換問題隱式轉(zhuǎn)換不同類型數(shù)據(jù)間的轉(zhuǎn)換問題整型、實(shí)型(單、雙精度)、字符型數(shù)據(jù)間可混合運(yùn)算。例如:

10+'a'+1.5-8765.1234*'b'

高double←float↑long↑unsigned↑

低int←char,short各類數(shù)值型數(shù)據(jù)的混合運(yùn)算整型、實(shí)型(單、雙精度)、字符型數(shù)據(jù)間可混合運(yùn)算。各類數(shù)值型第三章:運(yùn)算符和表達(dá)式34種運(yùn)算符第三章:運(yùn)算符和表達(dá)式34種運(yùn)算符表達(dá)式:由運(yùn)算符和相關(guān)操作數(shù)組成的式子,如:a+b、a=34、printf(“/d”,c/m)、等等。表達(dá)式后加分號就變成語句。如:a+b;a=34;printf(“%d”,c/m);學(xué)習(xí)運(yùn)算符應(yīng)注意:運(yùn)算符功能與運(yùn)算量(操作數(shù))關(guān)系要求運(yùn)算量個數(shù)要求運(yùn)算量類型運(yùn)算符優(yōu)先級別結(jié)合方向結(jié)果的類型第三章:運(yùn)算符和表達(dá)式表達(dá)式:由運(yùn)算符和相關(guān)操作數(shù)組成的式子,如:a+b、第三章:算術(shù)運(yùn)算符和表達(dá)式基本算術(shù)運(yùn)算符:+、-、*、/、%結(jié)合方向:從左向右優(yōu)先級:-、*/%、+-說明:“-”可為單目運(yùn)算符時,右結(jié)合性兩整數(shù)相除,結(jié)果為整數(shù)%要求兩側(cè)均為整型數(shù)據(jù)第三章:運(yùn)算符和表達(dá)式例:5/2=2

-5/2.0=-2.5例:5%2=1

-5%2=-11%10=

1

5%1=

05.5%2()算術(shù)運(yùn)算符和表達(dá)式第三章:運(yùn)算符和表達(dá)式例:5/2自增、自減運(yùn)算符++、--作用:使變量值加1或減1種類:前置++i,--i(先執(zhí)行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執(zhí)行i+1或i-1)說明:++--不能用于常量和表達(dá)式,如5++,(a+b)++++--結(jié)合方向:自右向左優(yōu)先級:-

++、

*/%、+-第三章:運(yùn)算符和表達(dá)式例j+++k;(j++)+k;例-i++-(i++)i=3;printf(“%d”,-i++);輸出:-3

自增、自減運(yùn)算符++、--第三章:運(yùn)算符和表達(dá)式例j+賦值運(yùn)算符和表達(dá)式簡單賦值運(yùn)算符符號:=格式:變量標(biāo)識符=表達(dá)式作用:將一個數(shù)據(jù)(常量或表達(dá)式)賦給一個變量。復(fù)合賦值運(yùn)算符

種類:+=、-=、*=、/=、%=第三章:運(yùn)算符和表達(dá)式a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3例a=3;d=func();c=d+2;賦值運(yùn)算符和表達(dá)式第三章:運(yùn)算符和表達(dá)式a+=3a=a+3x說明:結(jié)合方向:自右向左。優(yōu)先級:14。左側(cè)必須是變量,不能是常量或表達(dá)式。賦值轉(zhuǎn)換規(guī)則:使賦值號右邊表達(dá)式值自動轉(zhuǎn)換成其左邊變量的類型。賦值表達(dá)式的值與變量值相等,且可嵌套。第三章:運(yùn)算符和表達(dá)式例3=x-2*y;a+b=3;×例

floatf;intI;i=10;f=I;則

f=10.0例:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)說明:第三章:運(yùn)算符和表達(dá)式例3=x-2*y;a+b=逗號運(yùn)算符和表達(dá)式形式:表達(dá)式1,表達(dá)式2,……表達(dá)式n結(jié)合性:從左向右。優(yōu)先級:15。逗號表達(dá)式的值:等于表達(dá)式n的值。用途:常用于循環(huán)for語句中。運(yùn)算符和表達(dá)式例a=3*5,a*4;a=3*5,a*4,a+5例x=(a=3,6*3);x=a=3,6*a例a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);printf(“%d,%d,%d”,(a,b,c),b,c);逗號運(yùn)算符和表達(dá)式運(yùn)算符和表達(dá)式例a=3*5,a*4;關(guān)系運(yùn)算符和表達(dá)式關(guān)系運(yùn)算符種類:<<===>=>!=。結(jié)合方向:自左向右。優(yōu)先級別:(如圖)關(guān)系表達(dá)式的值:用1表示真和用0表示假。第三章:運(yùn)算符和表達(dá)式<<=>>===!=優(yōu)先級6(高)優(yōu)先級7(低)例c>a+b//c>(a+b)a>b!=c//(a>b)!=ca==b<c//a==(b<c)a=b>c//a=(b>c)例inta=3,b=2,c=1,d,f;a>b(a>b)==cb+c<ad=a>bf=a>b>c關(guān)系運(yùn)算符和表達(dá)式第三章:運(yùn)算符和表達(dá)式<優(yōu)先級6(高)優(yōu)先關(guān)系運(yùn)算注意:第三章:運(yùn)算符和表達(dá)式例若a=0;b=0.5;x=0.3;

則a<=x<=b的值為0

例5>4>3值為0例inti=1,j=7,a;a=i+(j%4!=0);

則a=2例‘a(chǎn)’>0結(jié)果為1‘A’>100結(jié)果為0例注意區(qū)分“=”與“==”inta=0,b=1;if(a=b)printf(“aequaltob”);elseprintf(“anotequaltob”);例應(yīng)避免對實(shí)數(shù)作相等或不等的判斷如1.0/3.0*3.0==1.0結(jié)果為0可改寫為:fabs(1.0/3.0*3.0-1.0)<1e-6關(guān)系運(yùn)算注意:第三章:運(yùn)算符和表達(dá)式例若a=0;b=邏輯運(yùn)算符和表達(dá)式邏輯運(yùn)算符種類:!&&||邏輯運(yùn)算規(guī)則:

!--非真得假;非假得真;&&--有假得0,無假得1;||--有真得真,無真得假。C語言中,運(yùn)算量:0表示“假”;非0表示“真”。

運(yùn)算結(jié)果:0表示“假”;

1表示“真”。第三章:運(yùn)算符和表達(dá)式邏輯運(yùn)算符和表達(dá)式第三章:運(yùn)算符和表達(dá)式優(yōu)先級:結(jié)合方向:例:判斷下列表達(dá)式的值:若:a=4;b=5;!aa&&ba||b!a||b4&&0||25>3&&2||8<4-!0‘c’&&‘d’第三章:運(yùn)算符和表達(dá)式!:從右向左&&:從左向右||:從左向右特殊情況:邏輯表達(dá)式求解時,并非所有的邏輯運(yùn)算符都被執(zhí)行,只是在必須執(zhí)行下一個邏輯運(yùn)算符才能求出表達(dá)式的解時,才執(zhí)行該運(yùn)算符。如:a=1;b=2;c=3;d=4;m=1;n=1;(m=a>b)&&(n=c>d)優(yōu)先級:第三章:運(yùn)算符和表達(dá)式特殊情況:條件運(yùn)算符與表達(dá)式一般形式:expr1

?expr2

:expr3執(zhí)行過程:功能:相當(dāng)于條件語句,但不能取代一般if語句條件運(yùn)算符可嵌套:如x>0?1:(x<0?-1:0)優(yōu)先級:13結(jié)合方向:自右向左。如a>b?a:c>d?c:d相當(dāng)于:a>b?a:(c>d?c:d)expr1、expr2、expr3類型可不同,表達(dá)式值取較高的類型第三章:運(yùn)算符和表達(dá)式條件運(yùn)算符與表達(dá)式第三章:運(yùn)算符和表達(dá)式結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)。程序設(shè)計應(yīng)遵守結(jié)構(gòu)化原則。C語句的種類:控制語句:完成一定的控制功能。函數(shù)調(diào)用語句:完成函數(shù)調(diào)用功能。表達(dá)式語句:由各種表達(dá)式加分號構(gòu)成。空語句:只有分號的語句。復(fù)合語句:由{多個語句}組成。第四章順序結(jié)構(gòu)的程序設(shè)計結(jié)構(gòu)化程序設(shè)計的三種基本結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)。程數(shù)據(jù)I/O在C語言中的實(shí)現(xiàn)I/O是指從計算機(jī)輸入設(shè)備(如鍵盤、磁盤、掃描儀等)向計算機(jī)輸入數(shù)據(jù);由計算機(jī)向輸出設(shè)備(如顯示器、磁盤、打印機(jī)等)輸出數(shù)據(jù)。(本章只介紹鍵盤輸入和屏幕輸出)C語言本身不提供I/O命令,所有的數(shù)據(jù)I/O都是由庫函數(shù)完成的。C程序的“I/O函數(shù)”均放在stdio.h頭文件中,若在程序中使用這些函數(shù)必須在函數(shù)體外使用#include<stdio.h>將其包含在源程序中。(格式化輸入/輸出函數(shù)除外)第四章順序結(jié)構(gòu)的程序設(shè)計第四章順序結(jié)構(gòu)的程序設(shè)計printf函數(shù)(格式輸出函數(shù))1)作用:向顯示器輸出若干個任意類型的數(shù)據(jù)。2)格式:printf(格式控制,輸出表列)3)說明:⑴格式控制是用雙引號括起來的字符串,也稱“轉(zhuǎn)換控制字符串”,它包括兩種信息:

格式說明:由“%”和格式字符組成。

普通字符:即需要原樣輸出的和轉(zhuǎn)義的字符。⑵輸出表列是需要輸出的數(shù)據(jù),可以是常量、變量或表達(dá)式,也可以沒有,若有多個輸出項,每項用逗號分隔。第四章順序結(jié)構(gòu)的程序設(shè)計printf函數(shù)(格式輸出函數(shù))第四章順序結(jié)構(gòu)的程序設(shè)計4)格式字符:對不同類型的數(shù)據(jù)用不同的格式字符,有以下幾種:⑴d格式符:用來輸出十進(jìn)制整數(shù)。

%d按整型數(shù)據(jù)的實(shí)際長度輸出。

%mdm為指定的輸出字段的寬度。(右對齊)%ld輸出長整型數(shù)據(jù)。

%mld輸出長整型數(shù)據(jù),m為指定的輸出寬度。⑵o格式符:以8進(jìn)制形式輸出整數(shù)。符號位被作為8進(jìn)制的一部分輸出,不會輸出帶負(fù)號的8進(jìn)制數(shù)。也可分為%o,%mo,%lo,%mlo幾種。

⑶x格式符:以16進(jìn)制形式輸出整數(shù)。同樣不會出現(xiàn)負(fù)的16進(jìn)制數(shù)。也可分為%x,%mx,%lx,%mlx幾種。⑷u格式符:輸出unsigned型數(shù)據(jù)。以十進(jìn)制形式輸出。第四章順序結(jié)構(gòu)的程序設(shè)計4)格式字符:對不同類型的數(shù)據(jù)用不同的格式字符,有以下幾種:⑸c格式符:用來輸出一個字符。⑹s格式符:用來輸出一個字符串。

%s按字符串原長輸出。

%ms輸出字符串占m列,右對齊

%-ms輸出字符串占m列,左對齊

%m.ns字符串占m列,但只取左端n個字符,右對齊

%-m.ns字符串占m列,但只取左端n個字符,左對齊⑺f格式符:用來輸出以小數(shù)形式表示的實(shí)數(shù)。

%f指定字段寬度,由系統(tǒng)自動指定,整數(shù)部分全部輸出,輸出6位小數(shù),單精度有效位為7位,雙精度有效位為16位。

%m.nf

溫馨提示

  • 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

提交評論