




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計,第二講,(1)C 文件可以由一個或多個C源程序組成,(2)C 源程序可以由一個或多個函數(shù)組成,(3)C 文件有且僅有一個主函數(shù)(main函數(shù)),(4)C 源程序中用預(yù)處理命令調(diào)用庫函數(shù)或其它程序。,(5)每個執(zhí)行語句以分號結(jié)尾。,(6)變量要先定義再應(yīng)用,上節(jié)提要:,(7)一個函數(shù)由兩部分組成:,函數(shù)的說明部分:函數(shù)名后有一對圓括號,函 數(shù) 體 部 分:花括號+執(zhí)行語句,(8)C 程序書寫區(qū)分大小寫,(9)printf (“格式化字符串”,參數(shù)表)。,(10)可以用/* */或 / 對C源程序做注解,上節(jié)提要:,語言的字符集,每一種可書寫的語言,全部可用的字符的集合稱為字符集
2、英語的字符集 a-z 26個字母 阿拉伯?dāng)?shù)字的字符集為0-9 漢語的字符集 (中文字符,太多了) 兩個或兩個以上的字符組合稱為詞匯。,語言的字符集,語言字符集由字母,數(shù)字,空格,標(biāo)點和特殊字符組成。在字符常量,字符串常量和注釋中還可以使用漢字或其它可表示的圖形符號。 1.字母大小寫英文字母 2.數(shù)字09 3.空白符 空格符、制表符(t)、換行符(n)等統(tǒng)稱為空白符。 空白符只在字符常量和字符串常量中起作用。 4.標(biāo)點和特殊字符 標(biāo)點: 冒號,逗號,大中小括號 特殊字符:+ - * / % 等,一、語言詞匯 在語言中使用的詞匯分為六類:標(biāo)識符,關(guān)鍵字,運算符,分隔符,常量,注釋符等。 1.標(biāo)識符
3、 在程序中使用的變量名、函數(shù)名、標(biāo)號等統(tǒng)稱為標(biāo)識符。 除庫函數(shù)的函數(shù)名由系統(tǒng)定義外,其余都由用戶自定義。 標(biāo)識符是只能由字母、數(shù)字和下劃線(_)組成的字符串,并且其第一個字符必須是字母或下劃線。,由英文字母、數(shù)字和下劃線組成,大小寫敏感 不可以是數(shù)字開頭 直觀,見名知意,便于記憶和閱讀 最好使用英文單詞或其組合 切忌使用漢語拼音 下劃線和大小寫通常用來增強可讀性 Variablename(太長,不建議) variable_name (UNIX風(fēng)格) VariableName, variableName (Windows風(fēng)格) 不允許使用關(guān)鍵字作為標(biāo)識符的名字 int, float, for,
4、while, if等 某些功能的變量采用習(xí)慣命名 如:for語句所采用的循環(huán)變量習(xí)慣用i, j, k,標(biāo)識符命名,在使用標(biāo)識符時還必須注意以下幾點: (1)標(biāo)準(zhǔn)C不限制標(biāo)識符的長度,但它受各種版本的C 語言編譯系統(tǒng)限制,同時也受到具體機器的限制。例如在某版本C 中規(guī)定標(biāo)識符前八位有效,當(dāng)兩個標(biāo)識符前八位相同時,則被認(rèn)為是同一個標(biāo)識符。 定義標(biāo)識符最好不要超過8個。 (2)在標(biāo)識符中,大小寫是有區(qū)別的。例如BOOK和book 是兩個不同的標(biāo)識符。 最好全部用小寫 (3)標(biāo)識符雖然可由程序員隨意定義,但標(biāo)識符是用于標(biāo)識某個量的符號。因此,命名應(yīng)盡量有相應(yīng)的意義,以便于閱讀理解,作到“顧名思義”。,
5、以下標(biāo)識符是合法的: a, x, x3, BOOK_1, sum5 以下標(biāo)識符是非法的: 3s 以數(shù)字開頭 U.S 中間有非法字符. s*T 出現(xiàn)非法字符* -3x 以減號開頭 bowy-1 出現(xiàn)非法字符-(減號) Good bye 中間有空格 int 關(guān)鍵字,2.關(guān)鍵字 關(guān)鍵字是由語言規(guī)定的具有特定意義的字符串,通常也稱為保留字。用戶定義的標(biāo)識符不應(yīng)與關(guān)鍵字相同。語言的關(guān)鍵字分為以下幾類: (1)類型說明符 用于定義、說明變量、函數(shù)或其它數(shù)據(jù)結(jié)構(gòu)的類型。如int,double (2)控制語句符 用于表示一個語句的功能。如if 就是條件語句的語句定義符。,ANSI C一共只有32個關(guān)鍵字,(1
6、) 數(shù)據(jù)類型說明符(12個) 長短(單)雙正負(fù) long short double unsigned singned 無值整型浮點字符(指針)void int float char 聯(lián)合枚舉結(jié)構(gòu)(數(shù)組) union struct enum (2) 變量類型(4個): 外部 靜態(tài)自動 寄存器 extern static auto register (3)常量(1個): const,(2)程序結(jié)構(gòu)語句定義符(12個) 判斷: If else 循環(huán): for do while 轉(zhuǎn)移:goto 跳出: break continue 返回:return 開關(guān):switch case default,3、
7、其它關(guān)鍵字 sizeof 大小 typedef類型定義 volatile可變的變量,數(shù)據(jù)為什么要區(qū)分類型? 不同類型的數(shù)據(jù)代表不同的 數(shù)據(jù)表示形式 合法的取值范圍 占用內(nèi)存空間大小 可參與的運算種類,數(shù)據(jù)類型(Data Type),語言的數(shù)據(jù)類型,數(shù)據(jù)類型是按被說明變量的性質(zhì),表示形式,占據(jù)存儲空間的多少,構(gòu)造特點來劃分的。 在語言中,數(shù)據(jù)類型可分為:基本數(shù)據(jù)類型,構(gòu)造數(shù)據(jù)類型,指針類型,空類型四大類。 數(shù)據(jù)類型:基本 構(gòu)造 空 指針,基本類型,構(gòu)造類型,指針類型,空類型 void,整型,浮點型(實型),字符型 char,枚舉類型 enum,基本整型 (singned) int,長整型 lon
8、g (int),短整型 short (int),數(shù)據(jù)類型,無符號整型 unsigned (int),單精度實型 float,雙精度實型 double,數(shù)組類型,結(jié)構(gòu)體類型 struct,聯(lián)合類型 union,數(shù)據(jù)類型(Data Type),1、基本數(shù)據(jù)類型:基本數(shù)據(jù)類型最主要的特點是,其值不可以再分解為其它類型。也就是說,基本數(shù)據(jù)類型是自我說明的。 2、構(gòu)造數(shù)據(jù)類型:構(gòu)造數(shù)據(jù)類型是根據(jù)已定義的一個或多個數(shù)據(jù)類型用構(gòu)造的方法來定義的。也就是說,一個構(gòu)造類型的值可以分解成若干個“成員”或“元素”。每個“成員”都是一個基本數(shù)據(jù)類型或又是一個構(gòu)造類型。 在C語言中,構(gòu)造類型有以下幾種: 數(shù)組類型 結(jié)構(gòu)
9、體類型 聯(lián)合類型,計算機中的數(shù)據(jù)單位: b, B, KB, MB, GB, TB,bit,位 b Byte,字節(jié) B Kilobyte(KB), K Megabyte(MB),兆 M Gigabyte(GB),G Terabyte(TB),T,1 TB = 1,024 GB,1 GB = 1,024 MB,1 MB = 1,024 KB,1 KB = 1,024 B,1 B = 8 b,思考:為什么是1024而不是更容易計算的1000? 1024是2的10次方,注意:硬盤的容量計算與此不同,硬盤的1K是1000,思考:為什么是8而不是更直觀的10?,int 整數(shù),在目前絕大多數(shù)機器上占4個字節(jié)
10、。TC2中是2個字節(jié) int a=64; float 浮點數(shù) 單精度浮點數(shù),一般是4個字節(jié)長 float b=64.0; char 字符 字符,一般是1個字節(jié)長 用來表示256個ASCII字符,或者0-255的整數(shù)。 char=a ;,基本數(shù)據(jù)類型,short int,短整型,2個字節(jié)。通常簡寫為short long int,長整型,4個字節(jié)。通常簡寫為long single 單精度浮點數(shù) 4個字節(jié) double 雙精度浮點數(shù)8個字節(jié) long double ? signed 用來修飾char、int、short和long,說明他們是有符號的整數(shù)(正整數(shù)、0和負(fù)整數(shù))。一般缺省都是有符號的,所
11、以這個修飾符通常省略 unsigned 用來修飾char、int、short和long,說明他們是無符號的整數(shù)(正整數(shù)和0),數(shù)據(jù)類型修飾符,數(shù)據(jù)的存儲形式,計算機中,所有的數(shù)據(jù)都是以二進制進行存儲的。 因為用一個兩位的十六進制數(shù)就可以表示8位的二進制數(shù),為方便閱讀,都是以16進制的形式寫出。 常用字符與ASCII碼對應(yīng)。,使用ULTRAEDIT打開flashfxp.exe文件,進行十六進制編輯:,以13為例: 二進制數(shù)為:1101 int型 (2字節(jié),15位有效數(shù)字,最高位為符號位):,long int型 (4字節(jié), 31位有效數(shù)字,最高位為符號位) :,unsigned int型(2字節(jié),
12、16位有效數(shù)字,無符號位) :,unsigned long int型( 4字節(jié), 31位有效數(shù)字,無符號位) :,整型數(shù)據(jù) 在內(nèi)存中的存放形式,0D,0D 00,0D,0D 00,Turbo C中各類整型量所分配的內(nèi)存字節(jié)數(shù)及數(shù)的表示范圍。,TC2中int的范圍是-3276832767 如果我們給它一個小于-32768或者大于32767的數(shù)會如何呢?,小蛇能吞下大象嗎?,超出取值范圍會怎樣?,一臺安裝了Windows 95/98的機器,如果連續(xù)運行49.7天沒有重新啟動,可能死機 原因: Windows自啟動時刻起,有一個計數(shù)器,記錄系統(tǒng)已經(jīng)運行了多少毫秒。這個計數(shù)器是個unsigned lo
13、ng 類型的變量 unsigned long 的最大值是:4294967295 一天有 24*60*60*1000 = 86400000毫秒 4294967295 / 86400000 = 49.71026961805 當(dāng)49.7天的時候,此計數(shù)器會溢出,引起死機,溢出(Overflow)造成的危害,2 浮點型數(shù)據(jù),浮點型常量的表示方法,兩種表 示形式,小數(shù) 指數(shù),0.123 1.23e-3,注意:字母e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù),1e3、1.8e-3、-123e-6、-.1e-3 e3、2.1e3.5、.e3、e,3.4 浮點型數(shù)據(jù),規(guī)范化的指數(shù)形式: 在字母e(或E)
14、之前的小數(shù)部分中,小數(shù)點左邊 應(yīng)有一位(且只能有一位)非零的數(shù)字. 例如: 123.456可以表示為: 123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e 其中的1.23456e3稱為“規(guī)范化的指數(shù)形式”。,3.4 浮點型數(shù)據(jù),3.4.2 浮點型變量 (1)浮點型數(shù)據(jù)在內(nèi)存中的存放形式 一個浮點型數(shù)據(jù)一般在內(nèi)存中占4個字節(jié)(32位)。與整型數(shù)據(jù)的存儲方式不同,浮點型數(shù)據(jù)是按照指數(shù)形式存儲的。系統(tǒng)把一個浮點型數(shù)據(jù)分成小數(shù)部分和指數(shù)部分,分別存放。指數(shù)部分采用規(guī)范化的指數(shù)形式。,圖3-7,計算機中用二進制表示浮
15、點數(shù),使用二進制表示只有0和1,那么對于小數(shù)就只能用下面的方式來表示:a12-1+a22-2+a32-3+.+an2-n 其中a1等數(shù)可以是0或者1,從理論上將,使用這種表示方法可以表示一個有限的小數(shù)。,IEEE 754標(biāo)準(zhǔn),一個浮點數(shù)V 在IEEE 754標(biāo)準(zhǔn)中可以用 V (-1)SM2E 的形式表示 在表示浮點數(shù)時, 每個浮點數(shù)均由三部分組成: 符號位S, 指數(shù)部分E和 有效數(shù)字 M S=0表示正數(shù), S=1表示負(fù)數(shù) 有效數(shù)字M是二進制小數(shù),M的每一位數(shù)只能是0或1,以0.75為例 十進制數(shù) 0.75 = 0.5+0.25 =1*1/2 + 1*1/4 =1*2-1+ 1*2-2 寫成二進
16、制的格式: 0.75 d =1.1 * 2-1 b,219.125 d = 11011011.001 b 換算過程: =1*128+1*64+0*32+1*16+1*8+0*4+1*2+1*1+0*0.5+0*0.25+1*0.125 =1*27+1*26+0*25+1*24+1*23+0*22+1*21+1*20+0*2-1+0*2-2+1*2-3 = 1101 1011.001 b = 1.101 1011001 *27 b,寫成計算機存儲的規(guī)范格式 0 1000 0110 1011 0110 0100 0000 0000 000,符號位 s , 正數(shù)則 s = 0,指數(shù)位E :用127代
17、表0,E大于0則為127+E, E小于0則為127-E,省略整數(shù)1后得到有效數(shù)字(或稱尾數(shù)),219.125 d = 1.101 1011 001 27,類型 位數(shù) 數(shù)的范圍 有效數(shù)字 float 32 -3.410-383.41038 67 位 double型 64 -1.710-3081.710308 1516位 long double 128 -1.210-49321.2104932 1819位,浮點型數(shù)據(jù)的有效位數(shù),(2) 浮點型變量的分類 浮點型變量分為單精度(float型)、雙精度(double型)和長雙精度型(long double)三類形式。,有效數(shù)是M(23位) 1111 1
18、111 1111 1111 1111 1111 111 B = 8388607 D,3.2 常量與變量,3.2.1 常量和符號常量 在程序運行過程中,其值不能被改變的量稱為常量 常量區(qū)分為不同的類型:,整型 100,012,0 xFF 實型 3.14 , 1.23E2 字符型 a, 2,72 字符串 “a”, “ab”,“1232” 符號常量 #define PRICE 30,整型常量 18、-31 長整型常量 123l、123L、123456l、123456L 無符號型常量 123u、 123U 浮點常量 十進制小數(shù)形式 123.45、456.78 指數(shù)形式 1e-2、4.5e3 單精度實型
19、常量 123.45f、 456.78F、1e-2f、4.5e3F 長雙精度型常量 123.45l、 456.78L、1e-2l、4.5e3L (沒有長單精度的說法),常量(Constant),以數(shù)字“0”開始的整型常量是八進制數(shù) 022、-037 010和10大小不一樣 因為八進制并不常用,所以此種表示法比較少見 以“0 x”或者“0X”開始的整型常量是十六進制 A-F和a-f用來表示十進制的10-15 十六進制的形式比較常用,尤其在進行位一級的控制的時候 0 x12、-0 x1F, -0 x1f,八進制與十六進制常量,練習(xí):,寫出以下程序的執(zhí)行結(jié)果: void main() int a,b,
20、c; a=12; b=012; c=0 x12; printf(%d, %d, %d,a, b, c); ,練習(xí),找出下列程序中的錯誤:,void main() int a,b,c,d,e,f,g; a=0X2A; b=0XA0; c=5A; d=0XFFFF; e=0X3H; f=019; g=003; printf(%d,%d,%d,%d,%d,%d,%d,a,b,c,d,e,f,g); ,字符常數(shù)為用單引號擴起的一個字符: a, A , 5 , % , $ 單引號內(nèi)只能有一個字符,除非用開頭 其值為整數(shù),也可以參與各種數(shù)學(xué)運算 每個字符具有一個0-255之間的數(shù)值,可從ASCII表查出
21、注意: 5 和整數(shù)5的區(qū)別 字符的數(shù)學(xué)運算在密碼學(xué)內(nèi)用得比較多,字符(Character)常量,例:向字符變量賦以整數(shù)。 #include void main() char c1,c2; c1=97; c2=98; printf(%c %cn,c1,c2); printf(%d %dn,c1,c2); ,說明:在第和第4行中,將整數(shù)和分別賦給c1和c2,它的作用相當(dāng)于以下兩個賦值語句: c1;c2; 因為a和b的ASCII碼為和,運行結(jié)果: 97 98,3.5字符型數(shù)據(jù),3.5.3字符數(shù)據(jù)在內(nèi)存中的存儲形式及其使用方法 將一個字符常量放到一個字符變量中,實際上并不是把該字符本身放到內(nèi)存單元中去
22、,而是將該字符的相應(yīng)的ASCII代碼放到存儲單元中。,這樣使字符型數(shù)據(jù)和整型 數(shù)據(jù)之間可以通用。一個 字符數(shù)據(jù)既可以以字符形 式輸出,也可以以整數(shù)形 式輸出。,轉(zhuǎn)義字符 一些特殊字符(無法從鍵盤輸入或者另有它用)用轉(zhuǎn)義字符表示,字符常數(shù),小寫字母轉(zhuǎn)換為大寫字母,Char 型與 int 型之間的關(guān)系,例2.4,例2.5,以字符型和整數(shù)型兩種格式輸出字符變量。,main() char ch = a; /*定義 ch 為字符型變量*/ printf(%c, %dn, ch, ch); /*分別以字符形式、整數(shù)形式輸出ch */ ,main() char ch = b; ch = b - 32; pr
23、intf(%c, %dn, ch, ch); ,用雙引號括住的由0個或多個字符組成的字符序列 I am a string 表示空字符串 轉(zhuǎn)義字符也可以在字符串中使用 引號只作為字符串開始和結(jié)束的標(biāo)志 C語言內(nèi)部用 0 表示字符串的結(jié)束 除注釋外,是唯一可以出現(xiàn)中文的地方 x和x是不同的 里定義了一系列專門的字符串處理函數(shù),字符串(String)常數(shù),練習(xí):寫出以下程序的執(zhí)行結(jié)果:,#include stdio.h main() int a, b=322; float x, y=8.88; char c1=k, c2; a=y; printf(a=%dn,a); x=b; a=c1; c2=b;
24、 printf(%ft, %dt, %ct, x, a, c2); ,宏常量 也稱符號常量 一般采用大寫字母表示 #define 標(biāo)識符 字符串 不是語句,而是一種編譯預(yù)處理命令 宏替換(Macro Substitulition),#include #define PI 3.14159 #define R 5.3 main() printf(area = %fn, PI * R * R); printf(circumference = %fn, 2 * PI * R); ,宏常量,例2.2,習(xí)慣上符號常量的標(biāo)識符用大寫字母,變量標(biāo)識符用小寫字母,以示區(qū)別。,用const修飾定義的變量為常量 c
25、onst float pi = 3.1425926; 常量只能在定義時賦值,然后不能再改變其值,const常量,main() const float a=3.5; float b=a; a=a+2; b=b+2; printf(%f,%f, a, b); ,練習(xí):找出下列程序的錯誤:,3.2 變量,3.2.2變量 變量的值存放在特定存儲單元中的數(shù)據(jù),在程序運行期間,變量的值是可以改變的。 變量名對應(yīng)著內(nèi)存空間中的某個地址,在對程序編譯連接時由編譯系統(tǒng)給每一個變量名分配對應(yīng)的內(nèi)存地址。從變量中取值,實際上是通過變量名找到相應(yīng)的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)。,變 量,使用變量的基本原則 變量必
26、須先定義,后使用 所有變量必須在第一條可執(zhí)行語句前定義 不同變量定義的順序無關(guān)緊要 一條定義語句可定義若干個同類型的變量 定義變量,是初始化變量的最好時機 不被初始化的變量,其值為危險的隨機數(shù) char esc = a; int i = 1; int sum = 0; float eps = 1.0e-5;,練習(xí):寫出以下程序的執(zhí)行結(jié)果,#include main() int a=1, b=2, c; float f1=1.0, f2=2.0, f3=3.0; char ch1=a, ch2=b; printf(a=%d, b=%d, c=%dnn, a, b, c); printf(%f,
27、%2.0f, %3.2fnn, f1, f2, f3); printf(%c, %cn, ch1+1, ch2+3); ,float型數(shù)據(jù)提供7位有效數(shù)字 double型數(shù)據(jù)提供16位有效數(shù)字 使用不當(dāng)導(dǎo)致舍入誤差,#include main() float a; double b; a = 123456.789e4; b = 123456.789e4; printf(%fn %fn,a, b); ,實型數(shù)據(jù)提供的有效數(shù)字位數(shù),#include main() float f; f = 123.456; if (f = 123.456) printf(f is equal to 123.456
28、indeed.); else printf(In fact, f is equal to %fn, f); 運行結(jié)果會是什么?,浮點數(shù)的陷阱,不要輕易使用單精度浮點來進行判斷。,float的精度低,較易發(fā)生精度帶來的相等性判斷問題 double精度高,這個問題發(fā)生的概率小一些,但也存在 解決辦法:if (fabs(f 123.456) 1E-5),根據(jù)精度要求設(shè)定,浮點數(shù)的陷阱,變量賦初值,在程序中常常需要對變量賦初值,以便使用變量。語言程序中可有多種方法為變量提供初值。 在變量定義中賦初值的一般形式為: 類型說明符 變量1= 值1,變量2= 值2,; 例如: int a=3; int b,c
29、=5; float x=3.2,y=3f,z=0.75; char ch1=K,ch2=P; 應(yīng)注意,在定義中不允許連續(xù)賦值,如int a=b=c=5是不合法的。,2.6.2 算術(shù)運算符,+,-,*,/ 加、減、乘、除運算 四則混合運算中,先算乘除,后算加減,按從左向右的順序計算,左結(jié)合 - 取負(fù)值運算符,右結(jié)合 % 求余運算 注:操作數(shù)類型影響算術(shù)運算的結(jié)果 6/4 6.0/4 注:C語言表達式與數(shù)學(xué)表達式的區(qū)別,算術(shù)運算符作用于整型或浮點型數(shù)據(jù),完成算術(shù)運算。(1)一、二元算術(shù)運算符,如下表所示。,二、一元算術(shù)運算符,如下表所示:,常用的標(biāo)準(zhǔn)數(shù)學(xué)函數(shù) math.h,2.6.3 關(guān)系運算符,
30、,=,=,=,!= 大于,大于等于,小于,小于等于,等于,不等于 左結(jié)合 關(guān)系運算符運算出的結(jié)果為0和非0 0,表示假,即該關(guān)系不成立 非0,表示真,即該關(guān)系成立 絕大多數(shù)編譯器,關(guān)系運算得到的非0結(jié)果為1,關(guān)系運算符關(guān)系運算符用來比較兩個值,返回布爾類型的值true或false。關(guān)系運符都是二元運算符,如下表所示:,2.6.4 邏輯運算符,邏輯運算也稱為布爾(Boolean)運算 /*被賦值的量放在等號左邊*/ 下面兩個語句是等價的 i = i + 2; i += 2; +、-、*、/、%、 a+=5; x*=a+3; y/=x; z%=x; printf(%d,%d,%d,%d,a,x,y
31、,z); ,2.6.6 增一和減一運算符,n+,n-,+n,-n +讓參與運算的變量加1,-讓參與運算的變量減1,操作數(shù)只能是變量 作為后綴運算符時,先取n的值,然后加/減1 作為前綴運算符時,先加/減1,然后取n的值 m = n+; 等價于 m = n-; m=n; m=n; n+; n-; m = +n; 等價于 m = -n; n+; n-; m=n; m=n;,練習(xí):寫出下列程序的輸出結(jié)果,Int i=8; printf(“ %dn”, +i); printf(“ %dn”, -i); printf(“ %dn”, i +); printf(“ %dn”, i -); printf(“
32、 %dn”, -i+); printf(“ %dn”, -i-);,良好的程序設(shè)計風(fēng)格提倡:在一行語句中,一個變量只能出現(xiàn)一次加1或者減1運算 過多的加1和減1運算混合,不僅可讀性差,而且因為編譯器實現(xiàn)的方法不同,導(dǎo)致不同編譯器產(chǎn)生不同的運行結(jié)果 Sum =(+a) + (a+); /*晦澀,可讀性差*/,2.6.6 增一和減一運算符,/* +, -的使用例子, +, - 的優(yōu)先級大于 - */ #include stdio.h main() int i=8, x=5, y=5, p, q; printf(After i=%dt +i show %dt before i=%dn , i, +i
33、,i ); printf(After i=%dt -i show %dt before i=%dn, i, -i, i); printf(After i=%dt i+ show%dt before i=%dn, i, i+,i); printf(After i=%dt i- show %dt before i=%dn, i, i-,i); printf(After i=%dt -i+ show %dt before i=%dn, i, -i+ ,i ); printf(After i=%dt -i- show %dt before i=%dn, i, -i- ,i ); printf(n);
34、printf(After x=%dt p show %dt before x=%dn , x, p=(x+)+(x+)+(x+), x ); printf(After y=%dt q show %dt before y=%dn , y, q=(+y)+(+y)+(+y), y ); ,/* +, -的使用例子, +, - 的優(yōu)先級大于 - */ #include stdio.h main() int i=8, x=5, y=5, p, q; printf(After i=%dt +i show %dt before i=%dn , i, +i,i ); printf(After i=%dt -
35、i show %dt before i=%dn, i, -i, i); printf(After i=%dt i+ show%dt before i=%dn, i, i+,i); printf(After i=%dt i- show %dt before i=%dn, i, i-,i); printf(After i=%dt -i+ show %dt before i=%dn, i, -i+ ,i ); printf(After i=%dt -i- show %dt before i=%dn, i, -i- ,i ); printf(n); printf(After x=%dt p show
36、%dt before x=%dn , x, p=(x+)+(x+)+(x+), x ); y=5; printf(After y=%dt q show %dt before y=%dn , y, q=(+y), y ); y=5; printf(After y=%dt q show %dt before y=%dn , y, q=(+y)+(+y), y ); y=5; printf(After y=%dt q show %dt before y=%dn , y, q=(+y)+(+y)+y, y ); y=5; printf(After y=%dt q show %dt before y=%
37、dn , y, q=(+y)+(+y)+(+y), y ); ,#include stdio.h main() int a=1,b,c, k; b=(1-a)*a+; printf(a=%d,b=%dn,a,b); a=1;b=(1-a)*+a; printf(a=%d,b=%dn,a,b); a=3;k=(a+)+(a+)+(a+); printf(k=%d, a=%dn,k,a ); a=1;b=2;c=ab ,練習(xí):寫出下列程序的輸出結(jié)果,#include stdio.h main() int a=1,b,c, k; b=(1-a)*a+; printf(a=%d,b=%dn,a,b); /* a+ 計算先用a的原值計算后,再用a+1, a=2*/ a=1;b=(1-a)*+a; printf(a=%d,b=%dn,a,b); /* +a 先計算a+1, 再進行其它計算*/ a=3;k=(a+)+(a+)+(a+); printf(k=%d, a=%dn,k,a ); /* a + a + a , 最后再a+1*/ a=1;b=2;c=ab /* (float)m/2; float (m)/2; float m
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 爬模施工方案
- 樁基正循環(huán)施工方案
- 工業(yè)廠房吊裝施工方案
- 樓道污水改道施工方案
- 巖礁施工方案模板
- 外墻圓弧石材施工方案
- 二零二五年度創(chuàng)業(yè)投資公司股權(quán)退出協(xié)議
- 二零二五年房產(chǎn)借名購買房產(chǎn)權(quán)屬變更協(xié)議
- 二零二五年度房地產(chǎn)項目建筑勞務(wù)派遣合同
- 二零二五年度旅游酒店經(jīng)營權(quán)整體轉(zhuǎn)讓合同樣本
- 原子雜化軌道理論
- 充填開采之 矸石充填術(shù)
- 醫(yī)院醫(yī)療設(shè)備采購流程圖
- 單細(xì)胞蛋白論文
- 021[學(xué)士]某六層框架宿舍樓畢業(yè)設(shè)計(含計算書、圖紙)
- (完整版)高層鋼結(jié)構(gòu)住宅施工方案(非常詳細(xì))
- 人力外包項目實施方案
- BQB480-2014無取向電工鋼
- 校園及設(shè)備設(shè)施安全隱患排查情況登記表
- 有理數(shù)混合運算100題(有答案)(共13頁)
- 解析幾何期末考試試卷
評論
0/150
提交評論