C 學習分享(2)

2021-09-13 16:12:59 字數 1208 閱讀 9619

推薦乙個我覺得比較好的入門課程,程式設計與演算法(一)c語言程式設計-郭煒老師的。郭煒老師的教學風格,通俗易懂的講解了程式設計的基本知識,我覺得講的還是很慢的,可以比較快速的學完,同時推薦郭煒老師的另外一門課:程式設計與演算法(二)演算法基礎。課後作業還是要堅持,多寫**,poj是北大花了很多錢搭建的教學平台,不用可惜了。

推薦完課程,就進入正題,今天的學習分享。

資料型別:開始想到的應該是int float char bool等資料型別,這些都是基本的內建資料型別,在c++中並不明確規定資料有多少位,但是規定資料型別表示的最大和最小值,這間接的表達了資料型別的位數。還有說明符,如unsigned、short、long等。c++在資料型別存在很多隱式轉換,例如int可以轉化為bool,char也可以轉換為int等,從這方面來看屬於弱型別語言,但是在物件導向的邏輯層面,c++又有著強型別語言的特性,作為初學者可能有點早,也比較不好理解。

c++中不建議頻繁使用隱式轉換,也不建議使用c語言方式的強制型別轉換,c++11中引入了c++的顯示轉換,主要有static_cast、const_cast等,這種顯示轉換很清晰,方便查詢,利於維護。但是無論什麼原因,頻繁的顯式轉換都不是乙個很好的選擇。

除了基本的內建資料型別,還有較為複雜的資料型別,像c語言中的struct,同樣在c++中使用,但是,c++有了更好的解決方案,也就是struct的公升級版,class。在c++中struct和class的主要區別在於訪問許可權,struct內部資料預設為public,class預設為private,在後面會逐漸介紹。

除了struct,c語言中的enum和union在c++中均儲存了,其中enum型別值得注意的是,在c語言中對於乙個enum變數a,可以寫a++,但是對於c++不行,這主要是在c++中a++存在兩個隱式型別轉換,首先將enum型別轉成int ,在將int型別自加,然後將int轉成enum,這在c++中是不允許的,從另外乙個層面來說,a++之後,可能就不是enum中的值了,怎麼說這都是比較危險的。在c++中enum用的較少,大部分對於物件導向設計都可以用多型的方式解決。union我用的少,不是很熟悉,比較熟悉的大神可以補充。

陣列也算是一種複雜的資料型別,這次就不講了,應為陣列和指標關係比較緊密,下一節介紹。

今天的分享就到這了,推薦的課程可以看,多寫**。今天的專業詞彙比較多,可能對於小白比較難理解,可以搜尋了解一下,暫時不理解也沒有關係,等學一段時間有個大概認識,理解起來也很輕鬆。

我建了乙個qq群,主要學習c++,群號為926420695,感興趣的小夥伴歡迎加入。

C語言學習與分享

一。檔案的使用方式 r 唯讀 rb唯讀 r rb 不帶b的為已存在的文字檔案,帶b的為二進位制檔案 binary 帶 號的為讀寫檔案 w 只寫 wb只寫 a 追加 ab追加 二。說明 1.c語言將計算機的輸入輸出裝置都看作是檔案。例如,鍵盤檔案 螢幕檔案等。ansi c標準規定,在執行程式時系統先自...

C語言的學習分享(2) 20200219

今天是學c語言的第二天 來回來去,安裝xcode花了我不少的時間 c語言真是寶藏,我坐下來一學就是六個小時一點也不想停下來。今天學的是一些c語言的基礎的東西 當然這些東西的概念我現在是粗淺了解 我相信以後熟練了我會懂得更明白 覆盤一下 指令和標頭檔案 函式花括號 注釋 我特別喜歡注釋 識別符號運算子...

學習分享 C 語言(持續更新)

2 變數名 引用 指標 3 內聯函式inline 4 類5 封裝 6 繼承 7 多型 7.2 子型別多型 執行 7.3 引數多型 編譯 7.4 強制多型 編譯 執行 參考c 物件導向 我.吃 飯 c面向過程 吃 我,飯 1 常指標 const p 2 指向常量的指標 const p 3 指向常量的引...