版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第二章第二章本章要點(diǎn)數(shù)據(jù)的存儲(chǔ)及數(shù)據(jù)類型數(shù)據(jù)的表示——常量和變量數(shù)據(jù)的運(yùn)算及其規(guī)則本章要點(diǎn)數(shù)據(jù)的存儲(chǔ)及數(shù)據(jù)類型2.1數(shù)據(jù)的存儲(chǔ)及數(shù)據(jù)類型以二進(jìn)制形式存儲(chǔ)計(jì)算機(jī)存儲(chǔ)器的存儲(chǔ)單元按字節(jié)編址C語言針對(duì)不同類型的數(shù)據(jù)采用不同的存儲(chǔ)方式——具體體現(xiàn)在不同的“數(shù)據(jù)類型”上2.1數(shù)據(jù)的存儲(chǔ)及數(shù)據(jù)類型以二進(jìn)制形式存儲(chǔ)C語言提供了以下一些數(shù)據(jù)類型:
數(shù)據(jù)類型構(gòu)造類型指針類型空類型(無值類型)void枚舉類型enum數(shù)組類型結(jié)構(gòu)體類型struct聯(lián)合體類型union基本類型整型int字符型char實(shí)型(浮點(diǎn)型)單精度實(shí)型float雙精度實(shí)型doubleC語言提供了以下一些數(shù)據(jù)類型:數(shù)據(jù)整數(shù)的存儲(chǔ)方式:
以十進(jìn)制補(bǔ)碼形式存儲(chǔ)。一般整數(shù)占用的空間:TurboC2.0:2個(gè)字節(jié)的存儲(chǔ)單元
TurboC++3.0:2個(gè)字節(jié)的存儲(chǔ)單元VC++6.0:4個(gè)字節(jié)根據(jù)占用空間和數(shù)值范圍的不同細(xì)分為幾種類型:
基本整型int無符號(hào)的基本整型unsignedint短整型shortint無符號(hào)的短整型unsignedshortint長整型longint無符號(hào)的長整型unsignedlongint
整數(shù)的存儲(chǔ)方式:類型聲明符字節(jié)數(shù)取值范圍int2-32768~32767即-215~(215-1)short[int]2-32768~32767即-215~(215-1)long[int]4-2147483648~2147483647
即-231~(231-1)unsigned[int]20~65535即0~(216-1)unsignedshort20~65535即0~(216-1)unsignedlong40~4294967295即0~(232-1)以TurboC++3.0為例:類型聲明符字節(jié)數(shù)取值范圍int2-32768~32767實(shí)數(shù)的存儲(chǔ)形式:實(shí)數(shù)采用指數(shù)形式存儲(chǔ),即浮點(diǎn)數(shù)。將實(shí)數(shù)轉(zhuǎn)化為標(biāo)準(zhǔn)化指數(shù)形式,分別存儲(chǔ)尾數(shù)部分和指數(shù)部分。
類型位數(shù)絕對(duì)值范圍有效數(shù)字float4字節(jié)10-38~10387Double8字節(jié)10-308~1030816longdouble16字節(jié)10-4932~10493219實(shí)數(shù)的存儲(chǔ)形式:類型位數(shù)單個(gè)字符的存儲(chǔ)方式:存儲(chǔ)字符的編碼;目前大多數(shù)計(jì)算機(jī)采用ASCII代碼;占用的空間:一個(gè)字節(jié)的存儲(chǔ)空間。例如:
字符’A’
為char類型,在內(nèi)存中占1字節(jié),存儲(chǔ)的是其ASCII碼值65。單個(gè)字符的存儲(chǔ)方式:2.2程序中數(shù)據(jù)是如何表示的?常量、變量常量:
程序運(yùn)行過程中,其值不能
被改變的量。常量也相應(yīng)地區(qū)分為不同的類型:#include<stdio.h>voidmain(){ inti,x,s,avg; i=0; s=0;
do{ scanf("%d",&x); s=s+x; i=i+1;
}while(i<10);avg=s/10; printf("avg=%d\n",avg);}整型125,-100,0,037,0x38
默認(rèn)為int,可以用后綴指
明類型:289L,32767L,
39u,39090u,65536Lu實(shí)型3.14,-3.7e9,.23e-3默認(rèn)double類型,9.6f為float型字符型‘a(chǎn)’,‘b’,‘2’字符串“a”,“ab”,“1234”八進(jìn)制十六進(jìn)制2.2程序中數(shù)據(jù)是如何表示的?常量、變量#include#include<stdio.h>voidmain(){inta;a=32767+1;/*int+int*/printf("a=%d",a);}運(yùn)行時(shí)顯示??-3276801111111
111111113276700000000
000000011-----------------------------------10000000
00000000-32768小心結(jié)果“溢出”!整型數(shù)據(jù)運(yùn)算中應(yīng)該注意的問題:請(qǐng)思考:longa;a=32767+1;a:-32768longa;a=32767L+1;a:3276800000000
00000000
01111111
1111111132767L00000000
00000000
00000000
000000011-----------------------------------------------------00000000
00000000
10000000
0000000032768#include<stdio.h>運(yùn)行時(shí)顯示??-32(1)字符本質(zhì)上是整數(shù),既可以當(dāng)作字符,也可以當(dāng)作整數(shù)使用;
printf(“%c,%d,%c,%c”,’a’,’a’,’a’-32,97-32);運(yùn)行時(shí)顯示??a,97,A,A字符型數(shù)據(jù)注意的問題:(2)有些特殊字符無法正常表示出來,需要使用轉(zhuǎn)義符“\”進(jìn)行轉(zhuǎn)義。
換行符(ASCII碼值為10)表示為‘\n’,即把字母n轉(zhuǎn)義為換行符。如:inta=10,b=20;
printf(“a=%d\nb=%d\n”,a,b);(1)字符本質(zhì)上是整數(shù),既可以當(dāng)作字符,也可以當(dāng)作整數(shù)使用;轉(zhuǎn)義字符表示含義ASCII碼\\反斜杠字符“\”92\’單引號(hào)字符39\”雙引號(hào)字符34\n換行,將當(dāng)前位置移到下一行開頭10\t水平制表,橫向跳到下一個(gè)輸出區(qū)9\r回車,將當(dāng)前位置移到本行開頭13\f打印換頁,將當(dāng)前位置移到下頁開頭12\b退格,將當(dāng)前位置移到前一列8\ddd1到3位八進(jìn)制數(shù)所代表的字符\xhh1到2位十六進(jìn)制數(shù)所代表的字符printf("a=%d\tb=\'%c\'\tTCP\\IP\n",26,'\101');轉(zhuǎn)義字符表示含義ASCII碼\\反斜杠字符“\”92\’單引變量:
指在程序的執(zhí)行過程中其值可以發(fā)生變化的量。#include<stdio.h>voidmain(){ inti,x,s,avg; i=0; s=0;
do{ scanf("%d",&x); s=s+x; i=i+1;
}while(i<10);avg=s/10; printf("avg=%d\n",avg);}變量的四要素變量名變量類型變量值存儲(chǔ)單元變量必須先聲明,后使用;可在聲明同時(shí)初始化。intsum=0,count=0,i,k;floatarea,avg,y;doublepi=3.14159;charanswer=‘Y’,c1,c2;變量命名規(guī)則:
字母打頭,后跟字母、數(shù)字、下劃線;
盡量“見名知義”;
不能與C語言保留字相同;
注意區(qū)分大小寫。變量:
指在程序的執(zhí)行過程中其值可以發(fā)生變化的量。#incl例如:變量a聲明為以下不同類型時(shí),執(zhí)行
a=13;
后內(nèi)存中實(shí)際存放的情況:例如:2.3數(shù)據(jù)的運(yùn)算及其規(guī)則2.3.1算術(shù)運(yùn)算符(1)基本的算術(shù)運(yùn)算符:+(加法運(yùn)算符,或正值運(yùn)算符。如:3+5、+3)-(減法運(yùn)算符,或負(fù)值運(yùn)算符。如:5-2、-3)*(乘法運(yùn)算符。如:3*5)/(除法運(yùn)算符。如:5/3)%模運(yùn)算符,或稱求余運(yùn)算符,%兩側(cè)均應(yīng)為整型數(shù)據(jù),如:7%4的值為3)。5/3結(jié)果?是1還是1.666667?2.3數(shù)據(jù)的運(yùn)算及其規(guī)則2.3.1算術(shù)運(yùn)算符5/3(2)運(yùn)算符的優(yōu)先級(jí)與結(jié)合性C語言規(guī)定了運(yùn)算符的優(yōu)先級(jí)在表達(dá)式求值時(shí),先按運(yùn)算符的優(yōu)先級(jí)別高低次序執(zhí)行,例如先乘除后加減。C還規(guī)定了各種運(yùn)算符的結(jié)合方向(結(jié)合性)
基本算術(shù)運(yùn)算符的結(jié)合方向?yàn)椤白宰笾劣摇?,即先左后右。?yōu)先級(jí)與結(jié)合性(2)運(yùn)算符的優(yōu)先級(jí)與結(jié)合性優(yōu)先級(jí)與結(jié)合性(3)
自增、自減運(yùn)算符作用:使變量的值增1或減1如:++i,--i(在使用i之前,先使i的值加(減)1)i++,i--(在使用i之后,使i的值加(減)1)
注意:
(1)自增運(yùn)算符(++),自減運(yùn)算符(--),只能用于變量,不能用于常量或表達(dá)式,(2)++和--的結(jié)合方向是“自右至左”。(3)i++與++i的區(qū)別:
++i是先執(zhí)行i=i+1后,再使用i的值,如j=++i;i++是先使用i的值后,再執(zhí)行i=i+1,如j=i++;優(yōu)先級(jí)與結(jié)合性(3)自增、自減運(yùn)算符注意:(3)i++與++i的區(qū)別:(1)算術(shù)表達(dá)式運(yùn)算對(duì)象包括常量、變量、函數(shù)等。
例如:a*b/c-1.5+’a’是一個(gè)合法的表達(dá)式(2)運(yùn)算規(guī)則:一個(gè)運(yùn)算符的兩運(yùn)算量類型要相同。(3)表達(dá)式中不同數(shù)據(jù)類型的轉(zhuǎn)換
自動(dòng)轉(zhuǎn)換:編譯系統(tǒng)自動(dòng)完成
強(qiáng)制類型轉(zhuǎn)換:(類型名)(表達(dá)式)2.3.2算術(shù)表達(dá)式(1)算術(shù)表達(dá)式2.3.2算術(shù)表達(dá)式自動(dòng)轉(zhuǎn)換:
混合運(yùn)算:整型(包括int,short,long)、浮點(diǎn)型(包括float,double)可以混合運(yùn)算。在進(jìn)行運(yùn)算時(shí),不同類型的數(shù)據(jù)會(huì)自動(dòng)先轉(zhuǎn)換成同一類型,然后進(jìn)行運(yùn)算.說明:這種類型轉(zhuǎn)換是由系統(tǒng)自動(dòng)進(jìn)行的。inta=10,result;floatb=2.5;doublec=19.5;longd=3;result=20+’A’+a*b-c/d;printf(“%d\n”,result);請(qǐng)分析表達(dá)式計(jì)算過程及運(yùn)行結(jié)果?103自動(dòng)轉(zhuǎn)換:混合運(yùn)算:整型(包括int,short,lo強(qiáng)制類型轉(zhuǎn)換:強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的作用是:將一個(gè)表達(dá)式轉(zhuǎn)換成所需類型
一般形式:(類型名)(表達(dá)式)例如:(float)a將a轉(zhuǎn)換成float類型(int)(x+y)將x+y的值轉(zhuǎn)換成整型(float)1/5將1轉(zhuǎn)換成float型,結(jié)果為float型強(qiáng)制類型轉(zhuǎn)換:2.3.3C運(yùn)算符
C的運(yùn)算符有以下幾類:(1)算術(shù)運(yùn)算符(+-*/%++--)(2)關(guān)系運(yùn)算符(><>=<=!===)(3)邏輯運(yùn)算符(!&&||)(4)位運(yùn)算符(<<>>~|∧&)(5)賦值運(yùn)算符(=及其擴(kuò)展賦值運(yùn)算符)(6)條件運(yùn)算符(?:)(7)逗號(hào)運(yùn)算符(,)2.3.3C運(yùn)算符(8)指針運(yùn)算符(*和&)(9)求字節(jié)數(shù)運(yùn)算符(sizeof)(10)強(qiáng)制類型轉(zhuǎn)換運(yùn)算符((類型))(11)分量運(yùn)算符(.->)(12)下標(biāo)運(yùn)算符([])(13)其他(如函數(shù)調(diào)用運(yùn)算符())(8)指針運(yùn)算符(*和&)關(guān)系運(yùn)算符:(><>=<=!===)(1)關(guān)系表達(dá)式的值:真——1,假——0例如:if(a+b>=10)……if(x%2==0)……if(a!=b)……if(c>=‘A’)(2)優(yōu)先級(jí)與結(jié)合性:左結(jié)合例如:if(a>b==0)……if(a>b>c)……if(‘A’<=c<=‘Z’)優(yōu)先級(jí)與結(jié)合性關(guān)系運(yùn)算符:(><>=<=邏輯運(yùn)算符:(
?。Γ|)(1)各個(gè)邏輯運(yùn)算符的運(yùn)算規(guī)則(1)邏輯表達(dá)式的值:真——1,假——0例如:if(a>b&&b>c)……if(‘A’<=c&&c<=‘Z’)if(x%3==0||x%5==0)……if(!(a>b))……if(!a)……(2)優(yōu)先級(jí)與結(jié)合性:左結(jié)合例如:if(!a||b)……if(y%4==0&&y%100!=0||y%400==0)…優(yōu)先級(jí)與結(jié)合性
數(shù)值轉(zhuǎn)換為邏輯量:
非0——真0——假另外還要注意
“短路”問題邏輯運(yùn)算符:(?。Γ|)(賦值運(yùn)算符:(=以及擴(kuò)展的賦值運(yùn)算符)(1)計(jì)算表達(dá)式的值后賦值給變量例如:a=b*2/3;i=i+1;(2)賦值表達(dá)式的值:賦值后變量的值例如:printf("%d",a=30);(3)優(yōu)先級(jí)與結(jié)合性:右結(jié)合例如:a=b=c=0;等價(jià)于a=(b=(c=0));(4)右側(cè)表達(dá)式類型與變量類型不符時(shí)如何轉(zhuǎn)換?原則:以變量類型為準(zhǔn)自動(dòng)變換。優(yōu)先級(jí)與結(jié)合性C語言的表達(dá)式加上分號(hào)成為一條語句。賦值運(yùn)算符:(=以及擴(kuò)展的賦
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 流行體知識(shí)講解
- 藥劑師是什么?- 藏在藥香里的健康守護(hù)者與中席教育的賦能之道
- 活性污泥鏡檢培訓(xùn)
- 柔丫產(chǎn)品知識(shí)培訓(xùn)課件
- 松江培訓(xùn)班考級(jí)
- 2026年傳統(tǒng)文化知識(shí)問答及解析
- 2024-2025學(xué)年江蘇省連云港市灌云縣部分學(xué)校高二下學(xué)期5月月考?xì)v史試題(解析版)
- 2026年醫(yī)療設(shè)備維護(hù)與管理專業(yè)試題
- 2026年國際貿(mào)易國際商業(yè)合同解析能力測試
- 2026年項(xiàng)目管理流程與實(shí)施技巧考試題
- 2026年汽車抵押車合同(1篇)
- 2025湖南銀行筆試題庫及答案
- 廣東省佛山市順德區(qū)2026屆高一數(shù)學(xué)第一學(xué)期期末檢測模擬試題含解析
- 新河北省安全生產(chǎn)條例培訓(xùn)課件
- 交警執(zhí)勤執(zhí)法培訓(xùn)課件
- 【初高中】【假期學(xué)習(xí)規(guī)劃】主題班會(huì)【寒假有為彎道超車】
- 鐵路聲屏障施工方案及安裝注意事項(xiàng)說明
- 2026年及未來5年市場數(shù)據(jù)中國超細(xì)銅粉行業(yè)發(fā)展趨勢(shì)及投資前景預(yù)測報(bào)告
- (新教材)2026年人教版八年級(jí)下冊(cè)數(shù)學(xué) 21.2.2 平行四邊形的判定 21.2.3 三角形的中位線 課件
- 繼承農(nóng)村房屋協(xié)議書
- 2025-2026學(xué)人教版八年級(jí)英語上冊(cè)(全冊(cè))教案設(shè)計(jì)(附教材目錄)
評(píng)論
0/150
提交評(píng)論