計算機軟件及應(yīng)用C語言快速入門-1_第1頁
計算機軟件及應(yīng)用C語言快速入門-1_第2頁
計算機軟件及應(yīng)用C語言快速入門-1_第3頁
計算機軟件及應(yīng)用C語言快速入門-1_第4頁
計算機軟件及應(yīng)用C語言快速入門-1_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第2章C語言快速入門程序設(shè)計語言(C)本章學(xué)習(xí)內(nèi)容標(biāo)識符命名;數(shù)據(jù)類型、變量和常量;常用運算符和表達式;根本輸入輸出;過程控制結(jié)構(gòu)〔順序、選擇、循環(huán)結(jié)構(gòu)〕函數(shù)的定義與使用數(shù)據(jù)存儲特性預(yù)處理指令標(biāo)識符命名變量名,函數(shù)名由英文字母、數(shù)字和下劃線組成,大小寫敏感不可以是數(shù)字開頭直觀,見名知意,便于記憶和閱讀最好使用英文單詞或其組合下劃線和大小寫通常用來增強可讀性variablenamevariable_namevariableName不允許使用關(guān)鍵字作為標(biāo)識符的名字

int,float,for,while,if等某些功能的變量采用習(xí)慣命名如:for語句所采用的循環(huán)變量習(xí)慣用i,j,kWindows風(fēng)格UNIX風(fēng)格32個關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile

C語言的數(shù)據(jù)類型

數(shù)組共用體類型結(jié)構(gòu)體類型構(gòu)造類型根本類型指針類型:實型〔浮點型〕字符型(char)整型(int)雙精度型(double)單精度型(float)空類型:是一種特殊的類型。表示一個量在內(nèi)存中的地址。函數(shù)調(diào)用后,不需要向調(diào)用者返回任何值,那么可將該函數(shù)定為空類型。根本數(shù)據(jù)類型int整數(shù),在目前絕大多數(shù)機器上占4個字節(jié)TC2.0,2個字節(jié)float單精度浮點數(shù),4個字節(jié)double雙精度浮點數(shù),8個字節(jié)char字符,1個字節(jié)數(shù)據(jù)類型修飾符shortshortint,簡寫為short,短整數(shù),2個字節(jié)longlongint,簡寫為long,長整數(shù),4個字節(jié)longdouble,長雙精度〔高精度〕浮點數(shù),10個字節(jié)unsigned用來修飾char、int、short和long無符號整數(shù)〔正整數(shù)和0〕signed用來修飾char、int、short和long,說明他們是有符號的整數(shù)〔正整數(shù)、0和負整數(shù)〕。一般缺省都是有符號的,所以這個修飾符通常省略。數(shù)據(jù)類型修飾符0111111111111111最高位假設(shè)編譯系統(tǒng)為int

型整數(shù)分配2

個字節(jié)的存儲空間,即16

個二進制位中最高位是符號位,以32767為例,其在內(nèi)存中的存儲形式為:有符號數(shù)與無符號數(shù)1111111111111111最高位假設(shè)是無符號數(shù),該數(shù)是65535,假設(shè)是有符號數(shù),該數(shù)是-1。1000000000000001最高位1111111111111110最高位1111111111111111最高位1111111111111111最高位-1

的原碼-1

的反碼-1

的反碼加

1后的結(jié)果-1

的補碼TC2中int的范圍是-32768~32767如果我們給它一個小于-32768或者大于32767的數(shù)會如何呢?超出取值范圍會怎樣?小蛇能吞下大象嗎?

一臺安裝了Windows95/98的機器,如果連續(xù)運行49.7天沒有重新啟動,可能死機原因:Windows自啟動時刻起,有一個計數(shù)器,記錄系統(tǒng)已經(jīng)運行了多少毫秒。此計數(shù)器是個unsignedlong

類型的變量unsigned

