第2章常量、變量及表達(dá)式_第1頁
第2章常量、變量及表達(dá)式_第2頁
第2章常量、變量及表達(dá)式_第3頁
第2章常量、變量及表達(dá)式_第4頁
第2章常量、變量及表達(dá)式_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1《C語言程序設(shè)計(jì)》40學(xué)時(shí)數(shù)據(jù)類型、運(yùn)算符、表達(dá)式及簡(jiǎn)單的輸入輸出函數(shù)第二章北京化工大學(xué)信息科學(xué)與技術(shù)學(xué)院聞光輝2014年9月5日續(xù)第1講3學(xué)時(shí)第二章

數(shù)據(jù)類型、運(yùn)算符、表達(dá)式及簡(jiǎn)單的輸入輸出函數(shù)2.1數(shù)據(jù)類型2.2常量2.3變量2.4運(yùn)算和運(yùn)算符2.5運(yùn)算表達(dá)式2.6簡(jiǎn)單的輸入輸出函數(shù)23數(shù)據(jù)是計(jì)算機(jī)中最活躍的要素,計(jì)算機(jī)的主要功能就是對(duì)數(shù)據(jù)進(jìn)行計(jì)算和處理。因此,計(jì)算機(jī)語言中對(duì)數(shù)據(jù)的有關(guān)規(guī)定是否合理、類型是否豐富,將直接影響計(jì)算機(jī)對(duì)數(shù)據(jù)處理的能力。C語言中數(shù)據(jù)類型(較比前者)豐富。2.1數(shù)據(jù)類型數(shù)組類型結(jié)構(gòu)體類型共同體類型基本類型構(gòu)造類型指針類型數(shù)據(jù)類型整型實(shí)型(浮點(diǎn)型)字符型(字符串)枚舉型單精度型雙精度型常量形式變量形式教材14頁數(shù)組類型相同的數(shù)據(jù)集合結(jié)構(gòu)體類型不同的數(shù)據(jù)集合4

2.2.1整型數(shù)(整數(shù))2.2.2實(shí)型數(shù)(實(shí)數(shù)、浮點(diǎn)數(shù))2.2.3字符型數(shù)據(jù)2.2.4轉(zhuǎn)義字符2.2常量5十進(jìn)制八進(jìn)制,以0開頭。例:010(左起第一個(gè)0是數(shù)字)十六進(jìn)制,以0x開頭。例:0x10程序運(yùn)行中數(shù)值不改變的量

2.2常量2.2.1、整型數(shù)(整數(shù))短型2個(gè)字節(jié)。長(zhǎng)型4個(gè)字節(jié)。長(zhǎng)型常量后加字母L。例:15L,0x10,010按進(jìn)制分類:按字節(jié)長(zhǎng)度分類:教材15頁#include“stdio.h”main(){floata,r;

printf(“\nPleaseinputr”);

scanf(“%f”,&r);a=3.1416*r*r;

printf(“a=%f\n”,a);}例:整型數(shù)就是整數(shù)6由數(shù)字和小數(shù)點(diǎn)組成例:3.14159262.2.2、實(shí)型數(shù)(實(shí)數(shù)、浮點(diǎn)數(shù))十進(jìn)制數(shù)形式指數(shù)形式由尾數(shù)、字母e或E和指數(shù)組成例:1E3表示:1乘10的三次方(1103)類似數(shù)學(xué)中的科學(xué)計(jì)數(shù)法教材16頁實(shí)型數(shù)就是實(shí)數(shù)、有小數(shù)的數(shù)字符常量2.2.3、字符型數(shù)據(jù)字符串常量即普通字符用單引號(hào)括起來。在

C語言中,字符型數(shù)據(jù)是用ASCII碼來表示。例:‘A’(65)10,‘a(chǎn)’(97)10即一串普通字符用雙引號(hào)括起來。例:“MicrosoftVisualC++6.0”,“China”注意:‘A’和“A”的不同1、‘1’、“1”的不同教材17頁782.2.4、轉(zhuǎn)義字符轉(zhuǎn)義字符用來表示那些(在計(jì)算機(jī)鍵盤上直接表示的某些)操作控制或功能意義的字符這些字符通常用以表示計(jì)算機(jī)某些功能意義程序中通過使用轉(zhuǎn)義字符,實(shí)現(xiàn)某些(相應(yīng)的)操作控制轉(zhuǎn)義字符是以“\”開頭的字符序列,表示特定的含義,此時(shí)字符轉(zhuǎn)變?yōu)榱硗獾囊饬x在實(shí)際編程中,往往希望使用計(jì)算機(jī)鍵盤上已有的一些簡(jiǎn)單功能,為編程服務(wù)。為此C語言使用了一種特殊形式的字符常量—轉(zhuǎn)義字符,來達(dá)到此目的。教材17頁9轉(zhuǎn)義字符有:控制字符(如:\n換行、\r回車、\f換頁…)功能定義的字符(如:\‘單引號(hào)、\“雙引號(hào)、\\反斜線字符…)表示字符常量(如:\101表示字符A、\x41表示字符A…)字符功能ASCII\n回車換行,將當(dāng)前位置移到下一行開頭10\r回車,將當(dāng)前位置移到本行開頭13\t水平制表,跳到下一個(gè)tab位置9\b退格,將當(dāng)前位置移到前一列8\v垂直制表11\f換頁12\a響鈴警報(bào)7\o空字符(NULL)0\”雙引號(hào)34\dddddd為三位八進(jìn)制數(shù),表示一個(gè)字符代碼,如:\101

表示字符A\xhhhh為二位十六進(jìn)制數(shù),表示一個(gè)字符代碼,如:\x41表示字符A轉(zhuǎn)義字符常量的表示即轉(zhuǎn)義字符用單引號(hào)括起來如:‘\n’、‘\101’、‘\x41’教材17頁10

2.3.1變量的數(shù)據(jù)類型2.3.2變量的使用2.3.3變量數(shù)據(jù)的存儲(chǔ)與讀取2.3.4其它變量2.3變量1112cd,$123,#11,M.D.Ritchie錯(cuò):變量:變量名:標(biāo)識(shí)符:標(biāo)識(shí)符規(guī)定:例:sun,_day,month,student_name,c1string_2用來標(biāo)明變量名、數(shù)組名、結(jié)構(gòu)體名、函數(shù)名、文件名、類型名等的符識(shí)。標(biāo)識(shí)符就是一個(gè)名字。變量的名字。用標(biāo)識(shí)符標(biāo)識(shí)變量名。程序運(yùn)行中其值改變的量。用變量代表程序運(yùn)行中其值改變的量。標(biāo)識(shí)符由(英文)字母、下劃線、數(shù)字三種字符組成,且第一個(gè)字符必須是字母或下劃線。這里所表示的標(biāo)識(shí)符都是錯(cuò)誤的標(biāo)識(shí)符的長(zhǎng)度受各種版本編譯系統(tǒng)限制及機(jī)器的限制TurboC規(guī)定標(biāo)識(shí)符的長(zhǎng)度為32#include“stdio.h”main(){floata,r;

