C語言基本概念_第1頁
C語言基本概念_第2頁
C語言基本概念_第3頁
C語言基本概念_第4頁
C語言基本概念_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持.第2章C語言基本概念2.1 初識 Hello world ”程序為紀(jì)念C語言的設(shè)計者,第一個程序范例選自 C語言的定義文檔一一Brian Kernighan和 Dennis Ritchie合著的 The C Programming Language 該范例是 Hello world”程序,它是所有 C 程序員共有的財富,而你也即將成為其中的一員。【例2-1】 Hello程序 /*File:hello.c*This program prints the message Hello world on the screen.*/#incl

2、ude main() printf(Hello,world.n);該程序作為一個文件存儲在你所用的計算機系統(tǒng)的永久存儲器中。文件名為hello.c,其中.c說明該文件為C語言源程序。下面介紹hello.c程序的組成部分:程序注釋、庫包含和主函數(shù)。程序注釋C語言中,注釋是在/*和*/之間的所有文字,可以占連續(xù)的幾行。例 2.1中的注釋描述了 該程序的作用。注釋是寫給人看的,而不是寫給計算機的。注釋向其他程序員傳遞該程序的有關(guān)信息。 當(dāng)C語言編譯器將程序轉(zhuǎn)換為可由機器執(zhí)行的形式時,注釋被完全忽略。當(dāng)程序越來越復(fù)雜時,讀者會發(fā)現(xiàn)給出合適的注釋是使程序易讀的最好方法之一。庫包含(預(yù)處理指令)C語言只明

3、確定義了一小部分操作,在計算機程序中許多必要的操作并不是由C直接定義的(如C語言中沒有內(nèi)置的“讀”或“寫”命令),實際的做法是,在每個C實現(xiàn)中都包 含了一些使用函數(shù)和符號的集合, 稱之為庫。C的ANSI (American National Standards Institute 標(biāo)準(zhǔn)要求在每個C實現(xiàn)中提供特定的標(biāo)準(zhǔn)庫。C系統(tǒng)可以通過提供附加庫來擴展可執(zhí)行操作 的數(shù)量,編程者也可以產(chǎn)生函數(shù)庫。每個庫都擁有一個文件名以.h結(jié)尾的標(biāo)準(zhǔn)頭文件,如stdio.h。#include 這條預(yù)處理指令說明,在編譯前把stdio.h中的信息“包含”到程序中。該指令通知預(yù)處理器,程序中用到的某些內(nèi)容,如 pri

4、ntf,可以在標(biāo)準(zhǔn)頭文件stdio.h中找到。 Stdio.h中包含了關(guān)于C標(biāo)準(zhǔn)輸入/輸出庫的信息。 一、/ 汪忠:對每一個庫使用一行#include1文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.預(yù)處理指令結(jié)束時沒有預(yù)處理指令詳細內(nèi)容將在后面章節(jié)介紹。主函數(shù).函數(shù)術(shù)語“函數(shù)”來源于數(shù)學(xué)。在數(shù)學(xué)中函數(shù)是一條根據(jù)一個或多個給定參數(shù)進行數(shù)值計算 的規(guī)則:f(x) = x + 1 g(y,z) = y zC語言對“函數(shù)”的使用更加寬松。C語言中,函數(shù)是一系列獨立的程序步驟,將這些 程序步驟集合在一起,并且賦予了一個名字,就形成了一個函數(shù)。如:main()語句;一個C程序是一個函數(shù)的集合。函數(shù)分為兩

5、類:程序員編寫的函數(shù);由 C語言的實現(xiàn)所 提供的函數(shù)。后一種函數(shù)也叫庫函數(shù),因為這些函數(shù)屬于一個函數(shù)的“庫”,而這個庫是由編譯器提供的。每個C程序必須有一個main函數(shù),在執(zhí)行程序時系統(tǒng)會自動調(diào)用 main函數(shù),即該函數(shù) 是程序的入口。.語句函數(shù)所執(zhí)行的步驟在中列出,這些步驟稱為“語句”。這些語句共同組成函數(shù)的主體。 大多數(shù)函數(shù)都有幾個連續(xù)執(zhí)行的語句。當(dāng)運行C語言程序時,計算機執(zhí)行 main函數(shù)主體中包含的語句。printf(Hello,world.n);該語句用到了 printf函數(shù)。此函數(shù)代表一組操作。當(dāng)想要調(diào)用這些 操作時,只要使用其函數(shù)名就可以一起引用此函數(shù)。在程序設(shè)計中,通過使用函數(shù)

6、名來調(diào)用 該函數(shù)的行為稱為調(diào)用函數(shù)。printf(Hello,world.n)就是對函數(shù)printf的調(diào)用。該函數(shù)調(diào)用的 結(jié)尾加上“;”就構(gòu)成了一條語句。本節(jié)小結(jié).C程序的典型結(jié)構(gòu)注釋庫包含main () 語句;L 文檔來源為:從網(wǎng)絡(luò)收集整理,word版本可編輯.歡迎下載支持.每個程序都應(yīng)有注釋,注釋可以有效增強程序的可讀性。.庫包含4,每個C程序是函數(shù)的集合,且每個 C程序有且僅有一個 main函數(shù),它是程序的入口。.語句.2.2求圓周長的程序輸入r為使大家對C語片程序的工作過程好的了解,現(xiàn)在來看一個稍復(fù)雜的例子?!纠?-2】使用C語言編程:程序根訓(xùn)用戶輸入的某圓的半徑值,求該圓的周長。L

7、= 2 * PI * r開始lx PI x rL分析根據(jù)數(shù)學(xué)知識可知,c = 2 根據(jù)題目要求可知流程確定輸出什么確定輸入什么引入常量和變量概念:根據(jù)數(shù)學(xué)知識和題目要求,2、PI為常量,在整個程序運行期間 不變;S和r是變量,r隨著用戶的輸入而不同,S隨著輸入的r不同而不同。引入數(shù)據(jù)類型:數(shù)據(jù)類型用來說明變量所存儲的數(shù)據(jù)的種類。半徑 r取整型int,圓周長L取實型double【偽代碼】#include main()定義變量;輸入半徑;計算周長;輸出周長;【源代碼】#include main()int radius ;double c;printf( Plesae input the radiu

8、s: );scanf( “d”,&radius);c = 2 * 3.14 * radius ;printf( The c is %f .n ” ,c);2.2.1初識變量和常量變量(Variable)是一些在編寫程序時值未知的數(shù)據(jù)的存放處。例如,在編程時,程序員 尚不知道用戶要對半徑為多大的圓求周長。當(dāng)程序運行時,用戶才會輸入半徑,程序才求出 周長。為了在程序中引用這些目前尚未確定的數(shù),我們可以創(chuàng)建一個變量來保存這些需要記 住的值,并給該變量命名。一旦要用到它包含的值時,可使用其變量名。變量的名稱要用心 選擇,以便將來閱讀程序的程序員能容易地分辨出每個變量的作用。本程序中,變量 radius

