C語言程序設(shè)計(jì)-第2章_第1頁
C語言程序設(shè)計(jì)-第2章_第2頁
C語言程序設(shè)計(jì)-第2章_第3頁
C語言程序設(shè)計(jì)-第2章_第4頁
C語言程序設(shè)計(jì)-第2章_第5頁
已閱讀5頁,還剩37頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第2章基本數(shù)據(jù)類型與運(yùn)算符

返回總目錄目錄1數(shù)據(jù)類型和取值范圍2運(yùn)算符與表達(dá)式3類型轉(zhuǎn)換

返回總目錄●基本要求:

1)熟悉C語言的常用數(shù)據(jù)類型;

2)熟悉C語言的常用運(yùn)算符、表達(dá)式;●學(xué)習(xí)重點(diǎn):

1)C語言運(yùn)算符的使用;

2)C的數(shù)據(jù)類型;

3)常量的表示,變量的定義與使用。

1.1

標(biāo)識(shí)符

●標(biāo)識(shí)符定義:用來標(biāo)識(shí)變量、常量、函數(shù)等的字符序列組成:只能由字母、數(shù)字、下劃線組成,且第一個(gè)字母必須是字母或下劃線大小寫敏感不能使用關(guān)鍵字命名原則:見名知意不宜混淆如l與I,o與01基本數(shù)據(jù)類型和取值范圍●標(biāo)識(shí)符例:判斷下列標(biāo)識(shí)符號(hào)合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123M.D.John3days#33char$123a>b1基本數(shù)據(jù)類型和取值范圍1.1

標(biāo)識(shí)符

1.1

標(biāo)識(shí)符

●標(biāo)識(shí)符分類:關(guān)鍵字:又稱系統(tǒng)的保留字,C語言已經(jīng)預(yù)定義了一批標(biāo)識(shí)符,他們?cè)诔绦蛑写碇潭ǖ暮x,不能做他用。如:main、double、int等。更多見附錄1預(yù)定義標(biāo)識(shí)符:C語言中預(yù)先定義的并具有特定含義的標(biāo)識(shí)符,如函數(shù)庫的函數(shù)名字、預(yù)處理命令(如define)等。用戶標(biāo)識(shí)符:自己根據(jù)需求定義的標(biāo)識(shí)符。1基本數(shù)據(jù)類型和取值范圍●數(shù)據(jù)類型描述定義:計(jì)算機(jī)處理的對(duì)象是數(shù)據(jù),而數(shù)據(jù)是以某種特定的形式存在的。不同的數(shù)據(jù)之間往往還存在著某些聯(lián)系。不同形式的數(shù)據(jù)決定了數(shù)據(jù)在內(nèi)存中的存儲(chǔ)空間大小及數(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整型浮點(diǎn)型單精度型float雙精度型double短整型short長(zhǎng)整型long整型int數(shù)組結(jié)構(gòu)體struct共用體union數(shù)據(jù)類型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.數(shù)據(jù)取值范圍3.其上可進(jìn)行的操作●數(shù)據(jù)類型總表

返回目錄●基本類型及范圍

(VisualC++6.0環(huán)境下)1基本數(shù)據(jù)類型和取值范圍1.2

基本數(shù)據(jù)類型和取值范圍

1.3

常量與變量

C語言中基本數(shù)據(jù)類型都有常量和變量之分。C程序中對(duì)用到的所有數(shù)據(jù)都要指定數(shù)據(jù)類型。1基本數(shù)據(jù)類型和取值范圍●常量定義:程序運(yùn)行時(shí)其值不能改變的量(即常數(shù))分類:符號(hào)常量:用標(biāo)識(shí)符代表常量定義格式:#define

符號(hào)常量常量如#definePRICE30例符號(hào)常量舉例#definePRICE30main(){

intnum,total;num=10;total=num*PRICE;

printf("total=%d",total);}一般用大寫字母是宏定義預(yù)處理命令,不是C語句直接常量:整型常量實(shí)型常量字符常量字符串常量1基本數(shù)據(jù)類型和取值范圍1.3

常量與變量

