




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第3章,數(shù)據(jù)類型基礎(chǔ),了解常量與變量的含義。 掌握基本數(shù)據(jù)類型的特點(diǎn)。 掌握基本輸入輸出函數(shù) 掌握運(yùn)算符與表達(dá)式,常量、變量和標(biāo)識符 基本數(shù)據(jù)類型 (整型、實(shí)型、字符型) 數(shù)據(jù)的輸入、輸出 運(yùn)算符與表達(dá)式,講課提綱,程序要對數(shù)據(jù)進(jìn)行操作處理: 處理的對象是數(shù)據(jù)(其在程序中要有合法的表現(xiàn)形式) 而數(shù)據(jù)又通過運(yùn)算符和表達(dá)式進(jìn)行操作,例:計(jì)算半徑為 5 cm的圓的面積。程序如下,main( ) float r, area ; r=5 ; area=3.14*r*r; printf (%fn , area) ;,輸出:78.500000,程序中用到的數(shù)據(jù):r、area、5、3.14 對數(shù)據(jù)進(jìn)行的運(yùn)算:
2、* 、,分析,計(jì)算機(jī)操作處理時(shí),要完成以下工作: 在內(nèi)存中給半徑 r 和運(yùn)算結(jié)果 area 開辟存儲空間,存放它們的值。應(yīng)該留多大的地方來存放它們的值? 數(shù)據(jù) 5 和 3.14 與 r 、area 不同,編程時(shí)給出確定值且運(yùn)算過程中不改變。這樣的數(shù)計(jì)算機(jī)怎么處理? 對整數(shù) 5 和小數(shù)3.14 ,計(jì)算機(jī)存放時(shí)是否有區(qū)別,涉及數(shù)據(jù)類型 的基本知識,數(shù)據(jù)類型決定: 1. 數(shù)據(jù)占內(nèi)存字節(jié)數(shù) 2. 數(shù)據(jù)取值范圍 3. 其上可進(jìn)行的操作,數(shù)據(jù)往往都是以某種特定形式存在的, C語言提供的數(shù)據(jù)類型如下,返回,3.2.1 常量,整型常量:10、28; 實(shí)型常量:3.14; 字符常量:a、A,程序運(yùn)行過程中,值不
3、發(fā)生改變的量稱為常量 。 直接常量 直接常量(即常數(shù)):10、3.14等都是直接常量 。 常量分為,常量可以直接用于輸入或賦給其他變量,整型常量 三種形式: 十進(jìn)制整數(shù):由數(shù)字09和正負(fù)號表示.如 32、-8、0等 八進(jìn)制整數(shù):由數(shù)字0開頭(注意:不是字母o) ,后跟數(shù)字07表示.如 012、011、016 十六進(jìn)制整數(shù):由0 x(或0X)開頭,后跟09,af,AF表 示.如 0 x123,0Xff,注意:八進(jìn)制數(shù)、十六進(jìn)制數(shù)的合法數(shù)字表示,十六進(jìn)制數(shù)中字母大、小寫等同,0 xaa等同于0 xAA,3.2.1 常量,include main() int a,b,c; a=100; b=0100
4、; c=0 x100; printf(a=%d,b=%d,c=%dn,a,b,c);,輸出結(jié)果是: a=100,b=64,c=256,舉例,3.2.1 常量,2.實(shí)型常量(浮點(diǎn)數(shù)) 即帶小數(shù)點(diǎn)的實(shí)數(shù)。 表示形式: 十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn)) 如0.1234、.1234、1234.、0.0 指數(shù)形式: 由尾數(shù)、字母e或E、指數(shù)三部分組成。 如3.85e4 或 3.85E4 均表示 3.85104,(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù),例:判斷下列指數(shù)形式的合法性 13E6 3.5e4.5 .e3 1.23456e2 e,規(guī)范化的指數(shù)形式: 在字母e(或E)之前的尾數(shù)中,小數(shù)點(diǎn)左邊應(yīng)有一位(
5、且只能有一位)非零的數(shù)字。例如: 3.478e2,3.2.1 常量,3.字符常量,字符常量區(qū)分大小寫,如 a、I、A、n,如 a、A是兩個(gè)不同的字符常量,字符常量的值:該字符的ASCII碼值,如 a在內(nèi)存的字節(jié)中存放的ASCII值是97,特殊的字符常量 :以一個(gè)“”開頭的字符序列。 (轉(zhuǎn)義字符,定義:用單引號括起來的單個(gè)普通字符或轉(zhuǎn)義字符,3.2.1 常量,轉(zhuǎn)義字符”:即 將反斜杠()后面的字符轉(zhuǎn)換成另外的意義。 如:n 中 的 “n” 不代表字母 n 而作為 “換行” 符。 (仍代表一個(gè)字符,以“”開頭的特殊字符,3.2.1 常量,main() printf(%c,%cn,a,A); pri
6、ntf(%d,%dn,a,A); printf(%c,%cn,a-32,A+1);,程序輸出結(jié)果是: a,A 97,65 A,B,由于字符常量存放的是ASCII碼值,所以字符常量可以同數(shù)值常量一樣參加算術(shù)運(yùn)算,字符常量與字符串常量不同,4.字符串常量 定義:用雙引號(“”)括起來的若干字符,簡稱:字符串 如”STRING” 存儲:每個(gè)字符串尾自動(dòng)加一個(gè) 0 作為字符串結(jié)束標(biāo)志,3.2.1 常量,main() printf(Computer); printf(nI am a boy!n); printf(%sn,STRING);,程序輸出結(jié)果是: Computer I am a boy! STR
7、ING,雙引號、單引號是字符常量和字符串常量的標(biāo)記,字符串和字符常量是兩個(gè)不同的概念,3.2.1 常量,define PI 3.14 main() float r,circle,area; r=2.4; circle=2*PI*r; area=PI*r*r; printf(circle=%f,area=%fn,circle,area);,程序的運(yùn)行結(jié)果是: circle=15.072001,rea=18.086401,程序中用#define命令行定義PI代表常量3.14, 此后凡在本文件中出現(xiàn)的PI都代表3.14, 可以和常量一樣進(jìn)行運(yùn)算,符號常量 C語言中特殊常量符號常量即給常量起一個(gè)名,返
8、回,3.2.1 常量,用來標(biāo)識變量名、符號常量名、函數(shù)名、數(shù)組名、類型名、文件名的有效字符序列稱為標(biāo)識符。 規(guī)定標(biāo)識符只能由字母、數(shù)字和下劃線三種字符組成,并且第一個(gè)字符必須為字母或下劃線,例:判斷下列標(biāo)識符號合法性 area、sum、 a r=2.4; printf(c=%f,area=%fn,c,area,r、c和area就是變量名 ,命名規(guī)則應(yīng)遵守標(biāo)識符命名規(guī)則,2. 變量的定義 程序運(yùn)行過程中,值可改變的量稱為變量。每一個(gè)變量都應(yīng)該有一個(gè)名字作為標(biāo)識,變量定義的一般格式: 數(shù)據(jù)類型 變量1,變量2,變量n,C語言所允許的任何數(shù)據(jù)類型,包括基本數(shù)據(jù)類型及構(gòu)造數(shù)據(jù)類型 等,合法標(biāo)識符,例:
9、 int i; float data,變量必須遵從“先定義,后使用”的原則,3.2.2 變 量,3.變量的賦值與初始化 賦值格式:變量名表達(dá)式 例:a=10; 可在定義變量時(shí)給變量賦初值,稱為變量初始化。 格式:類型符 變量1=值1, 變量2=值2; 例:int a=1;b=3;c=100,3.2.2 變 量,1.整型數(shù)據(jù)在內(nèi)存中的存放形式: 數(shù)據(jù)在內(nèi)存中是以二進(jìn)制形式存放的,一個(gè)int整數(shù)VC環(huán)境下通常用4個(gè)字節(jié)存放:其中最高位用來存放整數(shù)的符號, 0表示正整數(shù), 1表示負(fù)整數(shù) 實(shí)際上,一個(gè)有符號整數(shù)在內(nèi)存中,是以補(bǔ)碼形式存放的。 若說明為無符號整數(shù),其中最高位不再用來存放整數(shù)的符號,二進(jìn)制
10、位全部用來存放整數(shù)數(shù)值,因此無符號整數(shù)不可能是負(fù)數(shù),3.3.1 整型數(shù)據(jù),數(shù)值的表示方法原碼、反碼和補(bǔ)碼 原碼:最高位為符號位,其余各位為數(shù)值本身的絕對值 反碼: 正數(shù):反碼與原碼相同 負(fù)數(shù):符號位為1,其余位對原碼取反 補(bǔ)碼: 正數(shù):原碼、反碼、補(bǔ)碼相同 負(fù)數(shù):最高位為1,其余位為原碼取反,再對整個(gè)數(shù)加1,負(fù)數(shù)補(bǔ)碼轉(zhuǎn)換成十進(jìn)制數(shù):最高位不動(dòng),其余位取反末位加1,例 補(bǔ)碼:11111001 取反:10000110 末位加1:110000111=-7,2. 分類 : 歸納起來,可以用以下6種整型變量。即: 有符號基本整型 signed int 有符號短整型 signed short int 有符
11、號長整型 signed long int 無符號基本整型 unsigned int 無符號短整型 unsigned short int 無符號長整型 unsigned long int,3.3.1整型數(shù)據(jù),1. 實(shí)型數(shù)據(jù)在內(nèi)存中的存放形式 一個(gè)實(shí)型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)(32位)。 2. 實(shí)型變量的分類(注意其有效位) C實(shí)型變量分為單精度(float型)、雙精度(double型)和長雙精度型(long double)三類。 實(shí)型變量也應(yīng)在使用前加以定義。如: floatx,y; (指定x、y為單精度實(shí)數(shù)) double z; (指定z為雙精度實(shí)數(shù),3.3.2 實(shí)型數(shù)據(jù),程序輸出結(jié)果是: s=
12、78.500000,3.3.2 實(shí)型數(shù)據(jù),main( ) float r, area ; r=10 ; area=3.14*r*r; printf (“s=%fn , area) ;,1. 字符變量的定義 : 一個(gè)字符變量在內(nèi)存中占一個(gè)字節(jié) charc1,c2; c1=a;c2=b;/*對c1、c2賦值 */ 2. 字符數(shù)據(jù)在內(nèi)存中的存放及其使用方法 : 存放的是該字符相應(yīng)的ASCII碼。 例如: 字符a 的ASCII碼為97,b為98,3.3.3 字符型數(shù)據(jù),include main( ) char ch1,ch2; ch1=a; ch2=ch1-32; printf (ch1=%c , c
13、h2=%c n, ch1,ch2) ; printf (ch1=%d , ch2=%d n, ch1,ch2) ;,程序輸出結(jié)果是: a,A 97,65,由于字符數(shù)據(jù)存放的是ASCII碼值,所以字符數(shù)據(jù)可以同數(shù)值數(shù)據(jù)一樣參加算術(shù)運(yùn)算,3.3.3 字符型數(shù)據(jù),字符輸出函數(shù)putchar() 作用:向終端輸出一個(gè)字符。 基本格式:putchar(ch) 用法說明: 參數(shù)ch可以是除字符串常量之外的字符、整型、實(shí)型常量、變量或各種表達(dá)式 在程序中使用putchar()函數(shù)時(shí),該程序的開頭必須用一條預(yù)編譯命令“#include ”。 putchar()函數(shù)可以輸出控制字符,如: putchar(n,3
14、.4.1 putchar函數(shù),例 在putchar函數(shù)中使用不同參數(shù)輸出字符A。 #include stdio.h main() char ch=A; int i=65; putchar(ch); /*輸出字符變量所代表的字符,*/ putchar(i); /*輸出以整型變量i的值為ASC碼的字符,*/ putchar(A); /*直接輸出字符常量A,*/ putchar(65); /*輸出以十進(jìn)制整型常量65為ASC碼的字符,*/ putchar(n); /*輸出一個(gè)換行符*/,程序運(yùn)行結(jié)果: AAAA,字符輸入函數(shù)getchar() 作用:接收從終端(一般指鍵盤)輸入的一個(gè)字符。 基本格式
15、: getchar() 沒有參數(shù),3.4.2 getchar函數(shù),例 輸入單個(gè)字符 #include stdio.h main() char ch; ch=getchar(); /*從鍵盤上接收一個(gè)字符*/ putchar(ch); /*在屏幕上輸出該字符*/,例 輸入輸出字符練習(xí)。 #include main( ) char ch1,ch2,ch3; ch1=getchar( ); ch2=getchar( ); ch3=getchar( ); putchar(ch1); putchar(ch2); putchar(ch3);,ABCDEFG ABC,A BC A B,返回,格式:print
16、f(“格式控制串”,輸出項(xiàng)表) 功能:按指定格式向顯示器輸出數(shù)據(jù) 返值:正常,返回輸出字節(jié)數(shù);出錯(cuò),返回EOF(-1,3. 4. 3 printf 函數(shù),輸出表項(xiàng):要輸出的數(shù)據(jù)(可以沒有,多個(gè)時(shí)以“,”分隔) 格式控制串:包含兩種信息 格式說明: %修飾符格式字符 用于指定輸出格式 普通字符或轉(zhuǎn)義序列:原樣輸出 格式字符,說明 格式字符要用小寫(除O、X可用大寫外) 格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對應(yīng),例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b); 輸出結(jié)果: 3 4 a=3, b=4,例 main(
17、) unsigned int u=65535; printf(”u=%dn,u); 輸出結(jié)果:u=-1,附加格式說明符(修飾符,返回,3. 4. 4 scanf函數(shù),格式: scanf(“格式控制串”,地址表) 功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的 存儲單元中,并按回車鍵結(jié)束 返值:正常,返回輸入數(shù)據(jù)個(gè)數(shù),地址表:變量的地址,常用取地址運(yùn)算符 char ch; scanf(“%d”, 執(zhí)行:123 輸出:x=123,ch=10,例 int x; char ch; scanf(“%d”, 執(zhí)行:123 輸出:x=123,ch=10,例 int x; char ch; scanf(“%
18、d,返回,35 運(yùn)算符與表達(dá)式,一、運(yùn)算符和表達(dá)式簡介 表達(dá)式由運(yùn)算符(例如:+ * )、運(yùn)算對象(也稱操作數(shù),可以是常量、變量等等)和括號組成。表達(dá)式運(yùn)算所得到的結(jié)果值便是表達(dá)式的值,例如: a+b xy,C語言的運(yùn)算符豐富,幾乎大部分操作都由運(yùn)算符來完成。歸納起來,C的運(yùn)算符有以下幾類,35 運(yùn)算符與表達(dá)式,運(yùn)算符種類,二元運(yùn)算符(或雙目運(yùn)算符):運(yùn)算符需要兩個(gè)操作數(shù)使用形式為: 操作數(shù)1 運(yùn)算符 操作數(shù)2 一元運(yùn)算符(或單目運(yùn)算符):運(yùn)算符需要一個(gè)操作數(shù) 優(yōu)先級:決定表達(dá)式的運(yùn)算順序。 結(jié)合性:是指當(dāng)一個(gè)操作數(shù)左右兩邊的運(yùn)算符優(yōu)先級相同時(shí),按什么樣的順序進(jìn)行運(yùn)算。包含自左向右,自右向左兩
19、種順序,35 運(yùn)算符與表達(dá)式,二、算術(shù)運(yùn)算符與算術(shù)表達(dá)式,基本算術(shù)運(yùn)算符和表達(dá)式 基本算術(shù)運(yùn)算符:+ - (正負(fù)) * / % + -(加減) 結(jié)合方向:從左向右 優(yōu)先級: + - -* / % - + (2) (3) (4) 說明: “-”可為單目運(yùn)算符時(shí),右結(jié)合性 兩整數(shù)相除,結(jié)果為整數(shù);一側(cè)為實(shí)型結(jié)果為實(shí)型 %要求兩側(cè)均為整型數(shù)據(jù),35 運(yùn)算符與表達(dá)式,自增、自減運(yùn)算符 + - 作用:使變量值加1或減1 種類: 前置 +i, -i (先執(zhí)行i+1或i-1,再使用i值) 后置 i+,i- (先使用i值,再執(zhí)行i+1或i-1) 說明: + - - 不能用于常量和表達(dá)式,如5+,(a+b)+
20、+ - - 結(jié)合方向: 自右向左 優(yōu)先級:- + - - -* / % -+ - (2) (3) (4,例 -i+ -(i+) i=3; printf(“%d”,-i+); /-3,例 j=3; k=+j; j=3; k=j+; j=3; printf(“%d”,+j); j=3; printf(“%d”,j+); a=3;b=5;c=(+a)*b; a=3;b=5;c=(a+)*b,無論是作為前綴還是作為后綴運(yùn)算符,對于變量本身來說自增1或自減1都具有相同的效果,但作為表達(dá)式來說卻有著不同的值,35 運(yùn)算符與表達(dá)式,復(fù)合賦值運(yùn)算符 種類:+= -= *= /= %= = = i=2.56; /結(jié)果i=2,賦值轉(zhuǎn)換規(guī)則:使賦值號右邊表達(dá)式值自動(dòng)轉(zhuǎn)換成其左邊變量的類型,35 運(yùn)算符與表達(dá)式,假設(shè)已有整型變量a,其值為3,試計(jì)算表達(dá)式: a+=
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年如何增強(qiáng)系統(tǒng)架構(gòu)設(shè)計(jì)師在團(tuán)隊(duì)中的引導(dǎo)與影響力試題及答案
- 暫緩就業(yè)協(xié)議書過期
- 食堂委托承包協(xié)議書
- 綠化盆景采購協(xié)議書
- 收購超市股權(quán)協(xié)議書
- 雙人股權(quán)協(xié)議書范本
- 買房預(yù)定協(xié)議書范本
- 社會救助協(xié)議書范本
- 暖氣更換技術(shù)協(xié)議書
- 判決離婚撫養(yǎng)協(xié)議書
- 基于PLC的自動(dòng)生產(chǎn)線控制系統(tǒng)的設(shè)計(jì)畢業(yè)論文
- 綜合性的空間組合課件
- 2025年山東能源集團(tuán)高校畢業(yè)生校園招聘筆試參考題庫附帶答案詳解
- 2025年湖北咸寧通城城市發(fā)展建設(shè)投資集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 2025年不停電電源(UPS)項(xiàng)目立項(xiàng)申請報(bào)告模板
- 激光清洗機(jī)項(xiàng)目可行性研究報(bào)告申請備案
- 17J008擋土墻(重力式、衡重式、懸臂式)圖示圖集
- 《消防應(yīng)急疏散培訓(xùn)》課件
- DB52T 1458-2019 貴州省森林人家建設(shè)標(biāo)準(zhǔn)
- 第47屆世界技能大賽制造團(tuán)隊(duì)挑戰(zhàn)賽項(xiàng)目江蘇省選拔賽樣題(綜合制造專業(yè)方向)
- 江蘇省蘇州市(2024年-2025年小學(xué)四年級語文)人教版期中考試((上下)學(xué)期)試卷及答案
評論
0/150
提交評論