9、 代表半徑,變量c代表周長。在C語言中,使用變量前,必須先聲明該變量。聲明一個變量就是告之編譯器引用了一 個新的變量名,并指定了該變量可以保存的數(shù)據(jù)類型。例如:int radius;常量是一種在程序中保持固定類型和固定值的數(shù)據(jù)。例如,本程序中的2, 3.14。輸入階段本程序在輸入階段必須要求用戶輸入一個半徑值保存在radius變量中。變量值的輸入過程包括2步。(1)程序應(yīng)在屏幕上顯示一個消息以使用戶了解程序需要什么,這種類型的消息通常稱為提示消息。例如:printf( Plesae input the radius: );(2)讀取用戶輸入的數(shù)據(jù)。例如:scanf( “d”,&radius);

10、C中所有的輸入輸出操作都由稱作輸入輸出函數(shù)來完成。本部分將介紹輸入函數(shù)scanf,它是C的標(biāo)準(zhǔn)輸入輸出庫中的一部分,可以通過預(yù)處理指令#include 來訪問。scanf函數(shù)用來把從輸入設(shè)備輸入的數(shù)據(jù)復(fù)制到變量中。該函數(shù)調(diào)用包含函數(shù)名和函數(shù)參數(shù)兩部分。函數(shù)參數(shù)由格式字符串(包含在)和輸入列表組成。例:int sum;scanf( %d”, &sum);在程序執(zhí)行時,scanf函數(shù)將程序用戶在鍵盤上鍵入的數(shù)據(jù)復(fù)制到內(nèi)存中。關(guān)于scanf函數(shù)的具體說明見。計算階段文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持本程序的計算階段由計算圓周長組成。在程序設(shè)計中,計算是通過寫一個表達式來指定

