第2章-C語言的基礎知識_第1頁
第2章-C語言的基礎知識_第2頁
第2章-C語言的基礎知識_第3頁
第2章-C語言的基礎知識_第4頁
第2章-C語言的基礎知識_第5頁
已閱讀5頁,還剩71頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁運行程序C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁運行程序C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁 C語言程序設計C語言程

2、序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁 C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁討論:討論:在在C程序中,可以使用沒有定義的變量嗎?定程序中,可以使用沒有定義的變量嗎?定義了變量沒有使用,可以嗎?義了變量沒有使用,可以嗎?C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一

3、頁 * 八進制的數(shù)碼范圍為八進制的數(shù)碼范圍為07; 018 * 十六進制的十六進制的數(shù)碼除了數(shù)字數(shù)碼除了數(shù)字0 09 9外外, , 還使用英文字母還使用英文字母a f (或或A F)表示表示1015。 如:如:0 x1e (1) (1) 十進制形式十進制形式: :與數(shù)學上的整數(shù)表示相同;與數(shù)學上的整數(shù)表示相同; 例如例如: 12, -100, 0: 12, -100, 0 (2) (2) 八進制形式八進制形式: :在數(shù)碼前加數(shù)字在數(shù)碼前加數(shù)字0 0; 例如例如: 012=1: 012=1* *8 81 1+2+2* *8 80 0=10(=10(十進制)十進制) (3) (3) 十六進制形式十

4、六進制形式: :在數(shù)碼前加在數(shù)碼前加0 x0 x(數(shù)字數(shù)字0和字母和字母x)。)。 例如例如: 0 x12=1: 0 x12=1* *16161 1+2+2* *16160 0=18(=18(十進制)十進制)C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁2 2、整型變量、整型變量 如如: : int i; / int i; /* * 定義定義i i為整型變量為整型變量 * */ / i=10; / i=10; /* * 給給i i賦以整數(shù)賦以整數(shù)10 10 * */ / C語言程序

5、設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁計算機中整數(shù)的分類計算機中整數(shù)的分類: 1 1、不帶符號的整數(shù)、不帶符號的整數(shù) (8(8位位,16,16位位,32,32位位) ) 2 2、帶符號的整數(shù)、帶符號的整數(shù)( (正整數(shù),負整數(shù)正整數(shù),負整數(shù)) )符號位符號位: :使用最高位使用最高位( (最左面的一位最左面的一位) )作為符號位作為符號位 “ “0”-0”-“”( (正數(shù)正數(shù)) ) “1”- “1”-“”( (負數(shù)負數(shù)) ) 其余各位表示數(shù)的絕對值其余各位表示數(shù)的絕對值例如:例如: 00101011=00101011=43 ,10101011=43 ,101010

6、11=4343C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁有符號的整數(shù)可以有三種表示方法:有符號的整數(shù)可以有三種表示方法: 原碼原碼 反碼反碼 補碼補碼C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁原碼表示:原碼表示: 最高位作為符號位最高位作為符號位若符號位為若符號位為0 0,則表示正數(shù),則表示正數(shù). . 若符號位為若符號位為1 1,則表示負數(shù),則表示負數(shù). . 其余各位代表數(shù)值本身的絕對值其余各位代表數(shù)值本身的絕對值 (以二進制表示)(以二進制表示)(1 1)原碼表示)原碼表示 C語言程序設計C語言程序設計C語言程序設計

7、C語言程序設計上一頁上一頁下一頁下一頁例例1:假設用一個字節(jié)來表示一個數(shù),求:假設用一個字節(jié)來表示一個數(shù),求+7和和-7的原碼。的原碼。解解:根據(jù)原碼的定義:根據(jù)原碼的定義: (7 )原原00000111(7 )原原10000111結論:結論:絕對值相同的正數(shù)和負數(shù),它們除了符號位絕對值相同的正數(shù)和負數(shù),它們除了符號位不同外,其他各位都相同。不同外,其他各位都相同。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁假設用一個字節(jié)表示一個數(shù)假設用一個字節(jié)表示一個數(shù) 用原碼表示的最小值為:用原碼表示的最小值為:-127-127, 其原碼為:其原碼為:111111111

