版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第三章數(shù)據(jù)類型、運算符、表達(dá)式、順序結(jié)構(gòu)3.1一個簡單程序的例子3.2數(shù)據(jù)類型3.3標(biāo)識符、常量與變量、宏定義3.4整數(shù)類型3.5浮點數(shù)類型3.6字符類型3.7變量定義及初始化3.8各類數(shù)值型數(shù)據(jù)間的混合運算3.9算術(shù)運算符及其表達(dá)式3.10賦值運算符及其表達(dá)式3.11順序運算符及其表達(dá)式3.12位運算符及其表達(dá)式3.13語句概述3.14輸入、輸出3.15程序的錯誤類型3.16調(diào)試與測試3.1一個簡單程序的例子華氏溫度
攝氏溫度算法:
1.輸入
2.轉(zhuǎn)換c<--(f-32)*5/93.輸出#include<stdio.h>intmain(){doublef,c;scanf("%lf",&f);c=(f-32)*5/9;printf("f=%f,c=%f\n",f,c);return0;}輸入轉(zhuǎn)換輸出3.1一個簡單程序的例子3.2數(shù)據(jù)類型3.3標(biāo)識符、常量與變量、宏定義3.4整數(shù)類型3.5浮點數(shù)類型3.6字符類型3.7變量定義及初始化3.8各類數(shù)值型數(shù)據(jù)間的混合運算3.2數(shù)據(jù)類型程序=數(shù)據(jù)+代碼所有數(shù)據(jù)都具有確定的數(shù)據(jù)類型(datatype)
C語言是靜態(tài)類型語言
數(shù)據(jù)類型基本類型整數(shù)類型char◆int◆shortlongunsignedcharunsignedshortunsignedintunsignedlonglonglong實數(shù)類型floatdouble◆longdouble算術(shù)類型枚舉類型指針類型無值類型void構(gòu)造類型數(shù)組類型結(jié)構(gòu)類型聯(lián)合類型3.2數(shù)據(jù)類型數(shù)據(jù)類型決定:存儲空間的大小、數(shù)據(jù)值的表示范圍允許的操作種類常量、變量、表達(dá)式、函數(shù)等都有確定的數(shù)據(jù)類型。一旦確定,就不會改變。3.2數(shù)據(jù)類型數(shù)據(jù)存放在存儲器中,存儲器以字節(jié)為最小存儲單元,一個字節(jié)(byte)由8個二進(jìn)制位(bit)組成。數(shù)據(jù)按其所需的存儲單元和組織形式不同,分成不同數(shù)據(jù)類型。3.1一個簡單程序的例子3.2數(shù)據(jù)類型3.3標(biāo)識符、常量與變量、宏定義3.4整數(shù)類型3.5浮點數(shù)類型3.6字符類型3.7變量定義及初始化3.8各類數(shù)值型數(shù)據(jù)間的混合運算3.3標(biāo)識符、常量與變量、宏C語言的字符集
abcdefghIjklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
!”#%&’()*+,-./:;<=>?[\]^_{|}~
共91個字符,另外,字符串中還允許出現(xiàn)中文字符。3.3標(biāo)識符、常量與變量、宏C的構(gòu)詞方式——標(biāo)識符標(biāo)識符是用戶編程時使用的名字。在計算機語言中,對于變量、常量、函數(shù)、語句塊都有自己的名字,我們稱這些名字為標(biāo)識符。標(biāo)識符命名是有一定規(guī)則的。長度1-32位,該長度是由機器的編譯系統(tǒng)決定的,例如32位機器identify4.標(biāo)識符命名時應(yīng)做到“見名知意”。3.標(biāo)識符中大小寫字母表示的意義不同。2.不能把C關(guān)鍵詞作為用戶標(biāo)識符。1.標(biāo)識符是由字母、數(shù)字、下劃線“_”組成的。首字母只能是字母或者下劃線,不能是數(shù)字。3.3標(biāo)識符、常量與變量、宏下面標(biāo)識符正確嗎?#123,.COM,$100,1996Y,1_2_3,Win3.2必須以字母或者下劃線開頭C語言規(guī)定不能以“#”開頭必須以字母或者下劃線開頭不能出現(xiàn)小數(shù)點“.”C語言規(guī)定不能以“$”開頭必須以字母或者下劃線開頭_ABC與_abc是兩個不同的標(biāo)識符。重要提示:使用標(biāo)識符時,不要忘了大小寫字母之間的區(qū)別!3.3標(biāo)識符、常量與變量、宏標(biāo)示符命名通過變量名就知道變量的含義。這樣可提高程序的可讀性。通常應(yīng)選擇能表示數(shù)據(jù)含義的英文單詞(或縮寫)作變量名。
例如:name(姓名)、gender(性別)、
age(年齡)、salary(工資)。3.3標(biāo)識符、常量與變量、宏標(biāo)示符可以分為以下三類標(biāo)識符ANSI定義了C語言的32個關(guān)鍵詞,這些都是不能另作它用,只能當(dāng)作關(guān)鍵字使用。預(yù)定義
標(biāo)識符用戶
標(biāo)識符由用戶根據(jù)需要定義的標(biāo)識符稱為用戶標(biāo)識符。一般來給變量、函數(shù)、數(shù)組或文件等命名,用戶標(biāo)識符不能使用已規(guī)定的關(guān)鍵字和預(yù)定義的標(biāo)識符。關(guān)鍵詞有些標(biāo)識符在C語言中都有特定的含義,如函數(shù)名和預(yù)處理命令名、C語言提供的庫函數(shù)的名字printf和define等,C語言的語法允許這類標(biāo)識符另作它用,不過這些標(biāo)識符會失去系統(tǒng)規(guī)定的原意。3.3標(biāo)識符、常量與變量、宏關(guān)鍵字C語言定義了一些具有特定意義的單詞作關(guān)鍵字(又叫保留字)。對于關(guān)鍵字,用戶只能嚴(yán)格按規(guī)定使用而不能作為它用。所有關(guān)鍵字都用小寫,且必須嚴(yán)格按定義拼寫。C語言的關(guān)鍵字較少,只有32個。autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhile3.3標(biāo)識符、常量與變量、宏#include<stdio.h>intmain(){
doublecelsius,fahr;
fahr=100.0;
celsius=5*(fahr-32)/9;
printf("fahr=%f,celsius=%f\n",fahr,celsius);
return0;}定義fahr和celsius為double型給fahr賦值計算celsius的值輸出fahr和celsius的值
3.3標(biāo)識符、常量與變量、宏數(shù)據(jù)是計算機程序處理加工的對象。doublecelsius,fahr;fahr=100.0;celsius=5*(fahr-32)/9;在計算機高級語言中,數(shù)據(jù)有兩種表現(xiàn)形式:常量:在程序運行過程中,其值不能被改變。
例如,100.0,5,32,9變量:在程序運行過程中,其值可以被改變。
如:doublecelsius,fahr;fahr=123.5;3.3標(biāo)識符、常量與變量、宏常量:指在程序運行過程中不能改變其值的量常數(shù):例如,32,3.14,“ABCD”,’A’
在C語言中,不同類型的常量有不同的表示方法。符號常量:在程序中為了能明確表示常量的含義,提高程序的可閱讀性,常用一個符號名稱代表一個常量。
#include<stdio.h>#definePRICE30//注意該行末尾沒有分號
//
#define是預(yù)編譯命令,稱為宏(macro)定義。作用是符號替換。
intmain(){printf(“total=%d”,PRICE*10);
return0;}
在對程序進(jìn)行編譯之前,系統(tǒng)會進(jìn)行預(yù)處理,將所有PRICE符號常量全部替換為30。預(yù)編譯后程序變成:intmain(
){printf(“total=%d”,30*10);return0;}
3.3標(biāo)識符、常量與變量、宏#include<stdio.h>intmain(){floatl,s,r,v;r=3.5;l=2.0**r;s=*r*r;v=4.0/3**r*r*r;printf("l=%10.4f\n",l);printf("s=%10.4f\n",s);printf("v=%10.4f\n",v);return0;}#definePI3.1415926PI3.14159263.14159263.1415926注意事項:符號常量一定要先定義再使用符號常量的值是不能改變的符號常量在程序中可以直接引用而不必作任何說明,因為編譯程序能夠根據(jù)常量的書寫形式辨別其數(shù)據(jù)類型。PIPI3.3標(biāo)識符、常量與變量、宏定義常量的另一種方法:
constintprice=30;
兩種方法的區(qū)別:
PRICE不分配存儲單元,price與變量一樣分配存儲單元,但price的值不允許修改。3.3標(biāo)識符、常量與變量、宏變量:變量代表一個命名的存儲單元,具有存儲數(shù)據(jù)的能力。變量名:用標(biāo)識符表示變量值:是數(shù)值,存儲單元中的內(nèi)容,在機器內(nèi)部用二進(jìn)制表示存儲單元:由變量的數(shù)據(jù)類型和在內(nèi)存中的位置確定在程序運行過程中,變量的值是可以改變的。300變量值變量名存儲單元weightweight變量3.3標(biāo)識符、常量與變量、宏變量變量定義的一般形式:數(shù)據(jù)類型名變量名列表;例如:int
s;//定義整型變量floatx;//定義單精度浮點型變量doublearea,length;//定義雙精度浮點型變量定義變量時要指定變量名和數(shù)據(jù)類型用變量名代表內(nèi)存中的一個存儲單元存儲單元的大小(字節(jié)數(shù))由變量的數(shù)據(jù)類型決定3.3標(biāo)識符、常量與變量、宏變量變量必須先定義,后使用。#include<stdio.h>intmain(
){doublecelsius,fahr;
fahr=100.0;
celsius=5*(fahr-32)/9;printf("fahr=%f,celsius=%f\n",fahr,celsius);
return0;}3.3標(biāo)識符、常量與變量、宏變量C語言中的變量代表存儲數(shù)據(jù)的存儲單元數(shù)學(xué)中的變量代表未知數(shù)數(shù)學(xué)中:x=x+1(錯誤的)C語言中:x=x+1(將變量x所代表的存儲單元中的值讀取出來,增加1,再存放到存儲單元中。)10
11x=x+1xx3.1一個簡單程序的例子3.2數(shù)據(jù)類型3.3標(biāo)識符、常量與變量、宏定義3.4整數(shù)類型3.5浮點數(shù)類型3.6字符類型3.7變量定義及初始化3.8各類數(shù)值型數(shù)據(jù)間的混合運算3.4整數(shù)類型有三種表示形式:(1)十進(jìn)制:與數(shù)學(xué)中十進(jìn)制寫法相同,如6、-31、101等都是合法的。(變換10
->2
,整數(shù):除2取余,小數(shù):乘2取整)(2)八進(jìn)制:用0開始的由0∽7構(gòu)成的數(shù),如0777、012等都是合法的。(3)十六進(jìn)制:用0x或0X開始的由0,1,2,…,9,a,…,f(或大寫)構(gòu)成的數(shù),如0x123、0xffFF等都是合法的整型常量。3.4整數(shù)類型整型常數(shù)的表示方法
還有一種被稱為長整型常數(shù)的整型常數(shù),其表示形式是在整型常數(shù)的三種表示形式后加上字母l或L。此外,還有LL,LU等多種形式。
如:6l或6L012l或012L
0x12l或0x12L012LU123LL0157LLU等整型變量的二進(jìn)制表示3.4整數(shù)類型iden001000……001101位符號位
31位數(shù)據(jù)位以32位為例
32位數(shù)據(jù)位iden00100……001101無符號類型數(shù)據(jù)在內(nèi)存中是以二進(jìn)制補碼(complement)形式表示的。例如(32位機器):
inti;i=10;
intj;j=-100000000000000000i0000000010100000
1111111111111111j符號位1111111101101111
符號位3.4整數(shù)類型原碼:符號位+絕對值轉(zhuǎn)換后的二進(jìn)制反碼:符號位+絕對值轉(zhuǎn)換后的二進(jìn)制每位的反補碼:符號位+(反碼+1)一般帶符號的整數(shù)采用補碼表示方法。3.4整數(shù)類型
類型含義占存儲空間
數(shù)值的范圍char字符1個字節(jié)-128∽127int整型4個字節(jié)-2147483648∽2147483647long長整型4個字節(jié)-2147483648∽2147483647longlong
長長整型8個字節(jié)263∽263-1short短整型2個字節(jié)-32768∽32767僅以32位編譯器為例!3.4整數(shù)類型C標(biāo)準(zhǔn)中沒有具體規(guī)定各種數(shù)據(jù)類型所占用存儲單元的字節(jié)數(shù),
這由編譯系統(tǒng)自己決定。C標(biāo)準(zhǔn)只規(guī)定了long類型的表示范圍不小于int,但也允許它們表示范圍相同。short類型的表示范圍不大于int型在不同編譯器中,數(shù)據(jù)類型所占的字節(jié)數(shù)可能是不同的。如:GCC中是4個字節(jié),而早期的TC中的int是2個字節(jié)sizeof(類型名)或sizeof(表達(dá)式)返回該類型在使用編譯器中的所占字節(jié)數(shù),如:GCC中printf("%d,%d,%d,%d",sizeof(int),sizeof(long),sizeof(shortint),sizeof(longlong));3.4整數(shù)類型如果所表示的數(shù)據(jù)都為正數(shù),則可以將變量定義“無符號”整型無符號基本整型unsignedint無符號短整型unsignedshort[int]無符號長整型unsignedlong[int]無符號雙長整型unsignedlonglong[int]無符號整型數(shù)據(jù)存儲單元的最高位不表示符號位有符號基本整型[signed]int有符號短整型[signed]short[int]有符號長整型[signed]long[int]有符號雙長整型[signed]longlong[int]有符號整型數(shù)據(jù)存儲單元的最高位代表符號位(0為正,1為負(fù))3.4整數(shù)類型0000000000001111a0111111111111111b1111111111111111符號位1111111111111111ua=32767;b=-1;u=65535;在32位機中,變量a、b、u的實際存儲shortinta=32767,b=-1;unsignedshortintu=65535;
3.4整數(shù)類型整型變量的定義:C規(guī)定在程序中所有用到的變量都必須在程序中定義,即“強制類型定義”。例如:
inta,b(指定變量a、b為整型)
unsignedshortc,d;(指定變量c、d為無符號短整型)
longe,f;(指定變量e、f為長整型)變量在使用之前必須先定義!a3.4整數(shù)類型a3.4整數(shù)類型整型變量的定義與使用
#include<stdio.h>
voidmain()
{inta,b,c,d;/*指定a、b、c、d為整型變量*/
unsignedu;/*指定u為無符號整型變量*/
a=12;b=-24;u=10;
c=a+u;d=b+u;
printf(″a+u=%d,b+u=%d\n″,c,d);
}說明:
可以看到不同種類的整型數(shù)據(jù)可以進(jìn)行算術(shù)運算運行結(jié)果:
a+u=22,b+u=-14
整型變量的溢出(overflow)
一個int型的變量最大允許值為INT_MAX(定義在limits.h中),最小為INT_MIN,如果超出范圍就會出現(xiàn)所謂溢出的運行時錯誤(run-timeerror)。
如在一個32位系統(tǒng)中,一個int類型的數(shù)據(jù)最大值為2147483647,如果再加上1,就會溢出,值變?yōu)?2147483648。3.4整數(shù)類型整型變量的溢出#include<stdio.h>intmain(){inta,b;a=2147483647;b=a+1;printf(“a=%d,b=%d\n”,a,b);
return0;}32位系統(tǒng)中的運行結(jié)果為:
a=2147483647,b=-21474836483.4整數(shù)類型整型變量的溢出
上例:如在32位系統(tǒng)中
a:7fffffffb:800000002147483647-2147483648運行時,系統(tǒng)不會給出溢出提示!防止溢出的發(fā)生是程序員的責(zé)任!3.4整數(shù)類型整型常量的類型(1)一個整數(shù),如果其值在-32768~+32767范圍內(nèi),認(rèn)為它是int型,它可以賦值給int型和longint型變量。(2)一個整數(shù),如果其值超過了上述范圍,而在-2147483637~+2147483647范圍內(nèi),則認(rèn)為它是為長整型??梢詫⑺x值給一個longint型變量。3.4整數(shù)類型整型常量的類型(3)如果所用的C版本(如TurboC)分配給shortint與int型數(shù)據(jù)在內(nèi)存中占據(jù)的長度相同,則它的表數(shù)范圍與int型相同。因此一個int型的常量同時也是一個shortint型常量,可以賦給int型或shortint型變量。3.4整數(shù)類型整型常量的類型(4)一個整常量后面加一個字母u或U,認(rèn)為是unsignedint型,如12345u,在內(nèi)存中按unsignedint規(guī)定的方式存放(存儲單元中最高位不作為符號位,而用來存儲數(shù)據(jù))。如果寫成-12345u,則先將-12345轉(zhuǎn)換成其補碼53191,然后按無符號數(shù)存儲。3.4整數(shù)類型整型常量的類型(5)在一個整常量后面加一個字母l或L,則認(rèn)為是longint型常量。例如123l.432L0L等。這往往用于函數(shù)調(diào)用中。如果函數(shù)的形參為longint型,則要求實參也為longint型。3.4整數(shù)類型重要提示
編程時必須保證所有整型變量在任何時候都沒有超出數(shù)據(jù)類型的取值范圍!3.1一個簡單程序的例子3.2數(shù)據(jù)類型3.3標(biāo)識符、常量與變量、宏定義3.4整數(shù)類型3.5浮點數(shù)類型3.6字符類型3.7變量定義及初始化3.8各類數(shù)值型數(shù)據(jù)間的混合運算3.5浮點型類型浮點型常數(shù),有兩種表示形式:(1)十進(jìn)制小數(shù)形式例如:0.618、108.02、-1.414、108.0、0.0等,這與數(shù)學(xué)中表示實數(shù)的方法相同;(2)指數(shù)形式
例如:108E2(或108e2)表示實數(shù)108×102
;
-16.578E5(-16.578e5)表示實數(shù)-16.578×1050.1234E-6,表示實數(shù)0.1234×10-6注意:字母e(或E)之前必須有數(shù)字,且e后面的指數(shù)必須為整數(shù)1e3、1.8e-3、-123e-6、-.1e-3e3、2.1e3.5、.e3、e
3.5浮點型類型規(guī)范化的指數(shù)形式:在字母e(或E)之前的小數(shù)部分中,小數(shù)點前數(shù)字為0、小數(shù)點后第1位數(shù)字不為0的表示形式稱為規(guī)范化指數(shù)形式。例如:123.456可以表示為:123.456e0,12.3456e1,1.23456e2,0.123456e3,0.0123456e4,0.00123456e其中的0.123456e3稱為“規(guī)范化的指數(shù)形式”。浮點型單精度(float型)雙精度(double型)長雙精度(longdouble型)例如:定義浮點型變量
floatf1,f2;
doubled1,d2;
longdoubleld;3.5浮點型類型
3.5浮點型類型類型
占存儲空間
有效數(shù)位數(shù)
數(shù)值范圍
float4個字節(jié)6∽7-3.4×10-38∽3.4×1038
double8個字節(jié)15∽16-1.7×10-308∽1.7×10308
Longdouble16個字節(jié)18∽19-1.2×10-4932∽1.2×104932
僅以某種機器為例!longdouble一般不支持!3.5浮點型類型float和double在計算機的存儲單元中是以指數(shù)形式存放的,即,把一個浮點數(shù)用符號位、指數(shù)和尾數(shù)來表示。指數(shù)部分和尾數(shù)部分各占多少位在C標(biāo)準(zhǔn)中并無具體規(guī)定,由編譯系統(tǒng)自己決定。符號位指數(shù)尾數(shù)長度float1(bit)8(bit)23(bit)32(bit)double1(bit)11(bit)52(bit)64(bit)
3.5浮點型類型浮點型數(shù)據(jù)在內(nèi)存中的存放方式一個浮點float型數(shù)據(jù)一般在內(nèi)存中占4個字節(jié)。與整型數(shù)據(jù)的存儲方式不同,浮點型數(shù)據(jù)是按照指數(shù)形式存儲的。分成尾數(shù)和指數(shù)兩部分。
x127+c符號0/1尾數(shù)部分M=1.x指數(shù)2cIEEE754float表示M
2C:M稱為尾數(shù),C稱為階碼M和C均采用二進(jìn)制表示。float共32位,在內(nèi)存的存放形式:最高位:符號位,指數(shù)(8位):127+C尾數(shù)(23位):M除去最左邊的‘1’后的部分
例:12.5=(1100.1)2=(1.1001)2*23
表示為:
010000010100100000000000000000003.5浮點型類型
例:-0.25=-(0.01)2=-(1.0)2*2-2
表示為:
10111110100000000000000000000000
3.5浮點型類型IEEE754double表示M
2C
:M稱為尾數(shù),C稱為階碼,M和C均采用二進(jìn)制表示。double共64位,在內(nèi)存的存放形式:最高位:符號位指數(shù)(11位):1023+C尾數(shù)(52位):M除去最左邊的‘1’后的部分
3.5浮點型類型3.5浮點型類型例:double型浮點數(shù)38414.4的內(nèi)存存儲形式:
1、把整數(shù)部和小數(shù)部分開處理:(1)整數(shù)部分的十六進(jìn)制表示:960E(1001011000001110)。(2)小數(shù)的處理:
0.4=0.01100110011001100110…(乘二取整)
38414.4的二進(jìn)制表示:
1001011000001110.0110011001100110011001100110011001100110....
2、以指數(shù)形式表示:四舍五入取53位
1.0010110000011100110011001100110011001100110011001101*2^15
(小數(shù)點前面只有一位,并且必為1,該1為隱藏值,在內(nèi)存是不存儲的)3、尾數(shù)為小數(shù)點后的52位,指數(shù)為15,將指數(shù)用二進(jìn)制表示。
指數(shù)占11位,將指數(shù)先加上1023再轉(zhuǎn)化為二進(jìn)制表示。
15+1023=1038,其二進(jìn)制表示為:100000011104、符號位為0(正數(shù)),將三部分合在一起(尾數(shù)最高位的1不要):01000000
11100010
11000001
11001100
11001100
11001100
11001100
11001101按字節(jié)倒序存儲的十六進(jìn)制數(shù)就是:
CDCCCCCCCCC1E240
一個基本類型數(shù)據(jù)的幾個字節(jié)的在內(nèi)存中存放次序,不同CPU可能不同。如:IntelCPU:稱為little_endian(小端格式)3.5浮點型類型地址編號0x40000000CD0x40000001CC0x40000002CC0x40000003CC0x40000004CC0x40000005C10x40000006E20x4000000740低地址中存放的是數(shù)據(jù)的低字節(jié);高地址存放的是數(shù)據(jù)的高字節(jié)。
3.5浮點型類型浮點型數(shù)據(jù)的表示誤差
由于浮點型變量存放在有限的幾個字節(jié)的存儲單元中,所以能提供的有效數(shù)字總是有限的,因此有效位以外的數(shù)字將被舍去,由此會產(chǎn)生誤差。
即:浮點數(shù)的表示是不精確的!
3.5浮點型類型浮點型數(shù)據(jù)的舍入誤差
#include<stdio.h>
voidmain()
{floata,b;
a=123456.789e5;
b=a+20;
printf(“%f\n”,b);
}運行結(jié)果:
123456.789e5說明:一個浮點型變量只能保證的有效數(shù)字是7位有效數(shù)字,后面的數(shù)字是無意義的,并不準(zhǔn)確地表示該數(shù)。應(yīng)當(dāng)避免將一個很大的數(shù)和一個很小的數(shù)直接相加或相減,否則就會“丟失”小的數(shù)
3.5浮點型類型浮點型數(shù)據(jù)的誤差。例:#include<stdio.h>intmain(){doublea;a=0.1;printf("a=%.17f\n",a);return0;}GCC運行結(jié)果為:a=0.10000000000000001
由于一個double變量只能保證16位有效數(shù)字,所以后面的數(shù)字是無意義的。
類似的還有:1.0/3*3結(jié)果并不一定等于1。3.5浮點型類型
浮點型變量的溢出(overflow)和下溢(underflow)
一個double型的變量最大絕對值為DBL_MAX(定義在float.h中)(如:1.7976931348623157e+308),
最小絕對值為DBL_MIN(如:2.2250738585072014e-308),如果超出范圍就會出現(xiàn)上溢或下溢的錯誤情況。上溢
doubletoobig=DBL_MAX*100.0;printf("%e\n",toobig);
32位系統(tǒng)中的運行結(jié)果可能為:1.#INF00e+000
3.5浮點型類型下溢(過于接近于0)
doubletoosmall=DBL_MIN/1E30;printf("%e\n",toosmall);
32位系統(tǒng)中的運行結(jié)果可能為:
0.000000e+0003.5浮點型類型3.5浮點型類型浮點型常量的類型
C編譯系統(tǒng)將浮點型常量作為雙精度來處理。
例如:f=2.45678*4523.65
系統(tǒng)先把2.45678和4523.65作為雙精度數(shù),然后進(jìn)行相乘的運算,得到的乘也是一個雙精度數(shù)。最后取其前7位賦給浮點型變量f。如是在數(shù)的后面加字母f或F(如1.65f,654.87F),這樣編譯系統(tǒng)就會把它們按單精度(32位)處理。3.1一個簡單程序的例子3.2數(shù)據(jù)類型3.3標(biāo)識符、常量與變量、宏定義3.4整數(shù)類型3.5浮點數(shù)類型3.6字符類型3.7變量定義及初始化3.8各類數(shù)值型數(shù)據(jù)間的混合運算字符常數(shù)普通字符:用單引號括起的一個字符,如‘a(chǎn)’、‘?’、‘B’、‘5’和‘*’等都是合法的字符常量。‘a(chǎn)’和‘A’是不同的字符常量。字符型數(shù)據(jù)存儲在內(nèi)存中占一個字節(jié),是以其代碼(ASCII碼)存儲的。字符常量
存儲形式
十進(jìn)制表示‘A’0100000165‘a(chǎn)’0110000197‘?’0011111163‘5’0011010153ASCII碼附錄B,給出了常用字符與其對應(yīng)的ASCII碼。
3.6字符類型ASCII--AmericanStandardCodeforInformationInterchange。ASCII字符集的大小為7位,MSB為0。ASCII字符集包含可打印字符和非打印字符(控制字符)兩類。3.6字符類型轉(zhuǎn)義字符:在ASCII碼表中有一些非打印的控制字符,例如回車、響鈴、退格等。為了能夠表示它們,C語言采用在反斜杠(\)字符后加其他字符的方法來解決。這稱為轉(zhuǎn)義序列字符。轉(zhuǎn)義字符中反斜杠(\)后面的字符在編譯時需要特殊處理,不能當(dāng)作普通字符對待。例如,‘\n’是在第一個字符反斜杠(\)后緊跟一個字符n,它表示一個換行字符?!甛n’代表一個字符(換行符),其ASCII為10。3.6字符類型轉(zhuǎn)義序列
含義ASCII碼
\n回車換行,將光標(biāo)移至下一行首10\r回車,將光標(biāo)移至本行開頭位置13\b退格,將光標(biāo)左移一格8\t水平制表,光標(biāo)移至本行下一tab位置9\v垂直制表符11\f換頁,將光標(biāo)移至下一頁開頭位置12\a響鈴7\0空字符,其符號常量名為NULL0\’
單引號字符39\”雙引號字符34\\反斜杠字符92\0oo1到3位八進(jìn)制數(shù)所代表的字符\xhh1到2位十六進(jìn)制數(shù)所代表的字符3.6字符類型字符變量
字符變量用于存放字符,在內(nèi)存中占1字節(jié)。字符變量的定義形式如下:
charc1,c2;可以把字符常量賦值給字符變量,例如:
c1=‘a(chǎn)’;c2=‘b’;3.6字符類型
字符型變量數(shù)據(jù)在內(nèi)存中的存放方式
將一個字符常量存放到一個字符變量中,其實是存放了該字符的ASCII碼(也稱字符的內(nèi)碼)。例如:charc1,c2;c1=‘a(chǎn)’;c2=‘b’;c10110000101100010c23.6字符類型#include<stdio.h>intmain(){charc1,c2;c1=97;/*字母a*/c2=98;/*字母b*/printf("%c,%c\n",c1,c2);printf("%d,%d\n",c1,c2);return0;}運行的結(jié)果是:
a,b
97,983.6字符類型
一個字符變量中的值,是被當(dāng)成整數(shù)值使用,還是當(dāng)成字符使用,完全看程序員的意愿。01100001c1a%c%d973.6字符類型例:大小寫字母的轉(zhuǎn)換
#include<stdio.h>intmain(){
charc1,c2;c1='a';c2='b';c1=c1-32;c2=c2-32;printf("%c,%c\n",c1,c2);return0;}運行的結(jié)果是:
A,B注意從ASCII碼表可以看到每個小寫字母比它相應(yīng)的大寫字母的ASCII碼值大32。C語言允許字符數(shù)據(jù)和整型數(shù)據(jù)直接進(jìn)行算術(shù)運算。3.6字符類型字符‘1’和整數(shù)1是不同的概念:字符‘1’只是代表一個形狀為‘1’的符號,在內(nèi)存中以ASCII碼(49)二進(jìn)制形式存儲,占1個字節(jié)整數(shù)1是以整數(shù)存儲方式(二進(jìn)制補碼方式)存儲的,以shortint型存放則占2個字節(jié)0011000100000000000000013.6字符類型3.6字符類型C規(guī)定:在每一個字符串常量的結(jié)尾加一個“字符串結(jié)束標(biāo)志”,以便系統(tǒng)據(jù)此判斷字符串是否結(jié)束。C規(guī)定以字符‘\0’作為字符串結(jié)束標(biāo)志。
如:如果有一個字符串常量”CHINA”,實際上在內(nèi)存中是:CHINA\0它占內(nèi)存單元不是5個字符,而是6個字符,最后一個字符為‘\0’。但在輸出時不輸出’\0’。3.6字符類型‘a’是字符常量,”a”是字符串常量,二者不同。
如:假設(shè)C被指定為字符變量
:charc結(jié)論:不能把一個字符串常量賦給一個字符變量。c=‘a(chǎn)’;c=”a”;c=”CHINA”;
注意:‘a(chǎn)’和“a”之間的區(qū)別:‘a(chǎn)’是一個字符常量,只有一個字符a;“a”為一個字符串常量,它是由一個字符a和一個結(jié)束符(‘\0’)組成,“a”的長度為2個字符??沾啊笔莾H有一個結(jié)束符的字符串常量,其長度為1個字符。不要混淆字符常量與字符串常量的不同表示方式!3.6字符類型
字符串常數(shù)用雙引號括起來的一個或多個字符序列,如"Howareyou"、"a"、"china"、""、"漢字"等都是合法的字符串常數(shù)。每個字符串常數(shù)都用一個0(‘\0’或NULL)作為結(jié)束符,所以每個字符串長度為其字符個數(shù)加1。如"a"的長度為2個字節(jié);而"Howareyou"的長度為12個字節(jié);"漢字"的長度為5個字節(jié)。3.6字符類型字符串常量字符串常量是一對雙撇號括起來的字符序列.合法的字符串常量:“Howdoyoudo.”,“CHINA”,“a”,“$123.45”可以輸出一個字符串,如
printf(“Howdoyoudo.”);3.6字符類型
字符串常數(shù)"Howareyou"
在內(nèi)存中的存放形式:010010000110111100100000011101110110000101110010001000000110010101111001011011110000000001110101‘\0’‘u’‘H’‘o’‘w’‘’‘a(chǎn)’‘r’‘e’‘’‘y’‘o’3.6字符類型3.6字符類型#include<stdio.h>intmain(){charc[]="Howareyou!";printf("%s\n字符串的字節(jié)數(shù)為:%d",c,sizeof(c));return0;}運行結(jié)果:Howareyou!字符串的字節(jié)數(shù)為:133.1一個簡單程序的例子3.2數(shù)據(jù)類型3.3標(biāo)識符、常量與變量、宏定義3.4整數(shù)類型3.5浮點數(shù)類型3.6字符類型3.7變量定義及初始化3.8各類數(shù)值型數(shù)據(jù)間的混合運算3.7變量定義及初始化
在定義變量的同時為變量賦初值,這稱為變量初始化(initialization)。
例如:
inta=3,a1;
floatf=3.54F;doubled1,d2=3.54;charc=‘a(chǎn)’;未初始化的變量值是不確定的。3.1一個簡單程序的例子3.2數(shù)據(jù)類型3.3標(biāo)識符、常量與變量、宏定義3.4整數(shù)類型3.5浮點數(shù)類型3.6字符類型3.7變量定義及初始化3.8各類數(shù)值型數(shù)據(jù)間的混合運算3.8各類數(shù)值型數(shù)據(jù)間的混合運算字符型、整型、浮點型數(shù)據(jù)之間可以進(jìn)行混合運算。
例如:10+‘a(chǎn)’+1.5-8765.123*‘0’3.8各類數(shù)值型數(shù)據(jù)間的混合運算
算術(shù)運算中常規(guī)自動類型轉(zhuǎn)換規(guī)則
在算術(shù)運算過程中允許參加運算的對象進(jìn)行自動數(shù)據(jù)類型轉(zhuǎn)換。double
longunsignedlongint
unsignedunsignedshortchar,unsignedchar,short其中:必要時進(jìn)行的轉(zhuǎn)換總是進(jìn)行的轉(zhuǎn)換(稱為類型提升)float例如:
10+‘a(chǎn)’+1.5–1.23*‘0’char型轉(zhuǎn)換為int型
97表達(dá)式值為107int型表達(dá)式值為108.5double型char型轉(zhuǎn)換為int型48表達(dá)式值為59.04double型表達(dá)式值為49.46double型
最后,表達(dá)式值為49.46,double型3.8各類數(shù)值型數(shù)據(jù)間的混合運算3.9算術(shù)運算符及其表達(dá)式3.10賦值運算符及其表達(dá)式3.11順序運算符及其表達(dá)式3.12位運算符及其表達(dá)式3.13語句概述3.14輸入、輸出3.15程序的錯誤類型3.16調(diào)試與測試3.9算術(shù)運算符及其表達(dá)式
運算符附錄C(P378)
算術(shù)運算符+-*/%
關(guān)系運算符>>=<<===!=
邏輯運算符!&&||
位運算符&|~^>><<
賦值運算符=等
……3.9算術(shù)運算符及其表達(dá)式
表達(dá)式(expression)單個操作數(shù)或是用運算符將操作數(shù)連接起來的式子,也可使用括號。
子表達(dá)式用運算符將操作數(shù)連接起來的式子,它又用作另一更大表達(dá)式的操作數(shù)。
表達(dá)式例子a+bsb-c+d(a=5)+(b=8)a<100
a==0a!=10&&b>=1a=b=c=100a=(b=6)+(c=4)
a>>2a^b3.9算術(shù)運算符及其表達(dá)式3.9算術(shù)運算符及其表達(dá)式算術(shù)運算符
(1)+加法運算符,如a+b(2)-
減法運算符,如a-b(3)*乘法運算符,如a*b(4)/除法運算符,如a/b除或整除 b不得為0(5)%整余運算符,如a%ba,b必須為整型
+-用作單目運算時表示+a-a
算術(shù)運算符舉例
(1)1+21.2+3(2)1-
2
1.2-3(3)1*21.2*3(4)5/25.0/2(5)5%2-5%33.9算術(shù)運算符及其表達(dá)式
%也稱求余運算、模運算
15%4的值是33%5的值是3
求余運算符兩邊的操作數(shù)必須是整型數(shù)據(jù),且結(jié)果值也是整型數(shù)據(jù)。如:8.6%4是非法的3.9算術(shù)運算符及其表達(dá)式
問題:
浮點數(shù)如何進(jìn)行求余運算?
8.6%4
0.6函數(shù)fmod(
):浮點數(shù)求余數(shù)(在math.h中)3.9算術(shù)運算符及其表達(dá)式優(yōu)先級與結(jié)合律
使用算術(shù)運算符的表達(dá)式是算術(shù)表達(dá)式。如:a*b/c–1.5+'a'
每個運算符都具有優(yōu)先級與結(jié)合律,見附錄C(P378)。表達(dá)式運算按優(yōu)先級先高后低順序進(jìn)行。表達(dá)式中幾個運算符優(yōu)先級相同時按結(jié)合律順序進(jìn)行。3.9算術(shù)運算符及其表達(dá)式優(yōu)先級與結(jié)合律
例子:a*b/c–1.5+'a'
先*/,后+-*/優(yōu)先級相同,結(jié)合律為左結(jié)合,因此先*后/。同樣先-后+。3.9算術(shù)運算符及其表達(dá)式優(yōu)先級與結(jié)合律
使用括號可改變結(jié)合律。例子:(a+b)/c3.9算術(shù)運算符及其表達(dá)式重要提示
括號的使用要配對!強制類型轉(zhuǎn)換運算符
(類型名)表達(dá)式使整個表達(dá)式的類型變?yōu)橛衫ㄌ栔械念愋兔赋龅念愋?。例?doublea,b;定義a、b為浮點型變量,但在執(zhí)行了表達(dá)式(int)(a+b)后,表達(dá)式a+b的類型為int型。3.9算術(shù)運算符及其表達(dá)式思考題請思考一下,表達(dá)式(int)(100.98/3.14)與(int)100.98/3.14有什么區(qū)別?強制類型轉(zhuǎn)換運算符的優(yōu)先級別高于除(/)運算符例
強制類型轉(zhuǎn)換#include<stdio.h>intmain(){doublex;inti;x=3.6;
i=(int)x%2;printf("x=%f,i=%d\n",x,i);return0;}運行的結(jié)果是:x=3.600000,i=13.9算術(shù)運算符及其表達(dá)式
自增、自減運算符
單目運算符,用來對字符型、整型、指針型、數(shù)組元素等變量進(jìn)行算術(shù)運算,具有前綴和后綴兩種形式。其一般形式是: ++操作數(shù)操作數(shù)++--操作數(shù)操作數(shù)--
使操作數(shù)的值加1或減1。
例如:inti;i=10;i++;10ii++11i3.9算術(shù)運算符及其表達(dá)式3.9算術(shù)運算符及其表達(dá)式自增、自減運算符前綴和后綴的區(qū)別++操作數(shù):表達(dá)式的值為操作數(shù)加1之后的值操作數(shù)++:表達(dá)式的值為操作數(shù)加1之前的值--操作數(shù):表達(dá)式的值為操作數(shù)減1之后的值操作數(shù)--:表達(dá)式的值為操作數(shù)減1之前的值
34inta=2;(++a)+13a23inta=2;(a--)+11a
3.9表達(dá)式的求值順序
設(shè)a=5、b=10、c=3、d=9、e=15,則表達(dá)式a+b*c-e%(a+d)的運算順序如下所示:運算符的結(jié)合方向分兩類:除=運算符外,所有雙目運算符都是從左向右方向結(jié)合;單目、三目和賦值運算符是從右向左方向結(jié)合的。a+b*c-e%(a+d)301435134例如:inti=3;
-i++則等價于:-(i++),表達(dá)式的結(jié)果為-3,而i為43.9算術(shù)運算符及其表達(dá)式3.10賦值運算符及其表達(dá)式3.11順序運算符及其表達(dá)式3.12位運算符及其表達(dá)式3.13語句概述3.14輸入、輸出3.15程序的錯誤類型3.16調(diào)試與測試3.10賦值運算符及其表達(dá)式賦值運算符用來將等號右邊表達(dá)式的值存放到等號左邊的變量中。賦值運算符是一個雙目運算符。其一般形式是:
變量=表達(dá)式整個表達(dá)式的值為變量賦值之后的值。例如:inta,b;b=8;a=(a=7)+b;inta,b;a=b=0;inta=7,b=8,c;c=a+b;類型轉(zhuǎn)換變量=表達(dá)式中變量和表達(dá)式的類型不一致時,發(fā)生類型轉(zhuǎn)換。例如:inta;a=3.14;floatb;b=100;doubled;floatc;c=d;inte='a';inti=289;charc='a';c=i;inta;longb=8;a=b;unsigneda=2147483647;intb;b=a;3.10賦值運算符及其表達(dá)式類型轉(zhuǎn)換1.將浮點型數(shù)據(jù)(包括單、雙精度)賦給整型變量時,先對浮點數(shù)取整,舍棄小樹點后部分,賦予整形變量。2.將整型賦值給單雙精度時,數(shù)值不變,但以浮點數(shù)形式存到變量中。
例如23,轉(zhuǎn)換成23.0。3.將一個double類型數(shù)據(jù)賦給float時,先將雙精度轉(zhuǎn)換成單精度,只取6-7位有效數(shù)字,存儲到float變量的4個字節(jié)中。但注意雙精度浮點數(shù)值的大小不能超出float變量的取值范圍。否則會出錯。3.10賦值運算符及其表達(dá)式類型轉(zhuǎn)換4.將字符型數(shù)據(jù)賦給整型變量時,將字符的ASCII代碼付給整型變量。5.將一個占字節(jié)多的整型數(shù)據(jù)賦給一個占字節(jié)少的整型變量或者字符變量(例如把占4個字節(jié)的int型數(shù)據(jù)賦給2個字節(jié)的short變量或者占1個字節(jié)的char變量)時,只將其低字節(jié)原封不動地送到被賦值的變量(即發(fā)生截斷)。3.10賦值運算符及其表達(dá)式自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換實例Example:
intnumber; floattotal,average; … average=total/number; 15.000000/2.0000007.500000total15.00000number2average??7.5000002.000000自動類型轉(zhuǎn)換賦值中的自動類型轉(zhuǎn)換若賦值運算左側(cè)變量的類型與右側(cè)表達(dá)式的類型不一致,則賦值時發(fā)生自動類型轉(zhuǎn)換轉(zhuǎn)換規(guī)則:將右側(cè)表達(dá)式的值的類型轉(zhuǎn)換成左側(cè)變量的類型將取值范圍小的類型轉(zhuǎn)換為取值范圍大的類型是安全的,反之是不安全的,可能會產(chǎn)生字節(jié)丟失的錯誤自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換實例自動類型轉(zhuǎn)換自動類型轉(zhuǎn)換實例Example:
inttotal,number; floataverage; … average=total/number; 15/27total15number2average??7.000000115/68強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換強轉(zhuǎn)可以消除從大到小的轉(zhuǎn)換警告轉(zhuǎn)換方法(類型)表達(dá)式;inta;a=(int)7.300000;a=7強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換的例子Example:
inttotal,number; floataverage; … average=(float)total/number; 15.000000/27.500000total15number2average??7.500000強制類型轉(zhuǎn)換強制類型轉(zhuǎn)換的例子m/2=2(float)(m/2)=2.000000(float)m/2=2.500000m=53.10賦值運算符及其表達(dá)式類型轉(zhuǎn)換的一般規(guī)律除前面所述規(guī)則外,按存儲單元中的存儲形式直接傳送。賦值運算符的優(yōu)先級是倒數(shù)第二(僅高于逗號運算符),并且賦值運算符具有右結(jié)合性規(guī)則。
a=b=c=0等價于a=(b=(c=0))3.10賦值運算符及其表達(dá)式例:帶符號數(shù)據(jù)賦值給無符號變量
#include<stdio.h>
intmain(){unsigneda;intb=-1;a=b;printf("a=%u\n",a);
return0;}運行的結(jié)果是:
a=4294967295111111111111111111111111111111113.10賦值運算符及其表達(dá)式復(fù)合賦值運算符
變量△=表達(dá)式
等價于變量=變量△(表達(dá)式)其中△是+、-、*、/、%等運算符中的任何一個。如:+=a+=b等價于a=a+b,a+=b+c等價于a=a+(b+c)-=a-=b等價于a=a-b,a-=b+c等價于a=a-(b+c)*=a*=b等價于a=a*b,a*=b+c等價于a=a*(b+c)/=a/=b等價于a=a/b,a/=b+c等價于a=a/(b+c)%=a%=b等價于a=a%b,a%=b+c等價于a=a%(b+c)3.10賦值運算符及其表達(dá)式復(fù)合賦值運算符
思考題已知變量a的值為3,請問分別執(zhí)行下面兩個語句a+=a-=a*a;a+=a-=a*=a;
3.10賦值運算符及其表達(dá)式
左值
賦值運算符的左邊必須是一個可修改的左值(lvalue,如變量等)。例如:inta,b;b=5+(a=6);inta,b,c;a=(b=10)/(c=2);inta=12;a+=a-=a*a;inta,b;printf("%d",a=b);3.9算術(shù)運算符及其表達(dá)式3.10賦值運算符及其表達(dá)式3.11順序運算符及其表達(dá)式3.12位運算符及其表達(dá)式3.13語句概述3.14輸入、輸出3.15程序的錯誤類型3.16調(diào)試與測試3.11順序運算符及其表達(dá)式順序(逗號)運算符
是一個雙目運算符,其一般形式是:
表達(dá)式1,表達(dá)式2,……表達(dá)式n
由逗號運算符構(gòu)成的表達(dá)式的值是表達(dá)式n的值。逗號運算符的求值順序是確定的,從左到右。
例如:
inta=3,b=8,c;
a+b,c=a-b,a=a*b;的值是表達(dá)式a=a*b的值24。
c=a%b,b=a*b,b+a
;的值是表達(dá)式b+a的值24+3。順序運算符使用的例子:for(i=1,j=0;i<100;i++,j++)…3.11順序運算符及其表達(dá)式順序運算符
除了用作順序運算符之外,也用于函數(shù)參數(shù)的分隔。如:printf("%d,%d",a,b);
printf("%d,%d,%d",max(a,b,c),b,c);逗號運算符在所有運算符中優(yōu)先級最低3.9算術(shù)運算符及其表達(dá)式3.10賦值運算符及其表達(dá)式3.11順序運算符及其表達(dá)式3.12位運算符及其表達(dá)式3.13語句概述3.14輸入、輸出3.15程序的錯誤類型3.16調(diào)試與測試3.12位運算符及其表達(dá)式位運算--進(jìn)行二進(jìn)制位的運算。參加位運算的操作數(shù)必須是整型或字符型。位與運算符&位或運算符|位異或運算符^位取反運算符~位左移運算符<<位右移運算符>>3.12位運算符及其表達(dá)式
3.12位與運算符&
參加運算的兩個操作數(shù)按對應(yīng)的位進(jìn)行“與”運算。例如:3&5=1其具體操作如下
3的二進(jìn)制表示為00000000000000115的二進(jìn)制表示為&0000000000000101 0000000000000001
-3&-5=-7
-3的補碼形式是
1111111111111101
-5的補碼形式是&
1111111111111011
11111111111110013.12位或運算符|參加運算的兩個操作數(shù)按對應(yīng)的位進(jìn)行“或”運算。例如:48|15=630000000000110000
|000000000000111100000000001111113.12位異或運算符^
參加運算的兩個操作數(shù)按對應(yīng)的位進(jìn)行“異或”運算。若對應(yīng)位相同,則結(jié)果為0;若對應(yīng)位不同,則結(jié)果為1。例如:57^42=190000000000111001
^000000000010101000000000000100113.12位取反運算符~“取反”運算符是一個單目運算符,用來將其操作數(shù)的每一位取反。例如:~0x0B8F
~00001100100011111111001101110000~0=-1,即:
~000000000000000011111111111111113.12位左移運算符<<
將左操作數(shù)的各二進(jìn)制位全部向左移動若干位。左邊移出的位丟棄,右邊空白位填0。左移1位相當(dāng)于乘2。例如:inta=15;則執(zhí)行a=a<<2;運算后等于60。
<<2000000000000111100000000001111003.12位右移運算符>>
將左操作數(shù)的各二進(jìn)制位全部向右移動若干位。右邊移出的位丟棄,一般情況,左邊空白位填原最高位(即符號位)。右移1位相當(dāng)于除2。例如:inta=48;則執(zhí)行a=a>>2;運算后等于12
>>2000000000011000000000000000011003.12位右移運算符>>
算術(shù)右移:右移時左邊空白位填原符號位。邏輯右移:右移時左邊空白位填‘0’。一般unsigned類型用邏輯右移,signed用算術(shù)右移例如:inta=-1;則執(zhí)行a=a>>2;
>>21111111111111111算術(shù)右移
1111111111111111
>>21111111111111111邏輯右移
00111111111111113.12位運算復(fù)合賦值運算符
位運算有如下復(fù)合賦值運算符:
&=|=^=>>=<<=
例如:a&=b等價于a=a&ba<<=2等價于a=a<<23.12不同長度的數(shù)據(jù)進(jìn)行位運算
如果兩個操作數(shù)長度不同,則系統(tǒng)會將兩者按右端對齊。長度小者擴充成大者長度。當(dāng)操作數(shù)是unsigned時,左端填充0;否則,左端填充原符號位。例如:shortinta=1;charb=-5;計算a&b則b也擴充成與a長度相等,左端填充1。
a:0000000000000001
b:1111111111111011
a&b:0000000000000001a|b:11111111111110113.12位運算舉例例取一個整數(shù)a從右端開始的4-7
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司工作計劃六篇
- 2022年小學(xué)教師工作計劃
- 護(hù)士長每周工作計劃
- 2024年農(nóng)村廣播電視行業(yè)發(fā)展監(jiān)測及投資戰(zhàn)略咨詢報告
- 事故賠償協(xié)議書匯編五篇
- 參觀類實習(xí)報告模板合集九篇
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)思維與行動 課件 第五章 創(chuàng)業(yè)思維概述
- 市場方案策劃模板錦集五篇
- 會計實習(xí)周記格式5篇
- -護(hù)士長述職報告
- 六年級語文上冊期末試卷及完整答案
- 人教版(2024)數(shù)學(xué)七年級上冊期末測試卷(含答案)
- 醫(yī)院護(hù)理10s管理
- 2024年山西晉中市靈石縣事業(yè)單位招聘工作人員公8人歷年管理單位遴選500模擬題附帶答案詳解
- 上海市市轄區(qū)(2024年-2025年小學(xué)六年級語文)部編版質(zhì)量測試(上學(xué)期)試卷及答案
- 2024-2020年上海高考英語作文試題匯編 (解讀及范文)
- 依法執(zhí)業(yè)與醫(yī)療安全培訓(xùn)課件
- C語言程序設(shè)計(蘭州石化職業(yè)技術(shù)大學(xué))知到智慧樹期末考試答案題庫2024年秋蘭州石化職業(yè)技術(shù)大學(xué)
- 《GMP基礎(chǔ)知識培訓(xùn)》課件
- fsQCA方法與案例分析
- 中國火鍋文化課件
評論
0/150
提交評論