printf(“\nPleaseinputr”);

scanf(“%f”,&r);

a=3.1416*r*r;

printf(“a=%f\n”,a);}121、整型變量2、實(shí)型變量2.3.1變量的數(shù)據(jù)類型(VC++6.0)基本型:

int

變量名

4個(gè)字節(jié)短整型:short[int]變量名2個(gè)字節(jié)長(zhǎng)整型:long[int]變量名4個(gè)字節(jié)無符號(hào)型:unsigned變量名4個(gè)字節(jié)單精度型:float

變量名4個(gè)字節(jié)雙精度型:double變量名8個(gè)字節(jié)注:方括號(hào)中的內(nèi)容可以省略integer定義的形式:定義的形式:表示整型數(shù)據(jù)(整數(shù))的變量表示實(shí)型數(shù)據(jù)(實(shí)數(shù))的變量133、字符型變量4、字符串?dāng)?shù)組char

變量名1個(gè)字節(jié)一個(gè)字符變量只能存放一個(gè)字符(ASCII碼),不能放一個(gè)字符串char變量名[下標(biāo)]

字符串?dāng)?shù)組名是一個(gè)地址量。字符串?dāng)?shù)組名表示字符串的第一個(gè)字符的地址。定義的形式:定義的形式:表示字符型數(shù)據(jù)的變量表示字符串型數(shù)據(jù)的數(shù)組在C語言中,沒有字符串變量,字符串型數(shù)據(jù)用字符數(shù)組來處理。145、表—變量的數(shù)據(jù)類型、字節(jié)長(zhǎng)度、數(shù)據(jù)范圍、有效位數(shù)一個(gè)實(shí)型常量賦給flaot

類型變量,截取其整數(shù)、小數(shù)有效數(shù)字位6~7double類型變量,截取其整數(shù)、小數(shù)有效數(shù)字位15~16longdouble類型變量,截取其整數(shù)、小數(shù)有效數(shù)字位18~19符號(hào)字節(jié)位數(shù)數(shù)據(jù)類型標(biāo)識(shí)符數(shù)據(jù)范圍有效位整型帶符號(hào)18char-128~127-27~27-1(ASCII字符代碼)216short[int]-32768~32767-215~215-1432int-2147483648~2147483647-231~231-1432long[int]-2147483648~2147483647-231~231-1無符號(hào)18unsignedchar0~2560~28-1216unsignedshor[int]0~655350~216-1432unsignedint0~42949672950~232-1432unsignedlong[int]0~42949672950~232-1實(shí)型帶符號(hào)432float-3.4×1038~3.4×10386-7864double-1.7×10308~1.7×1030815-161080longdouble10-4932~104932

18-19教材15-16頁15常量修飾符const在變量定義中,使用const表示定義一個(gè)(變量為)常量,在程序中始終保持不變。例:constintx;整型常量x,其值不能被程序修改,只能在表達(dá)式中使用。const型變量可以在初始化時(shí)賦值,或通過某些硬件的方法賦值。例:constintx=1;在以后的程序中,變量x的值始終都是1,不能被改變。volatile修飾符用于告訴編譯程序,被修飾的變量值可以不通過程序中的明確定義的方法來改變。例如,一個(gè)全局變量用于表示系統(tǒng)時(shí)鐘值時(shí),雖然程序沒有明確改變?cè)撟兞康闹?,但它的?nèi)容也會(huì)(隨時(shí)鐘)改變。161、變量的定義2.3.2變量的使用在C語言中,所使用的每一個(gè)變量在引用前都須先定義,否則在程序編譯時(shí)會(huì)發(fā)生錯(cuò)誤。變量的定義就是按一定的方式為其使用的變量指定以下的內(nèi)容:C語言變量有四種存儲(chǔ)類型,即:auto自動(dòng)型或堆棧型(動(dòng)態(tài))register

寄存器型static

靜態(tài)型extern

外部型或全局型C語言變量常用有三種數(shù)據(jù)類型,即int

整型變量float

實(shí)型變量char

字符型變量在程序編譯時(shí),為其定義的變量分配存儲(chǔ)空間。變量的定義在程序的開始部分完成。存儲(chǔ)類型數(shù)據(jù)類型(標(biāo)識(shí)符)變量名(標(biāo)識(shí)符)17例:inta;floatb,c,d;charc1,s1;

…變量定義的格式:[存儲(chǔ)類型]數(shù)據(jù)類型標(biāo)識(shí)符變量1,變量2,…變量n;變量的定義意義在于:計(jì)算機(jī)在編譯時(shí),對(duì)每一個(gè)被定義的變量分配對(duì)應(yīng)(某種情況下是固定)的存儲(chǔ)單元(地址),為其程序使用變量創(chuàng)造必要條件。注:變量定義中,方括號(hào)中(存儲(chǔ)類型)的內(nèi)容可以省略。如果省略,則存儲(chǔ)類型為auto自動(dòng)型18例:inta;int

b,c;floatf;charc1;charstring[10];2、變量的初始化C語言允許在定義變量的同時(shí)對(duì)變量賦值。變量定義的同時(shí)賦值被稱為變量的初始化。注意:變量初始化的意義:程序編譯完成后,變量已被賦值。例:inta=3;int

b,c;floatf=5.8;charc1=‘e’;charstring[10]=“Beijing”;在定義變量時(shí),沒有賦初值的變量,并不意味著該變量中沒有數(shù)值。此時(shí),對(duì)于存儲(chǔ)類型為靜態(tài)型(static)變量中的值是0,其它存儲(chǔ)類型變量為一個(gè)隨機(jī)數(shù)。19在程序中使用變量,稱為變量的引用。如進(jìn)行數(shù)值計(jì)算、數(shù)據(jù)處理等。使用變量時(shí),先定義,后引用。3、變量的引用例:#include“stdio.h”main(){inta=55;

intb;

intc;b=45;c=(a+b)/100;

