C語言21基本數(shù)據(jù)類型.ppt
《C語言21基本數(shù)據(jù)類型.ppt》由會員分享,可在線閱讀,更多相關(guān)《C語言21基本數(shù)據(jù)類型.ppt(39頁珍藏版)》請在裝配圖網(wǎng)上搜索。
第2章數(shù)據(jù)類型,第2次課,主要內(nèi)容,一、變量及常量二、C語言基本數(shù)據(jù)類型三、程序中的運(yùn)算四、數(shù)據(jù)的控制臺輸入和輸出(2.4)實(shí)驗(yàn)要求,一、常量與變量,#include"stdio.h"#definePI3.14159main(){floatr;floatarea;r=2;area=PI*r*r;printf("area=%f\n",area);},……if(sex==f‘||sex==F‘)if(age>=55)printf("Sheisretire.\n");elseprintf("Sheisworking.\n");……,程序中處理的數(shù)據(jù)有不同的類型,數(shù)據(jù)表達(dá)的方式可以有常量,可以有變量,實(shí)數(shù),字符及字符串,/*示例ch3_001:變量*/#include"stdio.h"main(){intr;floatarea;r=2;area=3.14159*r*r;r=4;area=3.14159*r*r;printf("area=%f\n",area);},一、常量與變量,,,,,r,area,2,1、變量程序中值可以改變的量,/*示例2:直接常量*/#include"stdio.h"#include"conio.h"main(){intr;floatarea;r=2;area=3.14159*r*r;r=4;area=3.14159*r*r;printf("area=%f\n",area);getch();},一、常量與變量,直接常量,二、常量:程序中固定不變的數(shù)據(jù),一、常量與變量,常量的類型:整型:實(shí)型字符型字符串型,/*ch3_002.c整型常量*/#include"stdio.h“voidmain(){inta,b,c;a=11;b=011;c=0 x11;printf("a=%d,b=%d,c=%d\n",a,b,c);},%d代表輸出的格式是十進(jìn)制整數(shù)形式,一、常量與變量,常量的類型:整型:實(shí)型字符型字符串型,/*ch3_003.c實(shí)型常量*/#include"stdio.h“voidmain(){floatx,y,z;x=12.342;y=1.234e-5;z=-12E-2;printf("a=%f,b=%f,c=%f\n",x,y,z);},%f代表輸出的格式是浮點(diǎn)形式,默認(rèn)小數(shù)點(diǎn)尾數(shù)6位,一、常量與變量,常量的類型:整型:實(shí)型字符型字符串型,/*ch3_004.c字符型常量*/#include"stdio.h”voidmain(){charc1,c2;c1=a;c2=a-32;printf("c1=%c,c2=%c\n",c1,c2);},%c代表輸出的格式是字符形式,printf("c1=%d,c2=%d\n",c1,c2);,字符常量以單引號定界!,表示以十進(jìn)制整數(shù)形式輸出對應(yīng)字符的ASCII值,一、常量與變量,常量的類型:整型:實(shí)型字符型字符串型,/*ch3_005.c字符串常量*/#include"stdio.h”voidmain(){printf("TurboC");},字符串常量以雙引號定界!,,一、常量與變量,編譯程序在每個字符串的后面自動加上’\0’以示結(jié)束。字符串”VisualC++”共有11個字符,除本身10個(空格也算一個)外,還加上’\0’?!皒”與’x’的不同點(diǎn):“x”在存儲的時候會占2個字節(jié)‘x’只由1個字節(jié),一、常量與變量,C語言中沒有字符串變量類型字符型數(shù)據(jù)只能存儲于字符型變量中,例如,charmax=”Howareyoudoing!”,這樣的語句使用是錯誤的。如果要存儲字符串?dāng)?shù)據(jù)的話,那么只能以字符數(shù)組或指針形式實(shí)現(xiàn)。,,,一、常量與變量,特殊的字符常量,轉(zhuǎn)義字符:反斜線后面跟一個字符或一個代碼值表示,一、常量與變量,轉(zhuǎn)義字符舉例(ch3_006.c)#include"stdio.h”voidmain(){printf("\101\x42C\n");printf("Isay:\"Howareyou?\"\n");printf("\\CProgram\\\n");printf("Turbo\C\");},運(yùn)行結(jié)果:(屏幕顯示)ABCIsay:”Howareyou?”\CProgram\Turbo‘C’,ch3_007.c#include"stdio.h”voidmain(){printf(“Y\b=\n”);},運(yùn)行結(jié)果:屏幕顯示:=打印機(jī)輸出:,,二、數(shù)據(jù)類型,/*ch3_008數(shù)據(jù)類型舉例.c*/#include"stdio.h”voidmain(){intnum=0;floatscore=95;chargrade;if(score>=90)grade=A;printf("score=%f,grade=%c\n",score,grade);},1.數(shù)據(jù)類型反映了數(shù)據(jù)內(nèi)在的一些屬性。2.數(shù)據(jù)類型決定:1).數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2).數(shù)據(jù)取值范圍3).其上可進(jìn)行的操作(運(yùn)算),數(shù)據(jù)類型一覽表,C語言提供了豐富的數(shù)據(jù)類型,其主要包括,二、數(shù)據(jù)類型,,,基本類型所占存儲空間字節(jié)數(shù)及數(shù)據(jù)范圍,二、數(shù)據(jù)類型,,,數(shù)據(jù)類型int、float、char和double可以帶有各種修飾前綴。,修飾符可以與基本類型相組合,結(jié)果如下表:,二、數(shù)據(jù)類型,注意:不同系統(tǒng)及不同版本的C,在各種類型長度上有差異!,二、數(shù)據(jù)類型,/*ch3_009數(shù)據(jù)溢出的錯誤*/#include"stdio.h"voidmain(){inta;a=3400000000;printf("a=%d\n",a);},,超過了整數(shù)的范圍上溢出,由于不同數(shù)據(jù)類型所占據(jù)的存儲空間不同,在定義變量的類型時應(yīng)充分考慮變量的取值范圍。例如,整型(int)類型的變量取值范圍為-232~232-1。如果在運(yùn)算中,數(shù)值超出這個范圍則稱為溢出,大于232-1稱為上溢,小于-232稱為下溢,二、數(shù)據(jù)類型,請大家分析,以下程序輸出結(jié)果正確么?,#include"stdio.h"voidmain(){shortinta;a=32768;printf("a=%d\n",a);},#include"stdio.h"voidmain(){unsignedshortinta;a=32768;printf("a=%d\n",a);},/*ch3_009數(shù)據(jù)溢出的錯誤*/,,三、程序中的運(yùn)算,運(yùn)算符與表達(dá)式1.算術(shù)運(yùn)算符2.賦值運(yùn)算符3.關(guān)系運(yùn)算符4.邏輯運(yùn)算符5.條件運(yùn)算符6.逗號運(yùn)算符運(yùn)算中的類型轉(zhuǎn)換,三、程序中的運(yùn)算,運(yùn)算符與表達(dá)式1.算術(shù)運(yùn)算符雙目(二元)運(yùn)算符+-*/%單目(一元)運(yùn)算符++--+-改變優(yōu)先級(),,注意:/的兩個操作數(shù)如果為同種類型,結(jié)果也是同樣的類型,1/2=等于?%只能用于兩個整數(shù)之間!10%3結(jié)果為1,,,例ch3_010.c算術(shù)運(yùn)算示例,三、程序中的運(yùn)算,求余運(yùn)算符“%”要求左操作數(shù)和右操作數(shù)都是整數(shù),運(yùn)算結(jié)果是兩個操作數(shù)相除的余數(shù)。,,求余運(yùn)算符“%”,三、程序中的運(yùn)算,單目運(yùn)算符++--例ch3_011.c示例++--,,注意:1.++和—只能作用于變量,不能用于常量及表達(dá)式!2.++--若為后綴,則先計算,后自加(減);++--若為前綴,則先自加(減),后計算,練習(xí):j=3,i=2;k=++j/i++;,//j=4,i=3,K=2,案例ch3_012,三、程序中的運(yùn)算,示例ch3_013單目運(yùn)算++--,三、程序中的運(yùn)算,運(yùn)算符與表達(dá)式1.算術(shù)運(yùn)算符2.賦值運(yùn)算符3.關(guān)系運(yùn)算符4.邏輯運(yùn)算符5.條件運(yùn)算符6.逗號運(yùn)算符運(yùn)算中的類型轉(zhuǎn)換,注意:賦值號左邊只能是變量名,不能是常量、表達(dá)式。,三、程序中的運(yùn)算,2.賦值運(yùn)算符簡單賦值運(yùn)算=復(fù)合賦值運(yùn)算符+=,-+,*=,/=,%=>=,i+=3;j+=i;printf("j=%d\n",j);},i+=3相當(dāng)于i=i+3j+=i相當(dāng)于j=j+i;,思考:intj=3,i=2,k=1;k-=j-=i;運(yùn)算之后i,j,k,210,三、程序中的運(yùn)算,例ch3_016:復(fù)合賦值運(yùn)算示例,三、程序中的運(yùn)算,運(yùn)算符與表達(dá)式1.算術(shù)運(yùn)算符2.賦值運(yùn)算符3.關(guān)系運(yùn)算符4.邏輯運(yùn)算符5.條件運(yùn)算符6.逗號運(yùn)算符運(yùn)算過程中的類型轉(zhuǎn)換,運(yùn)算過程中的類型轉(zhuǎn)換,在表達(dá)式中進(jìn)行運(yùn)算時,通常會將不同類型的數(shù)據(jù)混合使用,此時就會關(guān)系到類型轉(zhuǎn)化的問題。一般轉(zhuǎn)換規(guī)則:“短”→→”長““長”→→”短“則會截斷,丟失精度即:由占存儲空間少的數(shù)據(jù)類型向占存儲空間多的數(shù)據(jù)類型轉(zhuǎn)換。,,運(yùn)算過程中的類型轉(zhuǎn)換,類型轉(zhuǎn)換:第一類:自動轉(zhuǎn)換(隱式轉(zhuǎn)換),charc;c=‘a(chǎn)’-32;,隱式轉(zhuǎn)換1:運(yùn)算轉(zhuǎn)換,,inta=5,b=3;floatc;c=a%b;,隱式轉(zhuǎn)換2:賦值轉(zhuǎn)換,inta=5,b=3;printf(“%f\n”,a-b);,隱式轉(zhuǎn)換3:輸出轉(zhuǎn)換,運(yùn)算過程中的類型轉(zhuǎn)換,floata=5,b=3;intc;c=(int)a%(int)b;,強(qiáng)制類型轉(zhuǎn)換,一般形式:(類型名)(表達(dá)式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6,inta=5,b=3;floatc;c=(float)a/b;,強(qiáng)制類型轉(zhuǎn)換程序設(shè)計中有時需要將表達(dá)式的值轉(zhuǎn)換為某一特定類型時,自動轉(zhuǎn)換不一定能產(chǎn)生正確的結(jié)果。,運(yùn)算過程中的類型轉(zhuǎn)換,Ch3_017強(qiáng)制類型轉(zhuǎn)換,運(yùn)算過程中的類型轉(zhuǎn)換,請大家分析下面程序中所包含的類型轉(zhuǎn)換:#include"stdio.h"voidmain(){floatx=4.5,y=1.5;printf("%f",(x+y)/3-(int)x%(int)y);},綜合練習(xí)ch3_018,求2x2+10 x+9=0的根。,課堂練習(xí),已知華氏溫度轉(zhuǎn)換為攝氏溫度的公式如下:其中C為攝氏溫度,F(xiàn)為華氏溫度,編寫程序?qū)⑷我獾娜A氏溫度轉(zhuǎn)換為攝氏溫度輸出:main(){intF,C;F=300;C=5/9(F-32);printf(“%d\n”,c);}請問程序中有幾處錯誤?如何修改?,,- 1.請仔細(xì)閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點(diǎn)此認(rèn)領(lǐng)!既往收益都?xì)w您。
下載文檔到電腦,查找使用更方便
9.9 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該P(yáng)PT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨(dú)創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 語言 21 基本 數(shù)據(jù)類型
鏈接地址:http://kudomayuko.com/p-11495291.html