c语言float二进制输出代码_C语言学习笔记——学前知识概述
將我大一學(xué)習(xí)C語(yǔ)言時(shí)做的筆記拿來(lái)與大家分享,內(nèi)容比較淺顯,比較適合初學(xué)者,如有錯(cuò)誤還請(qǐng)見諒,提出改正,謝謝!
前言:此C語(yǔ)言筆記是本人在自學(xué)時(shí)記錄的一些重點(diǎn)或初學(xué)者常犯的錯(cuò)誤,希望我的這本筆記能夠?qū)Υ蠹业腃語(yǔ)言的學(xué)習(xí)有所幫助。
C語(yǔ)言學(xué)習(xí)筆記
C語(yǔ)言重點(diǎn):流程控制、函數(shù)、指針、動(dòng)態(tài)內(nèi)存分配。
第一章、學(xué)前知識(shí)概述
小知識(shí)
1.如何看懂一個(gè)程序?
流程、功能、試數(shù) (按電腦的思維去看一個(gè)程序)
2.變量的實(shí)質(zhì)是內(nèi)存的一塊存儲(chǔ)空間
3.分配內(nèi)存是操作系統(tǒng)把某一塊內(nèi)存空間的使用權(quán)限分配給該程序;
釋放內(nèi)存是操作系統(tǒng)把分配給該程序的內(nèi)存空間的使用權(quán)限收回,該程序就不能夠再使用這一塊內(nèi)存空間。
注意:分配內(nèi)存是指內(nèi)存權(quán)限的分配,釋放內(nèi)存并不是把內(nèi)存的內(nèi)容清零,原數(shù)據(jù)會(huì)被保留而成為垃圾數(shù)據(jù),所謂空閑內(nèi)存并不是指沒(méi)有內(nèi)容的內(nèi)存,而是沒(méi)有被占用的可供分配的內(nèi)存,盡管里面是垃圾數(shù)據(jù),但操作分配給程序權(quán)限使程序可修改內(nèi)存空間中的垃圾數(shù)據(jù)以供程序繼續(xù)使用。
內(nèi)存是由操作系統(tǒng)直接控制的,自Windows 2000以后,操作系統(tǒng)不允許程序直接訪問(wèn)內(nèi)存,而只能通過(guò)請(qǐng)求操作系統(tǒng)來(lái)訪問(wèn)內(nèi)存,以前Windows 98和Windows ME等允許程序直接訪問(wèn)內(nèi)存和通過(guò)操作系統(tǒng)訪問(wèn)內(nèi)存兩種途徑。
常見運(yùn)算符
算術(shù)運(yùn)算符:
+ - × / %(取余數(shù))關(guān)系運(yùn)算符:
> >= < <= !=(不等于) ==(等于)(3==5的值為布爾型,即為0) 非零是真零是假;真是1表示,假是0表示。
注意:= 為賦值 == 才為等于
邏輯運(yùn)算符:
!(非) &&(且) ||(或)注意:邏輯運(yùn)算符和關(guān)系運(yùn)算符的結(jié)果只能為真或假,真用1表示,假用0表示,即成立或不成立。常在if和while中使用。
賦值運(yùn)算符:
= +=(加等) -=(減等) *=(乘等) /=(除等)a+=3 :== a=a+3
a/=5 :== a=a/3
而并不是表示i大于等于80小于90。
優(yōu)先級(jí)別:算術(shù)>關(guān)系>邏輯>賦值
注意用括號(hào)!!!
int m;
int k = 10;
m = (21>3) && (k=5); //m為布爾型值,k=5為真,當(dāng)且僅當(dāng)k=0時(shí)才為假,即0為假,其他數(shù)為真
printf("m=%d, k=%dn", m, k);//當(dāng)左邊無(wú)法判斷m的真假值時(shí),右邊才執(zhí)行;若左邊即可以判斷m值的真假,右邊不執(zhí)行。
&&左邊的表達(dá)式為假時(shí),右邊的表達(dá)式肯定不會(huì)執(zhí)行
||左邊的表達(dá)式為真時(shí),右邊的表達(dá)式肯定不會(huì)執(zhí)行
強(qiáng)制類型轉(zhuǎn)化: 格式:(數(shù)據(jù)類型)(表達(dá)式)
inti;floatsum = 0; 功能:把表達(dá)式的類型強(qiáng)制轉(zhuǎn)化前面數(shù)據(jù)類型所指定的類型
for(i=1;i<=100;++i)
//sum= sum + 1.0/i;
sum= sum + 1/(float)(i); //強(qiáng)制將i的類型轉(zhuǎn)化為浮點(diǎn)型。
printf("sum= %fn", sum); //浮點(diǎn)型必須以%f(或%lf)控制輸出
輸入控制符:
printf與scanf在輸出(輸入)控制時(shí),前面的控制符與后面的取值是一一對(duì)應(yīng)的。scanf("%d %d %d", &i,&j, &k); //空格可連續(xù)賦值,也可點(diǎn)回車后一個(gè)一個(gè)賦值,比較方便。
scanf("%d,%d,%d", &i, &j, &k); //而此種帶必須輸入非輸入控制符“,”,否則無(wú)法完成三個(gè)變量的賦值。
doubledelta;
printf("請(qǐng)輸入delta的值:");
scanf("%lf",&delta); //上面定義delta為什么類型變量,輸入控制時(shí)就必須使用什么類型控制符, 否則會(huì)出錯(cuò)!!!
注意:輸入/輸出控制符與輸入/輸出參數(shù)必須一一對(duì)應(yīng)
注意scanf()中的取地址符&
int 98---默認(rèn)十進(jìn)制
int 098---八進(jìn)制
int 0x(X)98---十六進(jìn)制
輸出控制符:
%x(X): 輸出為十六進(jìn)制整型(字母大小寫) %#x(X):輸出為Ox(X)十六進(jìn)制整型%d:輸入輸出為整型
%ld:長(zhǎng)整型
%hd:短整型
%hu:無(wú)符號(hào)整型
%u %lu %s:輸入輸出為字符串
%c:輸出為字符
%f:輸入輸出為浮點(diǎn)型
%lf:雙精度浮點(diǎn)型
字符的存儲(chǔ):
整數(shù)是以補(bǔ)碼的形式轉(zhuǎn)化為二進(jìn)制代碼存儲(chǔ)在計(jì)算機(jī)中的;實(shí)數(shù)是以IEEE754標(biāo)準(zhǔn)轉(zhuǎn)化為二進(jìn)制代
總結(jié)
以上是生活随笔為你收集整理的c语言float二进制输出代码_C语言学习笔记——学前知识概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: mysql jar jdk1.6_Win
- 下一篇: xml中的Document和Attrib