當前位置:首頁 » 編程語言 » c語言自學知乎

c語言自學知乎

發布時間: 2022-07-27 13:17:16

1. 關於計算機編程c語言java,自學看哪些書比較淺顯易懂

其中《Head First Java》被亞馬遜評為十大好書之一。在京東計算機類書籍中熱度排名第16位,在Java類書籍中排名第2位。豆瓣評分為8.8分,有百分之54.4%的讀者給出了五星評價。在知乎社區中有來自無數位的大神做推薦。哪本書適合推薦給 Java 初學者? - 書籍推薦

密碼:380p

以上都是小編收集了大神的靈葯,喜歡的拿走吧!喜歡小編就輕輕關注一下吧!

2. 現在還有學c語言的必要嗎 知乎

1. 與其它高級語言比起來,C 語言對硬體親和性差不多算最高,對硬體的利用率也最高(在會用的前提下)。 C 語言可以很方便地任意操作目前計算機內任何可以用地址來表示的東西——也就是說軟體能直接操作到的東西中,只有 CPU 里邊的寄存器不能直接操作(嵌到 C 里邊的匯編或者編譯器特殊處理的不算)。2. 比 C 更能全方位操作硬體的只有匯編,但是匯編對復雜程序設計實在是太不方便了。所以目前操作系統也只有很少的部分用匯編寫。3. C 語言本身對於應用程序的開發在時間上並不會造成太大的障礙。很多其它語言的高級特性其實只是庫的支持而已,如果有那些 library,C 語言在開發效率上並不會有太大的問題。並且發展了這么多年,其實常用的 library 基本上也都能找到。4. 由於計算機性能的增強,越來越多的功能可以僅通過腳本在宿主環境中完成。這是 C 語言做不到的。5. C 語言也是高級語言中最能體現目前計算機硬體工作方式的語言。綜合前三點,如果計算機架構不改,C 語言必定還有很大的生存空間。誠然硬體資源和人力資源(編程時間)上的權衡,隨著計算機硬體的發展,越來越偏向人力資源,所以C 語言的分額會萎縮。但是人的慾望膨脹得也不慢(對計算機硬體性能的需求膨脹),在這個條件下 C 語言的需求萎縮並不會太快。上面第四點可能是 C 語言需求萎縮的最大原因,不過第四點在一定程度上也拓展了編程人員的需求量。由於最後一點,如果真的要對其它編程語言有很深入的理解,那必須理解計算機的架構(計算機到底是怎麼幹活的),那麼 C 語言是道邁不過的坎。只要涉及到操作系統就離不開 C 語言了(當然可以說有的操作系統用的 C++,但是如果 C 語言都沒搞清楚,C++是不可能搞清楚的)。對於比較上層的開發者來說就算不常用C語言,至少要知道 它是怎麼回事,就像寫驅動的人可能並不常用匯編,但是一定要知道它是怎麼回事,不然怎麼解那些莫名其妙的 bug?學了C 語言,最不濟的情況下,也是會讓你有機會成為使用其它任何語言的高手。
說的非常好,轉一下
作者:熊心源
鏈接:http://www.hu.com/question/21992679/answer/19991091
來源:知乎
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

3. 為什麼知乎上大多數人不推薦C語言入門

我就是c入門,一開始很難理解,啃書啃的特別痛苦。不過克服了這個,後面學python,c++都是一帆風順,因為c算是挺底層的高級語言,很多細節,掌握了這些其他的就不再話下了。所以用c入門可以認為是從較難的開始,打牢這個基礎後面就容易了。
大多數人覺得c不適合入門也是這個原因,一開始入門太難太慢成效低,很容易打擊學習積極性,尤其是自學的話更困難。所以建議自學還是從易到難深入,python就是公認的很簡單的入門語言。有了c做基礎一周內就能掌握。沒有基礎的話幾個月也差不多

4. c語言好學嗎

我感覺還行,如果你有足夠的時間的話,或者你本身就是這個專業的話,C語言很快就能熟練的。不建議買國內出的書,如果英語水平太差的話,去買外國著的翻譯本,如果想要精通和熟練,基本需要500頁以上的書,因為他們講的詳細,最差也要選擇300頁以上的書,300頁以下的書,都不建議購買,幾乎都是縮編本,很多細節會給你省略掉,但是一般300頁以上的書,都偏貴,可以到網上搜老版本的舊書的pdf。C語言方面的好書還是很多的,你可以根據你自己的選擇去學,C語言是最基礎的了,知乎上能搜到一大把C語言最好的教材名字。

