




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)類型與簡(jiǎn)單輸入輸出1第1頁,共32頁,2023年,2月20日,星期六教學(xué)內(nèi)容:C語言基本數(shù)據(jù)類型常量與變量數(shù)據(jù)的輸出與輸入2第2頁,共32頁,2023年,2月20日,星期六沃思(N.Wirth)公式:
數(shù)據(jù)結(jié)構(gòu)+算法=程序數(shù)據(jù)是程序處理的對(duì)象,程序的主要任務(wù)就是對(duì)數(shù)據(jù)進(jìn)行加工、處理,而計(jì)算機(jī)中的數(shù)據(jù)包括數(shù)值型數(shù)據(jù)和非數(shù)值型數(shù)據(jù),如我們知道在數(shù)學(xué)中的整數(shù)、實(shí)數(shù)就是數(shù)值型的數(shù)據(jù),計(jì)算機(jī)能夠處理的文字、聲音、圖像等就是非數(shù)值型數(shù)據(jù)。數(shù)據(jù)類型是按照被說明量的性質(zhì)、表示形式和占據(jù)存儲(chǔ)空間的多少以及構(gòu)造特點(diǎn)來劃分的,包括基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型、指針類型和空類型四大數(shù)據(jù)類型。3第3頁,共32頁,2023年,2月20日,星期六數(shù)據(jù)類型決定:1.數(shù)據(jù)占內(nèi)存字節(jié)數(shù)2.其上可進(jìn)行的操作3.其數(shù)據(jù)的取值范圍不同C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型(*)空類型(void)字符類型(char)枚舉類型(enum)整型實(shí)型單精度型(float)雙精度型(double)數(shù)組類型([])結(jié)構(gòu)體(struct)共用體(union)短整型(short)長(zhǎng)整型(long)整型(int)數(shù)值類型2.1 C語言基本數(shù)據(jù)類型2.1.1數(shù)據(jù)類型概述4第4頁,共32頁,2023年,2月20日,星期六2.1.2整數(shù)類型
整型數(shù)據(jù)可分為一般整型、短整型和長(zhǎng)整型三種,其中:(1)一般整型:用int表示;占2字節(jié)(2)短整型:用shortint或short表示;占2字節(jié)(3)長(zhǎng)整型:用longint或long表示;占4字節(jié)整型又可分為有符號(hào)類型和無符號(hào)類型,無符號(hào)類型只在類型符號(hào)前面加上unsigned即可,如:用unsignedint表示無符號(hào)整型,用unsignedshort表示無符號(hào)短整型,用unsignedlong表示無符號(hào)長(zhǎng)整型。對(duì)于無符號(hào)型數(shù)據(jù),存儲(chǔ)單元中沒有符號(hào)位,所有二進(jìn)制位用來存放數(shù)據(jù)本身。5第5頁,共32頁,2023年,2月20日,星期六6第6頁,共32頁,2023年,2月20日,星期六2.1.3實(shí)數(shù)類型實(shí)數(shù)類型的數(shù)據(jù)簡(jiǎn)稱實(shí)型數(shù)據(jù),有時(shí)又稱為浮點(diǎn)型數(shù)據(jù),實(shí)型可分為單精度型和雙精度型兩種,其中:(1)單精度型:用float表示;(2)雙精度型:用double表示。在一般系統(tǒng)中,TurboC所支持float型數(shù)據(jù)在內(nèi)存中占4個(gè)字節(jié)(32位),double型數(shù)據(jù)占8個(gè)字節(jié)(64位)。其中:float型實(shí)數(shù)能接收7位有效數(shù)字(即精確到小數(shù)點(diǎn)后第7位),double型實(shí)數(shù)能接收15位有效數(shù)字(即精確到小數(shù)點(diǎn)后第15位)。7第7頁,共32頁,2023年,2月20日,星期六2.1.4字符類型其類型標(biāo)識(shí)符為char,在內(nèi)存中占一個(gè)字節(jié),字符型數(shù)據(jù)在內(nèi)存中以ASCII碼存儲(chǔ),其ASCII碼值為0~127,如字符‘a(chǎn)’的ASCII碼值為97,用01100001表示。8第8頁,共32頁,2023年,2月20日,星期六符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占位數(shù)整型有無(signed)int(signed)short(int)(signed)long(int)unsignedintunsignedshortunsignedlong實(shí)型字符型有有有無floatdoublecharUnsignedchar161632161632326488-32768~327670~65535-32768~32767-2147483648~21474836470~655350~4294967295約3.4E-38~3.4E38約1.7E-308~1.7E308-128~1270~255說明:數(shù)據(jù)類型所占字節(jié)數(shù)隨機(jī)器硬件不同而不同,上表以IBMPC機(jī)為例:9第9頁,共32頁,2023年,2月20日,星期六2.2.1常量常量指在程序運(yùn)行的整個(gè)過程中其值不能改變的量,可以有不同的類型,又可分為直接常量和符號(hào)常量。2.2常量與變量10第10頁,共32頁,2023年,2月20日,星期六1.整型常量
十進(jìn)制整型常量:與數(shù)學(xué)上的整數(shù)表示相同,由數(shù)字0~9和正負(fù)號(hào)表示,如123,-456,0,而024,25o錯(cuò)誤。
八進(jìn)制整型常量:以0為前綴,后跟數(shù)字0~7表示,如0123,011。十六進(jìn)制整型常量:由0x或0X開頭,后跟0~9,a~f,A~F表示.如0x123,0Xff。注意:在程序中是根據(jù)前綴來區(qū)分各種進(jìn)制數(shù)的,一定要前綴正確;八進(jìn)制與十六進(jìn)制一般只表示正數(shù);整型常數(shù)根據(jù)其值所在范圍確定其數(shù)據(jù)類型;而整型常數(shù)范圍有限,超出范圍時(shí)可用長(zhǎng)整型數(shù)來表示,方法是加后綴”L”或”l”;11第11頁,共32頁,2023年,2月20日,星期六無符號(hào)數(shù)也可用后綴”U”或”u”來表示;常量的前后綴可同時(shí)使用以表示各種類型的數(shù);如:98L,78u,017lu,0xaau,0X1fL例30000為int型65536為longint型12與12L?12第12頁,共32頁,2023年,2月20日,星期六2.實(shí)型常量C中實(shí)型常量只能用十進(jìn)制形式表示,且有一般形式和指數(shù)形式兩種表示方式:一般形式:由0~9的數(shù)字、正負(fù)號(hào)和小數(shù)點(diǎn)組成如2.1,.1,-1.45
指數(shù)形式:由十進(jìn)制數(shù)加上階碼標(biāo)志”e”或”E”以及階碼組成,可表示為aEn,其中a為十進(jìn)制數(shù),n為十進(jìn)制整數(shù)且可以帶符號(hào),其所表示的值為a*10n注意:小數(shù)點(diǎn)不能單獨(dú)出現(xiàn)如:.指數(shù)形式表示中”e”或”E”兩邊必須有數(shù)且后面必須為整數(shù)標(biāo)準(zhǔn)C浮點(diǎn)數(shù)默認(rèn)為double型,并允許使用后綴”f”或”F”來表明為浮點(diǎn)數(shù),如32f和32.0是等值的13第13頁,共32頁,2023年,2月20日,星期六定義:用單引號(hào)括起來的單個(gè)普通字符或轉(zhuǎn)義字符.字符常量的值:該字符的ASCII碼值如‘\101’-----------‘A’‘\012’-----------’\n’‘\376’-----------’’‘\x61’-----------’a’‘\60’-----------’0’‘\483’----------()例:‘A’-------’\101’-------’\x41’--------65如‘A’——65,‘a(chǎn)’——97,
‘0’——48,‘\n’——10如‘a(chǎn)’‘A’‘?’‘\n’‘\101’轉(zhuǎn)義字符:反斜線后面跟一個(gè)字符或一個(gè)代碼值表示例轉(zhuǎn)義字符舉例(ch2_001.c,ch2_004.c)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ī)輸出:¥3.字符常量<轉(zhuǎn)義字符及其含義:轉(zhuǎn)義字符含義\n\v\r\a\‘\ddd\t\b\f\\\“\xhh轉(zhuǎn)義字符含義換行垂直制表回車響鈴單引號(hào)3位8進(jìn)制數(shù)代表的字符水平制表退格換頁反斜線雙引號(hào)2位16進(jìn)制數(shù)代表的字符注意:C語言字符集中任何一個(gè)字符均可用轉(zhuǎn)義字符來表示14第14頁,共32頁,2023年,2月20日,星期六可把一個(gè)字符常量賦值給一個(gè)字符變量,但不能把一個(gè)字符串常量賦值給一個(gè)字符變量。例如:charm;m=“A”;4.字符串常量字符串常量是由一對(duì)雙撇號(hào)括起來的字符序列,如“hello”,“a”,“19”,“”,“”,“0&$”。字符串常量的長(zhǎng)度:字符串中的字符個(gè)數(shù),如“”長(zhǎng)度為0。每個(gè)字符串串尾自動(dòng)加一個(gè)‘\0’作為字符串結(jié)束標(biāo)志。如“hello”在內(nèi)存中為而空串“”在內(nèi)存中為hello\0\0注意:一個(gè)字符常量占1個(gè)字節(jié)的內(nèi)存空間,而字符串常量所占內(nèi)存字節(jié)數(shù)等于其長(zhǎng)度加1。aa\0例‘a(chǎn)’“a”15第15頁,共32頁,2023年,2月20日,星期六5.符號(hào)常量符號(hào)常量指用標(biāo)識(shí)符定義一個(gè)直接常量,它的值在程序中不能更改。聲明形式:#define標(biāo)識(shí)符直接常量如:#definePI3.14159其中:#define是一條宏定義預(yù)處理命令,不是C語句;符號(hào)常量一般用大寫字母;符號(hào)常量在使用之前必須先聲明,定義后程序中遇到該常量處都用其定義的直接常量值代替。#defineRATE8.54voidmain(void){floatresult;result=1000.0*RATE;printf(“resultis%f\n”,result);}16第16頁,共32頁,2023年,2月20日,星期六1.變量的概念:程序執(zhí)行過程中其值可以改變的量變量名、變量值、變量地址2.變量的聲明:
數(shù)據(jù)類型變量1[,變量2,…,變量n];3.變量的初始化:聲明時(shí)賦初值例:
inta,b,c;floatdata;決定分配字節(jié)數(shù)和數(shù)的表示范圍合法標(biāo)識(shí)符例:
inta=2,b,c=4;floatdata=3.67;charch=‘A’;intx=1,y=1,z=1;
intx=y=z=1;變量的使用:先聲明,后使用例1
intstudent;stadent=19;//Undefinedsymbol‘stadent’infunctionmain
例2floata,b,c;c=a%b;//Illegaluseoffloatingpointinfunctionmain
變量聲明位置:一般放在函數(shù)開頭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);}2.2.2變量編譯程序根據(jù)變量定義為其分配指定字節(jié)的內(nèi)存單元…...地址inta=1,b=-3,c;abc2字節(jié)2字節(jié)2字節(jié)地址地址…...內(nèi)存1-3隨機(jī)數(shù)17第17頁,共32頁,2023年,2月20日,星期六例2.2:
main()
{charch1,ch2;
ch1=‘a(chǎn)’;ch2=‘b’;
ch1=ch1-32;ch2=ch2-32;
printf(“ch1=%c,ch2=%c\n”,ch1,ch2);}注意:1、字符型數(shù)據(jù)和整形數(shù)據(jù)是通用的。但字符數(shù)據(jù)只能存放0~255范圍內(nèi)的整數(shù)。
2、字符數(shù)據(jù)與整數(shù)可以直接進(jìn)行算術(shù)運(yùn)算。
3、字符數(shù)據(jù)與整型數(shù)據(jù)可以相互賦值。
4、TurboC將字符數(shù)據(jù)處理成帶符號(hào)的整數(shù),如果不想按有符號(hào)處理,可將字符變量定義為unsignedchar類型。4.變量的賦值可以用賦值運(yùn)算符“=”將一個(gè)表達(dá)式的值賦給一個(gè)變量。18第18頁,共32頁,2023年,2月20日,星期六2.3數(shù)據(jù)的輸出與輸入2.3.1數(shù)據(jù)的輸出1.字符輸出函數(shù)格式:putchar(c)參數(shù):c為字符常量、變量或表達(dá)式;功能:把字符c輸出到標(biāo)準(zhǔn)輸出設(shè)備上(一般指顯示器);返回值:正常時(shí)返回所輸出字符的ASCII值;出錯(cuò),則返回-1。19第19頁,共32頁,2023年,2月20日,星期六例2.3:#include<stdio.h>main(){intc;chara;c=65;a='B';putchar(c);putchar('\n');putchar(a);}運(yùn)行結(jié)果:AB20第20頁,共32頁,2023年,2月20日,星期六2.格式輸出函數(shù)格式:printf(“格式控制字符串”,輸出項(xiàng)列表);功能:按指定格式向輸出設(shè)備(一般為顯示器)輸出數(shù)據(jù);返回值:正常,返回實(shí)際輸出的字符數(shù);出錯(cuò),則返回-1。輸出項(xiàng)列表可以有零個(gè)或多個(gè)輸出項(xiàng),每個(gè)輸出項(xiàng)之間用逗號(hào)分割,輸出的數(shù)據(jù)可以是整數(shù)、實(shí)數(shù)、字符和字符串;格式控制字符串必須用英文的雙引號(hào)括起來,它的作用是控制輸出項(xiàng)的格式和輸出一些提示信息。21第21頁,共32頁,2023年,2月20日,星期六格式控制字符串包含兩種信息格式說明:%[修飾符]格式字符普通字符或轉(zhuǎn)義字符:普通字符原樣輸出,轉(zhuǎn)義字符表示特定的含義,如'\n'表示換行,'\t'表示水平制作等式字符⑴格式字符格式字符輸出形式格式字符輸出形式d或i十進(jìn)制整數(shù)o八進(jìn)制整數(shù)x或X十六進(jìn)制整數(shù)u無符號(hào)十進(jìn)制整數(shù)c輸出一個(gè)字符s輸出字符串f小數(shù)形式的浮點(diǎn)數(shù)e或E指數(shù)形式的浮點(diǎn)數(shù)g或Ge和f中較短的一種%輸出百分號(hào)說明:格式字符要用小寫格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對(duì)應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定的格式輸出22第22頁,共32頁,2023年,2月20日,星期六⑵修飾符也就是附加格式說明符,這些修飾符可以聯(lián)合使用,其一般形式為:%[flag][m][.n][h|l]type修飾符功能m輸出數(shù)據(jù)域?qū)?,?shù)據(jù)長(zhǎng)度<m,左補(bǔ)空格,否則按實(shí)際輸出.n對(duì)實(shí)數(shù),制定小數(shù)點(diǎn)后位數(shù),多則舍入對(duì)字符串,指定實(shí)際輸出位數(shù)-輸出數(shù)據(jù)在域內(nèi)左對(duì)齊,缺省為右對(duì)齊+指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)“+”0輸出數(shù)值時(shí)指定左面不使用的空位置自動(dòng)添0#在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0或者0xl在d、o、x、u前,指定輸出精度為long型在e、f、g前,指定輸出精度為double型h輸出短整型數(shù)據(jù)的值23第23頁,共32頁,2023年,2月20日,星期六例inta=1234;floatf=123.456;printf(“%08d\n”,a);printf(“%010.2f\n”,f);printf(“%+08d\n”,a);printf(“%+010.2f\n”,f);
例:0、+例inta=123;printf(“%o,%#o,%X,%#X\n”,a,a,a,a);
例:#例longa=65536;printf(“%d,%8ld\n”,a,a);
例:l00000000000000010000000000000000
//00001234
//0000123.46//+0001234
//+000123.46//173,0173,7B,0X7B//0,6553624第24頁,共32頁,2023年,2月20日,星期六2.3.2數(shù)據(jù)的輸入1.字符輸入函數(shù)格式:getchar()功能:從輸入設(shè)備(一般為鍵盤)上輸入一個(gè)字符;返回值:正常時(shí)是該字符的ASCII編碼值,出錯(cuò)則返回-1。#include<stdio.h>main(){charch;printf("Enteracharacter:");ch=getchar();printf(“%c,%c”,ch,ch+2);}運(yùn)行結(jié)果:Enteracharacter:輸入:A輸出:A,C25第25頁,共32頁,2023年,2月20日,星期六注意:(1)執(zhí)行g(shù)etchar()輸入字符時(shí),鍵入字符后需要敲回車鍵,回車后,程序才會(huì)響應(yīng)輸入,繼續(xù)執(zhí)行后續(xù)語句;(2)getchar()也將回車鍵作為一個(gè)回車符讀入。因此,在用getchar()連續(xù)輸入兩個(gè)字符時(shí)要注意回車符;(3)getchar()只能接受單個(gè)字符,輸入數(shù)字也按字符處理,輸入多于一個(gè)字符時(shí),只接收第一個(gè)字符;(4)使用本函數(shù)前必須包含文件“stdio.h”;(5)在程序運(yùn)行過程中遇到時(shí)getchar()時(shí),將進(jìn)入黑屏狀態(tài),等待用戶輸入,輸入完畢返回TC界面,程序繼續(xù)向下運(yùn)行。26第26頁,共32頁,2023年,2月20日,星期六2、格式輸入函數(shù)格式:scanf(“格式控制字符串”,地址列表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址列表指定的存儲(chǔ)單元中,并按回車鍵結(jié)束。返回值:正常時(shí)返回輸入數(shù)據(jù)的個(gè)數(shù),遇文件結(jié)束返回EOF,出錯(cuò)則返回0。地址列表:由若干變量的地址組成,各地址間以逗號(hào)間隔,其中常用取地址運(yùn)算符&。格式控制字符串:由格式控制字符和普通字符構(gòu)成;其中格式控制字符的作用與printf函數(shù)相似,只不過變成了輸入,其一般形式為:%[*][m][h|l]type27第27頁,共32頁,2023年,2月20日,星期六l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項(xiàng)讀入后不賦給變量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);輸入19991015
則1999yy,10mm,15dd附加格式說明符(修飾符)功能:28第28頁,共32頁,2023年,2月20日,星期六一般以空格、TAB或回車鍵作為分隔符其它字符做分隔符:格式串中兩個(gè)格式字符間的字符例scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);輸入123123123
輸出a=123,b=83,c=291例scanf(“%d:%d:%d”,&h,&m,&s);輸入12:30:45
則12h,30m,45s例scanf(“%d,%d”,&a,&b)輸入3,4
則3a,4b輸入分隔符的指定:例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);輸入a=12,b=24,c=36
29第29頁,共32頁,2023年,2月20日,星期六說明:用“%c”格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入。如scanf(“%c%c%c”,&c1,&c2,&c3);若輸入abc
則‘a(chǎn)’c1,‘’c2,‘b’c3輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:遇空格、TAB、或回車。遇寬度結(jié)束。如“%3d”,只取3列。遇非法輸入。如scanf(“%d%c%f”,&a,&b,&c);若輸入1234a123o.26則1234a,‘a(chǎn)’b,123c輸入函數(shù)留下的“垃圾”:例
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度股份轉(zhuǎn)讓過程中稅務(wù)籌劃及優(yōu)惠政策合同
- 二零二五年度關(guān)于協(xié)議作廢糾紛的調(diào)解與賠償協(xié)議
- 二零二五年度夫妻共同維護(hù)家庭和諧與子女幸福感協(xié)議書
- 二零二五酒吧藝人廣告代言及宣傳推廣合同
- 二零二五年度高級(jí)別家庭收養(yǎng)協(xié)議書匯編與實(shí)施手冊(cè)
- 二零二五年度企業(yè)股東間資金支持及借款合同
- 2025年度跨境電商合作介紹費(fèi)協(xié)議范本
- 2025年度木門智能化升級(jí)改造工程合同
- 2025年度租賃房屋租賃稅費(fèi)免責(zé)協(xié)議
- 抖音賬號(hào)合作協(xié)議書-2025年度短視頻內(nèi)容合作代理協(xié)議
- 本科:交通管理專業(yè)培養(yǎng)方案(管理學(xué)院)
- 變電管理所SF6氣體泄漏應(yīng)急處置方案
- 環(huán)境污染刑事案件兩高司法解釋解 讀
- 養(yǎng)殖場(chǎng)滅鼠方案
- 《汽車電子電氣系統(tǒng)構(gòu)造與拆裝》課件 項(xiàng)目三 起動(dòng)系統(tǒng)檢修
- 《安徒生童話》閱讀指導(dǎo)課件
- 沉淀滴定法(應(yīng)用化學(xué)課件)
- 室外道路及管網(wǎng)工程擬投入的主要施工機(jī)械設(shè)備及測(cè)量?jī)x器表
- 07K506 多聯(lián)式空調(diào)機(jī)系統(tǒng)設(shè)計(jì)與施工安裝
- 腹部外傷護(hù)理查房記錄
- 橋面鋪裝三維激光攤鋪施工工法
評(píng)論
0/150
提交評(píng)論