




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第2章基本數據類型與運算符
返回總目錄目錄1數據類型和取值范圍2運算符與表達式3類型轉換
返回總目錄●基本要求:
1)熟悉C語言的常用數據類型;
2)熟悉C語言的常用運算符、表達式;●學習重點:
1)C語言運算符的使用;
2)C的數據類型;
3)常量的表示,變量的定義與使用。
1.1
標識符
●標識符定義:用來標識變量、常量、函數等的字符序列組成:只能由字母、數字、下劃線組成,且第一個字母必須是字母或下劃線大小寫敏感不能使用關鍵字命名原則:見名知意不宜混淆如l與I,o與01基本數據類型和取值范圍●標識符例:判斷下列標識符號合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123M.D.John3days#33char$123a>b1基本數據類型和取值范圍1.1
標識符
1.1
標識符
●標識符分類:關鍵字:又稱系統的保留字,C語言已經預定義了一批標識符,他們在程序中代表著固定的含義,不能做他用。如:main、double、int等。更多見附錄1預定義標識符:C語言中預先定義的并具有特定含義的標識符,如函數庫的函數名字、預處理命令(如define)等。用戶標識符:自己根據需求定義的標識符。1基本數據類型和取值范圍●數據類型描述定義:計算機處理的對象是數據,而數據是以某種特定的形式存在的。不同的數據之間往往還存在著某些聯系。不同形式的數據決定了數據在內存中的存儲空間大小及數據的取值范圍。C語言的數據類型主要有:1基本數據類型和取值范圍1.2
基本數據類型和取值范圍
1基本數據類型和取值范圍1.2
基本數據類型和取值范圍
C數據類型基本類型構造類型指針類型空類型void自定義typedef數值類型字符類型char枚舉類型enum整型浮點型單精度型float雙精度型double短整型short長整型long整型int數組結構體struct共用體union數據類型決定:1.數據占內存字節數2.數據取值范圍3.其上可進行的操作●數據類型總表
返回目錄●基本類型及范圍
(VisualC++6.0環境下)1基本數據類型和取值范圍1.2
基本數據類型和取值范圍
1.3
常量與變量
C語言中基本數據類型都有常量和變量之分。C程序中對用到的所有數據都要指定數據類型。1基本數據類型和取值范圍●常量定義:程序運行時其值不能改變的量(即常數)分類:符號常量:用標識符代表常量定義格式:#define
符號常量常量如#definePRICE30例符號常量舉例#definePRICE30main(){
intnum,total;num=10;total=num*PRICE;
printf("total=%d",total);}一般用大寫字母是宏定義預處理命令,不是C語句直接常量:整型常量實型常量字符常量字符串常量1基本數據類型和取值范圍1.3
常量與變量
●常量---整型常量(整常數)三種形式:十進制整數:由數字0~9和正負號表示.如123,-456,0八進制整數:由數字0開頭,后跟數字0~7表示.如0123,011十六進制整數:由0x開頭,后跟0~9,a~f,A~F表示.如0x123,0Xff示例:0571=(377)100x179=(377)100X179=(377)101基本數據類型和取值范圍1.3
常量與變量
●常量---整型常量(整常數)兩種長度:整型常量按長度劃分為兩種:短整型和長整型(后綴為小寫字母l或大寫字母L),從長度來看:TurboC中默認為短整型,如-377是一個短整型數,而-377l或-377L表示-377是長整型數。而在VisualC++6.0中默認為長整型,如-377、-377l或-377L均表示-377是長整型數。
例:語句:printf(“%d,%d”,sizeof(-377),sizeof(-377L));
在TurboC中的運行結果為:2,4
而在VC中的結果為:4,4小結:從數據類型角度來分析,整型常量默認為int類型,而加上后綴(l或L)后,就是longint類型。1基本數據類型和取值范圍1.3
常量與變量
●常量---實型常量(實數或浮點數)表示形式:十進制數形式:(必須有小數點)如0.123,.123,123.0,0.0,123.指數形式:(e或E之前必須有數字;指數必須為整數)如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中的運行結果均為:8,41基本數據類型和取值范圍1.3
常量與變量
●常量---字符常量定義:用單引號括起來的單個普通字符或轉義字符.
字符常量的值:該字符的ASCII碼值如‘a’‘A’‘?’‘\n’‘\101’轉義字符:反斜線后面跟一個字符或一個代碼值表示如‘A’——65,‘a’——97,‘0’——48,‘\n’——101基本數據類型和取值范圍1.3
常量與變量
●常量---字符常量<轉義字符及其含義:轉義字符含義\n\v\r\a\‘\ooo\t\b\f\\\“\xhh轉義字符含義換行垂直制表回車響鈴單引號3位8進制數ooo代表的字符水平制表退格換頁反斜線雙引號2位16進制數hh代表的字符1基本數據類型和取值范圍1.3
常量與變量
●常量---字符常量如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65轉義字符示例:1基本數據類型和取值范圍1.3
常量與變量
●常量---字符常量例轉義字符舉例
main(){printf("\101\x42C\n");
printf("Isay:\"Howareyou?\"\n");
printf("\\CProgram\\\n");
printf("Turbo\'C\'");}運行結果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’例main(){printf(“Y\b=\n”);}運行結果:屏幕顯示:=打印機輸出:¥1基本數據類型和取值范圍1.3
常量與變量
●常量---字符串常量定義:用雙引號(“”)括起來的字符序列存儲:每個字符串尾自動加一個‘\0’作為字符串結束標志hello\0例字符串“hello”在內存中例空串“”\0字符常量與字符串常量不同aa\0例‘a’“a”例:charch;
ch=“A”;例:charch;
ch=‘A’;1基本數據類型和取值范圍1.3
常量與變量
●變量概念:其值可以改變的量變量三要素:變量類型、變量名與變量值變量定義的一般格式:
數據類型變量1[,變量2,…,變量n];例:
inta,b,c;floatdata;決定分配字節數和數的表示范圍合法標識符1基本數據類型和取值范圍1.3
常量與變量
●變量編譯程序根據變量定義為其分配指定字節的內存單元…...地址shorta=1,b=-3,c;abc2字節2字節2字節地址地址…...內存1-3隨機數例:
inta=2,b,c=4;floatdata=3.67;charch=‘A’;
intx=1,y=1,z=1;
intx=y=z=1;變量初始化:定義時賦初值1基本數據類型和取值范圍1.3
常量與變量
●變量例1
intstudent;
stadent=19;//本行語句有錯,符號“stadent”
未定義
例2
int
a,b,c;c=a%b;
//本行語句有錯,a、b沒有具體的值就參與運算
變量的使用:先定義,后使用1基本數據類型和取值范圍1.3
常量與變量
●變量main(){inta,b=2;floatdata;a=1;data=(a+b)*1.2;
printf(“data=%f\n”,data);}變量定義可執行語句main(){inta,b=2;a=1;floatdata;data=(a+b)*1.2;
printf(“data=%f\n”,data);}變量定義位置:一般放在函數開頭1基本數據類型和取值范圍1.3
常量與變量
●變量整型變量占字節數隨機器不同而不同,主要類型說明符:short、int、long可用sizeof(類型標識符)測量#include"stdio.h"main(){
printf("intlength=%d",sizeof(int));}VC運行結果:intlength=41基本數據類型和取值范圍1.3
常量與變量
●變量實型變量主要類型說明符:float、double、longdoublefloat:占4字節,提供6~7位有效數字(跟C編譯系統有關,將實型數據按指數形式存儲時,一般若以24位二進制位表示小數部分(含符號),則對應的十進制有效數字為7位)double類型說明符:占8字節,提供15~16位有效數字#include<stdio.h>main(){doublea=1.234567890123456789e18;floatb=a;
printf("a=%.20le\n",a);
printf("b=%.20le\n",b);}程序輸出結果為:a=1.23456789012345680000e18b=1.23456793955060940000e181基本數據類型和取值范圍1.3
常量與變量
●變量字符型變量字符變量存放字符ASCII碼類型說明符:charchar:占1個字節char與int數據間可進行算術運算例a=‘D’;/*a=68;*/x=‘A’+5;/*x=65+5;*/s=‘!’+‘G’/*s=33+71;*/沒有字符串變量,字符串用字符數組存放1基本數據類型和取值范圍1.3
常量與變量
●變量變量綜合示例:
#definePRICE12.5main(){intnum=3;floattotal;charch1,ch2=‘D’;total=num*PRICE;ch1=ch2-‘A’+‘a’;
printf(“total=%f,ch1=%c\n”,total,ch1);}運行結果:total=37.500000,ch1=d宏定義變量定義輸出結果1基本數據類型和取值范圍1.3
常量與變量
2運算符與表達式2.1
C中提供的主要運算符
C運算符算術運算符:(+-*/%++--)關系運算符:(<<===>>=!=)邏輯運算符:((!&&||)位運算符:(<<>>~|^&)賦值運算符:(=及其擴展)條件運算符:(?:)逗號運算符:(,)指針運算符:(*&)求字節數:(sizeof)強制類型轉換:(類型)分量運算符:(.->)下標運算符:([])其它:(()-)●運算符
返回目錄2.2算術運算與算法表達式
結合方向:從左向右優先級:----->*/%----->+-
(2)(3)(4) 說明:“-”可為單目運算符時,右結合性兩整數相除,結果為整數%要求兩側均為整型數據例5/2=2
-5/2.0=-2.5例5%2=1
-5%2=-11%10=
1
5%1=
05.5%2()●基本算術運算符:+-*/%2運算符與表達式●自增、自減運算符++--作用:使變量值加1或減1種類:前置++i,--i(先執行i+1或i-1,再使用i值)后置i++,i--(先使用i值,再執行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算術運算與算法表達式
2運算符與表達式●自增、自減運算符++--說明:++--不能用于常量和表達式,如5++,(a+b)++++--結合方向:自右向左優先級:-++-------->*/%----->+-
(2)(3)(4)例-i++-(i++)i=3;printf(“%d”,-i++);//-3
例-i++i=3;printf(“%d”,-i++);2.2算術運算與算法表達式
2運算符與表達式2.3
賦值運算與連續賦值
在C中,運算符“=”是賦值運算符。
簡單賦值運算的一般形式為:
變量=表達式其功能是將一個表達式的值賦給變量。如下表達式
a=b+c該式讀作將表達式b+c的值賦給a。其本意是改寫變量a的值,而不是判斷b+c與a是否相等,●賦值運算2運算符與表達式●連續賦值在C語言中,賦值運算符的級別較低,為14級,并滿足右結合規則。因此表達式:
x=y=z=1是連續賦值表達式,其功能相當于如下表達式的功能
x=(y=(z=1))它是先執行表達式z=1,即將1賦給z,表達式值也為1,然后將表達式值1賦給y,即執行y=1,表達式值也仍為1,再將表達式值1賦給x,即執行x=1。2.3
賦值運算與連續賦值
2運算符與表達式2.4
復合賦值運算
運算符舉例意義運算符舉例意義+=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復合賦值運算符2運算符與表達式2.5
逗號運算
形式:表達式1,表達式2,……表達式n結合性:從左向右優先級:15計算過程:從前往后,依次計算逗號表達式的值:等于表達式n的值例:#include<stdio.h>main(){intx,y=7;floatz=4;x=(y=y+6,y/z);
printf("x=%d\n",x);}X=3程序運行結果為:2運算符與表達式2.6
求字節數(sizeof)
1)sizeof計算類型占用字節數的形式為:
sizeof(類型)2)sizeof計算變量占用字節數的形式有兩種:
sizeof(變量)或sizeof
變量示例:
#include<stdio.h>main(){
inta=5;
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(a));
printf("%d\n",sizeofa);}222運行結
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 結構基礎知識培訓
- 紀法知識培訓課件制作app
- 省考公務員評價試題及答案研究
- 二零二五離婚房產贈與協議書范例
- 墳拆遷協議書
- 2024年檔案管理員職業發展規劃試題及答案
- 農業技術服務協議合同書范例二零二五年
- 大氣簡約設計風-投資亮點匯報
- 二零二五房屋拆遷補償協議書范文
- 二零二五香港股權轉讓協議書
- 中國肝病診療管理規范
- 2024年江蘇省泰州市保安員理論考試題庫及答案(完整)
- 專題01《水銀花開的夜晚》 高考語文二輪復習
- 送達地址確認書(訴訟類范本)
- 2023版北京協和醫院重癥醫學科診療常規
- 計算機輔助設計(Protel平臺)繪圖員級試卷1
- 除法口訣表(完整高清打印版)
- 河北省城市建設用地性質和容積率調整管理規定---精品資料
- 講課實錄-洛書時間數字分析法
- 施工質量月報(樣板)
- (完整版)員工入職檔案表
評論
0/150
提交評論