long的最大值是:4294967295一天有24*60*60*1000=86400000毫秒4294967295/86400000=49.71026961805……當(dāng)49.7天的時候,此計數(shù)器會溢出,引起死機溢出〔Overflow〕造成的危害含義類型關(guān)鍵字長度值域范圍有效數(shù)字可用運算符字符char1-128~+127整數(shù)int4-231~231-1+,-,*,/,++,--,%長整數(shù)long或longint4-231~231-1單精度數(shù)實數(shù)(浮點型)float4-3.402823×1038~3.402823×10387位+,-,*,/,++,--雙精度數(shù)實數(shù)double8-1.7977×10308~1.7977×1030815位根本數(shù)據(jù)類型數(shù)據(jù)類型修飾符含義類型名簡寫長度值域范圍有符號字符型signedcharchar1-128~+127無符號字符型unsignedchar1有符號整型signedintint4-231~231-1無符號整型unsignedint40~232-1有符號短整型signedshortintshort2-215~215-1無符號短整型unsignedshortintunsignedshort20~216-1有符號長整型signedlongintlong4-231~231-1無符號長整型unsignedlongintunsignedlong40~232-1單精度浮點型float4雙精度浮點型double8在實際使用時,將修飾符和類型名作為一個整體看成是“類型名〞。常量〔Constant〕在程序運行過程中值不變的量------常量Consistsof:整型(e.g.067-2

123L123u

o220x12)缺省為int實型(e.g.2.31.2e-52.73F2.73L)缺省為double字符型(e.g.'z''3''$''\n')用\開頭的字符為轉(zhuǎn)義字符,代表1個字符字符串(e.g."UKM""1""5a")(由假設(shè)干個數(shù)字組成〕整型常量的幾種表示形式:

十進制、八進制、十六進制整型常量的類型確定:長整型常量:常量后跟L或l來表示無符號整型常量:常量后跟U或u來表示無符號長整型常量:常量后跟LU或lu來表示

整型常量十進制整數(shù):以非0開頭,由數(shù)字0~9組成,可帶正負號18、-31長整型常數(shù):123l、123L、123456l、123456L無符號型整數(shù):

123u、123U如:2.八進制整數(shù):以數(shù)字“0〞開始的整型常數(shù),由數(shù)字0~7組成,可帶正負號如:八進制整型數(shù):

o12,-o3,+o4八進制長整型數(shù):o12433L

o10和10大小不一樣因為八進制并不常用,所以此種表示法比較少見,因而常被用錯#include“stdio.h〞voidmain(){intx=102,y=012;printf(“%2d,%2d\n〞,x,y);}A.102,10B.10,01C.02,12D.02,10√3.十六進制整數(shù):以“0x〞或者“0X〞開始的整型常數(shù),由A~F和a~f組成,可帶正負號如:十六進制整型數(shù):0x12,-0x3,+0x4十六進制長整型數(shù):

0X12DFL

十六進制的形式比較常用實數(shù)在C語言中又稱為浮點數(shù)

兩種表現(xiàn)形式:1、十進制數(shù)形式——自然表示法

如123.456,-0.982、指數(shù)形式——科學(xué)表示法

如:1.234e12

e——指數(shù)符號,e前必須有數(shù)字,e后必須為整數(shù)。

實型常量十進制小數(shù)形式:

123.45、456.78指數(shù)形式

1e-2、4.5e3單精度實型常數(shù):123.45f、456.78F、1e-2f、4.5e3F長雙精度型常數(shù):123.45l、456.78L、1e-2l、4.5e3L實型常量的類型確定:實型常量隱含按雙精度處理單精度實型常量:常量后跟F或f來表示長雙精度實型常量:常量后跟L或l來表示字符常量轉(zhuǎn)義字符一些特殊字符〔無法從鍵盤輸入或者另有它用〕用轉(zhuǎn)義字符表示字符常量字符常數(shù)就是一個普通整數(shù),也可參與各種數(shù)學(xué)運算注意:’5’和整數(shù)5的區(qū)別’5’的ASCII碼值是53字符的數(shù)學(xué)運算在密碼學(xué)內(nèi)用得比較多字符常量在計算機內(nèi)是采用該字符的ASCII編碼值來表示的,其數(shù)據(jù)類型為char。字符串常量用雙引號括住的由0個或多個字符組成的字符序列"Iamastring"""表示空字符串除注釋外,是唯一可以出現(xiàn)中文的地方C語言內(nèi)部用’\0’表示字符串的結(jié)束"x"和’x’是不同的<string.h>里定義了一系列專門的字符串處理函數(shù)轉(zhuǎn)義字符也可在字符串中使用宏常量#define

標(biāo)識符字符串宏常量也稱符號常量一般采用全大寫字母表示宏定義不是語句,而是一種編譯預(yù)處理命令例2-1:計算圓的周長和面積#include<stdio.h>#definePI3.14159#defineR5.3voidmain(){

printf("area=%f\n",PI*R*R);

printf("circumference=%f\n",2*PI*R);}area=88.247263circumference=33.300854相當(dāng)于執(zhí)行#include<stdio.h>voidmain(){