這里推薦一本我看過的書吧,我覺得比較適合小白吧(因為我不確定是不是真的適合無基礎的小白,因為我是在大學里有學過C語言的,但是大學里的書都是閹割版,所以學的一般,但是我看這本書的時候,感覺很詳細,而且理解的更加透徹了,反正我感覺不難),這本書叫《C語言程序設計現代方法(第2版)》,呂秀芬 黃倩 翻譯的譯本,我覺得翻譯的不錯,挺通暢的,這本書在網上能找到pdf版本,我用的是621頁的版本。

5. 零基礎能自學c語言嘛

學習不要怕難,實在不行找我帶你,我當初也是找人的,學習不怕難就怕不鑽研。
1其實單純的學一門編程語言,基礎知識也不需要太多(我高一學的c語言,英語不太好的話就感覺有約單詞記不住,不過用多了就記住了)。最好學過函數。編程語言只是一種控制電腦的工具,學會使用就行。我覺得初中生能有這種超前的意識是可喜了貴的(當時我都不知道有編程這回事)
2想清楚學c的目的。c的話嵌入式(就是控制處電腦手機之外不是很本的機器。例如,玩具車,洗衣機,無人機)用的,對電子設計感興趣的話建議從c開始。如果只是單純的好奇,那就開始學吧!在此過程中碰到一個不知道的專業術語推薦網路。如果是為以後的職業想,大可不必(好好學習,天天向上工作就不是問題了)。如過對這些都好奇,我也不知道改該怎麼辦。總結一下自己的問題在網路或者知乎上搜搜問問就行。
3《c語言程序設計》譚浩強這本書雖然在網上噴的很多,不過很適合初學者,還有這本是大學的教材。
4其實零基礎學會了c,也編不了應用程序(當時我就想c都學完了,我這么還是只會寫黑框框的程序)。就能解決自己會的數學問題。如果要用c寫應用程序,需要相關的計算機知識。
5要想寫出工能強大的程序,學python。python本身有很多庫的支持(如numpy,thinker,django,matplotlib)。只要知道相關函數的用法,就能寫程序了。還有現在是塊狀代碼時代,本來就不太多對層代碼的理解(這個函數的裡面是怎麼寫的)。(補充)學html+css+js(web前端)的話就需要太多計算機知識,會用幾個標簽小學生都能搞,不過我也就是玩玩,因為沒有美工知識,做出來的網頁也不怎麼好看,我過超有成就感。總結一下就是:買本c語言的書。多上機寫代碼。然後運行(很重要)。還有打字要會,打字太慢的話很浪費時間(打快有一種在飛的感覺...那是不可能的,慢的話先下個打字通練練,比較快提高速度的方法。我英文平均每分鍾150個)。打字慢你也要上機的話,也行。

6. 學c語言,該怎麼學,才能成c大神

學習C語言始終要記住「曙光在前頭」和「千金難買回頭看」,「千金難買回頭看」是學習知識的重要方法,就是說,學習後面的知識,不要忘了回頭弄清遺留下的問題和加深理解前面的知識,這是我們學生最不易做到的,然而卻又是最重要的。學習C語言就是要經過幾個反復,才能前後貫穿,積累應該掌握的C知識。

1.學好C語言的運算符和運算順序
學好C語言的運算符和運算順序
這是學好《C程序設計》的基礎,C語言的運算非常靈活,功能十分豐富,運算種類遠多於其它程序設計語言。在表達式方面較其它程序語言更為簡潔,如自加、自減、逗號運算和三目運算使表達式更為簡單,但初學者往往會覺的這種表達式難讀,關鍵原因就是對運算符和運算順序理解不透不全。當多種不同運算組成一個運算表達式,即一個運算式中出現多種運算符時,運算的優先順序和結合規則顯得十分重要。在學習中,只要我們對此合理進行分類,找出它們與我們在數學中所學到運算之間的不同點之後,記住這些運算也就不困難了,有些運算符在理解後更會牢記心中,將來用起來得心應手,而有些可暫時放棄不記,等用到時再記不遲。
先要明確運算符按優先順序不同分類,《C程序設計》運算符可分為15種優先順序,從高到低,優先順序為1 ~ 15,除第2、3級和第14級為從右至左結合外,其它都是從左至右結合,它決定同級運算符的運算順序.

