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