c語言如何入門演算法和指標不會用怎麼辦?要看那些說?要注意什麼

2022-02-18 14:50:39 字數 6321 閱讀 8488

1樓:喝水噎著了

我剛學完c語言,總的來說,演算法其實是指導一個程式如何執行,當你用到某一個演算法時,才會想著如何去用它,而不是還沒有編過什麼程式就想要精通什麼演算法,這是不可能的。如果你想要好好學c語言的話,建議用 c primer plus ,然後多敲一些**,程式設計師都是碼出來的

2樓:

演算法是一種概念的東西,就像你做數學題一樣,一種思維而已,指標嗎,初學者不是太好理解,說白點就是地址,c語言中每個變數在電腦裡都有一個記憶體區域,就像我們的家庭住址一樣,一般與陣列一起用,,指標變數的定義一般是以*為識別符號,這個東西要會理解,我也不知道怎麼跟你說,多看點書,看點**,看多了就會了

3樓:老衲不說話

學程式設計最好的方法就是程式設計,只要多多練習就行。

呵呵,剛開始都會迷茫,多多練習,多看看程式,不一定非要剛開始就把定義搞明白,這是很難的,都很抽象,用的次數多了就能有個大體的概念了

4樓:匿名使用者

c和指標,這本書很好的!自己要學會揣摩它的演算法及思路,多想想,多看程式**!

5樓:匿名使用者

演算法就是你做事情的方法和步驟只不過是用c語音這種方式表達罷了,指標你把堆疊弄明白就會了!多做些練習題再多看看別人寫的程式 看明白了就懂演算法了

初學c語言應該要注意一些什麼?

6樓:匿名使用者

格式以及變數的定義,取地址符號,分號等等!

7樓:匿名使用者

多看看一些比較經典的**

c語言指標怎麼理解,什麼時候會用到指標,要注意哪些方面

8樓:匿名使用者

cpu自己有運算器和暫存器,通過匯流排與儲存器件相連,在

執行運算時,

需要將資料衝儲存器件上面將參與運算的資料讀入,運算完成後再送出到

儲存區。那麼cpu讀入時需要訪問儲存器件的某個單元,需要指定這個單元

的編號,我們管這個編號叫儲存地址。

比如:int a[10],*p; p=&a[3];a就是一個擁有10個整型資料的資料區

的首地址,變數p是存放地址的,稱為指標型變數,賦值時需要取相應儲存

區的地址,p=&a[3];就是取陣列a的第4個單元的地址給p,那麼p就拿到了

這個單元的地址,*p=5;就相當於a[3]=5;的操作,p++;後p指標就指向a[4]。

在操作大塊資料時,一般記錄首地址(陣列指標),然後根據首地址再加

上偏移量來訪問整個資料,在你程式中寫a[3]時,計算機就會取a陣列對應

的首地址再加3個整型偏移量來訪問相應資料。用指標p訪問a陣列的好處

是,不用每次計算a加多少偏移訪問資料,而是使p指向某資料後可以p++

或p--來訪問前一個或後一個資料。

注意:1.指標存放地址用,不是儲存實際資料的,它是用來找數的,在

程式中要注意這點,往往出問題的是,指標還沒有賦值就用來操作,或

用指標來存放資料,如:int *p=15,s[10]= };的

p指標賦值有問題,這樣計算機會把15當成地址存放到p變數中,以後用

*p訪問得到的資料就不是你想要的資料了。(應該類似:p=s+1; *p=15;)

2.指標訪問資料區一般需要程式來控制不要越界,比如定義了10個單元

的資料區,你不能讓指標超出這10個單元的範圍,否則得到的資料就是

不靠譜的。

3.指標的定義只是開設了可以訪問資料區或陣列的變數,資料區和陣列

需要你的程式另行開設,然後把資料區或陣列的某個單元的地址賦值給

指標變數,不要認定義了能訪問陣列的指標,陣列就定義好了。

4.指標存放的地址最好不要用來與其他地址比較,除非你能確認地址比

較的結果肯定是你想要的。

5.舉例來說,int a[10],*p=a;中a和p都是指標(地址),但a和p是不同的

在編譯器眼中,a是一個資料區的首地址,是一個標記,你程式中使用a

時,編譯器會知道用資料區的首地址來替換操作,而p是你自己程式開

設的變數,可以在程式中操作比如p++; p=a;等,但作為記號的a就不能

在程式中操作了,如a++; a=p;就是錯的了。

6.子程式如果引數是指標型的,這個引數由子程式開設的指標型臨時

變數儲存,這個臨時變數可以進行操作,但不會返回給呼叫者的指標型

變數。如:int a[10],*p; int f(int *s) main()

s再怎麼加減都不會影響p。

9樓:匿名使用者