printf("a=%db=%dc=%d",a,b,c);}運(yùn)行結(jié)果:a=55b=45c=1202.3.3變量數(shù)據(jù)的存儲(chǔ)與讀取

變量所代表的數(shù)據(jù)是存儲(chǔ)在(計(jì)算機(jī))內(nèi)存中。在使用中希望數(shù)據(jù)的存儲(chǔ)與讀取靈活、多樣、快速,以便于程序應(yīng)用。內(nèi)存單元的地址內(nèi)存單元中存放的內(nèi)容內(nèi)存單元中存放的是數(shù)據(jù)包括:處理、運(yùn)算數(shù)據(jù)(常量、變量、數(shù)組、結(jié)構(gòu)體、文件)程序(代碼)數(shù)據(jù)(函數(shù))內(nèi)存單元是用地址標(biāo)識(shí)的某一個(gè)內(nèi)存單元是用地址表示出它在內(nèi)存中的位置,以便于對(duì)其尋找及進(jìn)行讀寫操作21變量數(shù)據(jù)的存儲(chǔ)形式有:靜態(tài)存儲(chǔ)static靜態(tài)型

extern外部型動(dòng)態(tài)存儲(chǔ)auto自動(dòng)型

register寄存器型這部分的內(nèi)容在第六章函數(shù)中詳細(xì)介紹1、變量數(shù)據(jù)的存儲(chǔ)對(duì)變量進(jìn)行賦值就是對(duì)變量數(shù)據(jù)的存儲(chǔ)(寫入內(nèi)存)操作對(duì)變量進(jìn)行賦值變量地址內(nèi)存

a

b20002004數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3…數(shù)據(jù)n例:inta=55;intb;b=45;22變量?jī)?nèi)存ab變量地址內(nèi)存

a

b直接讀?。洪g接讀?。?、變量數(shù)據(jù)的讀取變量名實(shí)際代表一個(gè)確定的數(shù)據(jù)存儲(chǔ)單元。程序編譯完成后,變量就與數(shù)據(jù)存儲(chǔ)單元一一對(duì)應(yīng)。對(duì)變量讀取操作,就是到對(duì)應(yīng)的存儲(chǔ)單元中讀取數(shù)據(jù)。(指針)變量中存放的是數(shù)據(jù)內(nèi)存的地址,在這種情況下,首先拿存放數(shù)據(jù)的地址,然后,再到對(duì)應(yīng)的地址中讀取數(shù)據(jù)。程序中對(duì)變量的引用(如在加、減、乘、除等運(yùn)算中,第一步)就是對(duì)變量(數(shù)據(jù))的讀取操作。20002004數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3…數(shù)據(jù)n數(shù)據(jù)1數(shù)據(jù)2數(shù)據(jù)3…數(shù)據(jù)n數(shù)據(jù)的存儲(chǔ)同樣也有直接、間接存儲(chǔ)。232.3.4其它變量指針變量:數(shù)組變量:結(jié)構(gòu)體變量:共同體變量:類型標(biāo)識(shí)符*變量名;類型標(biāo)識(shí)符數(shù)組名[下標(biāo)]struct

結(jié)構(gòu)體名{結(jié)構(gòu)體成員表}結(jié)構(gòu)體變量;union共同體名{共同體成員表列};242.4運(yùn)算和運(yùn)算符

2.4.1運(yùn)算

2.4.2運(yùn)算符252.4運(yùn)算和運(yùn)算符運(yùn)算運(yùn)算符運(yùn)算量運(yùn)算表達(dá)式對(duì)數(shù)據(jù)進(jìn)行處理的過程表示各種數(shù)據(jù)處理的符識(shí)被處理的數(shù)據(jù)運(yùn)算符+運(yùn)算量2.4.1運(yùn)算教材190-191頁26單目雙目雙目雙目雙目單目三目單目單目單目單目雙目(1)算術(shù)運(yùn)算符(2)關(guān)系運(yùn)算符(3)邏輯運(yùn)算符(4)賦值運(yùn)算符(5)自反賦值運(yùn)算符(6)自增自減運(yùn)算符(7)逗號(hào)運(yùn)算符(8)條件運(yùn)算符(9)指針運(yùn)算符(10)地址運(yùn)算符(11)結(jié)構(gòu)體成員運(yùn)算符(12)指向結(jié)構(gòu)體成員運(yùn)算符(13)下標(biāo)運(yùn)算符

(14)圓括號(hào)運(yùn)算符(15)大括號(hào)運(yùn)算符(16)長(zhǎng)度運(yùn)算符(17)數(shù)據(jù)類型轉(zhuǎn)換運(yùn)算符(18)位運(yùn)算運(yùn)算符+-*/%<><=>===!=&&||!=+=-=*=/=%=++--,?:*&·->[](){}sizeof(類型標(biāo)識(shí)符)(類型標(biāo)識(shí)符)<表達(dá)式>&^|~<<>>2.4.2運(yùn)算符27(1)算術(shù)運(yùn)算符(雙目)名稱運(yùn)算符運(yùn)算規(guī)則正+取原值負(fù)-取負(fù)值加+加法+減-減法-乘*乘法*除/除法/模%整除取余注意:C語言中乘法、除法運(yùn)算符的表示與數(shù)學(xué)中的表示不同。C語言中沒有乘方運(yùn)算符。教材18頁模運(yùn)算:參加運(yùn)算的數(shù)必須是整型數(shù)分子>分母,結(jié)果=余數(shù)分子<分母,結(jié)果=分子取余向零取整,例:-6%5,結(jié)果為:-128(2)關(guān)系運(yùn)算符(雙目)名稱運(yùn)算符小于<

小于等于<=

大于>

大于等于>=等于==不等于!=關(guān)系滿足結(jié)果為真,即等于1。關(guān)系不滿足結(jié)果為假,即等于0。教材30頁注意:名稱表達(dá)正確小于等于<=

大于等于>=等于==不等于!=表達(dá)錯(cuò)誤≤或=<≥或=>=≠×29(3)邏輯運(yùn)算符(雙目)邏輯運(yùn)算把一切“非0”的數(shù)作為真,把“0”數(shù)作為假邏輯運(yùn)算是“非0”和“0”兩類數(shù)據(jù)或真和假兩種狀態(tài)的運(yùn)算名稱運(yùn)算符