END
二.學好C語言的四種程序結構
順序結構
順序結構的程序設計是最簡單的,只要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
例如;a = 3,b = 5,現交換a,b的值,這個問題就好像交換兩個杯子水,這當然要用到第三個杯子,假如第三個杯子是c,那麼正確的程序為: c = a; a = b; b = c; 執行結果是a = 5,b = c = 3如果改變其順序,寫成:a = b; c = a; b = c; 則執行結果就變成a = b = c = 5,不能達到預期的目的,初學者最容易犯這種錯誤。 順序結構可以獨立使用構成一個簡單的完整程序,常見的輸入、計算,輸出三步曲的程序就是順序結構,例如計算圓的面積,其程序的語句順序就是輸入圓的半徑r,計算s = 3.14159*r*r,輸出圓的面積s。不過大多數情況下順序結構都是作為程序的一部分,與其它結構一起構成一個復雜的程序,例如分支結構中的復合語句、循環結構中的循環體等。

分支結構
順序結構的程序雖然能解決計算、輸出等問題,但不能做判斷再選擇。對於要先做判斷再選擇的問題就要使用分支結構。分支結構的執行是依據一定的條件選擇執行路徑,而不是嚴格按照語句出現的物理順序。分支結構的程序設計方法的關鍵在於構造合適的分支條件和分析程序流程,根據不同的程序流程選擇適當的分支語句。分支結構適合於帶有邏輯或關系比較等條件判斷的計算,設計這類程序時往往都要先繪制其程序流程圖,然後根據程序流程寫出源程序,這樣做把程序設計分析與語言分開,使得問題簡單化,易於理解。程序流程圖是根據解題分析所繪制的程序執行流程圖。
學習分支結構不要被分支嵌套所迷惑,只要正確繪制出流程圖,弄清各分支所要執行的功能,嵌套結構也就不難了。嵌套只不過是分支中又包括分支語句而已,不是新知識,只要對雙分支的理解清楚,分支嵌套是不難的。下面我介紹幾種基本的分支結構。
①if(條件)
{
分支體
}
這種分支結構中的分支體可以是一條語句,此時「{ }」可以省略,也可以是多條語句即復合語句。它有兩條分支路徑可選,一是當條件為真,執行分支體,否則跳過分支體,這時分支體就不會執行。如:要計算x的絕對值,根據絕對值定義,我們知道,當x>=0時,其絕對值不變,而x<0時其絕對值是為x的反號,因此程序段為:if(x<0) x=-x;
②if(條件)
{分支1}
else
{分支2}
這是典型的分支結構,如果條件成立,執行分支1,否則執行分支2,分支1和分支2都可以是1條或若干條語句構成。如:求ax^2+bx+c=0的根
分析:因為當b^2-4ac>=0時,方程有兩個實根,否則(b^2-4ac<0)有兩個共軛復根。其程序段如下:

d=b*b-4*a*c;
if(d>=0)
{x1=(-b+sqrt(d))/2a;
x1=(-b-sqrt(d))/2a;
printf(「x1=%8.4f,x2=%8.4f\n」,x1,x2);
}
else
{r=-b/(2*a);
i =sqrt(-d)/(2*a);
printf(「x1=%8.4f+%8.4fi\n」r, i);
printf(「x2=%8.4f-%8.4fi\n」r,i)
}
③嵌套分支語句:其語句格式為:
if(條件1) {分支1};
else if(條件2) {分支2}
else if(條件3) {分支3}
……
else if(條件n) {分支n}
else {分支n+1}
嵌套分支語句雖可解決多個入口和出口的問題,但超過3重嵌套後,語句結構變得非常復雜,對於程序的閱讀和理解都極為不便,建議嵌套在3重以內,超過3重可以用下面的語句。
④switch開關語句:該語句也是多分支選擇語句,到底執行哪一塊,取決於開關設置,也就是表達式的值與常量表達式相匹配的那一路,它不同if…else 語句,它的所有分支都是並列的,程序執行時,由第一分支開始查找,如果相匹配,執行其後的塊,接著執行第2分支,第3分支……的塊,直到遇到break語句;如果不匹配,查找下一個分支是否匹配。這個語句在應用時要特別注意開關條件的合理設置以及break語句的合理應用。

