今天主要學(xué)習(xí)了C語言的基本類型,并且花了一下午的時間去練習(xí)這個基本的類型操作壳鹤。
在這里主要講了基本的知識枯夜,具體練習(xí)時注意用代碼看看數(shù)據(jù)存儲的位數(shù)和大小,像char a=127;a=a+1;這時候a的值综慎。可以用sizeof查看數(shù)據(jù)類型占的字節(jié)數(shù)勤庐。以及不同數(shù)據(jù)類型之間如何自動轉(zhuǎn)換和強制轉(zhuǎn)換示惊,還有printf和scanf的具體用法,多動手練習(xí)一些容易模糊的東西愉镰,自己用代碼去嘗試米罚。
(一)c語言數(shù)據(jù)類型
這個是我總結(jié)的一些基礎(chǔ)類型知識,通過上圖可以看到c語言的基本數(shù)據(jù)類型是字符型(1個字節(jié))丈探、整型(4個字節(jié))录择、雙精度浮點型(8個字節(jié))、單精度浮點型(4個字節(jié))碗降。
一糊肠、補充知識
(1)字節(jié):一個字節(jié)是由8個二進制位組成的。
(2)接下來思考一個問題遗锣,為什么要定義不同的數(shù)據(jù)類型呢?又有什么作用呢嗤形?
其實我們定義不同類型的數(shù)據(jù)存儲不同的類型精偿,數(shù)據(jù)類型表示向CPU申請空間的大小。
(3)定義變量來申請空間赋兵,怎樣定義變量笔咽?
數(shù)據(jù)類型 變量名
這里面數(shù)據(jù)類型指:基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型霹期、空類型叶组、指針類型,變量名符合標(biāo)識符規(guī)范
?(4) 標(biāo)識符定義規(guī)范:
1.標(biāo)識符有三部分組成:字母历造、數(shù)字甩十、下劃線船庇,$
2.數(shù)字不能做開頭
3.字母區(qū)分大小寫
4.在C語言中除了關(guān)鍵字以外的所有名字都是標(biāo)識符:變量名、數(shù)組名侣监、函數(shù)名鸭轮、類型名...
(5)C語言中總共有32個關(guān)鍵字
(6)變量名有什么作用?
?變量就是表示這個空間的一個標(biāo)簽橄霉,我們實際使用的就是這段空間
?(7)數(shù)據(jù)類型之間的轉(zhuǎn)換:
除號:一個整數(shù)除以一個整數(shù)還是整數(shù)
例如float a=0; a=5/3;打印結(jié)果a=1.000000
float a=0; a=5/(float)3;打印結(jié)果為a=1.666667
二窃爷、數(shù)據(jù)類型分析
(1)字符型:char
大小:1個字節(jié)8位
有符號就表示可以存放負(fù)數(shù),不特別聲明默認(rèn)是有符號數(shù)
無符號字符型unsigned char :0000 0000 ----1111 1111 0--255.,0--2^8-1
有符號字符型signed char :-128? ---? +127, -2^7---2^7-1
位的概念:一個字節(jié)8位姓蜂,最低位為第0位按厘,最高位為第7位
(2)整型int:
在8位/16位處理器中整型為2個字節(jié),在32位及以上處理器中為4個字節(jié)
大星:
unsigned int無符號整型: 0----2^32-1
signed int 有符號整型: -2^31---+2^31-1
short int 短整型:通常大小為2個字節(jié)逮京,不大于4個字節(jié)
long int:長整型:按照4個字節(jié)來用,不小于4個字節(jié)
long long int 長長整型:8個字節(jié)
求所占字節(jié)大小的關(guān)鍵字:sizeof
用法:
sizeof 變量名
sizeof(變量名/數(shù)據(jù)類型)
(3)單精度浮點型float:存放小數(shù)
大刑沧帧:4個字節(jié)
精度:保留小數(shù)點后6位
(4)雙精度浮點型double :存放小數(shù)
大性炻病:8個字節(jié)
精度:保留小數(shù)點后15位
關(guān)于浮點型小數(shù)的存儲--了解
浮點數(shù)存放到一個整型空間中精度丟失
變量:在程序運行過程中可以被改變的量,定義的都是變量
常量:在程序運行過程中不可以被改變的量麦箍,數(shù)字常量漓藕、字符常量、字符串常量
三挟裂、數(shù)據(jù)類型轉(zhuǎn)換
自動數(shù)據(jù)類型轉(zhuǎn)換:由低字節(jié)向高字節(jié)轉(zhuǎn)換享钞,低精度向高精度轉(zhuǎn)換
強制數(shù)據(jù)類型轉(zhuǎn)換:(要轉(zhuǎn)換的類型)待轉(zhuǎn)換的數(shù)據(jù)
(二)格式符:
%d:以十進制格式打印輸出
%ld:長整型
%c:字符型格式
%f:以浮點型數(shù)據(jù)打印
%lf: 雙精度浮點型
%x: 以16進制格式打印
%p: 以地址格式打印,自動加0x
16進制格式表示0---F 表示十進制0--15
16進制的表示形式:0x00.0x01----0xf
任何空間都會有一個地址诀蓉,得到該控件的地址用&
&:取地址符
char a=0; &a:取a所在空間的地址
(三)主函數(shù)格式:
一個工程中有且一個main函數(shù)栗竖,程序總是從main開始,到main結(jié)束為止
main函數(shù)結(jié)束渠啤,工程結(jié)束
int main()
{
//要實現(xiàn)的代碼
return 0;
}
(四)printf();:格式化輸出
1狐肢,printf(“輸出內(nèi)容\n”);雙引號中的內(nèi)容原樣輸出到屏幕上,后面的格式實現(xiàn)換行
2沥曹,printf(“格式符\n”份名,變量名);變量以格式符的形式輸出到屏幕上
3,printf(“注釋語句妓美,格式符\n”僵腺,變量名);注釋語句原樣輸出,變量以格式符的格式進行輸出
scanf();:格式化輸入
scanf(“格式符”,&變量名);
鍵盤以格式符的形式輸入數(shù)據(jù)到變量中壶栋,需要知道該變量空間的地址
注意:格式符后不加換行符
所有的數(shù)據(jù)都是以二進制進行存儲
本文章僅供學(xué)習(xí)交流用禁止用作商業(yè)用途辰如,文中內(nèi)容來水枂編輯,如需轉(zhuǎn)載請告知贵试,謝謝合作
微信公眾號:zhjj0729
微博:文藝to青年