如何学好算法与程序设计
如何學(xué)好算法與程序設(shè)計(jì)呢?假如你選擇了C語(yǔ)言和對(duì)C語(yǔ)言,想要學(xué)好C語(yǔ)言,需要把握好以下幾點(diǎn):
1.確立離散性思維方式,擯棄連續(xù)性思維方式
在學(xué)習(xí)計(jì)算機(jī)語(yǔ)言時(shí),一定要確立離散性的思維方式,這決定著你是否能夠?qū)W好C語(yǔ)言一個(gè)非常重要的因素。這是因?yàn)橛?jì)算機(jī)中數(shù)據(jù)的存取是二進(jìn)制形式,它是一種離散的數(shù)據(jù)表示方式。在處理類似連續(xù)性函數(shù)、積分等問(wèn)題時(shí),需要將問(wèn)題轉(zhuǎn)化為離散的方式進(jìn)行處理。在學(xué)習(xí)C語(yǔ)言時(shí),你會(huì)深刻地體會(huì)到這一點(diǎn)。
2.熟練掌握二進(jìn)制與十進(jìn)制、十六進(jìn)制、八進(jìn)制之間的相互轉(zhuǎn)換
在計(jì)算機(jī)中,所有的數(shù)據(jù)都是以二進(jìn)制形式存儲(chǔ)的。而我們熟悉的是十進(jìn)制,二進(jìn)制數(shù)據(jù)表示起來(lái)又太長(zhǎng),為了方便表示,需要將二進(jìn)制轉(zhuǎn)換為十進(jìn)制、十六進(jìn)制、八進(jìn)制,這樣看起來(lái)就比較直觀。
3.理解字符與ASCII碼之間的關(guān)系
通過(guò)鍵盤輸入的數(shù)據(jù)是字符數(shù)據(jù),而計(jì)算機(jī)是以二進(jìn)制形式存儲(chǔ)。這需要將字符轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制形式并存放起來(lái)。美國(guó)的國(guó)家標(biāo)準(zhǔn)協(xié)會(huì)ANSI專門規(guī)定了字符與ASCII之間的對(duì)應(yīng)關(guān)系。
4.掌握運(yùn)算符及運(yùn)算符的優(yōu)先級(jí)
C語(yǔ)言提供了34種運(yùn)算符,每種運(yùn)算符都有優(yōu)先級(jí)與結(jié)合性。如果有多個(gè)運(yùn)算符出現(xiàn)在同一個(gè)表達(dá)式中,需要選擇優(yōu)先級(jí)別高的運(yùn)算符進(jìn)行計(jì)算。如果運(yùn)算符相同,則需要根據(jù)運(yùn)算符的結(jié)合性進(jìn)行運(yùn)算。
5.掌握3種程序控制結(jié)構(gòu)
C語(yǔ)言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,它具有3種控制結(jié)構(gòu):順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。使用這3種結(jié)構(gòu)可以解決所有的問(wèn)題。
6.掌握一些常用的算法
在學(xué)習(xí)C語(yǔ)言的過(guò)程中,常常需要對(duì)一些數(shù)據(jù)進(jìn)行排序及查找給定的數(shù)據(jù),這就是排序算法和查找算法。排序算法和查找算法在程序設(shè)計(jì)過(guò)程中非常常用的算法,排序算法可以分為冒泡排序、插入排序、選擇排序等,查找算法可以分為順序查找、折半查找等。掌握一些常用的算法對(duì)今后學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)和算法是大有裨益的。
7.熟練使用指針
指針是C語(yǔ)言區(qū)別與其它語(yǔ)言的一個(gè)重要標(biāo)志。指針是C語(yǔ)言的靈魂,熟練使用指針可以使編寫程序更加靈活,編寫出來(lái)的程序運(yùn)行效率更加高效。指針是一把雙刃劍,使用的好則可以提高運(yùn)行效率,使用的不當(dāng),則會(huì)很容易造成難以意料的錯(cuò)誤。因此,這需要大家在學(xué)習(xí)的過(guò)程中,熟練掌握指針。
8.熟練掌握一個(gè)開發(fā)工具
學(xué)好一門語(yǔ)言,需要我們熟練掌握一個(gè)開發(fā)工具。只有多上機(jī)練習(xí),才能知道程序是否正確。C語(yǔ)言的開發(fā)工具有許多,目前比較流行的有Turbo C 2.0、Turbo C 3.0、Visual C++ 6.0、Win-TC、LCC-Win32等。我們建議初學(xué)者可以學(xué)習(xí)Turbo C 2.0或Turbo C 3.0,有了基礎(chǔ)之后可以選擇Visual C++ 6.0,Visual C++ 6.0是一個(gè)非常專業(yè)的開發(fā)工具。
總結(jié)
以上是生活随笔為你收集整理的如何学好算法与程序设计的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 思维方式的转变
- 下一篇: 哥哥,请原谅妹妹的自私!妹妹想做你的新娘