指標可以理解為一張 寫有變數或函式入口或結構體具體存放位置地址 的紙條,如果把記憶體比作一棟大樓,那麼紙條上寫得就是第幾層樓第幾號室。使用指標的意思就是自己根據紙條上地址,找到對應的房間,並對房間裡面的東西取出來做出你需要的操作。

用到指標的情況很多,最常見的是被呼叫函式返回多個引數時會用到;製作各種連結串列會用到;訪問結構體成員會用到;手動動態分配使用記憶體會用到;一些特定的結構體變數型別會用到(如 file)為提高程式執行效率也會特意使用指標(包含很多種情況,不再贅述);等等等等

要注意的地方也很多,很難說完,常見的就以下幾種(我能想到的):

1.指標變數和普通變數概念使用方式相混淆

2.指標變數的賦值(初始化,傳遞地址)方式有誤3.指標變數的型別與所指元素的型別不一致

4.指標移動不恰當

5.指標在使用過程中發生了不必要的導致錯誤的改變6.多重的指標指向指標,導致形成難以理清的邏輯關係還有很多其他情況,在不同的使用環境下,指標會產生一些特定的要注意的問題;歸根結底是c語言指標太靈活了,能做得事非常多,代價就是產生問題的原因也是很靈活的,一一列舉幾乎是不可能的。

希望對你有所幫助

10樓:匿名使用者

說實話吧,c語言的精髓就是指標,你的這個問題,沒有誰能幫你解決,去看看書吧

推薦 《c和指標》講解的挺詳細,自學的難度是有點大,這是大一的課程,你呢?是、、、

11樓:匿名使用者

個人理解

指標就是地址,不過這個地址是有型別的,比如一個int型的指標,int指的是該指標指向的那塊記憶體存放的內容是一個int型的資料。

或者也可以把指標的型別簡單的看作是這個指標所能管到的記憶體的大小,如一個int型別的指標可以管4個位元組,char型別的可以管1個位元組。

12樓:匿名使用者

就是資料的地址。 通過指標,可以向這個地址寫入資料,或者讀取資料。p是地址, *p就是地址的內容。

13樓:韭花逞味

c語言指標就是記憶體地址。既然是記憶體地址當然可以用它來訪問記憶體。所以當你要對記憶體進行讀、寫或分配、釋放的時候會用到。

甚至可以用函式指標來訪問函式。要注意的東西一時說不全,這個需要自己實踐總結。

有什麼好的適合初學者看的c語言書籍嗎?

14樓:匿名使用者

重點推薦c語言四大聖經:《c語言程式設計》、《c和指標》、《c陷阱與缺陷》、《c作家程式設計》。其中c語言的發明者k&r的《c程式設計語言》更是重中之重,此書是c語言的第一祕典。

所有優秀程式設計師的必經之路。

四大聖經及其他優秀書籍的資訊:

1.《c語言程式設計》

k&r清華大學出版社

2.《c和指標》

pointers on c kenneth a.reek、徐波 人民郵電出版社

3.《c陷阱與缺陷》

andrew koenig、 高巍

人民郵電出版社

4.《c專家程式設計》

expert c programming deep c secrets peter van

der linden 人民郵電出版社 (2008-02出版)5.《清華大學計算機系列教材•資料結構(c語言版)(附光碟1張)》

吳偉民、 嚴蔚敏

清華大學出版社

6.《計算機演算法設計與分析(第3版)》

王曉東電子工業出版社

7.《演算法藝術與資訊學競賽•演算法競賽入門經典》

劉汝佳清華大學出版社

8.《演算法導論(原書第2版)》

科曼(cormen t.h.)、等、 潘金貴機械工業出版社 (2006-09出版)

9.《程式設計之美:微軟技術面試心得 》

《程式設計之美》小組

電子工業出版社

10.《程式設計珠璣(第2版)》

jon bentley、黃倩、 錢麗豔

人民郵電出版社

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

劉汝佳清華大學出版社

12.《程式設計師面試寶典(第3版)》

歐立奇、劉洋、 段韜

電子工業出版社

13.《數學之美》

(《浪潮之巔》作者吳軍最新力作,李開復作序推薦,google黑板報百萬點選)

15樓:【阿琪

譚浩強的《c程式設計》比較好,裡面知識點講的清楚明白,看書的同時要把書後的題目做做,要把程式執行的過程想明白。學c語言一定要自己多寫,只有自己多寫寫才能發現程式編寫時需要注意的問題。還有就是多看看別人寫的程式,很多都是很有啟發的。

個人認為用c語言程式設計的時候要注意為偽**,也就是運算過程,只要把運算過程的演算法想明白了,寫程式就簡單了。總之,多看多寫多想,c語言不難。

16樓:匿名使用者

