還不登入嗎?
(-3-)是不是要下跪求你們?
趕快為了可愛的管理員登入喔。
登入可以得到收藏功能列表
還能夠讓我們知道你們有在支持狂人喔(*´∀`)~♥
《敦威治》第54章:從0開始的科佐編程
  本賈尼·斯特勞斯特盧普,在1979年4月份貝爾實驗室的本賈尼博士在分析UNIX系統分布內核流量分析時,希望有一種有效的更加模塊化的工具。在舊世1979年10月完成了預處理器Cpre,為C增加了類機制,也就是面向對象,1983年完成了C++的第一個版本——C with 也就是C++。

  在這裡,生動形象地解釋了C++與C的不同點:首先C++基本兼容C的語法(內容),其次C++支持面向對象的編程思想同時支持運算符重載以及支持泛型編程、模板和支持異常處理,類型檢查更加地嚴格。

  什麽是namespace(名字空間/命名空間),在C++中經常使用多個獨立開發的庫來完成項。

  為什麽需要namespace(名字空間/命名空間)——在項目中函數名、全局變量、結構、聯合、枚舉、類,非常有可能名字衝突,而名字空間就對這些命名進行邏輯空間劃分(不是物理單元劃分),為了解決命名衝突,C++之父為防止命名衝突給C++設計一個名字空間的機制。

  通過使用namespace XXX把庫中的變量、函數、類型、結構等包含在名字空間中,形成自己的作用域,避免名字衝突。

  C++不再需要 typedef ,在定義結構變量時,可以省略struct關鍵字,C++之中成員可以是函數(成員函數),在成員函數中可以直接訪問成員變量。C的結構成員可以是函數指針。同時C++有一些隱藏的成員函數(構造、析構、拷貝構造、賦值構造)。也可以繼承,可以設置成員的訪問權限(面向對象)。

  如果程序在屏幕上一閃而過,可以在return語句之前加上getchar()——這樣的話代碼會讓程序等待擊鍵,窗口會在用戶按下任意鍵之後關閉。當然也可以用system(“pause“);代替之,但是使用此語句需要加上#include頭文件。

  #include ——預處理器指令;main()函數總是第一個被調用的函數,無論位置在哪裡;int main()是最規范的寫法,void main()雖然有些編譯器支持,但是不能這樣寫。

  對於注釋大家還是要有,若乾時間後,你在看你的代碼,也許你自己都忘了當初這個東西是幹嘛用的了,因此注釋可以提高代碼的可讀性,而編譯器會主動忽略這些語句。

  名稱的聲明可以是小寫字母,大寫字母,數字和下劃線,名稱的第一個字符,有且只有第一個必須是字母或者下劃線,不能是數字。

  函數的實際參數是傳遞給函數的特定值,形式參數是用於儲存值的變量。

  return語句一定要,可以直接看出你的代碼習慣,這是科佐學生必備的素養之一。

  提高代碼可讀性的技巧可以通過選擇有意義的函數名;寫注釋;在函數中使用空行或空格來分隔概念上的多個部分;每個語句各佔一行。

  在函數聲明和函數調用的時候都要在末尾加上“;”,但在函數定義的時候不用加“;”。

  從高精度向低精度進行強製類型轉換可能導致丟失數據。0x或者0X前綴表示16進製數字,0前綴表示8進製數字。

  三種計數方法——數字 123000 0.000056 332.56——科學計數法 1.23 * 10^5 5.6 * 10^-53.3256 * 10^2——指數計數法1.23e^5 5.6e^-5 3.3256e^2。

  printf()函數中的轉換說明決定了數據的顯示方式而不是存儲方式。

  用%d顯示float類型的值,其值不會被轉換成int類型。

  對於字符數組,在scanf進行數據錄入的時候不需要取址符,因為數組的名字就是數組首元素的地址。

  而且,C語言中的字符串一定以空字符(\0)結束,因此數組的容量一定要比待儲存的字符串的字符數多1。

  “x”表示的是一個字符串,'x’表示的是一個字符常量。

  sizeof運算符以字節為單位給出對象大小,strlen()函數給出字符串的字符長度(不包含空字符)。

  對於char name[40];如果用戶給name賦值為abc,那麽sizeof(name)會返回40,而strlen(name)返回的值是3。

  printf(“%m.nd\n“,data);m是字段寬度,n是小數點後的位數,字段寬度包含小數點。

  float類型數據放入printf函數的時候會被自動轉化成double類型,計算機會根據變量類型(而不是轉換說明)將這些值放入棧中,該函數會根據轉換說明(而不是變量類型)從棧中讀取值。

  printf()函數與scanf()函數一樣,也有返回值,他返回的是打印字符的個數,即雙引號裡面的東西。

  求模運算只能用於整數之間,給出的是左邊整數除以右邊整數的余數。如果左邊的數字為負數則結果為負數,左邊為整數則結果為正數。

  C語言中,非0為真,0為假,for語句和while語句可以相互替換。

  do while循環至少執行一次且while之後要加上“;”。

  成功讀取一個數會返回1,讀取兩個會返回2,以此類推……

  else只會與最近的if進行匹配,不論這二者是否對齊等(編譯器會忽略縮進)。

  for循環中:continue執行後,首先遞增參數的值,然後在做比較。break語句執行後,直接執行循環後面的第一條語句,會跳過更新部分。

  混合使用scanf()與getchar()會導致緩衝區裡的回車符導致程序出現不可預估的後果,可以在getchar()之前加上刷新緩存區的函數來解決,例如:fflush(stdin),setbuf()等。

  在函數中定義了的變量,該變量具有塊作用域,且屬於該函數私有,如果在其他函數中又定義了該變量則不會引起衝突。

  形式參數也是局部變量,實際參數也可以是一個表達式。

  如果函數的返回值類型與函數本身定義的返回值類型不匹配的話,其真實的返回值是有定義函數的返回值決定的,也就是說,按照函數定義時的類型來進行返回值確定。

  遞歸消耗內存多且耗時效率不高,因為每次遞歸的時候都會創立新的變量,導致棧內存佔用過多。

  初始化數組的時候可以不寫其大小,計算機會根據用戶輸入計算出數組大小(以字節為單位)。

  指針的值是其所指對象的地址,數組名是數組首元素的地址。
鍵盤左右鍵 ← → 可以切換章節
章節問題回報:
翻譯有問題
章節內容不符
章節內容空白
章節內容殘缺
上下章節連動錯誤
小說很久沒更新了
章節顯示『本章節內容更新中』
其他訊息