printf("area=%f\n",3.14159*5.3*5.3);

printf("circumference=%f\n",2*3.14159

*5.3);}宏替換例2.1:計算圓的周長和面積#include<stdio.h>#definePI3.14159;#defineR5.3;voidmain(){

printf("area=%f\n",PI*R*R);

printf("circumference=%f\n",2*PI*R);}相當(dāng)于執(zhí)行#include<stdio.h>voidmain(){

printf("area=%f\n",3.14159;*5.3;*5.3;);

printf("circumference=%f\n",2*3.14159;*5.3;);}語法錯誤為什么需要常量?假設(shè)不使用常量,直接使用常數(shù),會有什么影響?程序的可讀性變差容易發(fā)生書寫錯誤當(dāng)常數(shù)需要改變時,要修改所有使用它的代碼,工作量大,還可能有遺漏變量在程序運行過程中值可發(fā)生改變的量------變量

命名規(guī)那么:變量名由標(biāo)識符表示,只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。

例如:以下標(biāo)識符中,合法的變量名有:M.D.John12%gf1add_ce36age&5thclasslotus-1-2-3cd*ef變量使用變量的根本原那么變量必須先定義,后使用所有變量必須在第一條可執(zhí)行語句前定義聲明的順序無關(guān)緊要一條聲明語句可聲明假設(shè)干個同類型的變量聲明變量是初始化變量的最好時機不被初始化的變量,其值為隨機數(shù) 結(jié)果會是什么?voidmain()在程序運行過程中值可發(fā)生改變的量------變量

變量<類型名><變量名>[=<初值表達式>],…;⑴inta,b;定義了兩個整型變量a和b;⑵

charch1=’a’,ch2=’B’;定義了兩個字符變量ch1和ch2,并被分別賦初值為字符a和B;⑶

intx=a+2*b;定義了一個整型變量x,并賦予表達式a+2*b的值作為初值;⑷

doubled1,d2=0.0,d3=3.14159;定義了三個雙精度變量,分別為d1,d2和d3,其中d2被賦予初值0.0,d3被賦予初值3.14159⑸unsigendlongx1=0;定義變量x1是無符號長整型變量定義語句的工作過程分配存儲空間填初值數(shù)據(jù)變量名是內(nèi)存空間的名字常數(shù)不分配內(nèi)存空間inta,b=0;變量定義要素變量名(標(biāo)識符)變量的數(shù)據(jù)類型存儲類型Example:intnumber1,number2;number1=25;number2=23;number1=number2;…… number1?number2?252323變量賦值(VariableAssignment)1.以下常量的表示在C++中是否合法?3276735u1.25e3.43L0.0086e-32‘\87’“ComputerSystem〞“a〞‘a(chǎn)’‘\36\45’-0+0.5-.5672.以下符號哪些表示字符?哪些表示字符串?那些都不是?‘a(chǎn)’‘0x66’“a〞China“中國〞“8.42〞“\n\t\0x34〞56.34‘\r’‘\\’‘8.34’“\0x33〞3.以下變量說明中是否正確?intm,n,x,y;floatx,z;(2)charc1,c2;floata,b,c1;練習(xí)題不同類型占用的內(nèi)存字節(jié)數(shù)不同因為同種類型在不同的平臺其占字節(jié)數(shù)不盡相同。如int在16位、32位和64位系統(tǒng)分別占2、4和8個字節(jié)。不要對變量所占的內(nèi)存空間字節(jié)數(shù)想當(dāng)然用sizeof獲得變量或者數(shù)據(jù)類型的長度現(xiàn)象與危害:在平臺間移植時會出現(xiàn)問題,導(dǎo)致數(shù)據(jù)喪失或者溢出注意!sizeof到底是什么?C語言的關(guān)鍵字,并非函數(shù)計算類型占用的字節(jié)數(shù)兩種語法形

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論