第2章基本數(shù)據(jù)類型及運算_第1頁
第2章基本數(shù)據(jù)類型及運算_第2頁
第2章基本數(shù)據(jù)類型及運算_第3頁
第2章基本數(shù)據(jù)類型及運算_第4頁
第2章基本數(shù)據(jù)類型及運算_第5頁
已閱讀5頁,還剩86頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章第二章 數(shù)值常量:整型常量、浮點數(shù)常量 字符型常量:字符常量、字符串常量、轉(zhuǎn)義字符、 符號常量2.2 2.2 常量常量a=123,b=83,c=291a=123,b=123,c=123用用ddd ddd 或或xhhxhh形式可以表示任意字符。如形式可以表示任意字符。如: : A 65 101 x41 A 65 101 x41 5 53 065 x35 5 53 065 x35 234 352 xea 234 352 xea在程序執(zhí)行過程中其值可以改變的量。在程序執(zhí)行過程中其值可以改變的量。2.3.1 2.3.1 變量定義變量定義變量必須先定義后使用變量必須先定義后使用, ,定義時要說明定

2、義時要說明: :數(shù)據(jù)類型和數(shù)據(jù)類型和名稱名稱例如:例如: int num;int num; char ch1, ch2; char ch1, ch2; double length; double length; 名稱一般用小寫字母名稱一般用小寫字母, ,符合標識規(guī)定,不能與關(guān)符合標識規(guī)定,不能與關(guān)鍵字同名。鍵字同名。2.3.3 2.3.3 變量類型變量類型輸出結(jié)果為a=12345.678711,b=12345.6789123456780結(jié)果:有效位與編程環(huán)境有關(guān),用VC6運行有效位測試為float有8位,double類型為17位字符型變量:用字符型變量:用charchar關(guān)鍵字定義的變量,如:

3、關(guān)鍵字定義的變量,如:char c;char c;它在內(nèi)存中占一個字節(jié)。它在內(nèi)存中占一個字節(jié)。字符在內(nèi)存中的存儲形式字符在內(nèi)存中的存儲形式 :計算機在進行字符的存貯:計算機在進行字符的存貯時,并不是存放的這個字符本身,而是以一個字節(jié)的時,并不是存放的這個字符本身,而是以一個字節(jié)的空間來存放這個字符的空間來存放這個字符的ASCIIASCII編碼。這就是說,編碼。這就是說,。因此,在。因此,在C C語言中,對語言中,對字符可以進行加、減等算術(shù)運算。字符可以進行加、減等算術(shù)運算。char c1,c2;char c1,c2;可以用下面的語句對可以用下面的語句對c1c1、c2c2賦值:賦值:c1 = a

