版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計(jì)基礎(chǔ)與實(shí)踐模塊一編程技術(shù)基礎(chǔ)任務(wù)1.3數(shù)據(jù)類型及轉(zhuǎn)換C語言程序設(shè)計(jì)基礎(chǔ)與實(shí)踐課程組04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS任務(wù)1.3數(shù)據(jù)類型及轉(zhuǎn)換01問題引入05技能點(diǎn)檢測一問題引入
數(shù)據(jù)是事實(shí)或觀察的結(jié)果,是對客觀事物的邏輯歸納,是用于表示客觀事物的未經(jīng)加工的原始素材。
數(shù)據(jù)是信息的表現(xiàn)形式和載體,可以是符號(hào)、文字、數(shù)字、語音、圖像、視頻等。在大數(shù)據(jù)的時(shí)代,所有數(shù)據(jù)都可以存儲(chǔ)到計(jì)算機(jī)系統(tǒng)中,那么數(shù)據(jù)在計(jì)算機(jī)系統(tǒng)內(nèi)是如何存儲(chǔ)的呢?04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問題引入05技能點(diǎn)檢測任務(wù)1.3數(shù)據(jù)類型及轉(zhuǎn)換二技能點(diǎn)分析1.了解C語言中的基本數(shù)據(jù)類型;2.掌握C語言中數(shù)據(jù)類型存儲(chǔ)格式;3.掌握運(yùn)算過程中數(shù)據(jù)類型轉(zhuǎn)換規(guī)律。學(xué)習(xí)目標(biāo)1.什么是數(shù)據(jù)類型?它有哪些種類?2.自動(dòng)數(shù)據(jù)類型轉(zhuǎn)換的規(guī)則是什么?3.強(qiáng)制類型轉(zhuǎn)換的格式是什么?學(xué)期預(yù)習(xí)04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問題引入05技能點(diǎn)檢測任務(wù)1.3數(shù)據(jù)類型及轉(zhuǎn)換三技能點(diǎn)詳解——1數(shù)據(jù)類型C語言中的數(shù)據(jù)類型可分為基本類型、構(gòu)造類型、指針類型和空類型四大類,其中基本類型、構(gòu)造類型又可細(xì)分,如圖1.3.1所示。圖1.3.1數(shù)據(jù)類型的分類三技能點(diǎn)詳解——2數(shù)據(jù)類型轉(zhuǎn)換數(shù)據(jù)類型轉(zhuǎn)換就是將數(shù)據(jù)(變量、數(shù)值、表達(dá)式的結(jié)果等)從一種類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。類型轉(zhuǎn)換分為自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。1)自動(dòng)類型轉(zhuǎn)換
在不同類型的混合運(yùn)算或賦值運(yùn)算中,編譯器會(huì)按照一定規(guī)則自動(dòng)地轉(zhuǎn)換數(shù)據(jù)類型,將參與運(yùn)算的所有數(shù)據(jù)先轉(zhuǎn)換為同一種類型,然后再進(jìn)行計(jì)算或賦值。這種類型轉(zhuǎn)換是不需要程序員干預(yù),由編譯器自動(dòng)執(zhí)行,我們把它稱為自動(dòng)類型轉(zhuǎn)換。圖1.3.1數(shù)據(jù)類型的分類三技能點(diǎn)詳解——2數(shù)據(jù)類型轉(zhuǎn)換自動(dòng)類型轉(zhuǎn)換的規(guī)則是:(1)轉(zhuǎn)換按數(shù)據(jù)長度增加的方向進(jìn)行,以保證精度不降低。如int型和long型運(yùn)算時(shí),先把int量轉(zhuǎn)成long型后再進(jìn)行運(yùn)算。(2)所有的浮點(diǎn)運(yùn)算都是以雙精度進(jìn)行的,即使僅含float單精度量運(yùn)算的表達(dá)式,也要先轉(zhuǎn)換成double型,再作運(yùn)算。(3)char型和short型參與運(yùn)算時(shí),必須先轉(zhuǎn)換成int型。三技能點(diǎn)詳解——2數(shù)據(jù)類型轉(zhuǎn)換在不同類型的賦值運(yùn)算中的自動(dòng)類型轉(zhuǎn)換的規(guī)則是:賦值號(hào)兩邊量的數(shù)據(jù)類型不同時(shí),賦值號(hào)右邊量的類型將轉(zhuǎn)換為左邊量的類型。例如:
/*100是int類型的數(shù)據(jù),需要先轉(zhuǎn)換為float類型才能賦值給變量f。*/floatf=100;
如果右邊量的數(shù)據(jù)類型長度左邊長時(shí),將丟失一部分?jǐn)?shù)據(jù),這樣會(huì)降低精度,丟失的部分按四舍五入向前舍入。所以說,自動(dòng)類型轉(zhuǎn)換并不一定是安全的。對于不安全的類型轉(zhuǎn)換,編譯器一般會(huì)給出警告。三技能點(diǎn)詳解——2數(shù)據(jù)類型轉(zhuǎn)換2)強(qiáng)制類型轉(zhuǎn)換
自動(dòng)類型轉(zhuǎn)換是編譯器根據(jù)代碼的上下文環(huán)境自行判斷的結(jié)果,但有時(shí)并不是那么“智能”,不能滿足所有的需求,這時(shí)就需要程序員使用強(qiáng)制類型轉(zhuǎn)換來實(shí)現(xiàn)所需的轉(zhuǎn)換。強(qiáng)制類型轉(zhuǎn)換是顯式的,程序員通過在代碼中使用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符來指定類型轉(zhuǎn)換。強(qiáng)制類型轉(zhuǎn)換的一般格式為:(新類型符號(hào))表達(dá)式例如:(double)a;//將變量a強(qiáng)制轉(zhuǎn)換為double類型(int)(x+y);//把表達(dá)式x+y的結(jié)果強(qiáng)制轉(zhuǎn)換為int整型(float)100;//將數(shù)值100(默認(rèn)為int類型)強(qiáng)制轉(zhuǎn)換為float類型三技能點(diǎn)詳解——2數(shù)據(jù)類型轉(zhuǎn)換在使用強(qiáng)制轉(zhuǎn)換時(shí)應(yīng)注意以下問題:(1)類型說明符和表達(dá)式都必須加括號(hào)(單個(gè)變量可以不加括號(hào)),如把(int)(x+y)寫成(int)x+y則成了把x轉(zhuǎn)換成int型之后再與y相加了。(2)無論是強(qiáng)制轉(zhuǎn)換或是自動(dòng)轉(zhuǎn)換,都只是為了本次運(yùn)算的需要而對變量的數(shù)據(jù)長度進(jìn)行的臨時(shí)性轉(zhuǎn)換,而不改變數(shù)據(jù)說明時(shí)對該變量定義的類型。04技能點(diǎn)拓展03技能點(diǎn)詳解02技能點(diǎn)分析目錄CONTENTS01問題引入05技能點(diǎn)檢測任務(wù)1.3數(shù)據(jù)類型及轉(zhuǎn)換四技能點(diǎn)拓展——1Typedef自定義數(shù)據(jù)類型typedef
unsigned
intmy_type;
通過這種方式定義,程序后面就可以向使用unsignedint一樣的使用my_type。如果,在不同平臺(tái)上移植一段代碼,采用typedef格式能夠?qū)崿F(xiàn)一個(gè)自定義數(shù)據(jù)類型在不同平臺(tái)上代表不同的數(shù)據(jù)類型,實(shí)現(xiàn)跨平臺(tái)移植。例如,在A平臺(tái)上
typedef
unsigned
intmy_type;My_typea;//a的范圍是0-65536在B平臺(tái)上定義
typedef
unsigned
charmy_type;My_typea;//a的范圍是0-256Typedef自定義數(shù)據(jù)類型的格式:四技能點(diǎn)拓展——1define宏定義數(shù)據(jù)類型Typedef自定義數(shù)據(jù)類型的一般形式為:
#define
標(biāo)識(shí)符
常量
//注意,最后沒有分號(hào)………#undef
標(biāo)識(shí)符
//解除對應(yīng)的宏定義例如:#definePI3.1415926//用PI定義3.1415926,實(shí)現(xiàn)其功能………#undefPI//解除對應(yīng)的宏定義
就是將PI定義為后面的3.1415926,在不需要定義的位置,增加#undefPI,解除宏定義。我們采用宏定義的這種特性對數(shù)據(jù)類型進(jìn)行縮寫,簡化。例如:
#defineuintunsigned
int
//用uint定義為unsignedint,實(shí)現(xiàn)其功能#defineu8unsigned
char
//用u8定義為unsigned插入,實(shí)現(xiàn)其功能案例1.3.1數(shù)據(jù)的存儲(chǔ)本案例為了得到某個(gè)類型或某個(gè)變量在特定平臺(tái)上的準(zhǔn)確大小,可以使用
sizeof
運(yùn)算符。/********************************************************************內(nèi)容簡述:計(jì)算不同類型的存儲(chǔ)空間*******************************************************************/#include
<stdio.h>
//函數(shù)頭文件#include
<limits.h>
intmain(void)//主程序入口{printf("char存儲(chǔ)大小:%u\n",sizeof(char));//輸出字符型的存儲(chǔ)字節(jié)數(shù) printf("short存儲(chǔ)大小:%u\n",sizeof(short));//輸出短整型的存儲(chǔ)字節(jié)數(shù) printf("int存儲(chǔ)大小:%u\n",sizeof(int));//輸出整型的存儲(chǔ)字節(jié)數(shù) printf("long存儲(chǔ)大小:%u\n",sizeof(long));//輸出長整型的存儲(chǔ)字節(jié)數(shù)/*************輸出單精度型的存儲(chǔ)字節(jié)數(shù)*************/ printf("float存儲(chǔ)大小:%u\n",sizeof(float));/***********輸出雙精度型的存儲(chǔ)字節(jié)數(shù)*************/ printf("double存儲(chǔ)大小:%u\n",sizeof(double));
return0;}四技能點(diǎn)拓展——案例案例1.3.2數(shù)據(jù)的運(yùn)算求整型量10與字符’a’的和,并將它賦給浮點(diǎn)型變量輸出。/************************************************內(nèi)容簡述:求整型量10與字符’a’的和,并輸出************************************************/#include
<stdio.h>
intmain(void){
inti=10;
chara='a';//ascii值是97
floatsum;sum=i+a;printf("Valueofsum:%f\n",sum);
return0;}四技能點(diǎn)拓展——案例案例1.3.3數(shù)據(jù)的轉(zhuǎn)換某高校一學(xué)生在一周內(nèi)的總生活費(fèi)為200元,通過編程求該生的平均生活費(fèi)為多少元/天?/*****************************************************內(nèi)容簡述:某高校一學(xué)生在一周內(nèi)的總生活費(fèi)為200元*通過編程求該生的平均生活費(fèi)為多少元/天?*****************************************************/#include
<stdio.h>
intmain(void){
intsum=200;//總生活費(fèi)
intcount=7;//總天數(shù)
doubleaverage;//平均數(shù)
average=(double)sum/count;printf("Averageis%.2f\n",average);
return0;}四技能點(diǎn)拓展——案例案例1.3.4
數(shù)據(jù)的比較在本案例中,假設(shè)圓的半徑r=2,根據(jù)圓的面積公式s=πr2編寫程序計(jì)算該圓的面積,并將面積存于整型變量s1和浮點(diǎn)型變量s2中。/********************************************內(nèi)容簡述:假設(shè)圓的半徑r=2,根據(jù)圓的面積公式*s=πr2編寫程序計(jì)算該圓的面積********************************************/#include<stdio.h>
intmain(void){
floatpi=3.14159;//定義浮點(diǎn)型變量pi存放圓周率,圓周率取值為3.14159
ints1,r=2;//定義整型變量s1和r分別存放面積和半徑值
doubles2;//定義雙精度浮點(diǎn)型變量s2存放面積
s1=
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年入伙協(xié)議合同-智慧城市配套設(shè)施入伙協(xié)議標(biāo)準(zhǔn)3篇
- 2024年新能源品牌商標(biāo)授權(quán)及市場合作協(xié)議2篇
- 2024全新商業(yè)地產(chǎn)租賃管理合同模板2篇
- 2024年度水果銷售渠道構(gòu)建與拓展合同2篇
- 2024年度辦公區(qū)域租賃合同(含企業(yè)文化建設(shè)服務(wù))
- 2024年度世聯(lián)地產(chǎn)銷售代理合作框架3篇
- 2024年度最復(fù)雜買賣合同2篇
- 2024實(shí)習(xí)教師實(shí)習(xí)單位實(shí)習(xí)期實(shí)習(xí)成果轉(zhuǎn)化及跟蹤合同3篇
- 2024年度對外貿(mào)易代理及國際貨運(yùn)代理服務(wù)協(xié)議2篇
- 2024年標(biāo)準(zhǔn)型產(chǎn)品專利使用權(quán)授權(quán)合同版B版
- 02565+24273中醫(yī)藥學(xué)概論
- 2023年中央紀(jì)委國家監(jiān)委機(jī)關(guān)直屬單位招聘工作人員考試真題
- 2024-2025學(xué)年度教科版初中物理八年級(jí)上冊期末模擬卷(含答案)
- 《旅游概論》考試復(fù)習(xí)題庫(附答案)
- 1000畝水產(chǎn)養(yǎng)殖建設(shè)項(xiàng)目可行性研究報(bào)告
- 量子計(jì)算與區(qū)塊鏈
- 微電子器件期末復(fù)習(xí)題含答案
- 廣東珠海市駕車沖撞行人案件安全防范專題培訓(xùn)
- 2022版ISO27001信息安全管理體系基礎(chǔ)培訓(xùn)課件
- 廣東省深圳市寶安區(qū)多校2024-2025學(xué)年九年級(jí)上學(xué)期期中歷史試題
- 廣州市海珠區(qū)六中鷺翔杯物理體驗(yàn)卷
評論
0/150
提交評論