版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言程序設(shè)計(jì)基礎(chǔ)C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第1頁。2C語言程序設(shè)計(jì)基礎(chǔ)2.1算法與程序設(shè)計(jì)步驟2.2數(shù)據(jù)類型2.3常量和變量2.4函數(shù)2.5運(yùn)算符和表達(dá)式2.6算術(shù)運(yùn)算符與算術(shù)表達(dá)式2.7賦值運(yùn)算符與賦值表達(dá)式2.8逗號(hào)運(yùn)算符與逗號(hào)表達(dá)式2.9數(shù)值型數(shù)據(jù)間的混合運(yùn)算C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第2頁。32.1算法與程序設(shè)計(jì)步驟一個(gè)程序應(yīng)包括兩個(gè)方面的內(nèi)容:對(duì)數(shù)據(jù)的描述:數(shù)據(jù)結(jié)構(gòu)(datastructure)對(duì)操作的描述:算法(algorithm)著名計(jì)算機(jī)科學(xué)家沃思提出一個(gè)公式:程序=數(shù)據(jù)結(jié)構(gòu)+算法數(shù)據(jù)結(jié)構(gòu)+算法+程序設(shè)計(jì)方法+語言工具完整的程序設(shè)計(jì)應(yīng)該是:C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第3頁。4一、算法及其表示2.1算法與程序設(shè)計(jì)步驟1.算法:計(jì)算機(jī)求解某一問題而采用的具體方法、步驟
算法的評(píng)價(jià)標(biāo)準(zhǔn):正確、高效、結(jié)構(gòu)性好
⒉算法描述:描述算法的方法多種多樣。歸納為兩大類:①文字易懂、繁瑣、不直觀
②圖形(符號(hào))
直觀、簡(jiǎn)單做事情都有——方法、步驟
——決定事情成敗
程序設(shè)計(jì)的最主要的工作就是算法設(shè)計(jì)程序:用計(jì)算機(jī)語言來實(shí)現(xiàn)算法C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第4頁。52.1算法與程序設(shè)計(jì)步驟3.常用的算法描述方法
自然語言描述流程圖
N-S圖(盒圖)偽碼一、算法及其表示C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第5頁。62.1算法與程序設(shè)計(jì)步驟(1)自然語言描述自然語言就是人們?nèi)粘J褂玫恼Z言,可以是漢語或英語或其它語言。用自然語言表示通俗易懂,但文字冗長,容易出現(xiàn)“歧義性”。自然語言表示的含義往往不大嚴(yán)格,要根據(jù)上下文才能判斷其正確含義,描述包含分支和循環(huán)的算法時(shí)也不很方便。因此,除了那些很簡(jiǎn)單的問題外,一般不用自然語言描述算法。一、算法及其表示C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第6頁。72.1算法與程序設(shè)計(jì)步驟自然語言的“歧義性”我國古時(shí)候沒有標(biāo)點(diǎn)符號(hào),文章讀起來很吃力,甚至被人誤解。直到漢朝才發(fā)明了“句讀”符號(hào),語言完整的一小段為“句”;句中語意未完,語氣可停的一小段為“讀”(音逗)。宋朝使用“?!薄?,”來表示句讀。明代才出現(xiàn)了人名號(hào)和地名號(hào),這些就是我國最早的標(biāo)點(diǎn)符號(hào)。有一男子的父母托媒婆說媒。媒婆送來一位女子的生庚八字:人才十分丑陋并無一雙好腳。“人才十分,丑陋并無,一雙好腳”“人才十分丑陋,并無一雙好腳”C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第7頁。82.1算法與程序設(shè)計(jì)步驟例1有兩個(gè)存儲(chǔ)單元a和b,要求將它們的值互換。
(1)自然語言描述一、算法及其表示分析:按存儲(chǔ)器的性質(zhì),如果將單元a的值直接送到單元b中,那么就會(huì)覆蓋掉b原來的內(nèi)容,因此,需要借助一個(gè)臨時(shí)單元c來交換。
具體算法如下:步驟1:將單元a的值送給單元c;步驟2:將單元b的值送給單元a;步驟3:將單元c的值送給單元b。C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第8頁。92.1算法與程序設(shè)計(jì)步驟例2求1+2+3+4+…+10。(1)自然語言描述一、算法及其表示假設(shè)用存儲(chǔ)單元S存放累加和,具體算法如下:步驟1:把0存入S單元中;步驟2:把1加到S中(即取S中的內(nèi)容0加1后得到
1,再把1送回S單元中);步驟3:把2加到S中;步驟4:把3加到S中;……步驟10:把9加到S中;步驟11:把10加到S中;步驟12:把S中的結(jié)果輸出。
這算法雖然正確,但不實(shí)用??梢栽O(shè)一個(gè)計(jì)數(shù)器單元n,每重復(fù)一次n增1,直到n大于10為止,求和操作可以改為“n+S送S”。C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第9頁。102.1算法與程序設(shè)計(jì)步驟例2求1+2+3+4+…+10。(1)自然語言描述一、算法及其表示修改后的算法如下:步驟1:將0送到S中;步驟2:將1送到n中;步驟3:把n的值加到S中;步驟4:n增1;步驟5:若n≤10則轉(zhuǎn)回步驟3,否則執(zhí)行步驟6;步驟6:輸出S的值。C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第10頁。112.1算法與程序設(shè)計(jì)步驟例求1+2+3+4+…+100。(1)自然語言描述一、算法及其表示高斯的故事(高斯,德國數(shù)學(xué)家、物理學(xué)家和天文學(xué)家),好的算法來源自“細(xì)心地觀察,動(dòng)腦筋,找規(guī)律”
:
S=(1+100)*(100/2)C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第11頁。122.1算法與程序設(shè)計(jì)步驟流程圖通常采用一些幾何圖形來代表各種類型的操作,在圖形內(nèi)標(biāo)明文字或符號(hào)來表示操作的內(nèi)容,并用箭頭來表示操作的順序。
(2)流程圖一、算法及其表示用流程圖表示算法,直觀形象,易于理解,但由于流程圖允許使用箭頭隨意跳轉(zhuǎn),對(duì)表示算法的層次結(jié)構(gòu)非常不利,且流程圖占的篇幅較大,作圖工作量也很大。
C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第12頁。132.1算法與程序設(shè)計(jì)步驟(2)流程圖一、算法及其表示起止框輸入/輸出框判斷框處理框流程線連接點(diǎn)C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第13頁。142.1算法與程序設(shè)計(jì)步驟將例2求1+2+3+4+…+10用流程圖進(jìn)行描述。(2)流程圖一、算法及其表示n+1=>n1=>ns+n=>s0=>sn≤10輸出s是否C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第14頁。152.1算法與程序設(shè)計(jì)步驟針對(duì)流程圖存在的缺點(diǎn),I.Nassi和B.Shneiderman提出了結(jié)構(gòu)化程序設(shè)計(jì)的流程圖,稱為N-S圖,更能體現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)的思想。推薦使用N-S圖。
(3)N-S圖(盒圖)一、算法及其表示N-S圖完全去掉了流程線,算法的所有處理步驟都寫在一個(gè)大矩形框內(nèi)(表示簡(jiǎn)單、符合結(jié)構(gòu)化思想)(象堆積木)結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)
——順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第15頁。162.1算法與程序設(shè)計(jì)步驟結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)具有以下共同的特點(diǎn):只有一個(gè)入口;只有一個(gè)出口;結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到;結(jié)構(gòu)內(nèi)不存在“死循環(huán)”。
(3)N-S圖(盒圖)一、算法及其表示C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第16頁。172.1算法與程序設(shè)計(jì)步驟(3)N-S圖(盒圖)一、算法及其表示將例2求1+2+3+4+…+10用N-S圖進(jìn)行描述。0s1nn≤10n+ssn+1n
輸出sC語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第17頁。182.1算法與程序設(shè)計(jì)步驟(3)N-S圖(盒圖)一、算法及其表示將求10個(gè)任意整數(shù)中的最大數(shù)用N-S圖進(jìn)行描述。輸入max1nn<10
輸入xTx>max?Fxmaxn+1n輸出maxC語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第18頁。192.1算法與程序設(shè)計(jì)步驟二、程序設(shè)計(jì)步驟根據(jù)實(shí)際問題設(shè)計(jì)應(yīng)用程序大致要經(jīng)過以下四個(gè)步驟:
分析問題
畫流程圖或N-S圖
編寫程序
運(yùn)行并調(diào)試程序
C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第19頁。202.1算法與程序設(shè)計(jì)步驟二、程序設(shè)計(jì)步驟例3求三個(gè)數(shù)中的最大數(shù)。
采用自頂向下、逐步細(xì)化的結(jié)構(gòu)化分析的方法首先,從整體進(jìn)行設(shè)計(jì),算法分為三個(gè)子問題S1、S2、S3,然后再對(duì)每個(gè)子問題進(jìn)行細(xì)化。設(shè)三個(gè)數(shù)分別為a、b、c,并用max存放最大數(shù),則可以把S1、S3描述為計(jì)算機(jī)能實(shí)現(xiàn)的基本操作。對(duì)S2來說,可以分成S2.1和S2.2兩個(gè)獨(dú)立的子任務(wù),再對(duì)S2.1和S2.2進(jìn)行細(xì)化。將細(xì)化得到的圖按粗框的順序反插便得到了該題目的詳細(xì)算法。
C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第20頁。212.1算法與程序設(shè)計(jì)步驟二、程序設(shè)計(jì)步驟例3求三個(gè)數(shù)中的最大數(shù)。
是a>b否
amaxbmaxS1:輸入三個(gè)數(shù)S2:找出最大數(shù)S3:輸出最大數(shù)(a)S1:輸入a、b、c(b)(e)(f)是c>max否
cmax
空S2.1S2(g)輸入a、b、c輸出max是a>b否
amaxbmaxS2.2是c>max否
cmax
空(c)S3:輸出maxS2.1:找出a、b中的最大者放max中S2.2:找出c和max中的最大者放max中(d)C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第21頁。222.2數(shù)據(jù)類型數(shù)據(jù)類型決定了數(shù)據(jù)對(duì)象的存儲(chǔ)形式、取值范圍以及能進(jìn)行的運(yùn)算。在C語言中,數(shù)據(jù)類型一般包括基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型、指針類型和空類型等四大類。數(shù)據(jù)類型指針類型構(gòu)造類型基本類型空類型void整型int(含枚舉類型)實(shí)型(浮點(diǎn)型)字符型char數(shù)組結(jié)構(gòu)體共用體單精度float雙精度doubleC語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第22頁。232.2數(shù)據(jù)類型基本類型:由系統(tǒng)事先定義好的不可再分割的類型,可以直接利用這些類型名定義數(shù)據(jù)。構(gòu)造類型:由基本類型組成的更為復(fù)雜的類型。指針類型:一種特殊的、具有重要作用的數(shù)據(jù)類型,其值用來表示某個(gè)量在內(nèi)存中的地址??疹愋停褐饕糜谔厥庵羔樧兞亢蜔o返回值函數(shù)的說明。注意:數(shù)據(jù)類型的位數(shù)和取值范圍與所運(yùn)行環(huán)境有很大關(guān)系(本書以Windows下的VisualC++6.0為準(zhǔn))C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第23頁。242.2數(shù)據(jù)類型類型名名稱位數(shù)取值范圍(signed)char字符型8-128~127unsignedchar無符號(hào)字符型80~255(signed)short(int)短整型16-32768~32767unsignedshort(int)無符號(hào)短整型160~65535(signed)int整型32-2147483648~2147483647unsigned(int)無符號(hào)整型320~4294967295(signed)long(int)長整型32-2147483648~2147483647unsignedlong(int)無符號(hào)長整型320~4294967295float單精度實(shí)型32±3.4×(10-38~1038),6位精度double雙精度實(shí)型64±1.7×(10-308~10308),15位精度C語言的基本數(shù)據(jù)類型C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第24頁。252.3常量和變量——常量在程序運(yùn)行過程中,其值不能被改變的量常量區(qū)分為不同類型,如12、3.2、'a',包括整型常量、實(shí)型常量、字符型常量、字符串常量以及符號(hào)常量等。一、整型常量整型常量是以補(bǔ)碼的形式存儲(chǔ)在內(nèi)存中的,最高位(即符號(hào)位)為0表示正數(shù),為1表示負(fù)數(shù)。也允許使用無符號(hào)整數(shù),即將最高位不看作符號(hào)位,而用來表示數(shù)值。短整型數(shù)在內(nèi)存中一般用兩個(gè)字節(jié)(16bit)存儲(chǔ),整型數(shù)和長整型數(shù)用四個(gè)字節(jié)(32bit)存儲(chǔ)。無符號(hào)短整型、整型、長整型比相應(yīng)的有符號(hào)短整型、整型、長整型表示的數(shù)的范圍在正數(shù)的方向上擴(kuò)大了一倍,但不能表示負(fù)數(shù)。
C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第25頁。262、長度: 長整型(后綴L): 23L 023L -0x123L
無后綴L時(shí)根據(jù)大小決定3、符號(hào)位: 無符號(hào)整型(后綴U): 23U 256U 0xFFU
無后綴U的整數(shù)都是有符號(hào)的一、整型常量1、數(shù)制: 十進(jìn)制: 23 0 -123
八進(jìn)制(前綴0): 023 0 -0123
十六進(jìn)制(前綴0x): 0x23 0x0 -0x1232.3常量和變量——常量C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第26頁。27二、實(shí)型常量1、書寫形式:小數(shù)形式: 0.123345.0-34..6790.00.
小數(shù)點(diǎn)不能省略,不能只有一個(gè)小數(shù)點(diǎn)指數(shù)形式: 1.4E-3 -45e7 1e0 0e0科學(xué)計(jì)數(shù)法:1.4x10-3 -45x107 1 0 e/E后面的整數(shù)不能省略2、精度:?jiǎn)尉龋ê缶YF):6位有效數(shù)字,如:0.0123456789012F雙精度:15位有效數(shù)字,如:0.0123456789012345無后綴實(shí)數(shù)的精度缺省為雙精度。2.3常量和變量——常量C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第27頁。28三、字符常量字符常量的界定符為一對(duì)單引號(hào),表示一個(gè)單字節(jié)字符1、普通字符:'a''A''0''''+''"' '''和'\'是非法字符常量2、轉(zhuǎn)義字符:1)字母表示:'\n''\t''\\''\''……2)八進(jìn)制數(shù)字表示(\ddd):'\123''\3'注意數(shù)字的取值范圍3)十六進(jìn)制數(shù)字表示(\xdd): '\xFF''\x5' 說明:字符可用對(duì)應(yīng)的編碼(整數(shù))表示 如:用065530x35表示'5'C中經(jīng)常將字符常量等價(jià)為整數(shù)參與運(yùn)算: 如:'A'+32結(jié)果為'a''0'-48為02.3常量和變量——常量C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第28頁。29四、字符串常量字符串由若干字符(含轉(zhuǎn)義字符)組成,用雙引號(hào)界定 如:"hello""a""123""""\n" "Tom\tis\071\n"含幾個(gè)字符?沒有長度為零的字符(''),但有長度為零的字符串("")注:雙引號(hào)在一行內(nèi)成對(duì)出現(xiàn),長字符串可寫在多行上,C會(huì)自動(dòng)連接為整體(通過程序可驗(yàn)證) 如:"Hello,I'm""xu." "Whoareyou?"輸出顯示:Hello,I’mxu.Whoareyou?思考:字符串中的'和"如何表示?答案:"'""\""區(qū)別字符常量'\'''"'2.3常量和變量——常量C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第29頁。30習(xí)慣上,符號(hào)常量名用大寫,變量用小寫
用一個(gè)標(biāo)識(shí)符代表的一個(gè)常量 定義方法:
#define
標(biāo)識(shí)符常量五、符號(hào)常量例:#definePRICE30voidmain(){ intnum,total; num=10; /*10是常量*/ total=num*PRICE; /*PRICE是符號(hào)常量*/ printf("total=%d",total);}2.3常量和變量——常量C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第30頁。312.3常量和變量——變量標(biāo)識(shí)符的格式:1)只能使用字母、數(shù)字或下劃線2)首字符必須為字母或下劃線3)字符個(gè)數(shù)不超過32個(gè)4)區(qū)分大小寫5)不能使用關(guān)鍵字(保留字)如:x,sum,_word,lotus_1_2_33df,$12,a+b,M.D.John,int×變量:是值可以改變的量定義方法: 數(shù)據(jù)類型標(biāo)識(shí)符注意:
標(biāo)識(shí)符要“見名知意”,變量應(yīng)“先定義后使用”C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第31頁。322.3常量和變量——變量例:#definePRICE30voidmain(){ intnum,total; num=10; total=num*PRICE; printf("total=%d",total);}←定義變量←賦值←賦值intx;x=-10;-10內(nèi)存xC語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第32頁。332.3常量和變量——變量一、整型變量1、有效位數(shù)短整型:以shortint或short說明,如:shorts,sum基本型(整型):以int說明,如:inti,sum長整型:以longint或long說明,如:longl,sum2、符號(hào)位用signed(常常省略)、unsigned說明符號(hào)位如: 無符號(hào)整型用unsignedint或unsigned說明 無符號(hào)短整型用unsignedshort說明 無符號(hào)長整型用unsignedlong說明例如:inta,b;longnum,i,j;unsignedshortc,d;←signed←signedC語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第33頁。342.3常量和變量——變量二、實(shí)型變量單精度(float型):如floatx,y;雙精度(double型):如doublea,b,c;字符變量用來存放字符,且只能存放一個(gè)字符。例如:charc1,c2,c3,c4;字符型變量的賦值方法:
c1='a';c2='\101';c3=53;c4='\n';三、字符變量C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第34頁。352.3常量和變量——變量例:voidmain(){charc1,c2;c1='a';c2='b';printf("%c%c\n",c1,c2);c1=97;c2=98;printf("%c%c\n",c1,c2);}C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第35頁。362.3常量和變量——變量四、變量的初始化voidmain(){ inta=3; floatf=3.56; charc='a'; inti,j,k=5; intx=3,y=5; ……}變量在聲明的同時(shí)可以給其賦值,稱為變量的初始化。如果變量沒有被初始化,變量的初始值將不能確定,變量參與運(yùn)算前,必須顯示地賦值,否則運(yùn)算無效!先定義后使用:1、必須首先聲明;2、參與運(yùn)算前必須先賦值C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第36頁。372.4函數(shù)C語言提供了豐富的內(nèi)部函數(shù),又叫庫函數(shù),也稱標(biāo)準(zhǔn)函數(shù),其定義按函數(shù)類型存放在不同的“頭文件”中,使用時(shí)應(yīng)該在源文件中的開始位置包含上相應(yīng)的頭文件。
例如,使用數(shù)學(xué)函數(shù)時(shí),應(yīng)該在源文件中的開始位置使用
“#include<math.h>”
把頭文件"math.h"包含到源文件中。
引用內(nèi)部函數(shù)時(shí),只需要寫出相應(yīng)的函數(shù)名,并在后面的括號(hào)中給出所要計(jì)算的自變量值,即可得到所需要的函數(shù)值。例如,sqrt(4.0)得2.0,fabs(-100.0)得100.0。使用標(biāo)準(zhǔn)函數(shù)時(shí),必須注意以下兩點(diǎn):(1)使用三角函數(shù)時(shí),必須注意角度的單位是“弧度”;(2)引用標(biāo)準(zhǔn)函數(shù)時(shí),自變量要寫在括號(hào)里面,自變量可以是常量、變量或表達(dá)式。
C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第37頁。382.5運(yùn)算符和表達(dá)式C運(yùn)算符的種類:表達(dá)式是常量、變量、數(shù)組元素、函數(shù)等運(yùn)算對(duì)象和運(yùn)算符以及括號(hào)的有意義組合。類似數(shù)學(xué)算式或公式,但寫法有所不同注意:運(yùn)算符具有優(yōu)先級(jí)和結(jié)合性。算術(shù)運(yùn)算符 +-*/% 指針運(yùn)算符 *&關(guān)系運(yùn)算符 ><==>=<=!= 求字節(jié)數(shù)運(yùn)算符 sizeof邏輯運(yùn)算符 !&&|| 強(qiáng)制類型轉(zhuǎn)換運(yùn)算符 (類型)位運(yùn)算符 <<>>~|^& 分量運(yùn)算符 .->賦值運(yùn)算符 = 下標(biāo)運(yùn)算符 []條件運(yùn)算符 ?: 其他逗號(hào)運(yùn)算符 ,C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第38頁。392.6算術(shù)運(yùn)算符與算術(shù)表達(dá)式1、基本的算術(shù)運(yùn)算符 +(加法運(yùn)算符,或正值運(yùn)算符):如2+3、+6 -(減法運(yùn)算符,或負(fù)值運(yùn)算符):如3-4、-6 *(乘法運(yùn)算符):如3*4 /(除法運(yùn)算符):兩個(gè)整數(shù)相除,其值為整數(shù),如5/3值為1除數(shù)、被除數(shù)中有一個(gè)為負(fù)值時(shí),結(jié)果向零取整,如-5/3為-1除數(shù)、被除數(shù)中有一個(gè)為實(shí)數(shù)時(shí),結(jié)果為double型-7%4,7%-4,-7%-4的值為多少? %(模(求余)運(yùn)算符):%兩側(cè)均為整型數(shù)據(jù)如7%4的值為3(-3,3,-3)C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第39頁。402.6算術(shù)運(yùn)算符與算術(shù)表達(dá)式2、算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性1)用算術(shù)運(yùn)算符和括號(hào)將運(yùn)算對(duì)象(操作數(shù))連接起來的、符合C語言語法規(guī)則的式子,稱作算術(shù)表達(dá)式。如:-123a+b10*(alpha+1.5)*sin(beta)2)運(yùn)算符的優(yōu)先級(jí)和結(jié)合性 優(yōu)先級(jí):算術(shù)運(yùn)算符先*、/、%后+、-
結(jié)合性:左結(jié)合,即表達(dá)式從左向右進(jìn)行計(jì)算 如:a+b/(c+d%e)-3.3+'4'*'3'
如果運(yùn)算符之間的優(yōu)先級(jí)實(shí)在拿不準(zhǔn)時(shí),可用括號(hào)進(jìn)行區(qū)分!C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第40頁。413、自增、自減運(yùn)算符++i,--i在使用i之前,先使i的值加1或減1i++,i--在使用i之后,使i的值加1或減1注意:(1)自增、自減運(yùn)算符只能用于變量,而不能用于常量或表達(dá)式如:5++(a+b)++不合法如:-i++相當(dāng)于-(i++)(2)++和--的優(yōu)先級(jí)高于算術(shù)運(yùn)算符,結(jié)合方向是“自右向左”2.6算術(shù)運(yùn)算符與算術(shù)表達(dá)式C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第41頁。422.6算術(shù)運(yùn)算符與算術(shù)表達(dá)式例:voidmain(){ inti=0,j; j=i++; printf("%d%d\n",i,j); i=0; j=++i; printf("%d%d\n",i,j);}結(jié)果:11結(jié)果:10C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第42頁。432.7賦值運(yùn)算符與賦值表達(dá)式1、賦值運(yùn)算符“=”用法:變量=表達(dá)式作用:將表達(dá)式的值賦給變量(構(gòu)成賦值表達(dá)式)如:a=5 5=>aave=(a+b)/2先計(jì)算(a+b)/2,結(jié)果賦給avex=y=z首先z=>y,然后(y=z)=>x與數(shù)學(xué)上的等式不同!5=x x+1=y*a+3都是非法的在C語言中判斷是否相等用關(guān)系運(yùn)算(==)。C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第43頁。442.7賦值運(yùn)算符與賦值表達(dá)式3)整型數(shù)據(jù)賦給實(shí)型變量時(shí),數(shù)值不變,但以浮點(diǎn)數(shù)形式存儲(chǔ)到變量中。2、賦值結(jié)果與類型轉(zhuǎn)換2)實(shí)型數(shù)據(jù)(包括單、雙精度)賦給整型變量時(shí),舍棄實(shí)數(shù)的小數(shù)部分。如:設(shè)i為整型變量,執(zhí)行i=5.34i的值為5如:對(duì)float型變量f,執(zhí)行f=23f的值為23.0000001)如果兩邊的類型一致,就直接賦值;否則需要進(jìn)行類型轉(zhuǎn)換。C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第44頁。452.7賦值運(yùn)算符與賦值表達(dá)式例:voidmain(){ inti; floatf; i=5.34; f=23; printf("i=%d,f=%f\n",i,f);}結(jié)果:i=5,f=23.000000C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第45頁。462.7賦值運(yùn)算符與賦值表達(dá)式4)無符號(hào)整型與有符號(hào)整型例:voidmain(){ unsignedshorta; shortintb=-1; a=b; printf("%hd->%u\n",b,a); a=65534u;b=a; printf("%hd->%u\n",b,a);}1111111111111111b1111111111111111aC語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第46頁。472.7賦值運(yùn)算符與賦值表達(dá)式①“短”數(shù)據(jù)賦給“長”變量5)char、int、long等類型的轉(zhuǎn)換若最高位為1(負(fù)數(shù)),則變量高字節(jié)位補(bǔ)1;反之,補(bǔ)0。符號(hào)擴(kuò)展:例:printf參看書中p42-43voidmain(){ charc; shortinti; c=43; i=c; printf("i=%hd\n",i); c='\376';i=c; printf("i=%hd\n",i);}c的值?保持?jǐn)?shù)值不變C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第47頁。482.7賦值運(yùn)算符與賦值表達(dá)式0010101143號(hào)字符'+''\53'0010101100000000i11111110254號(hào)字符'\376'1111111011111111iC語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第48頁。492.7賦值運(yùn)算符與賦值表達(dá)式例:voidmain(){ shortinti; longl=6324232L; i=l; printf("i=%hd\n",i);}②“長”數(shù)據(jù)賦給“短”變量截?cái)啵褐粚?shù)據(jù)的低字節(jié)位原封不動(dòng)送到變量中0000000000010001i=-3276010000000000010000000000001100000l=6324232程序編譯時(shí)有警告錯(cuò)C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第49頁。502.7賦值運(yùn)算符與賦值表達(dá)式錯(cuò)誤的賦值:將不同類型的數(shù)據(jù)放入某類型的變量中天、地、人(時(shí)間、地點(diǎn)、人物)正確的條件:天時(shí)、地利、人和。美國人認(rèn)為,朝鮮戰(zhàn)爭(zhēng)是美國在錯(cuò)誤的地點(diǎn)、錯(cuò)誤的時(shí)間同錯(cuò)誤的敵人打的一場(chǎng)錯(cuò)誤的戰(zhàn)爭(zhēng)。
C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第50頁。512.7賦值運(yùn)算符與賦值表達(dá)式錯(cuò)誤的時(shí)間:呆書生吃竹子。C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第51頁。522.7賦值運(yùn)算符與賦值表達(dá)式錯(cuò)誤的地點(diǎn):武漢大學(xué)的櫻花與日本的和服。C語言程序設(shè)計(jì)基礎(chǔ)全文共58頁,當(dāng)前為第52頁。532.7賦值運(yùn)算符與賦值表
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025湖北建筑安全員B證考試題庫附答案
- 2025廣東省安全員知識(shí)題庫及答案
- 貴陽康養(yǎng)職業(yè)大學(xué)《計(jì)量經(jīng)濟(jì)學(xué)基礎(chǔ)與應(yīng)用》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣州中醫(yī)藥大學(xué)《播音與主持基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025江西省安全員考試題庫及答案
- 2025安徽省安全員-C證考試(專職安全員)題庫附答案
- 廣州醫(yī)科大學(xué)《電影中的法律問題》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年黑龍江省安全員考試題庫
- 2025年廣東省建筑安全員-C證(專職安全員)考試題庫
- 2025年浙江省安全員C證考試題庫
- 裝表接電培訓(xùn)課件
- 新蘇教版五年級(jí)上冊(cè)科學(xué)全冊(cè)期末復(fù)習(xí)知識(shí)點(diǎn)(彩版)
- 四川省城市園林綠化施工技術(shù)標(biāo)準(zhǔn)
- 部編版小學(xué)一年級(jí)上冊(cè)道德與法治教學(xué)設(shè)計(jì)(第三、第四單元)
- CJJT 164-2011 盾構(gòu)隧道管片質(zhì)量檢測(cè)技術(shù)標(biāo)準(zhǔn)
- 2023年甘肅省定西市中考政治真題 (含解析)
- 中醫(yī)科診療指南及技術(shù)操作規(guī)范學(xué)習(xí)試題
- 胃腸減壓的護(hù)理措施要點(diǎn)課件
- 6.2《青紗帳-甘蔗林》教學(xué)設(shè)計(jì)-【中職專用】高一語文(高教版2023·基礎(chǔ)模塊下冊(cè))
- DL5190.5-2019電力建設(shè)施工技術(shù)規(guī)范第5部分:管道及系統(tǒng)
- 25王戎不取道旁李公開課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論