11、 的,該表達式指定了必須的操作步驟。表達式的結(jié)構(gòu)由賦值語句存儲于一個變量中,以便程 序后面的部分使用該結(jié)果。本章 2.4節(jié)將詳細定義表達式的結(jié)構(gòu)。然而,即使沒有一個完整 的定義,理解C語言的表達式如何工作也很容易,它與傳統(tǒng)的數(shù)學(xué)表達式非常類似:c = 2 * 3.14 * radius ;輸由階段程序的輸出階段由顯示計算結(jié)果組成。例如:printf( The c is %f .n”,c);printf函數(shù)在屏幕上顯示參數(shù)字符串中的每一個字符。但到了處就有所不同了。及其后面的字母f稱為格式碼。在本例中,格式碼是 %f0 printf函數(shù)的格式碼的作用就是作為值的 占位符,在輸出過程中,值將被插入

12、到該位置。格式碼中的字母用于指定輸出格式。本例中 的表示輸出結(jié)果應(yīng)顯示為浮點數(shù)。此時的程序?qū)@示以下信息:The c is.其中,下劃線部分將由一個浮點數(shù)代替。要想知道顯示的是什么樣的整數(shù),printf函數(shù)取調(diào)用時傳來的第二個參數(shù)值,本例中是變 量c。它的值顯示在屏幕上,換行符使光標(biāo)移至下一行。2.3變量、常量和數(shù)據(jù)類型變量和常量定義大多數(shù)程序在產(chǎn)生輸出之前往往需要執(zhí)行一系列的計算,因此需要在程序執(zhí)行過程中有 一種臨時存儲數(shù)據(jù)的方法。C語言中的這類存儲單元稱為變量。變量是程序執(zhí)行過程中可以改變、可以賦值的量。具體說,變量是用于存儲程序的輸入 數(shù)據(jù)和計算結(jié)果的存儲單元。常量是一種在程序中保持固定

13、類型和固定值的數(shù)據(jù)。數(shù)據(jù)類型為了能在各種應(yīng)用中使用,程序必須能夠存儲多種不同類型的數(shù)據(jù)。程序中每一個變量 都必須有一個類型。類型用來說明變量所存儲的數(shù)據(jù)的種類。C語言擁有廣泛多樣的類型。無論何時使用數(shù)據(jù),無論使用的是整數(shù)、小數(shù)還是字符,c編譯器都應(yīng)該了解其數(shù)據(jù)類型。從整體上講,數(shù)據(jù)類型是一組值及這組值上的一組操作。數(shù)據(jù)類型包括:一組值,即值的集合:例如:整型數(shù)據(jù)的集合就是機器硬件所能構(gòu)造的所有整數(shù)(,-1,0,1,2,.)例如:字符型數(shù)據(jù)的集合就是鍵盤上出現(xiàn)的或可顯示在屏幕上的符號的集合 這組值上的操作集合:例如:給出兩個整數(shù),可以將它們相加、相乘等 例如:給出兩個字符數(shù)據(jù),可以對兩者進行比較

14、,看它們字母順序如何 5文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.操作必須與值的集合項對應(yīng)。本節(jié)只限定介紹int、double和char數(shù)據(jù)類型,詳細內(nèi)容將在后面章節(jié)介紹。數(shù)據(jù)類型的對象可以是變量或常量。int數(shù)據(jù)類型數(shù)學(xué)中整數(shù)就是非分數(shù)和小數(shù)的數(shù)。Int類型在C語言中代表整數(shù)。因為一個存儲單元的大小是有限的,所以不是所有的整數(shù)都可以由int型表示。Int型數(shù)據(jù)通常與程序的執(zhí)行環(huán)境的字長相同,對于 16位環(huán)境,如DOS下的TC2.0, int型數(shù)據(jù)在內(nèi) 存中占16位,即2個字節(jié);對于大多數(shù)32位環(huán)境,如windows XP等,int型數(shù)據(jù)在內(nèi)存中 占32位,即4個字節(jié)。VC6中int型數(shù)

15、據(jù)在內(nèi)存中占4個字節(jié),取值范圍是-48至47整數(shù)可以存儲在int型變量中,進行常用的算術(shù)運算,加減乘除等,還可以比較兩個整數(shù) 的大小。double數(shù)據(jù)類型實數(shù)擁有一個整數(shù)部分和一個小數(shù)部分,并由小數(shù)隔開。 C中數(shù)據(jù)類型double用于表示 實數(shù),如 3.14159 0.005、15.8。實數(shù)可以存儲在double型變量中,進行常用的算術(shù)運算,還可以比較兩個整數(shù)的大小。VC6中double型數(shù)據(jù)在內(nèi)存中占8個字節(jié),15位有效數(shù)字,數(shù)值范圍為-1.7*10-308至1.7*10308 數(shù)據(jù)類型double是實數(shù)的一個抽象,因為它不包括所有的實數(shù),一些實數(shù)太大或太小,還有一些實數(shù)不能在大小有限的存儲