非no!與and&&或or||邏輯結(jié)果為下頁邏輯運(yùn)算真值表的表述教材31頁30邏輯運(yùn)算真值表非運(yùn)算!非0真0假0假非0真與運(yùn)算&&AB結(jié)果0假非0真0假非0真0假0假0假0假0假非0真非0真非0真有假則假,全真則真?;蜻\(yùn)算||AB結(jié)果0假非0真非0真非0真0假非0真0假0假0假非0真非0真非0真有真則真,全假則假。例:a&&b、c||d、4&&0(結(jié)果為:0)31C語言賦值運(yùn)算符與數(shù)學(xué)中的等號(hào)其含義有著本質(zhì)的不同賦值運(yùn)算是計(jì)算機(jī)對(duì)變量數(shù)據(jù)的寫入存儲(chǔ)器的操作C語言中,不能給常量和表達(dá)式賦值(4)賦值運(yùn)算符(雙目、自右到左)名稱運(yùn)算符賦值=(賦值號(hào))例:int

x,y;x=10;y=x*x+x;格式:先計(jì)算賦值號(hào)右邊的表達(dá)式,然后將其值賦給賦值號(hào)左邊的變量。變量=表達(dá)式;教材19頁32(5)自反(復(fù)合)賦值運(yùn)算符(雙目、自右到左)名稱運(yùn)算符加賦值+=

減賦值-=

乘賦值*=

除賦值/=

模賦值%=等例:int

a,b;a+=b;a-=b;a*=b;a*=y+x;a/=b;a%=b;a=a+b;a=a–b;a=a*b;a=a*(y+x);a=a/b;a=a%b;教材20頁33(6)自增1、自減1運(yùn)算符(單目、自右到左)名稱運(yùn)算符例說明增1(前綴)++++i在表達(dá)式中i先加1,后使用增1(后綴)++i++在表達(dá)式中i先使用,后加1減1(前綴)----i在表達(dá)式中i先減1,后使用減1(后綴)--i--在表達(dá)式中i先使用,后減1例:int

j,i=3;j=++i;結(jié)果:j的值為4,i的值為4。變量i將3自加1變?yōu)?后賦給j。前綴,先加后用。

例:int

j,i=3;j=i++;結(jié)果:變量j的值為3,i的值為4。變量i將3賦給j后自加1變?yōu)?。后綴,先用后加。自增1、自減1運(yùn)算是變量自身加1或減1,注意的是這里不僅有變量自加1或自減1運(yùn)算,還有變量自身賦值運(yùn)算。該運(yùn)算僅限用于整型變量,不能用于常量和表達(dá)式。因?yàn)镃語言中,不能給常量和表達(dá)式賦值。自增自減運(yùn)算符在使用中,有時(shí)會(huì)出現(xiàn)意想不到的結(jié)果,初學(xué)者慎用。教材19頁34(8)條件運(yùn)算符(9)指針運(yùn)算符(10)地址運(yùn)算符(11)結(jié)構(gòu)體成員運(yùn)算符(12)指向結(jié)構(gòu)體成員運(yùn)算符(7)逗號(hào)運(yùn)算符(順序求值運(yùn)算符),?:*&.->35(13)下標(biāo)運(yùn)算符

名稱運(yùn)算符下標(biāo)[]

用于數(shù)組運(yùn)算(數(shù)組元素的尋址運(yùn)算)。詳細(xì)內(nèi)容在第四章數(shù)組中介紹。

(14)圓括號(hào)運(yùn)算符

名稱運(yùn)算符圓括號(hào)()

例:(3+5)*88-21/7在函數(shù)的定義、引用中也應(yīng)用圓括號(hào)。詳細(xì)內(nèi)容在第六章函數(shù)中介紹。36(15)大括號(hào)運(yùn)算符名稱運(yùn)算符大括號(hào){}

用于含括函數(shù)的函數(shù)體、分程序的程序體、結(jié)構(gòu)體定義。例:函數(shù)main(){

int

a,b,c;floatx;charch;c=min(a,b);

{

語句;

}}int

min(x,y);

int

x,y;{

inte;

語句;}例:結(jié)構(gòu)體structstudent{

intnum;charname[20];charsex;

intage;floatscore;charaddr[30];}student1,student2,....;37(16)長(zhǎng)度運(yùn)算符(函數(shù))名稱運(yùn)算符長(zhǎng)度sizeof

格式:求數(shù)據(jù)類型或表達(dá)式結(jié)果值的字節(jié)長(zhǎng)度。例:sizeof(int);結(jié)果:等于4。sizeof(數(shù)據(jù)類型標(biāo)識(shí)符或表達(dá)式);sizeof

為長(zhǎng)度運(yùn)算符,不是函數(shù)。38(18)位運(yùn)算運(yùn)算符(17)數(shù)據(jù)類型轉(zhuǎn)換運(yùn)算符&^|~<<>>數(shù)據(jù)類型標(biāo)識(shí)符(表達(dá)式)按位與按位或按位異或取反左移右移名稱運(yùn)算符數(shù)據(jù)類型轉(zhuǎn)換格式:如:int(3.14*1.0*1.0)結(jié)果:3(整型數(shù)、沒有四舍五入運(yùn)算)教材21頁39運(yùn)算符名稱運(yùn)算符號(hào)1算術(shù)運(yùn)算符

+-*/%

2關(guān)系運(yùn)算符><>=<===!=3邏輯運(yùn)算符&&||!4賦值運(yùn)算符=+=-=*=/=%=5自增自減運(yùn)算符++--6指針運(yùn)算符*7地址運(yùn)算符&8下標(biāo)運(yùn)算符[]9條件轉(zhuǎn)換運(yùn)算符?:10逗號(hào)運(yùn)算符,11求字節(jié)運(yùn)算符sizeof12位運(yùn)算運(yùn)算符<<>>~|^&40運(yùn)算符優(yōu)先級(jí)結(jié)合性優(yōu)先級(jí)運(yùn)算符結(jié)合規(guī)則1()[]->.從左到右2!~++---*&sizeof

從右到左3*/%從左到右4+-從左到右5<<>>從左到右6<<=>>=從左到右7==!=從左到右8&從左到右9^從左到右10|從左到右11&&從左到右12||從左到右13?:從右到左14=從右到左15,從左到右教材190-191頁41

2.5運(yùn)算表達(dá)式

2.5.1算術(shù)表達(dá)式

2.5.2關(guān)系表達(dá)式

2.5.3邏輯表達(dá)式

2.5.4條件表達(dá)式

2.5.5賦值表達(dá)式

2.5.6逗號(hào)表達(dá)式