●常量---整型常量(整常數(shù))三種形式:十進(jìn)制整數(shù):由數(shù)字0~9和正負(fù)號(hào)表示.如123,-456,0八進(jìn)制整數(shù):由數(shù)字0開頭,后跟數(shù)字0~7表示.如0123,011十六進(jìn)制整數(shù):由0x開頭,后跟0~9,a~f,A~F表示.如0x123,0Xff示例:0571=(377)100x179=(377)100X179=(377)101基本數(shù)據(jù)類型和取值范圍1.3

常量與變量

●常量---整型常量(整常數(shù))兩種長(zhǎng)度:整型常量按長(zhǎng)度劃分為兩種:短整型和長(zhǎng)整型(后綴為小寫字母l或大寫字母L),從長(zhǎng)度來看:TurboC中默認(rèn)為短整型,如-377是一個(gè)短整型數(shù),而-377l或-377L表示-377是長(zhǎng)整型數(shù)。而在VisualC++6.0中默認(rèn)為長(zhǎng)整型,如-377、-377l或-377L均表示-377是長(zhǎng)整型數(shù)。

例:語句:printf(“%d,%d”,sizeof(-377),sizeof(-377L));

在TurboC中的運(yùn)行結(jié)果為:2,4

而在VC中的結(jié)果為:4,4小結(jié):從數(shù)據(jù)類型角度來分析,整型常量默認(rèn)為int類型,而加上后綴(l或L)后,就是longint類型。1基本數(shù)據(jù)類型和取值范圍1.3

常量與變量

●常量---實(shí)型常量(實(shí)數(shù)或浮點(diǎn)數(shù))表示形式:十進(jìn)制數(shù)形式:(必須有小數(shù)點(diǎn))如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

實(shí)型常量的類型默認(rèn)double型在實(shí)型常量后加字母f或F,認(rèn)為它是float型例:語句:printf(“%d,%d”,sizeof(0.123),sizeof(0.123F));

在TurboC和VC中的運(yùn)行結(jié)果均為:8,41基本數(shù)據(jù)類型和取值范圍1.3

常量與變量

●常量---字符常量定義:用單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符.

字符常量的值:該字符的ASCII碼值如‘a(chǎn)’‘A’‘?’‘\n’‘\101’轉(zhuǎn)義字符:反斜線后面跟一個(gè)字符或一個(gè)代碼值表示如‘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)義字符含義換行垂直制表回車響鈴單引號(hào)3位8進(jìn)制數(shù)ooo代表的字符水平制表退格換頁反斜線雙引號(hào)2位16進(jìn)制數(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\'");}運(yùn)行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’例main(){printf(“Y\b=\n”);}運(yùn)行結(jié)果:屏幕顯示:=打印機(jī)輸出:¥1基本數(shù)據(jù)類型和取值范圍1.3

常量與變量

●常量---字符串常量定義:用雙引號(hào)(“”)括起來的字符序列存儲(chǔ):每個(gè)字符串尾自動(dòng)加一個(gè)‘\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)識(shí)符1基本數(shù)據(jù)類型和取值范圍1.3

常量與變量

●變量編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元…...地址shorta=1,b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址…...內(nèi)存1-3隨機(jī)數(shù)例:

inta=2,b,c=4;floatdata=3.67;charch=‘A’;

intx=1,y=1,z=1;

intx=y=z=1;變量初始化:定義時(shí)賦初值1基本數(shù)據(jù)類型和取值范圍1.3

常量與變量

●變量例1

intstudent;

stadent=19;//本行語句有錯(cuò),符號(hào)“stadent”

未定義

例2

int

a,b,c;c=a%b;

//本行語句有錯(cuò),a、b沒有具體的值就參與運(yùn)算

變量的使用:先定義,后使用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ù)隨機(jī)器不同而不同,主要類型說明符:short、int、long可用sizeof(類型標(biāo)識(shí)符)測(cè)量#include"stdio.h"main(){

printf("intlength=%d",sizeof(int));}VC運(yùn)行結(jié)果:intlength=41基本數(shù)據(jù)類型和取值范圍1.3

常量與變量

●變量實(shí)型變量主要類型說明符:float、double、longdoublefloat:占4字節(jié),提供6~7位有效數(shù)字(跟C編譯系統(tǒng)有關(guān),將實(shí)型數(shù)據(jù)按指數(shù)形式存儲(chǔ)時(shí),一般若以24位二進(jìn)制位表示小數(shù)部分(含符號(hào)),則對(duì)應(yīng)的十進(jìn)制有效數(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個(gè)字節(jié)char與int數(shù)據(jù)間可進(jìn)行算術(shù)運(yùn)算例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);}運(yùn)行結(jié)果:total=37.500000,ch1=d宏定義變量定義輸出結(jié)果1基本數(shù)據(jù)類型和取值范圍1.3