4、c1 = a;c2 = bc2 = b; printf(“%c,%c,%d,%d”,c1,printf(“%c,%c,%d,%d”,c1,c2,c1,c2);c2,c1,c2);a,97d,100算術(shù)運算符算術(shù)運算符2.4.2 2.4.2 賦值運算賦值運算表示形式表示形式: : = ; ;表達式是指由各種運算符把常量、變量、函數(shù)等運算對表達式是指由各種運算符把常量、變量、函數(shù)等運算對象連接起來的具有實際意義并符合象連接起來的具有實際意義并符合C C 語法規(guī)則的式子。語法規(guī)則的式子。 例如:例如:x=5x=5* *2+82+8;x=18x=18;v=volume(xv=volume(x,y y,

5、z z); ;賦值表達式可以嵌套賦值表達式可以嵌套x=(y=(z=100); x=(y=(z=100); 相當于相當于 x=100; y=100; z=100;x=100; y=100; z=100;自動將右邊表達式的數(shù)據(jù)類型轉(zhuǎn)換成左邊變量的類型自動將右邊表達式的數(shù)據(jù)類型轉(zhuǎn)換成左邊變量的類型a=2等效于x=x*(10+2)表達式值表達式值0f=01C中沒有邏輯值中沒有邏輯值。系統(tǒng)。系統(tǒng)在進行邏輯運算時在進行邏輯運算時,對對“0”處理為假處理為假,而而“非非0”即為即為“真真”,即所有的非即所有的非零數(shù)值都作為真處理。零數(shù)值都作為真處理。n=6m=0, n=0短路法則短路法則&:見:見0

6、得得0|:見:見1得得1右移包括邏輯右移和算右移包括邏輯右移和算術(shù)右移兩種,邏輯右移術(shù)右移兩種,邏輯右移正負數(shù)一律補正負數(shù)一律補0,算術(shù)右,算術(shù)右移時正數(shù)一律補移時正數(shù)一律補0,負數(shù),負數(shù)補補1,具體哪種右移與計,具體哪種右移與計算機系統(tǒng)相關(guān)算機系統(tǒng)相關(guān)2.5.1 2.5.1 自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換 1. 不同類型數(shù)據(jù)進行混合運算時,數(shù)據(jù)會自動轉(zhuǎn)換為同一類型數(shù)據(jù)。規(guī)則:“較低級”“較高級” (按存儲長度)charshortunsigned shortintunsigned intlong intfloatdouble C中類型轉(zhuǎn)換方向如下圖所示: 表達式有多種運算符混合使用時表達式有多種運算

7、符混合使用時, ,求解表達式的值,首先求解表達式的值,首先要解決各種運算符的運算優(yōu)先次序問題。即,優(yōu)先級和結(jié)合要解決各種運算符的運算優(yōu)先次序問題。即,優(yōu)先級和結(jié)合性。性。例如:下面表達式的值取決于例如:下面表達式的值取決于5 5種運算符的優(yōu)先次序種運算符的優(yōu)先次序. . i+1=j|k3!=x i+1=j|k3!=x 優(yōu)先級是指不同級別運算符之間的運算次序優(yōu)先級是指不同級別運算符之間的運算次序, ,先高后低,優(yōu)先高后低,優(yōu)先級共有先級共有1515級級, ,分級的原則是分級的原則是: : 1. 1.單目運算符的優(yōu)先級高于雙目運算符單目運算符的優(yōu)先級高于雙目運算符, ,雙目運算符優(yōu)先級雙目運算符優(yōu)

8、先級高于三目運算符。高于三目運算符。(a/b)*c)%d(a+(!b)+(c-)(i)=k)&(i(j-1)a=(b=(c=5)!(!a)2.7.2 2.7.2 字符輸出函數(shù)字符輸出函數(shù)putcharputchar 功能功能: :將將一個字符一個字符輸出在顯示屏上輸出在顯示屏上, ,顯示參數(shù)可以是字符顯示參數(shù)可以是字符變量、字符常量、字符變量、字符常量、字符ASCIIASCII碼。碼。 putchar(A);putchar(A);顯示大寫字母顯示大寫字母A A putchar(97); putchar(97); 顯示小寫字母顯示小寫字母a a 如果如果: c=!;: c=!; putc

9、har(c) ; putchar(c) ; 顯示字符顯示字符! ! 輸入輸出函數(shù)被包含在庫函數(shù)輸入輸出函數(shù)被包含在庫函數(shù)“stdio.h”stdio.h”中中, ,使用使用這些函數(shù)時這些函數(shù)時, ,要使用預處理命令。要使用預處理命令。 #include ”stdio.h” #include ”stdio.h” 但但 printf printf 和和 scanf scanf 可缺可缺省省例例3.4#include “stdio.h”void main( ) char a,b,c; a=A; b=B; c=007; putchar(a); putchar(b); putchar(n); putch

10、ar(c) ; sleep(5); putchar(c) ; putchar(A); putchar(B); putchar(n); putchar(007); sleep(3); putchar(007);輸出輸出: AB /*響鈴一次響鈴一次,隔隔5秒后再響鈴一次秒后再響鈴一次 AB /*響鈴一次響鈴一次,隔隔3秒后再響鈴一次秒后再響鈴一次 1 1、功能:從鍵盤輸入數(shù)據(jù),按指定的輸入格式把數(shù)據(jù)賦、功能:從鍵盤輸入數(shù)據(jù),按指定的輸入格式把數(shù)據(jù)賦給相應的輸入項。給相應的輸入項。 格式格式: scanf(”: scanf(”控制字符串控制字符串“, ,輸入項列表輸入項列表);); 注意注意: :

11、接收數(shù)據(jù)的變量必須用其地址表示接收數(shù)據(jù)的變量必須用其地址表示, , 控制字符串與輸入的表示方法相似,注意不同點??刂谱址c輸入的表示方法相似,注意不同點。int i, j;int i, j;char c;char c;scanf(%d%d, &i, &j);scanf(%d%d, &i, &j); / /* * 2 3 or 23 or 23 2 3 or 23 or 23 * */ /scanf(i=%d, j=%d, &i, &j);scanf(i=%d, j=%d, &i, &j); / /* * i=2, i=2, j=3 or i=2,j=3 or i=2,j=3 j=3 * */ /scanf(%d%c%d, &i, &c, &j);scanf(%d%c%d, &i, &c, &j); / /* * 2 a 3 = i=2, c= 2 a 3 = i=2, c= , j, j出錯出錯 * */ / / /* * 2a 3 = i=2, c=a, j=3 2a 3 = i=2, c=a, j=3 * */ / 變量須先定義后使用,定義一個變

溫馨提示

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

評論

0/150

提交評論