2.5.7混合表達(dá)式422.5.1算術(shù)表達(dá)式2.5.2關(guān)系表達(dá)式由算術(shù)運(yùn)算符連接常量、變量或表達(dá)式構(gòu)成。結(jié)果是:整數(shù)、實(shí)數(shù)。由關(guān)系運(yùn)算符連接常量、變量或表達(dá)式構(gòu)成。結(jié)果:

關(guān)系滿足,

結(jié)果為:1(真)

關(guān)系不滿足,結(jié)果為:0(假)例:a>b若:a=300,b=301,則結(jié)果為:02<5結(jié)果為:1例:2*a+b/3

4.0/3.0*3.14159*R*R*R1.0/6.0*3.14159*D*D球體積

用運(yùn)算符將運(yùn)算對(duì)象連接的算式2.5運(yùn)算表達(dá)式注:這里的結(jié)果,為表達(dá)式運(yùn)算的結(jié)果432.5.3邏輯表達(dá)式由邏輯運(yùn)算符連接常量、變量或表達(dá)式構(gòu)成。結(jié)果:或運(yùn)算,有真則真,全假則假。與運(yùn)算,有假則假,全真則真。非運(yùn)算,取反。例:a&&b

若:a=0,b=5,結(jié)果為:0例:a||b若:a=0,b=5,結(jié)果為:1例:整型變量a、b、c

初值為0

a++&&++b&&c++結(jié)果:表達(dá)式的值為0變量a的值為0、b的值為0、c的值為0與運(yùn)算&&AB結(jié)果0假非0真0假非0真0假0假0假0假0假非0真非0真非0真有假則假,全真則真。或運(yùn)算||AB結(jié)果0假非0真非0真非0真0假非0真0假0假0假非0真非0真非0真有真則真,全假則假。442.5.4條件表達(dá)式由條件運(yùn)算符連接表達(dá)式構(gòu)成例:

a>b?a:b;結(jié)果:

a如果大于b表達(dá)式等于a,否則表達(dá)式等于b。表達(dá)式1?表達(dá)式2:表達(dá)式3;條件表達(dá)式格式:表達(dá)式1

條件表達(dá)式結(jié)果等于表達(dá)式2的結(jié)果條件表達(dá)式結(jié)果等于表達(dá)式3的結(jié)果0假非0真表達(dá)式:可以是條件、邏輯、算數(shù)、常量、變量…運(yùn)算式教材39頁運(yùn)算為右結(jié)合,計(jì)算順序:先計(jì)算表達(dá)式3、再計(jì)算表達(dá)式2、最后計(jì)算表達(dá)式1運(yùn)算結(jié)果:表達(dá)式1運(yùn)算結(jié)果為真(非0),該條件表達(dá)式運(yùn)算結(jié)果為表達(dá)式2的結(jié)果表達(dá)式1運(yùn)算結(jié)果為假(0),該條件表達(dá)式運(yùn)算結(jié)果為表達(dá)式3的結(jié)果C語言條件表達(dá)式相當(dāng)于一段條件分支程序452.5.5賦值表達(dá)式由賦值運(yùn)算符連接常量、變量或表達(dá)式構(gòu)成。例:賦值表達(dá)式格式:變量=常量、變量、表達(dá)式;例:例:int

x,y;x=10;y=x;x=10*(y=5);charc1;c1=‘a(chǎn)’;charstr[20]=“Microsoft”;教材19頁46自反賦值表達(dá)式格式:變量+=表達(dá)式;變量-=表達(dá)式;變量*=表達(dá)式;變量/=表達(dá)式;變量%=表達(dá)式;例:inta=b=1,c=3;a+=5;b*=5;c%=1;c/=1;a=a+5;b=b*5;c=c%1;c=c/1;(連續(xù)賦值)在賦值運(yùn)算符前加其它運(yùn)算符472.5.6逗號(hào)表達(dá)式由逗號(hào)運(yùn)算符連接常量、變量或表達(dá)式構(gòu)成。逗號(hào)表達(dá)式運(yùn)算過程:先求表達(dá)式1,再求表達(dá)式2,再求……,直到求表達(dá)式n運(yùn)算結(jié)果:是最后一個(gè)表達(dá)式的值

逗號(hào)表達(dá)式格式:表達(dá)式1,表達(dá)式2,…表達(dá)式n;例:例:例:a=3*5,a*4;表達(dá)式結(jié)果:

60x=(a=3,6*3);表達(dá)式結(jié)果:x=18x=a=3,6*3;表達(dá)式結(jié)果:18注意:在逗號(hào)表達(dá)式中,前后表達(dá)式使用同一個(gè)變量時(shí),前面該變量的運(yùn)算結(jié)果會(huì)影響后面表達(dá)式的計(jì)算結(jié)果。而不能簡(jiǎn)單將表達(dá)式的值等于最后一個(gè)表達(dá)式的值。教材20頁482.5.7混合表達(dá)式高doublefloatlongunsigned

int低shortchar由各種運(yùn)算符連接常量、變量(各種數(shù)據(jù)類型)或表達(dá)式構(gòu)成。數(shù)據(jù)類型的轉(zhuǎn)換規(guī)則:由低(字節(jié)長(zhǎng)度短)向高(字節(jié)長(zhǎng)度長(zhǎng))轉(zhuǎn)換。混合運(yùn)算應(yīng)注意三個(gè)問題:●優(yōu)先級(jí)(參考教材190頁)●結(jié)合性(參考教材190頁)●數(shù)據(jù)類型的轉(zhuǎn)換(參考教材21頁)由各種數(shù)據(jù)類型構(gòu)成的混合表達(dá)式,數(shù)據(jù)類型不同的數(shù)據(jù)運(yùn)算時(shí),首先進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換,然后進(jìn)行運(yùn)算。教材21頁49上例為能被4整除而不能被100整除或能被400整除(判斷閏年的條件)例:●

隱式轉(zhuǎn)換:

例:●