8、1111111 用原碼表示的最大值為:用原碼表示的最大值為:+127+127, 其原碼為:其原碼為:0111111101111111原碼的表示范圍原碼的表示范圍所以,原碼的表示范圍為:所以,原碼的表示范圍為:127 127 +127 +127 C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁(2 2)反碼表示)反碼表示 1.1.一個數(shù)如果值為正一個數(shù)如果值為正, ,則它的反碼與原碼相同則它的反碼與原碼相同; ;2.2.一個數(shù)如果值為負一個數(shù)如果值為負, ,則其符號位置為則其符號位置為1,1,其余其余各位為對原碼的相應數(shù)據(jù)位取反各位為對原碼的相應數(shù)據(jù)位取反C語言程

9、序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁例例3:假設用一個字節(jié)來表示一個數(shù),求:假設用一個字節(jié)來表示一個數(shù),求+7和和-7的反碼。的反碼。解解:根據(jù)反碼的定義:根據(jù)反碼的定義:(7)反反 00000111 ( (7)7)反反 1 111110001111000C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁假設用一個字節(jié)表示一個數(shù)。假設用一個字節(jié)表示一個數(shù)。用反碼表示的最小值為:用反碼表示的最小值為:-127-127, 其反碼為其反碼為: : 1000000010000000用反碼表示的最大值為:用反碼表示的最大值為:+127+1

10、27, 其反碼為其反碼為: : 0111111101111111所以,反碼的表示范圍為:所以,反碼的表示范圍為: 127 127 +127 +127反碼的表示范圍反碼的表示范圍C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁(3 3)補碼表示)補碼表示 補碼表示方法規(guī)定補碼表示方法規(guī)定: : 正數(shù)的補碼:與反碼、原碼相同正數(shù)的補碼:與反碼、原碼相同. . 負數(shù)的補碼:其最高位為負數(shù)的補碼:其最高位為1 1,其余各位,其余各位為對原碼的相應數(shù)據(jù)位取反,然后再對整個為對原碼的相應數(shù)據(jù)位取反,然后再對整個數(shù)加數(shù)加1.1. 補充公式補充公式: :X X為為時時 xx補補

11、= = xx反反+1+1 成立成立C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁例例5:假設用一個字節(jié)來表示一個數(shù),求:假設用一個字節(jié)來表示一個數(shù),求+7和和-7的補碼。的補碼。解解:根據(jù)補碼的定義:根據(jù)補碼的定義:+7+7補補00000111 -7 -7反反11111000 -7-7補補 11111000 + 1 11111001C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁用補碼進行運算用補碼進行運算例例7 7:假設用一個字節(jié)來表示一個數(shù),求:假設用一個字節(jié)來表示一個數(shù),求+7+76 6 的值的值解解: +7 +7補補00

12、000111 -6-6補補11111010+7+7補補+ -6+ -6補補 00000111 +11111010 100000001 進位舍去進位舍去 00000001說明:補碼的減法可以按加法來處理說明:補碼的減法可以按加法來處理C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁假設用一個字節(jié)表示一個數(shù)。假設用一個字節(jié)表示一個數(shù)。用補碼表示的最大值:用補碼表示的最大值:+127+127, 其補碼為:其補碼為:0111111101111111用補碼表示的最小值:用補碼表示的最小值:-128-128, 其補碼為:其補碼為:1000000010000000所以,用補碼

