回覆列表
  • 1 # 子子健康

    c語言不太難學,主要就是指標在程式設計的時候容易出錯,引用非法記憶體地址,c語言很多是參加演算法競賽,在應用上需要高階語言,比如面向物件,泛型等,學習c語言就是要手動程式設計,比如編寫排序演算法,做題

  • 2 # LeoTian

    C語言學起來不算難。

    如果入門的話,建議看下譚浩強的《C語言程式設計》,老書了,當初我學的時候就是看這個入門的。裡面的練習多做,課程自己在電腦上跟著敲程式碼。一開始一定要搞明白條件語句,迴圈語句這些概念,不懂的話一定要搞懂,這是最基礎的。之後就是記憶體管理,指標這些概念,這些要有些難度,不過不難理解,一定要搞清楚原理,這些在C語言裡很重要,以後你會經常用到的。

    自學就是不要只是看書,裡面所有的程式碼一定要跟著敲出來,而且能編譯能執行。練習的話都要做,最好自己把練習題目修改修改,多練習沒毛病。

    入門之後可以看下《C Primer Plus中文版》,如果英文好,直接看原版的。

    程式設計其實就是邏輯的體現,記住,邏輯是一步一步的,不能跳步,差一步程式就會出錯。形成嚴謹的邏輯思維對你進行程式設計工作會有很大的幫助。

  • 3 # 大學生程式設計指南

    C語言放在之前都是必備的基礎語言,由於指標的存在很多人覺得C語言是一門特別難程式語言,放在十年前C語言是學習程式設計的必備語言,但整個軟體行業發展趨勢,趨向於高度整合化,所以程式語言整合度越來越高,目前非常流行的程式語言都高度整合化的程式語言

    1.python

    2.java

    3.前端

    這三種語言是目前初學者選擇比較多的語言,在以前這些都屬於指令碼語言,所謂指令碼語言的底層功能模組都是封裝起來的,直接呼叫拿到結果,現在慢慢向著主流程式語言邁進的趨勢了,特別最近特別火的python

    是不是C語言不值得學習了?

    這種顧慮完全沒有必要,python底層實現基本上由C語言完成,所以不要再聽什麼C語言已經過時之類的論調了。

    那麼C語言想要自學需要具備兩個條件:

    1.對程式設計特別的感興趣,興趣才是第一老師,有了興趣中間遇到問題才能克服

    2.覺得程式設計工資還不低,能夠滿足自己當前急缺錢的現狀,基於這點強大的內心驅動力也能夠讓自己遇到困難的時候克服過去。

    如果不滿足前面的條件不建議匆忙就開始學習C語言

    如何自學?

    1. 首先選擇一門入門的書籍,c primer plus 適合初學者入門

    2. 制定詳細的學習計劃,遇到不懂的知識點,在網路上找一些對號的影片解決掉,然後迴歸繼續書本學習

    3.基礎學完後開始在開源社群研究程式碼,先從看程式碼開始,然後嘗試修改程式碼

    按照三個步驟走,堅持下去學習個基礎還是足夠的,要想學的更加深刻需要真的專案的錘鍊。

  • 4 # 傳智播客

    提起C語言,有人說C語言屬於比較難的程式語言,也有人說C語言學起來比較簡單。一些大型專案設計高複雜度和高要求的專案的時候,C語言還是有很大的優勢的,例如網際網路搜尋引擎,高效能科學計算,大型網路遊戲伺服器等等..

    該如何著手學習C語言?下面給大家整理一套學習的階段。

    第一階段:

    1.C語言入門:資料型別、流程控制、函式、指標、記憶體佈局、結構體、共用體,檔案操作

    2.Linux系統程式設計基礎:Linux作業系統介紹、Linux目錄和路徑、Linux檔案許可權、Linux下常用命令、Vim編輯器、webserver環境搭建

    3.C專案,電子詞典:指標操作、檔案讀寫,流程控制

    4.C語言提高:指標操作、檔案讀寫,流程控制

    第二階段:

    1.C++對C的擴充套件:C++關鍵字、名稱空間、引用、C/C++混合程式設計、函式擴充套件

    2.C++基礎:面向物件程式設計思想、類的封裝、構造和析構、靜態成員、物件管理、友元函式、友元類、運算子過載、類的繼承,多繼承及其二義性、多型、虛擬函式,純虛擬函式,抽象類、函式模板,類模板、C++輸入輸出流、C++異常處理

    3.資料結構:演算法基礎、順序儲存、鏈式儲存、迴圈連結串列、雙向連結串列、棧(順序和鏈式)、佇列(順序和鏈式)、樹基本概念及遍歷、二叉樹、排序演算法。

    第三階段:C++進階

    1.C++進階之STL:序列式容器vector,deque、堆疊容器stack、雙向鏈容表器list、關聯式容器set,multiset、關聯式容器map,multimap、對組pari、STL演算法詳解

    2.設計模式與UML:設計模式概念、面向物件設計原則、單例模式、工廠模式、UML應用

    3.C++專案(貪吃蛇):C++常用的資料結構連結串列、C++類的應用、C++專案開發流程

    第四階段:

    1.Linux基本操作:Linux基本命令、Linux運維操作、檔案I/O操作、檔案系統剖析

    2.Linux系統程式設計:程序控制原語、程序間通訊、Linux訊號處理、程序間關係、守護程序、執行緒控制原語、執行緒間同步

    3.Linux網路程式設計:網路程式設計協議(TCP/IP、UDP)、Socket套接字原語、高併發伺服器、非同步I/O、libevent

    4.資料庫發開階段:SQL語言程式設計、SQL面試強化、MySQL程式設計、MongoBD程式設計

    5.Linux專案(web伺服器):多程序,多執行緒、程序間通訊、多工程式設計、網路資料通訊過程、B/S、C/S網路概念

    以上就是有關C語言的學習階段,以及各個階段的學習要點,每一個想要學習C語言的同學都可以作為參考。最後送給大家一個學習線路圖,可以更清晰的瞭解,該學習什麼。有關這個知識點,我這裡也有相關的影片,可是不知道問答裡面能不能放連結。所以有需要的朋友可以找我。希望可以幫助大家

  • 5 # DKink

    我的建議是先學組合語言,再學C語言。經過這麼多年的各類語言學習,最終發現原來組合語言是最簡單的語言。就是通用性差點,會了之後學C語言就會發現沒難度,C語言的實質就是簡單封裝彙編。指標的實質就是地址+型別。入門C語言21天認真學,其實時間足夠。

  • 6 # 產研谷

    不是c難學。是特麼學完c,做不出任何好玩的東西,最後還只有少數的人堅持下去,學了其他各種api,才能做點好玩的東西。對於初學者哪有什麼簡單易懂,又功能齊全並強大的api教程,都是些老掉牙的api,或者參考資料很少的api,還怎麼愉快的學了

  • 7 # 後端漫談

    首先介紹一下C語言:

    C是一種靜態,偏底層的通用程式語言,廣泛應用於系統級軟體的開發。C語言語法簡介、富有表達力,又靈活,加上極快的執行速度,已經成為程式語言中的常青樹。

    目前,全世界通用的計算機作業系統可以說都是C語言來開發的,可見C語言在系統級應用方面擁有極高的佔有率。同時C語言也是大多數軟體開發專業所學的第一門程式語言。

    就自學C而言,我推薦讀“柴田望洋”著的《明解C語言》,這本書擁有豐富的圖解,可以很好的幫助初學者入門C語言的程式設計。

    這本書包括以下部分:

    運算以及資料型別

    分支結構

    迴圈控制

    陣列

    函式

    字串

    指標

    結構體

    檔案處理

    學完這本書之後相信你已經對C語言已經具有初步的認識,可以編寫一些簡單的小程式。接下來可以讀一讀《C Primer Plus》,這本書是對學習C語言的進階。

    當然只學習語言本身是沒有任何意義的,程式語言的作用是編寫出來給人用的程式以及應用。由於C語言比較底層,編寫軟體所需的程式碼量是巨大的,進而一般開發應用程式都是選擇java、c#、php等。

    學完C語言之後題主可以學一下計算機的理論課程以及演算法。主要是這幾個方向:

    作業系統

    網路

    資料庫

    編譯器

    演算法

  • 8 # 光明右使8787

    C是易學難精,沒有一定的硬體知識很難學深。C一般用來寫比較底層的東西,對記憶體分配、中斷、執行緒、訊號量、鎖這些不瞭解的話,只能寫寫Hello world. 學C最好的方法是買塊嵌入式開發板,按影片教程學,當程式能驅動硬體的時候就會有成就感,激勵你繼續往下學。

  • 9 # 力扣LeetCode

    這樣說,學習語言不是你的目的,語言只是一門工具。學會程式設計才是你真正的目的。換句話說,我們就是要對語言外的演算法、資料結構都要有了解。

    這裡首先不得不推薦的是 力扣(LeetCode)職業化技術成長平臺,幫助你高效拿下網際網路技術崗 Offer,讓你的技能發揮他真正的價值。另外,我們也想為您推薦以下寫書籍:

    《C和指標》

    《C缺陷與陷阱》

    《C專家程式設計》

    《C語言深度剖析》

    《C++ Primer 5th》

    《Effective C++》

    《深度探索C++物件模型》

    《STL原始碼解析》

    《編碼》

    《編譯原理》

    《組合語言》

    《C++反彙編與逆向分析》

    《編碼》深度形象的講解了計算機的原理,看完此書後你會對計算機的工作原理有較深刻的理解,強烈推薦大家看一看。

    《演算法導論》

    《程式設計珠璣》

    《程式設計之美》

    《演算法藝術與資訊學競賽》

    《深入理解作業系統》

    《Linux核心完全註釋》

    《自己動手寫作業系統》

    《Windows核心原理與實現》

    《Head First 設計模式》

    《設計模式-可複用面向物件軟體的基礎》

    《重構與模式》

    《程式碼大全》

    《設計模式》(GOF)

    《資料庫系統概念》

    《資料庫系統實現》

    《MySQL技術內幕:sql程式設計》

    《MySQL技術內幕:InnoDB儲存引擎》

  • 10 # Kapu

    看影片,敲程式碼,編寫一個完整的小專案,看入門書,再改進小專案,再看進階書,把小專案擴大並進一步改進。。。。

  • 中秋節和大豐收的關聯?
  • 古代的九州是什麼意思?