顯式轉(zhuǎn)換:(數(shù)據(jù)類型標(biāo)識(shí)符)表達(dá)式;顯式轉(zhuǎn)換格式:例:例:例:(int)1.5;結(jié)果:1(沒有四舍五入運(yùn)算)(float)1;結(jié)果:1.000000(小數(shù)有效6位,沒有數(shù)填零)a*b/c+1.5-‘a(chǎn)’;結(jié)果:實(shí)型數(shù)(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch;

結(jié)果:由變量ch的數(shù)據(jù)類型確定((year%4==0&&year%100!=0)||(year%400==0));結(jié)果:0或1整型數(shù)例:2.0/10*a*a*a結(jié)果:實(shí)型數(shù)數(shù)據(jù)類型轉(zhuǎn)換的兩種形式:50語句C語言邏輯上每個(gè)語句最后必須以一個(gè)分號(hào)“;”結(jié)束。一個(gè)語句必須在最后出現(xiàn)分號(hào),分號(hào)是語句中不可缺少的。一個(gè)語句最后沒有分號(hào),是語法錯(cuò)誤,程序無法通過編譯。任何表達(dá)式都可以加上分號(hào)而成為語句例:A=5是一個(gè)賦值表達(dá)式,在C語言中沒有實(shí)際使用意義。而A=5;是一個(gè)賦值語句,在C語言中有實(shí)際使用意義。C語言的語句用來向計(jì)算機(jī)系統(tǒng)發(fā)出操作指令,完成相應(yīng)的操作(數(shù)據(jù)處理)。分號(hào)“;”C語言是由一個(gè)一個(gè)函數(shù)組成的,函數(shù)是由一條一條語句組成的。2014年9月12日第2講3學(xué)時(shí)51

2.6簡(jiǎn)單的輸入輸出函數(shù)2.6.1字符輸入輸出函數(shù)2.6.2字符串輸入輸出函數(shù)2.6.3格式化輸入輸出函數(shù)52C語言輸入輸出的概念C語言輸入輸出是相對(duì)于計(jì)算機(jī)而言從計(jì)算機(jī)向外部輸出設(shè)備輸出數(shù)據(jù)稱為“輸出”從外部輸入設(shè)備向計(jì)算機(jī)輸入數(shù)據(jù)稱為“輸入”C語言沒有提供專門的輸入輸出語句,其數(shù)據(jù)的輸入輸出是由庫函數(shù)完成的。數(shù)據(jù)的輸入輸出要調(diào)用輸入輸出函數(shù)。在ANSIC標(biāo)準(zhǔn)中定義了(提供了)一組輸入輸出(I/O)函數(shù)。調(diào)用(使用)庫函數(shù)時(shí),有調(diào)用(格式)要求在調(diào)用輸入輸出函數(shù)時(shí),所需預(yù)定義的一些類型和常數(shù)都放在頭部文件stdio.h

中,因此,編程中在程序的開始的地方,用預(yù)編輯命令#include<stdio.h>或#include“stdio.h”

將頭文件包括到源程序中。以便于程序的編譯連接。531、字符輸入函數(shù)getchar

#include<stdio.h>main(){intc;c=getchar();}#include<stdio.h>main(){charc;c=getchar();}例:函數(shù)原型:功能:要求:(計(jì)算機(jī))從標(biāo)準(zhǔn)輸入文件即鍵盤上讀取一個(gè)(鍵的)字符,函數(shù)返回的是該(鍵)字符的ASCII碼值。程序開始要使用預(yù)編輯命令#include<stdio.h>。int

getchar(void);例:函數(shù)引用格式:getchar()2.6.1字符輸入函數(shù)getchar和字符輸出函數(shù)putchar教材22頁數(shù)據(jù)類型說明說明函數(shù)返回值的數(shù)據(jù)類型函數(shù)名函數(shù)的形式參數(shù)空參數(shù)542、字符輸出函數(shù)putchar

#include<stdio.h>main(){intc=97;

putchar(c);}#include<stdio.h>main(){charc;c=‘a(chǎn)’;

putchar(c);}例:函數(shù)引用格式:形式參數(shù)ch

是:字符常量、字符變量,整型常量、整型變量。其值是字符的ASCII碼。功能:要求:(計(jì)算機(jī))向標(biāo)準(zhǔn)輸出文件即顯示終端輸出一個(gè)字符。將形式參數(shù)

ch

所賦的字符或字符代碼ASCII值,輸出到顯示器上顯示。顯示的是字符。程序開始使用預(yù)編輯命令#include<stdio.h>。例:putchar(ch);函數(shù)原型:int

putchar(charch);55#include<stdio.h>main(){charc;c=getchar();

putchar(c);}例:2-1用getchar、putchar函數(shù)編一個(gè)程序。

要求從鍵盤輸入一個(gè)字符,并將其顯示在顯示器上。

A<CR>A運(yùn)行程序56#include“stdio.h”main(){chara,b,c;a=‘B’;b=‘O’;c=‘Y’;

putchar(a);

putchar(b);

putchar(c);}例:2-2用putchar

函數(shù)在顯示器上輸出BOY字母。BOY運(yùn)行程序571、字符串輸入函數(shù)gets#include<stdio.h>main(){charfilename[30];gets(filename);}函數(shù)引用格式:形式參數(shù)str

是:字符串?dāng)?shù)組指向字符串?dāng)?shù)組的指針形參str是字符串?dāng)?shù)組,則其存放的是字符串?dāng)?shù)組第一個(gè)字符在內(nèi)存的首地址,是地址碼(地址量)功能:要求:gets(str);(計(jì)算機(jī))從標(biāo)準(zhǔn)輸入文件中即鍵盤讀取一串字符,用回車鍵結(jié)束字符串的輸入,并將其賦給字符串?dāng)?shù)組(或指針)str,即存入str

所指向的存儲(chǔ)區(qū)。程序開始要使用預(yù)編輯命令#include<stdio.h>。例:函數(shù)原型:char*gets(char*str);2.6.2字符串輸入函數(shù)gets和字符串輸出函數(shù)puts教材194頁582、字符串輸出函數(shù)puts#include<stdio.h>main(){charstr[10]=“abc”;puts(str);puts(“ABC”);}函數(shù)引用格式:形式參數(shù)str是:字符串常量字符串?dāng)?shù)組指向字符串?dāng)?shù)組的指針功能:要求:將字符串常量或字符串?dāng)?shù)組str

指向的字符串輸出到標(biāo)準(zhǔn)輸出文件即顯示器上。字符數(shù)組str

指向要輸出的字符串。程序開始要使用預(yù)編輯命令#include<stdio.h>。puts(str);例:abcABC函數(shù)原型:int

puts(char*str);運(yùn)行程序59例:2-3用gets、puts函數(shù)編一個(gè)程序。要求從鍵盤輸入一個(gè)字符串,并將其顯示在顯示器上。TeststringI/OABCDEFG<CR>ABCDEFG#include<stdio.h>main(){charstr[20];

puts(“TeststringI/O”);

gets(str);

puts(str);}運(yùn)行程序60

scanf(“輸入格式”,輸入項(xiàng)表列);格式化輸入函數(shù)

