1.陣列
下標只能為整型常量或整型表示式。為小數時,c編譯將自動取整:a[1.5]即a[1]。
2.二維陣列
儲存時按照行排列。
只對部分元素賦初值時,未賦值的元素自動取0。
3.scanf的例子
為了告訴大家scanf中若引數為陣列,就不需要加&,老潭的書中有這樣乙個例子:
main()
我好奇:%s%s之間沒有隔斷,怎麼分清除哪些輸入是st1的哪些是st2的?經過除錯,原來是這樣的:
輸入:aa空格aa,輸出:aa aa; ——正確
輸入:aaaa,輸出:無; ——錯誤
輸入:aa回車aa回車,輸出:aa aa;——正確
可見,scanf自動地把空格和回車作為結束符。
在輸入型別為int時,非法字元(!¥%等等)被gcc視為第乙個值的結束符號,第乙個值得獲得成功,而獲得的第二個值是錯誤的。
5.巨集巨集定義是用巨集名來表示乙個字串,是個簡單的代換,注意帶括號以避免錯誤。
巨集定義必須寫在函式之外,其作用域為巨集定義命令其到源程式結束。如要終止其作用域,可使用#undef命令。
巨集定義允許巢狀,在巨集定義的字串中可以使用已經定義的巨集名。
帶參巨集定義中,巨集名和形參表之間不能有空格。形參不分配記憶體但願,因此不作型別定義。
巨集定義中可以有多條語句。
6.條件編譯
#ifdef aa的意思是,如果aa被定義過,則編譯以下語句。
#ifndef aa的意思是,如果aa沒有被定義過,則編譯以下語句。
#if aa:如果aa的值非零,則編譯以下語句。
8.進製
i=012時,編譯器認為023是8進製數,以%d列印得10。所以,要考慮數字前加0的情況,以免造成誤解。
i=0x12時,認為是十六進製制數,以%d列印得18。不區分x的大小寫。
9.精確度
float提供7位有效數字,double提供16位有效數字,都精確到小數點後6位(多餘的四捨五入)。
10.if和else
else總是和最近的if配對。所以,為了避免二義性,要好好利用{}和縮排。
學習心得 python學習心得
自從來了深圳工作以後,尤其是屢屢面試碰壁以後。發現其實自己的知識面很窄,做筆試題的時候絞盡腦汁還是漏洞百出,並不是不會做,而是出現一大堆不該有的失誤。每次被問道,對資料庫了解嗎?說一大堆看起來很高階的東西 好啊,那我們寫幾個sql語句吧。馬上完蛋了,沒了手冊關鍵字都記不起。了解哪幾種指令碼語言,sh...
Swift學習筆記(五) 學習心得
1 初始化方法中引數會自動帶入外部名 不用寫在引數名稱前新增 2 初始化方法的過載不需要加override 和 func 3 在swift中,沒有this,這點需要注意 4 is和 as的區別 is 判斷是否屬於某型別 as把型別轉換為某型別 5 屬性的set 方法中 newvalue 表示賦值進來...
學習心得 我的學習心得
我是乙個已經步入中年的70後,離開校園已經20年了,因為當年的政策因素而未能圓我的大學夢,在20年的工作過程中總是因為缺少一張大學文憑而失去了很多機會,曾經也考慮過自考,但是乙個人去面對的時候總感覺心有餘而力不足。2018年3月份偶然讓我認識了尚德,原來自考還可以這樣學習。一直懷疑自己年紀大了記憶力...