13、表示的數(shù)的范圍是:所以,用補碼表示的數(shù)的范圍是: -128 -128 +127 +127補碼的表示范圍補碼的表示范圍注意:用補碼表示的數(shù)的范圍比原碼和反碼多一個數(shù)。注意:用補碼表示的數(shù)的范圍比原碼和反碼多一個數(shù)。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁 不同的編譯系統(tǒng)為整型不同的編譯系統(tǒng)為整型(int)(int)數(shù)據(jù)分配的數(shù)據(jù)分配的字節(jié)數(shù)是不相同的。字節(jié)數(shù)是不相同的。 Turbo CTurbo C為一個整型變量在內存中分配為一個整型變量在內存中分配2 2個個字節(jié)的存儲單元字節(jié)的存儲單元 VC+ 6.0VC+ 6.0則分配則分配4 4個字節(jié)個字節(jié)。 數(shù)值是

14、以數(shù)值是以補碼補碼(complement) (complement) 表示的。表示的。 C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁31基數(shù)(基數(shù)(R R):通常隱含為):通常隱含為2 2 尾數(shù)(尾數(shù)(M M):必須是二進制):必須是二進制定點純小數(shù)定點純小數(shù)尾數(shù)的位數(shù)決定數(shù)的精度尾數(shù)的位數(shù)決定數(shù)的精度階碼(階碼(E E): : 必須是二進制必須是二進制定點整數(shù)定點整數(shù)。 階碼的位數(shù)決定數(shù)的范圍階碼的

15、位數(shù)決定數(shù)的范圍 浮點數(shù)可表示成:浮點數(shù)可表示成:階碼基數(shù)尾數(shù) N N M MR RE E 節(jié)選內容節(jié)選內容C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁例如例如 假設某機器字長為假設某機器字長為1616位,規(guī)定前位,規(guī)定前6 6位表示階碼位表示階碼( (包括階碼符號包括階碼符號) ),后,后1010位表示尾數(shù)位表示尾數(shù)( (包括尾數(shù)符號包括尾數(shù)符號) ),( (階碼和尾數(shù)用原碼表示階碼和尾數(shù)用原碼表示) ) 則則 000101 1110101000000101 1110101000表示的浮點數(shù)是:表示的浮點數(shù)是:階碼基數(shù)尾數(shù) N N M MR RE E C語

16、言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁 0 00101 1 110101000階碼階碼尾數(shù)尾數(shù)C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁指數(shù)形式注意指數(shù)形式注意: :字母字母e(e(或或E)E)之前必須有數(shù)字,之前必須有數(shù)字, 且且e e后面的指數(shù)必須為整數(shù)。后面的指數(shù)必須為整數(shù)。指數(shù)形式:.e例如:例如:123.67123.67用指數(shù)形式表示為用指數(shù)形式表示為 0.12367e3 0.12367e3 或者或者 1.2367e21.2367e20.12367e30.12367e3表示表示0.123670.12367*

17、*10103 31.2367e21.2367e2表示表示1.23671.2367* *10102 2C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁 如如: :10e210e2:1010* *10102, 2, 即即1000 1000 1.56e3: 1.56 1.56e3: 1.56* *10103 3,即,即15601560 2.4e-2: 2.4e-2:2.42.4* *1010-2-2,即,即0.0240.024使用指數(shù)形式來表示很大或很小的使用指數(shù)形式來表示很大或很小的數(shù)比較方便。試舉例!數(shù)比較方便。試舉例!C語言程序設計C語言程序設計C語言程序設計C

18、語言程序設計上一頁上一頁下一頁下一頁(2) (2) 實型變量實型變量 實型變量分為單精度(實型變量分為單精度(floatfloat型)、雙精度型)、雙精度(doubledouble型)和長雙精度型(型)和長雙精度型(long doublelong double)三類)三類形式。形式。類類 型型所占所占字節(jié)字節(jié)數(shù)數(shù)有效有效數(shù)字數(shù)字數(shù)的取值范圍數(shù)的取值范圍( (絕對值絕對值) ) 舉舉 例例float460及1.2*10383.4*1038float x1,x2;double8150及2.3*103081.7*10308double y1,y2long double8150及2.3*103081.