printf(“輸出格式”,輸出項(xiàng)表列);格式化輸出函數(shù)格式化輸入輸出函數(shù)可以將C語言中各種類型的數(shù)據(jù)從計(jì)算機(jī)中輸出到顯示器上和從鍵盤上將數(shù)據(jù)輸入到計(jì)算機(jī)中。2.6.3格式化輸入、輸出函數(shù)printf(“a=%d,x=%f”,a,x);scanf(“%d%f”,&a,&x);輸出格式:%d十進(jìn)制整數(shù)%x十六進(jìn)制整數(shù)%o八進(jìn)制整數(shù)%f浮點(diǎn)小數(shù)%c單一字符%s字符串教材22頁引用格式:1、格式化輸出函數(shù)printf功能:要求:printf(“輸出格式”,輸出項(xiàng)表列);

按照輸出格式指定的格式,將輸出項(xiàng)表列的各項(xiàng)(中的數(shù)據(jù)),輸出到標(biāo)準(zhǔn)輸出文件中,即顯示器上。程序開始要使用預(yù)編輯命令#include<stdio.h>。說明:①輸出格式②輸出項(xiàng)表列格式符:用于規(guī)定相應(yīng)輸出項(xiàng)的格式。輸出格式用格式符來說明。是由一系列格式轉(zhuǎn)換說明符(簡(jiǎn)稱格式符)組成?!侵付ㄒ敵龅臄?shù)據(jù),可以是各種類型數(shù)據(jù)的變量、常量或表達(dá)式?!鄠€(gè)變量、常量或表達(dá)式時(shí),用逗號(hào)“,”分隔?!敵鲎兞?、常量或表達(dá)式的個(gè)數(shù)和要與格式符要求的個(gè)數(shù)相同、前后順序一一對(duì)應(yīng)?!敵鲎兞俊⒊A炕虮磉_(dá)式的數(shù)據(jù)類型要與格式符數(shù)據(jù)類型的要求相同。▲輸出項(xiàng)若為表達(dá)式,先求解,將計(jì)算結(jié)果的數(shù)據(jù)輸出%[+][-]0m[.n]l<數(shù)據(jù)類型說明字母>函數(shù)原型:int

printf(char*format,argument,...);常量、變量、表達(dá)式格式符61#include<stdio.h>main(){charstr[20]=“Beijing”;printf(“%7.3s”,str);}運(yùn)行結(jié)果:Bei62#include<stdio.h>main(){floatpi=3.1415;printf(“%7.4f”,pi);}運(yùn)行結(jié)果:3.1415m表示輸出項(xiàng)輸出數(shù)據(jù)(字符)的總長(zhǎng)度格式符:%[+][-]0m[.n]l<數(shù)據(jù)類型說明字母>輸出整數(shù):輸出實(shí)數(shù):輸出字符:例:例:例:m表示輸出項(xiàng)輸出數(shù)據(jù)(字符)的總長(zhǎng)度n表示輸出項(xiàng)輸出數(shù)據(jù)的小數(shù)部分?jǐn)?shù)據(jù)(字符)的長(zhǎng)度m表示輸出項(xiàng)輸出數(shù)據(jù)字符的總長(zhǎng)度n表示輸出項(xiàng)輸出數(shù)據(jù)字符的實(shí)際個(gè)數(shù)●m[.n]指定輸出數(shù)據(jù)的長(zhǎng)度#include<stdio.h>main(){intx=123;printf(“%3d”,x);}運(yùn)行結(jié)果:1237.4表示輸出的數(shù)據(jù)共占7個(gè)字符位置,其中小數(shù)占4個(gè)字符位置?!?是格式符的開始標(biāo)識(shí)記號(hào)63格式符:%[+][-]0

m[.n]l<數(shù)據(jù)類型說明字母>●[+][-]指定輸出項(xiàng)輸出數(shù)據(jù)的輸出位置●0對(duì)輸出項(xiàng)數(shù)據(jù)左側(cè)空位填數(shù)字0或空白(空格)例:例:#include<stdio.h>main(){intx=456;printf(“%05d\n”,x);printf(“%5d\n”,x);}運(yùn)行結(jié)果:00456456▲指定0,輸出數(shù)據(jù)左側(cè)空位填0▲不指定0,輸出數(shù)據(jù)左側(cè)空位填空白(空格)▲指定“+”或缺省時(shí),輸出項(xiàng)輸出數(shù)據(jù)(字符)的輸出位置右邊靠齊▲指定“-”時(shí),輸出項(xiàng)輸出數(shù)據(jù)(字符)的輸出位置左邊靠齊#include<stdio.h>main(){charstr[10]=“ABCD”;printf(“%+5s\n”,str);printf(“%-5s\n”,“ABCD”);}運(yùn)行結(jié)果:ABCDABCD64格式符:%[+][-]0m[.n]l<數(shù)據(jù)類型說明字母>●l對(duì)輸出項(xiàng)輸出數(shù)據(jù)的數(shù)值,指定輸出的精度和類型。對(duì)整型數(shù)對(duì)實(shí)型數(shù)例:在VC++環(huán)境下此例可以不指定l在TC環(huán)境下此例如果不指定l輸出產(chǎn)生錯(cuò)誤d(十進(jìn)制),x(十六進(jìn)制),o(八進(jìn)制),u(無符號(hào)十進(jìn)制)

l:long

型精度h:short型精度缺省時(shí),int

型精度e(指數(shù)形式),f(小數(shù)形式),gl:double精度缺省時(shí),float精度#include<stdio.h>main(){longx=123456789;

printf(“%ld\n”,x);}運(yùn)行結(jié)果:123456789不講65格式符:%[+][-]0m[.n]l<數(shù)據(jù)類型說明字母>●%是格式符的開始標(biāo)識(shí)記號(hào)●數(shù)據(jù)類型說明字母指定輸出項(xiàng)輸出數(shù)據(jù)的數(shù)據(jù)類型和格式以十六進(jìn)制無符號(hào)數(shù)輸出(a~f以小寫形式輸出)以八進(jìn)制無符號(hào)數(shù)輸出以十進(jìn)制無符號(hào)整型數(shù)輸出以%e%f格式中輸出長(zhǎng)度較短的一種格式輸出,不輸出無意義的0帶符號(hào)十進(jìn)制整型數(shù)輸出(int

整型數(shù)),提供輸出9~10位有效位以十進(jìn)制實(shí)型數(shù)形式輸出,float型,提供輸出7位有效位;double型,提供輸出16位有效位以指數(shù)形式輸出,其中尾數(shù)部分6位小數(shù),指數(shù)3位,正負(fù)號(hào)1位,e1位以字符串輸出以單個(gè)字符輸出%x%o%u%g%d%f%e%s%c66數(shù)據(jù)類型說明字母%f十進(jìn)制實(shí)型數(shù)float、double輸出,含6位小數(shù)float單精度輸出數(shù)據(jù)有效位7位4個(gè)字節(jié),32位double雙精度輸出數(shù)據(jù)有效位16位8個(gè)字節(jié),64位例:#include<stdio.h>main(){inta=123,b=123456789;