16、單元內(nèi)精確表示。然而,C中絕對可以表示足夠多的實數(shù)來執(zhí)行大部分具有相當(dāng)精度的計算。char數(shù)據(jù)類型char類型表示一個字符值一一字母、數(shù)字或?qū)S梅?。每個char型數(shù)據(jù)都包含在單引號內(nèi),如:A Z5 。字符可以存儲在char型變量中,并可以比較字符數(shù)據(jù)的大小。char型數(shù)據(jù)占1字節(jié)。C語言將char型數(shù)據(jù)對應(yīng)的ASCII碼值保存在1個字節(jié)的內(nèi)存空間中,所以C語言甚至 允許對char型數(shù)據(jù)進行算術(shù)運算,但必須小心使用。變量聲明與初始化變量(Variable)是一個值的存放處,它有三個重要屬性:名稱、值和數(shù)據(jù)類型。為了理解名稱、值和數(shù)據(jù)類型三者之間的關(guān)系,可以將變量看做一個外部貼有標(biāo)簽的盒子。名稱

17、:變量的名字寫在標(biāo)簽上,以區(qū)分不同的盒子值:變量的值對應(yīng)于盒子內(nèi)裝的東西。數(shù)據(jù)類型:變量類型表明什么類型的數(shù)據(jù)可存儲在盒子中。盒子標(biāo)簽上的名稱從不改變,但可以經(jīng)常從盒子中取出值或放入新 值。Cdeclaring!) 一個變量就是告訴6文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持C編譯器引用了一個新的變量名,并指定該變量可以保存的數(shù)據(jù)類型。變量定義語法格式:類型關(guān)鍵字 變量名1,變量名2 - ;例:int count;double area;char first_initial;int i,j,k;【說明】使用變量必須“先定義后使用

18、”變量名是由用戶定義的標(biāo)識符,它的構(gòu)成應(yīng)符合以下規(guī)則名稱必須以字母或下劃線字符開頭。名稱的其他字符必須是字母、數(shù)字或下劃線,不得使用空格和其他特殊符號名稱不可以是關(guān)鍵字。變量名可以為任意長度,但C編譯器只認為前31個字符有意義。在C語言中,變量名中出現(xiàn)的大寫和小寫字母被視為不同的字符。變量名應(yīng)使讀者易于明白其中存儲的值是什么。實例操作【例2-2】使用C語言編程,程序根據(jù)用戶輸入的某圓的半徑值,求該圓的周#include main()int radius;double c ;輸入半徑;計算周長;輸出周長;在定義變量的同時可以為其賦初值,即C語言允許在定義變量的同時對變量進行初始化。例:int s

19、um = 0;double source = 87.3char grade = A;定義但未賦初值的變量中,一般存放的是隨機數(shù)(靜態(tài)變量除外) 。常量常量是一種在程序中保持固定類型和固定值的數(shù)據(jù)。7文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.整型常量計算機中的數(shù)據(jù)都以二進制形式存儲。在C 程序中,為便于表示和使用,整型常量可以用十進制、 八進制和十六進制三種形式來表示, 編譯系統(tǒng)會自動將其轉(zhuǎn)換為二進制形式存儲。C 語言的編譯器將整型常量按照 int 型變量的長度來存儲。.實型常量由于計算機中的實型數(shù)以浮點形式表示,即小數(shù)點位置可以是浮動的,因此實型常量可以稱為實數(shù)或浮點數(shù)。在C 程序中,實

20、型常量的表示方法如下:1)十進制小數(shù)形式2)指數(shù)形式實型常量在存儲時按double類型存儲,即占8個字節(jié)。.字符型常量C 語言中的字符常量是由單引號括起來的一個字符。對于某些控制字符(如回車符、換行符等)無法通過鍵盤輸入,因此, C 語言還引入了 另外一種特殊形式的字符常量轉(zhuǎn)義字符。.字符串常量字符串常量是由一對雙引號括起來的一個字符序列。為便于 C 程序判斷字符串是否結(jié)束,系統(tǒng)對每個用雙引號括起來的字符串常量都添加一個字符串結(jié)束標(biāo)識 0 。它不引起任何控制動作,也不顯示。2.4 運算符與表達式當(dāng)希望程序執(zhí)行計算時,應(yīng)寫出一個表達式以指定必要的操作,其形式類似于數(shù)學(xué)表達式。例: n1 + n2