常量與變量

2運(yùn)算符與表達(dá)式2.1

C中提供的主要運(yùn)算符

C運(yùn)算符算術(shù)運(yùn)算符:(+-*/%++--)關(guān)系運(yùn)算符:(<<===>>=!=)邏輯運(yùn)算符:((!&&||)位運(yùn)算符:(<<>>~|^&)賦值運(yùn)算符:(=及其擴(kuò)展)條件運(yùn)算符:(?:)逗號(hào)運(yùn)算符:(,)指針運(yùn)算符:(*&)求字節(jié)數(shù):(sizeof)強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:(.->)下標(biāo)運(yùn)算符:([])其它:(()-)●運(yùn)算符

返回目錄2.2算術(shù)運(yùn)算與算法表達(dá)式

結(jié)合方向:從左向右優(yōu)先級(jí):----->*/%----->+-

(2)(3)(4) 說明:“-”可為單目運(yùn)算符時(shí),右結(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ù)運(yùn)算符:+-*/%2運(yùn)算符與表達(dá)式●自增、自減運(yùn)算符++--作用:使變量值加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ù)運(yùn)算與算法表達(dá)式

2運(yùn)算符與表達(dá)式●自增、自減運(yùn)算符++--說明:++--不能用于常量和表達(dá)式,如5++,(a+b)++++--結(jié)合方向:自右向左優(yōu)先級(jí):-++-------->*/%----->+-

(2)(3)(4)例-i++-(i++)i=3;printf(“%d”,-i++);//-3

例-i++i=3;printf(“%d”,-i++);2.2算術(shù)運(yùn)算與算法表達(dá)式

2運(yùn)算符與表達(dá)式2.3

賦值運(yùn)算與連續(xù)賦值

在C中,運(yùn)算符“=”是賦值運(yùn)算符。

簡(jiǎn)單賦值運(yùn)算的一般形式為:

變量=表達(dá)式其功能是將一個(gè)表達(dá)式的值賦給變量。如下表達(dá)式

a=b+c該式讀作將表達(dá)式b+c的值賦給a。其本意是改寫變量a的值,而不是判斷b+c與a是否相等,●賦值運(yùn)算2運(yùn)算符與表達(dá)式●連續(xù)賦值在C語言中,賦值運(yùn)算符的級(jí)別較低,為14級(jí),并滿足右結(jié)合規(guī)則。因此表達(dá)式:

x=y=z=1是連續(xù)賦值表達(dá)式,其功能相當(dāng)于如下表達(dá)式的功能

x=(y=(z=1))它是先執(zhí)行表達(dá)式z=1,即將1賦給z,表達(dá)式值也為1,然后將表達(dá)式值1賦給y,即執(zhí)行y=1,表達(dá)式值也仍為1,再將表達(dá)式值1賦給x,即執(zhí)行x=1。2.3

賦值運(yùn)算與連續(xù)賦值

2運(yùn)算符與表達(dá)式2.4

復(fù)合賦值運(yùn)算

運(yùn)算符舉例意義運(yùn)算符舉例意義+=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ù)合賦值運(yùn)算符2運(yùn)算符與表達(dá)式2.5

逗號(hào)運(yùn)算

形式:表達(dá)式1,表達(dá)式2,……表達(dá)式n結(jié)合性:從左向右優(yōu)先級(jí):15計(jì)算過程:從前往后,依次計(jì)算逗號(hào)表達(dá)式的值:等于表達(dá)式n的值例:#include<stdio.h>main(){intx,y=7;floatz=4;x=(y=y+6,y/z);

printf("x=%d\n",x);}X=3程序運(yùn)行結(jié)果為:2運(yùn)算符與表達(dá)式2.6

求字節(jié)數(shù)(sizeof)

1)sizeof計(jì)算類型占用字節(jié)數(shù)的形式為:

sizeof(類型)2)sizeof計(jì)算變量占用字節(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運(yùn)行結(jié)

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論