printf(“%d,%d\n”,a,b);}運(yùn)行結(jié)果:123,123456789%d帶符號(hào)十進(jìn)制整型數(shù)int

輸出,輸出數(shù)據(jù)有效位9~10位有效位7位無效位運(yùn)行結(jié)果:333333.3281256位小數(shù)#include<stdio.h>main(){doublea=111111.111;doubleb=222222.222;

printf(“%f\n”,a+b);}運(yùn)行結(jié)果:333333.333000例:#include<stdio.h>main(){floata=111111.111;floatb=222222.222;

printf(“%f\n”,a+b);}int

整形數(shù)據(jù)范圍:-2147483648~2147483647-231~231-167例:#include<stdio.h>

main(){charc=‘a(chǎn)’;

inti=97;

printf(“%c,%d\n”,c,c);

printf(“%c,%d\n”,i,i);}運(yùn)行結(jié)果:a,97a,97數(shù)據(jù)類型說明字母%s例:#include<stdio.h>main(){printf(“%s\n”,“Beijing”);}運(yùn)行結(jié)果:Beijing%c以單個(gè)字符輸出以字符串輸出%e以指數(shù)形式輸出其中尾數(shù)部分6位小數(shù)e1位正負(fù)號(hào)1位指數(shù)3位例:#include<stdio.h>

main(){printf(“%e\n”,123.456);}運(yùn)行結(jié)果:1.234560e+002

6位小數(shù)3位指數(shù)68printf函數(shù)若輸出格式中有格式符以外的字符(包括漢字),則printf函數(shù)按原字符輸出。例:#include<stdio.h>main(){inta=123;

printf(“Address:%s\n”,“Beijing”);

printf(“a:%d”,a);}運(yùn)行結(jié)果:Address:Beijinga:12369引用格式:2、格式化輸入函數(shù)scanf功能:要求:scanf(“輸入格式”,&輸入項(xiàng)表列);按輸入格式指定的格式,從標(biāo)準(zhǔn)輸入文件,即鍵盤上,輸入數(shù)據(jù)給輸入項(xiàng)表列中的變量。程序開始要使用預(yù)編輯命令#include<stdio.h>。說明:①輸入格式②輸入項(xiàng)表列格式符:用于規(guī)定輸入項(xiàng)輸入數(shù)據(jù)的格式。輸入格式用格式符來說明?!怯扇舾蓚€(gè)變量的地址組成。一般情況下,在每個(gè)變量前加地址運(yùn)算符&。%m[.n]l<數(shù)據(jù)類型說明字母>函數(shù)原型:int

scanf(char*format,argument,...);格式符變量地址教材23頁▲有多個(gè)輸入項(xiàng)變量地址時(shí),從鍵盤上輸入的各個(gè)數(shù)據(jù)之間可用逗號(hào)作分隔符,進(jìn)行分隔。70格式符:%m[.n]l<數(shù)據(jù)類型說明字母>

●數(shù)據(jù)類型說明字母:●l:對(duì)整型數(shù)對(duì)實(shí)型數(shù)●m[.n]:d(十進(jìn)制),x(十六進(jìn)制),o(八進(jìn)制),u(無符號(hào)十進(jìn)制)。指定l,表示輸入項(xiàng)輸入數(shù)據(jù)為long型精度指定h,表示輸入項(xiàng)輸入數(shù)據(jù)為short型精度缺省時(shí),int

型精度e(指數(shù)形式),f(小數(shù)形式),g指定l,表示輸入項(xiàng)輸入數(shù)據(jù)為double精度缺省時(shí),float精度d、o、

x、c

、s、e、f含義與printf

中的描述相同。指定輸入項(xiàng)輸入數(shù)據(jù)的精度指定輸入項(xiàng)輸入數(shù)據(jù)的長(zhǎng)度。含義與printf

中相同。g:以%e%f格式中輸入長(zhǎng)度較短的一種格式輸出,不輸入無意義的0不講71#include<stdio.h>main(){charc;

scanf(“%c”,&c);

printf(“%c”,c);}a<CR>a運(yùn)行程序543<CR>543#include<stdio.h>main(){inta;

scanf(“%d”,&a);

printf(“%d”,a);}例:2-5例:2-4運(yùn)行程序說明:①格式輸入函數(shù)scanf

需要包括頭文件stdio.h,即#include<stdio.h>②格式說明符在個(gè)數(shù)、順序、數(shù)據(jù)類型上與輸入項(xiàng)列表中的變量必須一一對(duì)應(yīng)③格式說明符中除了格式說明符之外還有其他的字符,在輸入數(shù)據(jù)時(shí)應(yīng)輸入相應(yīng)的字符72#include<stdio.h>main(){intx,y;floatz;

scanf(“%d,%d,%f”,&x,&y,&z);

printf(“%d%d%f”,x,y,z);}#include<stdio.h>main(){int

a,b,c;

scanf(“%d%d%d”,&a,&b,&c);

printf(“%d%d%d”,a,b,c);}例:2-6運(yùn)行程序運(yùn)行程序5<CR>6<CR>7<CR>56735,45,2.5<CR>35452.500000例:2-7如果給三個(gè)變量輸入,在格式說明符中不用逗號(hào)隔開,輸入每個(gè)數(shù)據(jù)后按回車鍵(隔開)如果給三個(gè)變量輸入,在格式說明符中用逗號(hào)隔開,輸入每個(gè)數(shù)據(jù)后使用逗號(hào)隔開73例:2-7main(){charstr[10];

scanf(“%s”,str);

printf(“\n%s”,str);}運(yùn)行程序Howareyou?<CR>Howareyou?字符串?dāng)?shù)組前不加地址運(yùn)算符&,因?yàn)樽址當(dāng)?shù)組名表示的是字符串的第一個(gè)字符的地址,地址量。7374#include<stdio.h>main(){chara,b;a=getchar();

putchar(a);

putchar(‘\n’);b=a+‘a(chǎn)’-‘A’;

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論