21、C 語言中的表達式由項和運算符組成。項:表示一個單獨的數(shù)據(jù)值,如 n1 , n2常量變量函數(shù)調(diào)用括號中的表達式運算符:一個表示運算的字符或一個字符序列,如 + , - , * , /, + , -當(dāng)程序運行時, 執(zhí)行表達式中每一個特定操作的過程稱為求值。 當(dāng)對表達式進行求值時,每一個運算符都對兩邊項所表示的數(shù)據(jù)值進行運算。當(dāng)所有運算符求值完畢后,剩下的一個數(shù)據(jù)就是計算結(jié)果。算術(shù)運算符與算術(shù)表達式算術(shù)運算符算術(shù)運算符主要有+ - * / % (取余運算)操作對象文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.歡迎下載支持算法運算符的操作符可能是常量、變量或其他算術(shù)表達式。例:3.14 * 2 *

22、 25 + count - 34 * num - 35 % 2 (值為1)3.操作數(shù)數(shù)據(jù)類型運算符+ - * /既允許操作數(shù)是int型或double型,或允許兩者的混合。當(dāng)把int型操作數(shù) 和double型操作數(shù)混合在一起使用時,運算結(jié)果是 double型。運算符可以與整數(shù)操作數(shù)一起使用,用于找出普通除法的余數(shù)。例:2 + 7 (值為9)2 + 7.0 (值為 9.0)6 * 3.2 (值為 19.2)5 / 2 (值為2)2 / 5 (值為0)2.0 / 5 (值為 0.4)5 % 2 (值為1)【注意】當(dāng)兩個操作數(shù)都是整數(shù)時,/通過丟掉分數(shù)部分的方法截取結(jié)果。%要求整數(shù)操作數(shù);如果兩個操作

23、數(shù)中有一個不是整數(shù),那么程序?qū)o法編譯通過。%左側(cè)的操作數(shù)為被除數(shù),右側(cè)的操作數(shù)為除數(shù),運算的結(jié)果為整除后的余數(shù),余數(shù) 的符號與被除數(shù)的符號相同。4.運算符的優(yōu)先級在C語言中,優(yōu)先級順序由符合標(biāo)準(zhǔn)數(shù)學(xué)用法的一系列排序規(guī)則決定,稱之為優(yōu)先級法則。對算術(shù)表達式來說,常見的規(guī)則有:C編譯器首先執(zhí)行任何一元運算符(如-)C編譯器接下來執(zhí)行乘法運算符* / %。若兩個乘法運算符作用于同一操作數(shù),則優(yōu)先執(zhí)行最左邊的運算符。(3)再接下來執(zhí)彳T加法運算符+ -0同樣,若兩個加法運算符作用于同一操作數(shù),則優(yōu)先執(zhí)行最左邊的運算符。5.運算符的結(jié)合性當(dāng)一個表達式中出現(xiàn)不同類型的運算符時,首先按照他們的優(yōu)先級順序進

24、行運算。當(dāng)兩類運算符的優(yōu)先級相同時,則要根據(jù)運算符的結(jié)合性確定運算順序。結(jié)合性表明運算時的結(jié)合分向。算術(shù)運算符的結(jié)合性為左結(jié)合。9文檔來源為:從網(wǎng)絡(luò)收集整理.word版本可編輯.1.簡單賦值一旦計算出表達式的值就常常需要把這個值存儲在變量中,以便以后使用。C語言中,簡單賦值運算符(=)可以用于此目的。簡單賦值運算符(二)與數(shù)學(xué)中的等號不同,所以應(yīng)將它讀作“變?yōu)椤?、“賦值為。在數(shù) 學(xué)領(lǐng)域,=表示兩個值之間的關(guān)系,但是在 C中它表示由計算機執(zhí)行的一個操作。變量的值是用賦值表達式獲得的。C語言中的賦值表達式形式如下:變量=表達式在寫賦值表達式時,等號的左邊可以是任何變量名,等號右邊可以是任何表達式。