c語言程式設計疑難解析與技巧300例...這本不錯比那些所謂的教科書強多了...解析清楚詳細....具體哪一本好,最好自己去看看才好...

17樓:潮起潮落之小超

我們學校用的是中國礦業大學出版的由龔尚福主編的書,還不錯的了。一般還有就是那種計算機二級教程的書,都很簡單,自己看就可以看的懂了,適合自學。

如何學習c語言?

18樓:z不可替代

學習方法是:

1、課前預習,課後複習,認真做課堂、課後的作業,理解理論知識。

2、記住語法規則。

3、加強邏輯思維。

4、多動手,通過練習上機瞭解它的執行過程。

5、實踐—>理論—>再實踐,剛開始學習c語言時,按示例練習,並推動理論的學習,然後再自己多思考,多上機實踐。

c語言是一門通用計算機程式語言,廣泛應用於底層開發。c語言的設計目標是提供一種能以簡易的方式編譯、處理低階儲存器、產生少量的機器碼以及不需要任何執行環境支援便能執行的程式語言。

儘管c語言提供了許多低階處理的功能,但仍然保持著良好跨平臺的特性,以一個標準規格寫出的c語言程式可在許多電腦平臺上進行編譯,甚至包含一些嵌入式處理器(微控制器或稱mcu)以及超級電腦等作業平臺。

19樓:雲南新華電腦學校

怎樣才能學好c語言

1、學好c語言,你可以很好地應付任何一種程式設計工具。

2、一定要多上機練習,通過程式瞭解相關知識。幾經反覆方得正果。

3、不要把學習c語言當成一種任務,更不要把它看成很難完成的任務。要充滿自信,只要是一個智力正常的人都能學好c語言。始終保持遊戲的心態,多發現其中的樂趣。

當感到程式設計趣味無窮,那你在電腦方面將前程無量。

4、如果一個程式一時無法弄清楚最後暫時放在一邊,過一段時間你可能會從其他的程式中悟出道理。

5、c語言是一個整體,各個方面是有機聯絡的,要從總體上把握它,不要把它割裂成互不關聯的部件。

6、不要完全相信教材(包括本講義),所有結論最好都上機驗證。

怎樣學好c語言

1. 工欲善其事,必先利其器

準備工作:一個開發環境,如turbo c 2.0、visual c++等開發工具;一本好教材,如譚浩強主編的《c語言程式設計》(第二版)。

我當時看的是他的第一版,就為它的簡潔、完美所吸引,簡直愛不釋手,用了兩個星期一口氣看完。

2. 祕密**

初學者學習計算機語言要會「讀程式」,要對小型的應用型、遊戲型程式感興趣,並模仿去加深對c語言程式設計的理解和操作,只有不斷地寫程式、除錯程式才能得到編寫程式的經驗和加深對程式的理解,這也是學習編寫優秀高階程式的祕密**。

3. 發揚探索精神

學習c語言程式設計有點像做數學難題,只要我們善於思考,善於探索,發揚探索精神去尋找好的設計思想和方法,才能把c語言的精髓真正地掌握。

備戰c語言考試要訣

1. 瞭解大綱,臨陣不亂

各類筆試中,大多數考題是與大綱要求的基本內容一致的,難度不高,但內容十分廣泛,應牢固掌握c語言考試大綱要求的基礎部分。只有熟悉題型,理解語法、句法,做到心中有數,才能臨陣不亂。

2. 善於歸納,強化記憶

對於需要記憶的計算機基礎知識和基本概念,如果考試時因此失分就十分可惜。如:c語言中有幾種不同的資料型別?

運算的優先順序別是怎樣的?因此我們需要善於歸納這些計算機基礎知識,並在理解的基礎上強化記憶。

3. 重視實踐,善於除錯

關於c語言指標和地址問題

針對第一個問題 是取地址符號,資料在計算機中儲存,有相應的地址能夠找到.陣列頭部就相當於一個指標,如果float x n 那麼x代表著陣列中的首地址,由於陣列在記憶體佔用的是連續儲存空間.因此也可以用指標去得到它的資料.你呼叫陣列的時候,其實也就是傳遞陣列的首地址給函式,那麼就不需要 符號了.然而你...

如何用C語言編寫連結串列結點查詢的演算法

include using namespace std class chain class chainnode class chain void fun 查詢函式 private chainnode first 指向第一個節點指標 chain chain chain chain void chain...

關於C或者 C語言中字串和指標問題的疑問求高手解答

s是指向字串的指標,s是printf格式化輸出字串,而 c是printf格式化輸出單個字元。s相當於s 0 所以輸出單個字元。輸出地址用 p。輸出格式定義,定義了輸出什麼型別的變數,輸出時做怎樣的轉換。printf s s 格式 s 定義了輸出 一個字串,輸出變數 提供 輸出的 char 型 陣列 ...