




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第2章基本數(shù)據(jù)類型與運算符
返回總目錄目錄1數(shù)據(jù)類型和取值范圍2運算符與表達式3類型轉(zhuǎn)換
返回總目錄●基本要求:
1)熟悉C語言的常用數(shù)據(jù)類型;
2)熟悉C語言的常用運算符、表達式;●學(xué)習(xí)重點:
1)C語言運算符的使用;
2)C的數(shù)據(jù)類型;
3)常量的表示,變量的定義與使用。
1.1
標(biāo)識符
●標(biāo)識符定義:用來標(biāo)識變量、常量、函數(shù)等的字符序列組成:只能由字母、數(shù)字、下劃線組成,且第一個字母必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字命名原則:見名知意不宜混淆如l與I,o與01基本數(shù)據(jù)類型和取值范圍●標(biāo)識符例:判斷下列標(biāo)識符號合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123M.D.John3days#33char$123a>b1基本數(shù)據(jù)類型和取值范圍1.1
標(biāo)識符
1.1
標(biāo)識符
●標(biāo)識符分類:關(guān)鍵字:又稱系統(tǒng)的保留字,C語言已經(jīng)預(yù)定義了一批標(biāo)識符,他們在程序中代表著固定的含義,不能做他用。如:main、double、int等。更多見附錄1預(yù)定義標(biāo)識符:C語言中預(yù)先定義的并具有特定含義的標(biāo)識符,如函數(shù)庫的函數(shù)名字、預(yù)處理命令(如define)等。用戶標(biāo)識符:自己根據(jù)需求定義的標(biāo)識符。1基本數(shù)據(jù)類型和取值范圍●數(shù)據(jù)類型描述定義:計算機處理的對象是數(shù)據(jù),而數(shù)據(jù)是以某種特定的形式存在的。不同的數(shù)據(jù)之間往往還存在著某些聯(lián)系。不同形式的數(shù)據(jù)決定了數(shù)據(jù)在內(nèi)存中的存儲空間大小及數(shù)據(jù)的取值范圍。C語言的數(shù)據(jù)類型主要有:1基本數(shù)據(jù)類型和取值范圍1.2
基本數(shù)據(jù)類型和取值范圍
1基本數(shù)據(jù)類型和取值范圍1.2
基本數(shù)據(jù)類型和取值范圍
C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void自定義typedef數(shù)值類型字符類型char枚舉類型enum整型浮點型單精度型float雙精度型double短整型short長整型long整型int數(shù)組結(jié)構(gòu)體struct共用體union數(shù)據(jù)類型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.數(shù)據(jù)取值范圍3.其上可進行的操作●數(shù)據(jù)類型總表
返回目錄●基本類型及范圍
(VisualC++6.0環(huán)境下)1基本數(shù)據(jù)類型和取值范圍1.2
基本數(shù)據(jù)類型和取值范圍
1.3
常量與變量
C語言中基本數(shù)據(jù)類型都有常量和變量之分。C程序中對用到的所有數(shù)據(jù)都要指定數(shù)據(jù)類型。1基本數(shù)據(jù)類型和取值范圍●常量定義:程序運行時其值不能改變的量(即常數(shù))分類:符號常量:用標(biāo)識符代表常量定義格式:#define
符號常量常量如#definePRICE30例符號常量舉例#definePRICE30main(){
intnum,total;num=10;total=num*PRICE;
printf("total=%d",total);}一般用大寫字母是宏定義預(yù)處理命令,不是C語句直接常量:整型常量實型常量字符常量字符串常量1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●常量---整型常量(整常數(shù))三種形式:十進制整數(shù):由數(shù)字0~9和正負號表示.如123,-456,0八進制整數(shù):由數(shù)字0開頭,后跟數(shù)字0~7表示.如0123,011十六進制整數(shù):由0x開頭,后跟0~9,a~f,A~F表示.如0x123,0Xff示例:0571=(377)100x179=(377)100X179=(377)101基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●常量---整型常量(整常數(shù))兩種長度:整型常量按長度劃分為兩種:短整型和長整型(后綴為小寫字母l或大寫字母L),從長度來看:TurboC中默認為短整型,如-377是一個短整型數(shù),而-377l或-377L表示-377是長整型數(shù)。而在VisualC++6.0中默認為長整型,如-377、-377l或-377L均表示-377是長整型數(shù)。
例:語句:printf(“%d,%d”,sizeof(-377),sizeof(-377L));
在TurboC中的運行結(jié)果為:2,4
而在VC中的結(jié)果為:4,4小結(jié):從數(shù)據(jù)類型角度來分析,整型常量默認為int類型,而加上后綴(l或L)后,就是longint類型。1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●常量---實型常量(實數(shù)或浮點數(shù))表示形式:十進制數(shù)形式:(必須有小數(shù)點)如0.123,.123,123.0,0.0,123.指數(shù)形式:(e或E之前必須有數(shù)字;指數(shù)必須為整數(shù))如12.3e3,123E2,1.23e4,e-5,1.2E-3.5
實型常量的類型默認double型在實型常量后加字母f或F,認為它是float型例:語句:printf(“%d,%d”,sizeof(0.123),sizeof(0.123F));
在TurboC和VC中的運行結(jié)果均為:8,41基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●常量---字符常量定義:用單引號括起來的單個普通字符或轉(zhuǎn)義字符.
字符常量的值:該字符的ASCII碼值如‘a(chǎn)’‘A’‘?’‘\n’‘\101’轉(zhuǎn)義字符:反斜線后面跟一個字符或一個代碼值表示如‘A’——65,‘a(chǎn)’——97,‘0’——48,‘\n’——101基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●常量---字符常量<轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義\n\v\r\a\‘\ooo\t\b\f\\\“\xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號3位8進制數(shù)ooo代表的字符水平制表退格換頁反斜線雙引號2位16進制數(shù)hh代表的字符1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●常量---字符常量如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65轉(zhuǎn)義字符示例:1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●常量---字符常量例轉(zhuǎn)義字符舉例
main(){printf("\101\x42C\n");
printf("Isay:\"Howareyou?\"\n");
printf("\\CProgram\\\n");
printf("Turbo\'C\'");}運行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’例main(){printf(“Y\b=\n”);}運行結(jié)果:屏幕顯示:=打印機輸出:¥1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●常量---字符串常量定義:用雙引號(“”)括起來的字符序列存儲:每個字符串尾自動加一個‘\0’作為字符串結(jié)束標(biāo)志hello\0例字符串“hello”在內(nèi)存中例空串“”\0字符常量與字符串常量不同aa\0例‘a(chǎn)’“a”例:charch;
ch=“A”;例:charch;
ch=‘A’;1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●變量概念:其值可以改變的量變量三要素:變量類型、變量名與變量值變量定義的一般格式:
數(shù)據(jù)類型變量1[,變量2,…,變量n];例:
inta,b,c;floatdata;決定分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識符1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●變量編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元…...地址shorta=1,b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址…...內(nèi)存1-3隨機數(shù)例:
inta=2,b,c=4;floatdata=3.67;charch=‘A’;
intx=1,y=1,z=1;
intx=y=z=1;變量初始化:定義時賦初值1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●變量例1
intstudent;
stadent=19;//本行語句有錯,符號“stadent”
未定義
例2
int
a,b,c;c=a%b;
//本行語句有錯,a、b沒有具體的值就參與運算
變量的使用:先定義,后使用1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●變量main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;
printf(“data=%f\n”,data);}變量定義可執(zhí)行語句main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;
printf(“data=%f\n”,data);}變量定義位置:一般放在函數(shù)開頭1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●變量整型變量占字節(jié)數(shù)隨機器不同而不同,主要類型說明符:short、int、long可用sizeof(類型標(biāo)識符)測量#include"stdio.h"main(){
printf("intlength=%d",sizeof(int));}VC運行結(jié)果:intlength=41基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●變量實型變量主要類型說明符:float、double、longdoublefloat:占4字節(jié),提供6~7位有效數(shù)字(跟C編譯系統(tǒng)有關(guān),將實型數(shù)據(jù)按指數(shù)形式存儲時,一般若以24位二進制位表示小數(shù)部分(含符號),則對應(yīng)的十進制有效數(shù)字為7位)double類型說明符:占8字節(jié),提供15~16位有效數(shù)字#include<stdio.h>main(){doublea=1.234567890123456789e18;floatb=a;
printf("a=%.20le\n",a);
printf("b=%.20le\n",b);}程序輸出結(jié)果為:a=1.23456789012345680000e18b=1.23456793955060940000e181基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●變量字符型變量字符變量存放字符ASCII碼類型說明符:charchar:占1個字節(jié)char與int數(shù)據(jù)間可進行算術(shù)運算例a=‘D’;/*a=68;*/x=‘A’+5;/*x=65+5;*/s=‘!’+‘G’/*s=33+71;*/沒有字符串變量,字符串用字符數(shù)組存放1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
●變量變量綜合示例:
#definePRICE12.5main(){intnum=3;floattotal;charch1,ch2=‘D’;total=num*PRICE;ch1=ch2-‘A’+‘a(chǎn)’;
printf(“total=%f,ch1=%c\n”,total,ch1);}運行結(jié)果:total=37.500000,ch1=d宏定義變量定義輸出結(jié)果1基本數(shù)據(jù)類型和取值范圍1.3
常量與變量
2運算符與表達式2.1
C中提供的主要運算符
C運算符算術(shù)運算符:(+-*/%++--)關(guān)系運算符:(<<===>>=!=)邏輯運算符:((!&&||)位運算符:(<<>>~|^&)賦值運算符:(=及其擴展)條件運算符:(?:)逗號運算符:(,)指針運算符:(*&)求字節(jié)數(shù):(sizeof)強制類型轉(zhuǎn)換:(類型)分量運算符:(.->)下標(biāo)運算符:([])其它:(()-)●運算符
返回目錄2.2算術(shù)運算與算法表達式
結(jié)合方向:從左向右優(yōu)先級:----->*/%----->+-
(2)(3)(4) 說明:“-”可為單目運算符時,右結(jié)合性兩整數(shù)相除,結(jié)果為整數(shù)%要求兩側(cè)均為整型數(shù)據(jù)例5/2=2
-5/2.0=-2.5例5%2=1
-5%2=-11%10=
1
5%1=
05.5%2()●基本算術(shù)運算符:+-*/%2運算符與表達式●自增、自減運算符++--作用:使變量值加1或減1種類:前置++i,--i(先執(zhí)行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執(zhí)行i+1或i-1)例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;//k=4,j=4//k=3,j=4//4//3//c=20,a=4//c=15,a=4“先加后用”“先用后加”2.2算術(shù)運算與算法表達式
2運算符與表達式●自增、自減運算符++--說明:++--不能用于常量和表達式,如5++,(a+b)++++--結(jié)合方向:自右向左優(yōu)先級:-++-------->*/%----->+-
(2)(3)(4)例-i++-(i++)i=3;printf(“%d”,-i++);//-3
例-i++i=3;printf(“%d”,-i++);2.2算術(shù)運算與算法表達式
2運算符與表達式2.3
賦值運算與連續(xù)賦值
在C中,運算符“=”是賦值運算符。
簡單賦值運算的一般形式為:
變量=表達式其功能是將一個表達式的值賦給變量。如下表達式
a=b+c該式讀作將表達式b+c的值賦給a。其本意是改寫變量a的值,而不是判斷b+c與a是否相等,●賦值運算2運算符與表達式●連續(xù)賦值在C語言中,賦值運算符的級別較低,為14級,并滿足右結(jié)合規(guī)則。因此表達式:
x=y=z=1是連續(xù)賦值表達式,其功能相當(dāng)于如下表達式的功能
x=(y=(z=1))它是先執(zhí)行表達式z=1,即將1賦給z,表達式值也為1,然后將表達式值1賦給y,即執(zhí)行y=1,表達式值也仍為1,再將表達式值1賦給x,即執(zhí)行x=1。2.3
賦值運算與連續(xù)賦值
2運算符與表達式2.4
復(fù)合賦值運算
運算符舉例意義運算符舉例意義+=a+=ba=a+b&=a&=ba=a&b-=a-=ba=a-b^=a^=ba=a^b*=a*=ba=a*b|=a|=ba=a|b/=a/=ba=a/b>>=a>>=ba=a>>b%=a%=ba=a%b<<=a<<=ba=a<<b表2.7復(fù)合賦值運算符2運算符與表達式2.5
逗號運算
形式:表達式1,表達式2,……表達式n結(jié)合性:從左向右優(yōu)先級:15計算過程:從前往后,依次計算逗號表達式的值:等于表達式n的值例:#include<stdio.h>main(){intx,y=7;floatz=4;x=(y=y+6,y/z);
printf("x=%d\n",x);}X=3程序運行結(jié)果為:2運算符與表達式2.6
求字節(jié)數(shù)(sizeof)
1)sizeof計算類型占用字節(jié)數(shù)的形式為:
sizeof(類型)2)sizeof計算變量占用字節(jié)數(shù)的形式有兩種:
sizeof(變量)或sizeof
變量示例:
#include<stdio.h>main(){
inta=5;
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(a));
printf("%d\n",sizeofa);}222運行結(jié)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 大方天麻林下仿野生種植技術(shù)應(yīng)用的環(huán)境條件和詳細步驟分析
- 湖北省武漢市二中廣雅中學(xué)2024-2025學(xué)年九年級下學(xué)期3月月考化學(xué)試題(原卷版+解析版)
- 新未來大學(xué)英語 視聽說教程1(智慧版) 聽力腳本 Unit 1
- 建筑電氣系統(tǒng)修繕技術(shù)方案
- 2025年自動化X光檢查機項目合作計劃書
- 中西醫(yī)結(jié)合外科學(xué)知到課后答案智慧樹章節(jié)測試答案2025年春廣州中醫(yī)藥大學(xué)
- 2025年雙層客房車項目發(fā)展計劃
- 醫(yī)院外出進修、培訓(xùn)及參加學(xué)術(shù)會議的管理規(guī)定
- 江西省上饒市2023-2024學(xué)年高二下學(xué)期期末考試語文試題2
- 2017-2018學(xué)年人教課標(biāo)高一英語必修4試題Unit5Themeparks單元測試題2
- 2025年湖南理工職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫必考題
- 第十八屆“地球小博士”全國地理知識科普競賽題庫(附答案)
- 2024年10月高等教育自學(xué)考試07454傳感器技術(shù)應(yīng)用試題及答案
- 室內(nèi)采暖管道安裝施工工藝標(biāo)準(zhǔn)規(guī)范標(biāo)準(zhǔn)
- 小型手推清掃車畢業(yè)設(shè)計說明書課件
- 監(jiān)理大綱(范本)
- 受拉鋼筋抗震錨固長度Lae
- 2018年湖北省襄陽市中考物理試卷
- 《沉淀滴定法》PPT課件.ppt
- 波程差與光程差
- 常用測井曲線符號及單位(最規(guī)范版)
評論
0/150
提交評論