




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第三章數據類型、運算符與表達式延邊大學師范學院于茂春C程序設計1精選課件
第三章數據類型、運算符與表達式3.1C的數據類型3.2常量與變量3.3整型數據3.4實型數據3.5字符型數據3.6變量賦初值3.7各類數值型數據間的混合運算3.8算術運算符和算術表達式3.9賦值運算符和賦值表達式3.10逗號運算符和逗號表達式2精選課件3.1C的數據類型
整型字符型基本類型實型(浮點型)單精度型枚舉類型雙精度型
數組類型數據類型構造類型結構體類型共用體類型指針類型空類型回第三章3精選課件3.2常量與變量1.常量:在程序運行過程中,其值不能改變的量稱為常量也可以用一個標識符代表一個常量
#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf(“total=%d”,total);}main(){inta,b;charx,y;a=1;b=2;x=‘c’;y=‘s’;printf(“%d=%c”,a,x);printf(“%d=%c”,b,y);}4精選課件2.變量其值可以改變的量稱為變量。例:main(){inta,b;a=3;b=4;printf(“%d”,a);a=a+b;printf(“%d”,a);}用來標識變量名、符號常量名、函數名、數組名、類型名、文件名的有效字符序列稱為標識符。(關鍵字、預定義、用戶標識符)標識符:只能由字母、數字、下劃線三種字符組成,且第一個字符必須為字母或下劃線合法標識符:first,stu_1_1,_tea,a1,FIRST,First非法標識符:a.m,ab&c,1stu,$56,a>b*注意:C程序中的變量必須先定義后使用5精選課件回第三章變量命名規則1、只能由字母、數字、下劃線三種字符組成2、第一個字符必須為字母或下劃線3、大小寫有區別4、不允許使用保留字和關鍵字5、最大長度無統一規定,隨系統而變6精選課件3.3整型數據1.整型常量的表示方法十進制整數。如123,-456,0等。八進制整數。以0開頭,如0123,-011等。十六進制整數。以0x開頭。如0x123,-0x12等。2.整型變量(1)整型數據在內存中的存放形式(以補碼方式表示)inti;i=10;i10i01010000000000007精選課件(2)整型變量的分類
基本整型,以int表示。如:inta,b;
短整型,以shortint或short表示。如:shorta,b;
長整型,以longint或long表示。如:longa,b;
無符號數。加上修飾符unsigned。整型數據的取值范圍:[signed]int16位-32768~32767%d
unsigned[int]16位0~65535%u[signed]short[int]16位-32768~32767%d
unsignedshort[int]16位0~65535%ulong[int]32位-2147483648~2147483647%ldunsignedlong[int]32位0~4294967295%lu8精選課件(3)整型變量的定義與使用
對程序中的變量要先定義后使用。定義方式:
inta;longa,b;unsignedlongc,d,e;
對變量的定義,一般放在函數開頭的聲明部分。
main(){inta,b,c,d;unsignedu;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%d;b+u=%d\n”,c,d);}main(){inta,b;a=32767;b=a+1;printf(“%d,%d”,a.b);}運行結果:a+u=22;b+u=149精選課件3.4實型數據實型常量的表示方法十進制小數形式。由數字和小數點組成,如:.123,123.,0.3,123.0(必須要有小數點)指數形式。如123e3,123E3都代表123X103
。字母e或E之前必須有數字,e后面的指數必須為整數。2.實型變量1)實型變量的分類:分為單精度型(float)、雙精度型
(double)、長雙精度型(longdouble)。(46頁表3.2)2)定義方式:
floatx,y;doublez;longdoublet;10精選課件3)實型數據的舍入誤差main(){floata,b;a=123456.789e5;b=a+20;printf(“%f”,b);}運行結果:12345678848.000000實型常量的類型:
f=2.45678*4523.65f=2.45678f*4523.65ffloata;doubleb;a=111111.111;b=111111.111;Float型:7位有效位11精選課件3.5字符型數據1.字符常量:用單撇號括起來的一個字符。如:‘a’,’?’,’D’。特殊形式的字符常量(轉義字符):\n,\r,\005,\x2e。2.字符變量:用來存放字符常量,一個字符變量只能存放一個字符。charc1,c2;c1=‘a’;c2=‘b’;ac1bc2c19798c2c1=97;c2=98;intc1;charc2;c1=‘a’;c2=97;10000110c1c201000110c1c210000110100001100000000048頁表3.312精選課件例:
main(){charc1,c2;c1=97;c2=98;printf(“%c%c\n”,c1,c2);printf(“%d%d\n”,c1,c2);}例:
main(){charc1,c2;c1=‘a’;c2=‘b’;c1=c1-32;c2=c2-32;printf(“%c%c”,c1,c2);}運行結果:
ab9798運行結果:
AB13精選課件字符串常量:是用一對雙撇號括起來的字符序列。
“china”,“a”,“$123.45”
。
字符串常量printf(“Howdoyoudo”);‘a’
“a”\0aacharc;c=‘a’;c=“a”;X\0anihc“china”\054.321
$“$123.45”14精選課件3.6變量賦初值main(){inta,b;charx,y;a=1;b=2;x=‘c’;y=‘s’;printf(“%d=%c”,a,x);printf(“%d=%c”,b,y);}intx1=3;
intx1;x1=3;
inta=1,b=2;charx=‘c’,y=‘s’;floata,b,c=5;
floata,b,c;c=5;15精選課件3.7各類數值型數據間的混合運算doublefloatlongunsignedintchar,shortfloata;a=1.3+3.73;charc1,c2=‘A’;c1=c2+’0’;longa,b=123;intc=5;a=b+c;doublea=3.4416;intb,c=3;b=a*c;10+‘a’+i*f-d/ei:intf:floatd:doublee:long3/1.016精選課件3.8算術運算符和算術表達式基本的算術運算符:+,-,*,/,%3+5,5-2,3*5,5/3,5.0/3,5%3,-17%3,19%-4(%兩側必須為整數)算術表達式:用算術運算符和括號將運算對象連接起來的、符合C語法規則的式子。
a*b/c-1.5+’a’運算符的優先級和結合性。在表達式求值時,先按運算符的優先級別高低次序執行。
a-b*c
算術運算符的結合方向為自左至右。
a-b+c
注意:如果一個運算符的兩側的數據類型不同,則先進行類型轉換,再進行運算。a-b+c*d17精選課件()、+、-、*、/、%、+、-單目雙目高低同級同級同級算術運算符的優先級:18精選課件4.強制類型轉換運算符可以利用強制類型轉換運算符將一個表達式轉換成所需類型。
(double)a(int)(x+y)(float)(5%3)一般形式:(類型名)(表達式)
(int)(x+y)(int)x+y例1:
main(){floatx;inti;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);}運行結果:x=3.600000,i=319精選課件5.自增、自減運算符++i,--i
intj,i=3;j=++i;i++,i--intj,i=3;j=i++;inti=3,j=4;printf(“%d,%d”,++i,j++):Printf(“%d,%d”,i,j);4,44,5注意:1)自增運算符和自減運算符只能用于變量,而不能用于常量或表達式i++,++i5++(i+j)++i2)++和--的結合方向是“自右至左”main(){intk,i=232;k=-i++;Printf(“%d,%d”,k,i);}-232,233main(){intk,i=232;k=-++i;Printf(“%d”,k);}-233i=i+1;j=i;j=i;i=i+1;20精選課件3.9賦值運算符和賦值表達式1.賦值運算符:=a=3a=3+52.類型轉換。若賦值運算符兩側的類型不一致,是數值型或字符型時,在賦值時要進行類型轉換。1)將實型數據賦給整型變量時,舍棄小數部分。
a=3.56;將整型數據賦給單、雙精度變量時,數值不變,但以浮點數形式存儲到變量中
f=23將一個double型數據賦給float變量時,截取其前面7位有效數字。
f=23.20242628202426
將一個float型數據賦給double變量時,數值不變,有效位數擴展到16位。21精選課件4)字符型數據賦給整型變量時,將字符數據的8位放到整型變量低8位中。c=‘\003’
11000000i=c;11000000000000002、所用系統將字符處理為帶符號的量,若字符最高位為0,則整型變量高8位補0;若字符最高位為1,則高8位補1。c=‘\376’
01111111i=c;0111111100000000c=‘\376’
01111111i=c;01111111111111111、所用系統將字符處理為無符號的量或對unsignedchar
型變量賦值,高8位補0。22精選課件5)將一個int、short、long型數據賦給一個char型變量時,只將其低8位原封不動地送到char型變量。inti=289;charc;c=i;i=2891000010010000000c=i100001003.復合的賦值運算符:在賦值符“=”之前加上其他運算符。
a+=3a=a+3x*=y+8x=x*(y+8)x%=3x=x%3main(){inta=2,b=7;a*=b*5-3;printf(“%d”,a);}a=a*(b*5-3)運行結果:6423精選課件賦值表達式:由賦值運算符將一個變量和一個表達式連接起來的式子稱為“賦值表達式”。一般形式:<變量><賦值運算符><表達式>a=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)a+=a-=a*aa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 摩托車銷售合同協議書
- 物資采購合同安全協議書
- 合同洽談協議書模板圖片
- 街邊店面物業合同協議書
- 2025年中國紅景天苷項目商業計劃書
- 天氣美術課件圖片
- 重慶鋁鑄汽車零部件項目申請報告
- 中國有機硅DMC項目商業計劃書
- 汽修廠門衛合同協議書
- 安全方針課件
- 醫院消毒供應中心CSSD專科知識《CSSD器械消毒與干燥方式的正確選擇》精美培訓課件
- Photoshop圖像處理模擬試題2023
- 杠桿(CA1340自動車床)加工工藝及夾具設計
- NB-T 10316-2019 風電場動態無功補償裝置并網性能測試規范
- GB/T 9444-2019鑄鋼鑄鐵件磁粉檢測
- GB/T 94.1-1987彈性墊圈技術條件彈簧墊圈
- GB/T 32512-2016光伏發電站防雷技術要求
- GB/T 24425.1-2009普通型鋼絲螺套
- 2023年注冊會計師之注會公司戰略與風險管理真題練習試卷A卷附答案
- 《華為工作法》讀書分享課件
- -AAR工具的介紹課件
評論
0/150
提交評論