19、7*10308long double z1,z2;有效數(shù)字:小數(shù)點后保留的小數(shù)位數(shù)。有效數(shù)字:小數(shù)點后保留的小數(shù)位數(shù)。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁程序的運行結果:程序的運行結果:12.3000001.230000e+001C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁此例說明:每個變量在使用前必須加以定義。此例說明:每個變量在使用前必須加以定義。此程序的作用是調換兩個變量的值。此程序的作用是調換兩個變量的值。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁1、字符常量、字符常量

20、(1)(1)用單引號包含的用單引號包含的一個一個字符是字符型常量字符是字符型常量(2)(2)只能包含一個字符只能包含一個字符a a, ,A A, , 1 1abcabc、“a a”C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁有些以有些以“ ”開頭的特殊字符稱為開頭的特殊字符稱為轉義字符轉義字符。意思是將反斜扛意思是將反斜扛()()后面的字符轉換成另外后面的字符轉換成另外的意義。如的意義。如nn中的中的n n不代表字母不代表字母n n而作而作為換行符。為換行符。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言

21、程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁 顯示屏上的運行結果:顯示屏上的運行結果: ab cdeab cde fAfA例例2.5 轉義字符的使用。轉義字符的使用。#include “stdio.h”main() printf(“abtcden”); printf(“f101n”);程序的運行結果:程序的運行結果:ab cdefAC語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言中,字符常量都具有一個整數(shù)值,即語言中,字符常量都具有一個整數(shù)值,即該字符的該字符的ASC碼值(見附錄)。因此,碼值(見附錄)。因此,一個字符常量與整型數(shù)可以進行運

22、算。一個字符常量與整型數(shù)可以進行運算。試舉例?試舉例?C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁2、字符串常量、字符串常量用雙引號括起來的字符序列,用雙引號括起來的字符序列,如如”abc”,”a”,”123.45”在在C語言中,任何一個字符串都有一個結束符,語言中,任何一個字符串都有一個結束符,并指定結束符為空字符(并指定結束符為空字符(0)。)。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁字符常量與字符串常量的區(qū)別:字符常量與字符串常量的區(qū)別:1、表示形式不同。、表示形式不同。2、字符常量通??梢越o字符型變量賦值,而、

23、字符常量通??梢越o字符型變量賦值,而字符串常量通常被存放在一個字符數(shù)組中。字符串常量通常被存放在一個字符數(shù)組中。3、字符串常量要有一個結束符(、字符串常量要有一個結束符(0),而字),而字符常量沒有。符常量沒有。4、運算不同:字符常量除了可以比較外,還、運算不同:字符常量除了可以比較外,還可以相減,并可以與整型數(shù)進行加減運算??梢韵鄿p,并可以與整型數(shù)進行加減運算。5、輸出格式不同:字符常量輸出可使用、輸出格式不同:字符常量輸出可使用printf()的的%c和和%d格式符,字符串常量輸出則格式符,字符串常量輸出則使用使用printf()的的%s格式符。格式符。C語言程序設計C語言程序設計C語言程

24、序設計C語言程序設計上一頁上一頁下一頁下一頁如:如:char c1,c2; 字符型變量用來存放字符常量,注意只能字符型變量用來存放字符常量,注意只能放一個字符。放一個字符。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁例例2.6將小寫字母轉換成大寫字母。將小寫字母轉換成大寫字母。#include “stdio.h”main() char c1,c2; c1=a; /可以寫成可以寫成c1=97,效果一樣,效果一樣 c2=b;/可以寫成可以寫成c2=98,效果一樣效果一樣 c1=c1-32; c2=c2-32; printf(“%c %cn”,c1,c2);程序的

