一、
int 10^9(9位數)
long long 10^18(18位數) long long bignum = 1234567890112345ll;
不要用float,碰到浮點型的資料都應該用double來儲存
二、0-9、a-z、a-z等都是可顯示字元,它們的ascii碼分別是48-57、65-90、97-122
小寫字母 = 大寫字母 + 32
三、\0代表空字元null,其ascii碼為0
四、字元陣列使用%s讀入的時候以空格跟換行為讀入結束的標誌,可以連續輸入多個字串。
%c格式是可以讀入空格跟換行的scanf
("%s%s%s"
,str1,str2,str3)
;
五、int len = strlen(str);
int cmp = strcmp(str1,str2);
strcpy(str1,str2);//把字串2賦值給字串1(1變)
strcat(str1,str2);//把字串2接到字串1後面(1變)
六、十進位制轉化為r進製整數的規則是:除基取餘,逆序排列
七、%6.2f表示該實型資料在螢幕上所佔的寬度為6位,其中小數部分佔2位。
八、ctrl+z的組合鍵輸入的字元在計算機中對應的是eof結束標誌,表示輸入完畢。
九、浮點數進行全等比較是相當危險的。浮點數暴力破解很危險。浮點數只能說足夠接近,不能夠用精確比較的形式。
如下是錯誤的:
改進策略一:if
(0.2
+0.1
==0.3
)
改進策略二:避開浮點數,使用整數,均擴大一定倍數if
(fabs
(0.2
+0.1
-0.3
)<
1e-10
)
十、exit(1);
需要引入標頭檔案#include
exit(1)表示異常退出,在退出前可以給出一些提示資訊,或在除錯程式中察看出錯原因。
exit(0)表示正常退出。
return是語言級別的,是關鍵字,它表示了呼叫堆疊的返回,return用於結束乙個函式的執行,將函式的執行資訊傳出個其他呼叫函式使用,如果返回的是main函式,則為退出程式。
而exit是系統呼叫級別的,是乙個函式,它表示了乙個程序的結束。 exit是在呼叫處強行退出程式,執行一次程式就結束。這個狀態標識了應用程式的一些執行資訊,這個資訊和機器和作業系統有關。
十一、c語言,對於for迴圈,continue之後會執行i++,但break之後不會執行i++。
十二、eof定義在標頭檔案中,是乙個整型數,eof = -1。
十三、malloc函式需要引入標頭檔案#include
C 語言程式設計 經驗之談
1 c語言的專案記憶體管理很讓人頭疼,自始至終你要明白哪些記憶體應該要釋放,哪些到最後才能釋放,不然的話,就會出現一些堆被破壞的錯誤 2 每寫乙個函式一定要記得寫它的測試程式,不管那個函式簡單的還是複雜,不然的話,到最後會忙死你,有時還會犯一些低階的錯誤。這個教訓我就犯過,寫了一大堆utility工...
面試經驗之談
這裡是2017年11月7日,鄙人不才,17年應屆畢業,經驗不足,十一之後來到上海找工作,目前一無所獲。無奈,今天又逛了一趟培訓機構,看著和自己年齡相仿同學在前台焦急等待的時候感觸頗深,為什麼總是接到培訓機構的邀請,而不見想象之中offer也看不見期待的公司的回覆。剛好有哥哥姐姐在上海這邊,所以借住在...
併發控制經驗之談
多年使用鎖的經驗說明,我們很難駕輕就熟地使用鎖。併發的管理本來就非常棘手,而許多使用方法都可能導致錯誤。本文將總結一些併發控制中容易導致錯誤的東西。不明確的規則 恰當的鎖定模式需要清晰和明確的規則。當我們建立乙個可被並行訪問的物件時,應該同時定義用來控制訪問的鎖。鎖定模式必須在一開始就安排好,否則其...