25、【注意】二右側(cè)的表達式的值會賦給 二左側(cè)的變量,變量原來的值就消失了。賦值表達式最后以;結(jié)束就形成了賦值語句。變量=表達式;【例】int item,sum;sum = 5;item = 10;sum = item + sum;實例操作【例2-2】使用C語言編程,程序根據(jù)用戶輸入的某圓的半徑值,求該圓的周,。#include main()int radius,l;輸入半徑;= 2 * 3.14 * radius ;輸出周長; 例:假設(shè)變量balance保存某人銀行賬戶的余額,他想往賬戶中存一筆錢,數(shù)額保存在變 量desposit中。新的余額由表達式 balance+desposi也合出。于是可以

26、寫出如下賦值語句:newbalance = balance + despos it然而在大多數(shù)情況下,人們不愿用一個新變量來存儲結(jié)果。存錢的效果就是改變銀行賬 戶中的余額,我們可以把 balance+desposit的值存入變量balance中,賦值語句改為:balance = balance + despos it像這樣對一個變量執(zhí)行一些操作并將結(jié)果重新存入變量的語句在程序設(shè)計時使用十分頻繁,因此 C 語言的設(shè)計者特意加入了它的一種習(xí)慣的簡記方式,即將balance = balance +desposit;寫成balance += desposi;t凡是二元運算符,都可以與賦值符( = )一

27、起組合成復(fù)合賦值符。 C 語言規(guī)定可以使用10種復(fù)合賦值運算符,即:+= -= *= /= %= = &= A= |=賦值運算符的結(jié)合性賦值運算符的結(jié)合性是自右向左。C 語言提供了自增運算符(+)與自減運算符(- ) 。1)自增運算符+i+ :在使用 i 之后,使 i 的值加 1+i :在使用 i 之前,先使i 的值加 1例: int m;int n = 3;m = n+ ;m = +n ;2)自減運算符i-:在使用 i 之后,使 i 的值減 1-i:在使用 i 之前,先使i 的值減 1例: int m;int n = 3;m = n- ; m = -n ;注意:自增和自減運算符只能用于變量。

28、自增和自減運算符的優(yōu)先級與負號優(yōu)先級相同。自增和自減的結(jié)合方向是“自右至左” 。例: int m;int n = 3;m = -n+ ;提示:良好的程序設(shè)計風(fēng)格提倡在一行語句中,一個變量最多只出現(xiàn)一次增 1 或減 1 運算。因為過多的+、 - 混合運算,會導(dǎo)致程序的可讀性變差。同時, C 語言規(guī)定表達式中的子表達式以未定順序求值,這就允許編譯程序自由重排表達式的順序,以便產(chǎn)生最優(yōu)代碼。這也導(dǎo)致相同的表達式用不同的編譯器編譯時,可能產(chǎn)生不同的運算結(jié)果。例如:Sum =( +a) + ( +a) ;11文檔來源為:從網(wǎng)絡(luò)收集整理.word 版本可編輯 .Printf (d%d”, a, a+, a

29、+);建議不要采用。使用強制轉(zhuǎn)換運算符可以把表達式的結(jié)果硬性轉(zhuǎn)換為一個用戶指定的類型值。(類型)表達式例:Int n ;Double d;d = (double) n / 2 ;不能對變量所占的字節(jié)數(shù)想當(dāng)然,要想獲知int型數(shù)據(jù)的準(zhǔn)確字節(jié)數(shù)信息,可以使用sizeof 運算符計算其在內(nèi)存中所占的字節(jié)數(shù)。sizeof (表達式)其中,表示可以是變量名、常量以及數(shù)據(jù)類型名。該運算符的功能:求表達式中變量名所代表的內(nèi)存單元所占的字節(jié)數(shù);或求表達式中常 量所占內(nèi)存單元的字節(jié)數(shù);或求表達式中的數(shù)據(jù)類型表示的數(shù)據(jù)在內(nèi)存單元中所占的字節(jié)數(shù)。2.5格式化輸入與輸由數(shù)據(jù)可以以兩種方式存儲在內(nèi)存中,賦值給變量或利用函數(shù)將數(shù)據(jù)從輸入設(shè)備復(fù)制到變 量中。數(shù)據(jù)從輸入設(shè)備傳送到內(nèi)存的指令稱為輸入操作。當(dāng)程序執(zhí)行時,會進行計算,并將結(jié)果保存到內(nèi)存中。程序結(jié)果可以通過輸出操作顯示 給程序用戶。顯示存儲在內(nèi)存中的信息的指令為輸出操作。C中所有的輸入輸出操作都由稱作輸入輸出函數(shù)來完成。本節(jié)將介紹輸入函數(shù)scanf和輸

溫馨提示

  • 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

提交評論