循環結構
循環結構可以減少源程序重復書寫的工作量,用來描述重復執行某段演算法的問題,這是程序設計中最能發揮計算機特長的程序結構,C語言中提供四種循環,即goto循環、while循環、do –while循環和for循環。四種循環可以用來處理同一問題,一般情況下它們可以互相代替換,但一般不提倡用goto循環,因為強制改變程序的順序經常會給程序的運行帶來不可預料的錯誤,在學習中我們主要學習while、do…while、for三種循環。常用的三種循環結構學習的重點在於弄清它們相同與不同之處,以便在不同場合下使用,這就要清楚三種循環的格式和執行順序,將每種循環的流程圖理解透徹後就會明白如何替換使用,如把while循環的例題,用for語句重新編寫一個程序,這樣能更好地理解它們的作用。特別要注意在循環體內應包含趨於結束的語句(即循環變數值的改變),否則就可能成了一個死循環,這是初學者的一個常見錯誤。
在學完這三個循環後,應明確它們的異同點:用while和do…while循環時,循環變數的初始化的操作應在循環體之前,而for循環一般在語句1中進行的;while 循環和for循環都是先判斷表達式,後執行循環體,而do…while循環是先執行循環體後判斷表達式,也就是說do…while的循環體最少被執行一次,而while 循環和for就可能一次都不執行。另外還要注意的是這三種循環都可以用break語句跳出循環,用continue語句結束本次循環,而goto語句與if構成的循環,是不能用break和 continue語句進行控制的。
順序結構、分支結構和循環結構並不彼此孤立的,在循環中可以有分支、順序結構,分支中也可以有循環、順序結構,其實不管哪種結構,我們均可廣義的把它們看成一個語句。在實際編程過程中常將這三種結構相互結合以實現各種演算法,設計出相應程序,但是要編程的問題較大,編寫出的程序就往往很長、結構重復多,造成可讀性差,難以理解,解決這個問題的方法是將C程序設計成模塊化結構。

模塊化程序結構
C語言的模塊化程序結構用函數來實現,即將復雜的C程序分為若干模塊,每個模塊都編寫成一個C函數,然後通過主函數調用函數及函數調用函數來實現一大型問題的C程序編寫,因此常說:C程序=主函數+子函數。 因此,對函數的定義、調用、值的返回等中要尤其注重理解和應用,並通過上機調試加以鞏固。

END
三.掌握一些簡單的演算法
1
編程其實一大部分工作就是分析問題,找到解決問題的方法,再以相應的編程語言寫出代碼。這就要求掌握演算法,根據我們的《C程序設計》教學大綱中,只要求我們掌握一些簡單的演算法,在掌握這些基本演算法後,要完成對問題的分析就容易了。如兩個數的交換、三個數的比較、選擇法排序和冒泡法排序,這就要求我們要清楚這些演算法的內在含義。
結語:當我們把握好上述幾方面後,只要大家能克服畏難、厭學、上課能專心聽講,做好練習與上機調試,其實C語言並不難學。

7. 自學編程從哪學起知乎

有一定計算機基礎的話,隨便一本編程書就可以。比如java之類。然後進階還需要學習數據結構,其實不學數據結構單純當普通的編程員也沒問題。因為只要會一門語言,就可以編出軟體。主要是看哪種更流行。c語言比較復雜。java簡單好學一些。

8. 自學C語言需要注意些什麼,看些什麼書

C的基礎部分總的來說不難,對於沒有基礎的人很快能夠上手,學習的較快。也不需要其他方面的基礎。現在大學里的課程設置基本上是從C到C++。學習C比較好的書是清華大學譚浩強教授的《C語言程序設計》,還有配套的習題解答《C程序設計題解與上機解答》。學C最重要一條:多動手,把書後面的每一道題都親自寫一遍。要學C++,必先學C。
學過C後再學C++上手比較快,因為C的一些規則、關鍵字、語法等,C++全部都包含了。我自己在大學里就是從C到C++學習的。至於書,很多人推薦《Thinking in C++》,我也看過。不過對於剛開始學習C++的話我認為還是選擇一些基礎點的書。例如清華大學的《OOP方法與技術》,很多大學用這個作課本。你在網上也可以找找看,相關資料很多。
當然,如果想學好C++,對於一些像《數據結構》《演算法與設計》《計算機英語》等方面的書也要看看。

熱點內容
apk反編譯入門 發布:2025-01-25 01:26:43 瀏覽:472
英雄聯盟在哪投訴腳本 發布:2025-01-25 01:26:43 瀏覽:314
php在線統計 發布:2025-01-25 01:26:42 瀏覽:65
手機加密室 發布:2025-01-25 01:25:57 瀏覽:219
搭建excel伺服器 發布:2025-01-25 01:25:19 瀏覽:1000
雙系統win7和linux 發布:2025-01-25 01:25:19 瀏覽:606
為什麼蘋果手機攝像比安卓好 發布:2025-01-25 01:06:48 瀏覽:787
linux查看系統多少位 發布:2025-01-25 01:04:31 瀏覽:121
雲伺服器體驗香港虛擬主機空間 發布:2025-01-25 00:51:19 瀏覽:812
空氣能膨脹罐如何配置 發布:2025-01-25 00:50:33 瀏覽:312