25、運行結果:程序的運行結果:A B練習:把大寫字母轉換成小寫字母。練習:把大寫字母轉換成小寫字母。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁強調:在強調:在ASC取值范圍內,取值范圍內,char型和型和int型型數(shù)據(jù)之間可以相互轉換、運算。數(shù)據(jù)之間可以相互轉換、運算。例例2.7將一個字符的值加將一個字符的值加1再輸出。再輸出。#include “stdio.h”main() char a,b; /定義兩個字符變量定義兩個字符變量 a=a; /給給a賦初值賦初值 b=b;/給給b賦初值賦初值 printf(“%d,%d,”,a,b); printf(“%c,%

26、c,”,a+1,b+1);程序的運行結果:程序的運行結果:97,98,b,cC語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁討論:討論:1、定義變量時一定要賦初值嗎?不賦初值的變、定義變量時一定要賦初值嗎?不賦初值的變量一定不能用嗎?量一定不能用嗎?2、字符變量只可以與整型數(shù)進行運算嗎?、字符變量只可以與整型數(shù)進行運算嗎?C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁一、算術運算符及其表達式一、算術運算符及其表達式C語言程序設計C語言程序設計C語言程

27、序設計C語言程序設計上一頁上一頁下一頁下一頁基本算術運算符:基本算術運算符: + - + - * * / % / %結合方向:從左向右結合方向:從左向右優(yōu)先級:優(yōu)先級: * * / % / % - - + -+ - (1) (2) (1) (2)說明:說明:兩整數(shù)相除,結果為整數(shù),多數(shù)系統(tǒng)采用舍勻兩整數(shù)相除,結果為整數(shù),多數(shù)系統(tǒng)采用舍勻小數(shù)部分的方法。小數(shù)部分的方法。% %要求兩側均為整型數(shù)據(jù)要求兩側均為整型數(shù)據(jù)例 5/2 = -5/2.0 =例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2例 5/2 = 2 -5/2.0 = -2.5例 5%2 = 1 -5%2 = -1

28、1%10 = 1 5%1 = 0 5.5%2 ()C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁例例2.8#include “stdio.h”main() int x,y; x=-3+4x=-3+4* *5-65-6; y=-3 y=-3* *4%-5/54%-5/5; printf(“%d,%dn”,x,y);相當于相當于-12%-5結果為結果為-2,再計算再計算-2/5,結果為,結果為0。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁二、賦值運算符及其表達式二、賦值運算符及其表達式賦值運算符賦值運算符“=” (略略)C語言

29、程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁復合的賦值運算符復合的賦值運算符1復合運算符:復合運算符:10種種 +=,=,*=,/=,%=,例如:例如: a+=3 相當于相當于 a=a+3 x*=y+8 相當于相當于 x=x*(y+8) x%=3 相當于相當于 x=x%32意義:意義: 簡化程序,使程序精煉。簡化程序,使程序精煉。 提高編譯效率提高編譯效率。C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁例: a=12; a+=a-=a*a/a=-264 等價于a=a+(a=a-(a*a)C語言程序設計C語言程序設計C語言程序設計C

30、語言程序設計上一頁上一頁下一頁下一頁【例】復合的賦值運算符的應用。 已知已知a=12a=12,n=5n=5,求下列表達式的值。,求下列表達式的值。 a+=a; a+=a; / /* *相當于相當于a=a+a;a=a+a;* */ / a-=2; a-=2; / /* *相當于相當于a=a-2;a=a-2;* */ / a a* *=2+3; =2+3; / /* *相當于相當于a=aa=a* *(2+3);(2+3);* */ / a/=a+a; a/=a+a; / /* *相當于相當于a=a/(a+a);a=a/(a+a);* */ / a%=(n%=2); a%=(n%=2); / /*

31、*相當于相當于n=n%2,n=n%2,得到得到n n值為值為1 1,再計算,再計算a=a%n;a=a%n;* */ / a+=a-=a a+=a-=a* *=a; =a; 上述表達式的計算結果分別為上述表達式的計算結果分別為 2424,1010,6060,0 0,0 0,0 0C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁自增(+)、自減運算符() 作用:使變量值加1或減1種類: 前置 +i, -i (先自增1或減1,再使用i值) 后置 i+,i- (先使用i值,再將變量的值增1或減1)例 j=3; k=+j; j=3; k=j+; j=3; printf(“

32、%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b; /k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=4說明: + - 不能用于常量和表達式,如5+, (a+b)+ + -結合方向: 自右向左C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁例例2.12 分別計算出分別計算出x,y的值。的值。 (1)int a=5; (1)int a=5; x=a+; x=a+; y=a; y=a

33、; (2)int a=5; (2)int a=5; x=+a; x=+a; y=a; y=a;相當相當x=a;a=a+1;x=a;a=a+1; y=a;y=a;相當于相當于a=a+1;x=a;a=a+1;x=a; y=a;y=a;程序的結果:程序的結果:(1)x=5,y=6.(2)x=6,y=6.C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁四、四、強制類型轉換運算符強制類型轉換運算符C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁強制類型轉換運算符:強制類型轉換運算符: 將一個表達式轉換成所需類型。將一個表達式轉換成所需類型。

34、 一般形式:一般形式: (類型名)表達式(類型名)表達式 例 (int) x (int)(x+y) (int)x+y (double)(3/2) (int)3.6 說明:強制轉換得到所需類型的中間變量,原變量類型不變 【例2.10】 main() float x; int y; x=8.6; y=(int)x%5; printf(“x=%f,y=%d”,x,y); 結果:x=8.600000,y=3C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁五、關系運算符及其表達式五、關系運算符及其表達式注意跟注意跟“=”的區(qū)別的區(qū)別C語言程序設計C語言程序設計C語言程序設

35、計C語言程序設計上一頁上一頁下一頁下一頁(一)、關系運算符及其優(yōu)先次序1、C語言的6種關系運算符 = = = != 2、優(yōu)先次序(可參考附錄) 前4種運算符的優(yōu)先級相同,后兩種也相同,且前4種高于后2種。 關系運算符優(yōu)先級低于算術運算符關系運算符優(yōu)先級低于算術運算符 關系運算符的優(yōu)先級高于賦值運算符關系運算符的優(yōu)先級高于賦值運算符例: ca+b c(a+b) ab!=c (ab)!=c a= =bc a= =(bc a=(bc) 算術運算符 關系運算符 賦值運算符C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁關系表達式的值是關系表達式的值是“真真”或或“假假”

36、,C語言中語言中以以1代表代表“真真”,以,以0代表代表“假假”。例:若a=3,b=2,c=1 則 ab表達式的值為1(ab)=c表達式的值為1b+cb d的值為1f=abcf的值為0C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁【例】關系運算符的計算。 若若a=1,b=2,c=3,x=4,y=5;a=1,b=2,c=3,x=4,y=5;,請計算下列表達式的值。,請計算下列表達式的值。 (1 1)ca+b ca+b (2 2)ab=cab=c (3 3)a=bca=bca=bc 上述表達式的計算結果分別為上述表達式的計算結果分別為 0 0,0 0,1 1,0

37、0C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁六、六、邏輯運算符及其表達式邏輯運算符及其表達式C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁C語言有三種基本的邏輯運算(布爾運算): 與 (邏輯乘) 用&表示或 (邏輯加) 用 | | 表示 非 (邏輯非) 用 ! 表示 邏輯運算的結果值有兩個: false(假)、 true(真):設有兩個布爾量x1,x2 與運算:x1 & x2 當x1,x2均為真時,x1 & x2 結果為真,否則為假;或運算:x1 | x2 當x1,x2二者其中有一個為真時,結果即為真,只有均為假時,才為假;非運算:! x1當x1為真時, 結果為假;當x1為假時,結果為真。邏輯運算符與邏輯表達式邏輯運算符與邏輯表達式C語言程序設計C語言程序設計C語言程序設計C語言程序設計上一頁上一頁下一頁下一頁根據(jù)上面的運算規(guī)則考慮: a b a & b a | b ! atrue

溫馨提示

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

評論

0/150

提交評論