正學C語言,不明白程式和演算法有什麼區別?我理解的是演算法是解決問題的步驟,可是看看程式似乎也是如此啊

2021-03-27 11:11:10 字數 7461 閱讀 1019

1樓:匿名使用者

有一句經典的話:程式=演算法+資料結構。演算法是解決問題的步驟,演算法是一種思想。

比如:計算1加到100的和,那麼(1)你可以從1開始乙個乙個的加,直到100;(2)(1+100)*50;這兩種解決問題的方法就是演算法。而這種描述計算機不能理解,因此,可以用c語言或其它語言把它寫出來,讓它可以在計算機上執行,這就是乙個程式。

程式可以理解為對演算法的一種包裝,目的就是讓它可以在計算機上能執行。

2樓:匿名使用者

演算法是和語言無關的,是解決問題的形式化方法與步驟,而程式則涉及到了某種具體語言的實現,如c語言。演算法有自己的設計理論,而程式有自己的編寫技巧,演算法之於程式相當於靈魂之於肉體。比如你遇到乙個問題,編碼前你必然去思考怎麼去做,因此在編碼前的思考都可以稱為演算法,編碼完的**則為程式。

3樓:匿名使用者

演算法只是程式中的一部分。演算法可以解決問題,但程式要比演算法複雜得多。你看著類似,或許這就是c語言的魅力之處吧!

c語言資料結構演算法和c++資料結構演算法有什麼區別嗎??進來看看。。 10

4樓:匿名使用者

你就直接學c++,也應該要把c語言搞清楚,c語言的**寫起來要比c++繁瑣一些,不過學習的時候也理解更深刻。

5樓:匿名使用者

不用換,演算法、資料結構是程式設計的

核心,無論什麼語言 所用到的演算法 資料結構是內

一樣的容 唯一的影響可能是書裡一些c語言的**你可能不太懂 會對你的學習有一定的影響, 不過影響不大 c++和c語言 大同小異,趁這個機會稍微接觸下c語言也沒壞處

6樓:匿名使用者

沒有什麼區別哈,只是不同語言來實現的哈,相對來說看c的資料結構還簡單回

一點,你答

不需要物件導向的思想,如果看c++的寫的資料結構的話,你還要封裝類,這樣多給資料結構加了一層東西,建議直接看c的好點。c++包含了c,一般你看c++的書,如果不是專門講資料結構的話,一般不會涉及資料結構,因為c++的stl裡提供了很多已經封裝好了的資料結構,如果你要了解這些封裝好了的原理的話,你必須對c寫的資料結構有比較好的理解才能看懂。

7樓:憤怒de翔小果

c++是c的延伸,一般最好先學c在學c++

至於兩者的區別,本質思想是完全一樣的,只是使用的語言不同而已,

因為你在學c++,看一下c,其實也是很好理解的,搞懂c的資料結構與演算法,c++的自然就明白了

8樓:匿名使用者

就資料結構和演算法本身而言,沒有區別,學了c++,但是不懂c**和語法,你是怎麼回做到的?答

如果你能把c的語法大概搞懂,這兩種書原理是一樣的。

當然c++裡面由於在c的基礎上擴充套件了新的東西,有如果概念不清楚,看c++的書理解起來更困難一點。

9樓:匿名使用者

直接下電子版的多好 。省錢 資源還多,還能一邊編一邊查書。

10樓:匿名使用者

資料結構是演算法思想描述,和具體語言無關。

11樓:匿名使用者

你是初學者,我建議你還是買本c++的

12樓:匿名使用者

沒區別,放心看吧,都能看懂,c語言更基礎

c語言資料結構演算法和c++資料結構演算法有什麼區別嗎??進來看看。。

13樓:鐵娜蘭譚恬

1、程式是寫完源**後,計算機編譯後得到的可執行檔案。

2、演算法一般結合數學思想,以下內容算是演算法:

給陣列按大小排序、查詢陣列某元素、圖形處理演算法、音訊識別處理。

但廣義上,用了順序分支迴圈就是演算法。

高手們幫我看看c語言程式,請給每行**和功能註釋

求助c語言和c++的學習和提高(200分),希望c/c++語言前輩幫看看

14樓:

學長,俺現在在課程設計啊

沒讀好痛苦啊

現在連懸賞的錢都不到

鬱悶啊早知道有今天就好好讀書啊哎

15樓:匿名使用者

本人感覺 有c語言的基礎...學習c++就沒什麼大的問題了...

主要是類...物件...這兩個是c語言沒有的...

至於mfc只是乙個類庫...看看理解了就行了...用的時候也得心應手...

16樓:匿名使用者

我想c語言是c++的基礎我想先學好c對你的幫助會很大的..c語言是一門開發性極強的語言...萬丈高樓平地起撒!

17樓:匿名使用者

我也學過c語言,本人認為還是把c學好了才行,畢竟是基礎,沒有了基礎你做什麼都做不了,我對語言的了解吧,主要是思想,c語言一共才多少個原碼和命令,思想對了,演算法理解了,c語言自然而然的就會熟起來。

我的導師跟我說過,讓我有空接觸一下c#,我也給你這個建議c語言入門不難,記清那幾個簡單的命令就行,慢慢熟練,要多上機練習做, 不要老看著書一步步的原抄,自 己想,不怕錯就不怕你不做

c 語言進修就好多了,你把c的那些算術運算一定要記清了,運算規則,還有運算方法。然後再一步步的編寫簡單的程式

再往後就看你的悟性了,其它的說多了沒用。

祝你好運吧。有時候功破一道題就會引導你迷上這門語言的,要用心去研究。

18樓:卡卡

"用c其實做不了什麼"這句話是誰說的?

簡直狗屁,現代作業系統中的檔案系統基本全是c語言寫的。

19樓:匿名使用者

多看看書,這樣,然後多練

我想學c語言,需要什麼基礎嗎

20樓:禚依琴滿儼

c是除機器語言和bai彙編外du最貼近硬體的程式語言,除zhi

了必要的數學和dao英文基礎外最好對專計算機硬體有一定屬了解。學c是個枯燥的過程,但能堅持學下來的話能為將來打下良好基礎。實際上我建議你搞臺低配置的機器,只裝dos和turbo

c,從基礎到dos下的vga圖形程式設計一路上學下來,會發現它越來越有趣。加油,小朋友!

21樓:匿名使用者

與網友分享

勇於探索 追求簡樸

學習《c語言的科學和藝術(中文版)》隨記

#include

#include "genlib.h"

#include "simpil.h"

#define sunday 0

#define monday 1

#define tuesday 2

#define wednesday 3

#define thursday 4

#define friday 5

#define saturday 6

void giveinstructions(void);

int getyearfromuser(void);

......;

bool isleapyear(int year);

main()

void giveinstructions(void)

......

......

......

bool isleapyear(int year)

;printf(" 這是乙個輸入年份數即可列印該年份年曆的程式\n");

while(year<1900)

printf("\n");

if(((year%4==0) && (year%100 != 0)) || (year%400==0))

ndays[1]=29;

weekday=firs(year);

for(month=1;month<13;month++)

printf(" %d 年曆已列印完畢, 再見!",year);

return 0;

}void prim(int month,int year,int ndays,int weekday)

;int i,day;

printf(" %d年 %s\n",year,yue[month-1]);

printf(" 日 一 二 三 四 五 六\n");

for(i=0;i

printf(" ");

for(day=1;day<=ndays;day++)

if(weekday+6 != satu)

printf("\n");

}int firs(int year)

return weekday;

}寫於17:41 2017/11/1

22樓:匿名使用者

學語言不需抄要基礎,襲學就是了。

學完之bai後想開發軟體,

就需要各種各

du樣的基礎。比如你想開zhi發系統軟dao件,就需要作業系統和系統api的知識。

你想開發應用軟體,就要會資料庫。

你想開發搜尋引擎,就必須會正規表示式

你想開發網路軟體,就要學tcp/ip.

23樓:安徽新華電腦

一定的英文基礎是必要的。

看書時要多做習題,一題一題的弄明白,要不書也白看

從一開始養成良好的程式設計習慣,怎麼算好的你看書上的**怎麼寫的

24樓:匿名使用者

首先bai,學習c語言對於乙個初中畢du業生來zhi說,英語應dao該是夠用了,起版碼不會有大問題!

其次,如權果你是乙個自學能力比較強的人的話,掌握c語言的基本語法應該也能實現!但是想要編出一定水平和程式估計難度不小,畢竟建立模型的時候只掌握到初中的數學水平是遠遠不夠的!但是如果能夠掌握語法對你的學習也會有相當大的幫助,所以自學能力足夠的話可以考慮去學!

如果你對你自學能力不夠自信的話,不建議你現在就學c,不然既打擊自信,也浪費時間。

25樓:

英語不好可以慢慢的學,看多了也就知道了。數學好是很重要的,此外不需要什麼基礎了,畢竟c是入門級的。祝你成功

26樓:匿名使用者

高中數學

知識 最好高等數學也懂

然後稍微有點英語基礎

專學習程式開發主要是數學基礎

初中數學淺屬了些

你是什麼學歷為什麼想到c語言?

不知道你是個學生還是已經進入社會了

如果是前者對程式設計有興趣早點接觸是很好的,如果是後者我覺得你還是去學些別的會更合適些

27樓:哭泣的數

基礎也是學來的嘛,學學語言並不需要英語和好即便不及格也是可以學好c語言的 單詞量不多

c++和c語言有什麼區別?

28樓:匿名使用者

是結構化和模組化的面向過程的語言,c++語言是物件導向的程式語言。c++語言是c語言的超集,也就是說學會了c++,你其實已經把c語言學會了。至於說有什麼區別,應該說是程式設計思想的區別吧,c是基於過程的,強調的是程式的功能,以函式(功能)為中心。

c++是物件導向的,強調程式的分層、分類,以抽象為基礎,進行物件的定義與展示,即程式設計。具體說來話長。建議你學習c++的時候,學會用物件導向的方式思考和程式設計。

現在在開發大專案的時候,都是應用物件導向的分析和設計的技術。

c和c++的區別有什麼

今天在網易上看到有人問c和c++的區別有什麼,在這裡簡略說點.

其他的東西都不需要多說,就象類,繼承,引用等,大家都知道.

這裡講的是呼叫編譯的區別.大家看win32 sdk的標頭檔案,總是可以看到

ifdef __cplusplus

extern "c"

endif

ifdef __cplusplus

endif

這個就是直接能夠體現實際程式設計時區別的地方. 在win系列下.所有的win32 sdk提供的lib都是以c的形式存在的.

當然,c和c++同樣都支援c,stdcall,fastcall呼叫.為什麼系統提供c編譯器編譯的lib而不是c++編譯的lib呢?這裡其實就是c和c++編譯器不同的地方.

所有的函式名稱只有在彙編編譯器下才最清楚.因為經彙編編譯器編譯的函式不經過任何修飾.

c 的編譯器編譯出來的函式名稱如果在彙編編譯器看來乙個c呼叫將在函式名前家下劃線('_').而乙個stdcall的函式將是_func@number的形式.如func(void)經過編譯器後成為_func@0.

乙個fastcall呼叫的函式被編譯成@func@0.順便提一下.在win32的編譯器裡不再需要pascall呼叫.

vc6已經取消了對pascall的支援.

光看c的編譯還不夠,看一下c++編譯器是怎麼幹的.在預設情況下.乙個c++的函式經過c++編譯器後編譯出的函式名包括函式名,所屬的類,引數型別,呼叫約定,返回型別.

而且更要命的是這麼多的資訊,只有函式名和類名在編譯後還依稀可見.其他就是一長串的abcd字母,根本就是無法辨認其意義的.我們在vc手冊裡可以看到

乙個例子:

void __stdcall b::c(float); -----------> ?c@b@@qagxm@z

乙個函式被編譯得連名字也不知道怎麼樣了.這麼一來.如果sdk提供的是c++編譯器提供了lib.那麼可以說就無法編譯任何乙個完整的win程式.更加不用說什麼混合語言程式設計.

現在,vc編譯器提供了個extern語句.當出現extern 'c'語句,括號裡的函式將以c方式經過編譯器.從而使提供庫程式方便那麼點.

c語言與c++的區別有很多:

1,全新的程式程式思維,c語言是面向過程的,而c++是物件導向的。

2,c語言有標準的函式庫,它們鬆散的,只是把功能相同的函式放在乙個標頭檔案中;而c++對於大多數的函式都是有整合的很緊密,特別是c語言中沒有的c++中的api是對window系統的大多數api有機的組合,是乙個集體。但你也可能單獨呼叫api。

3,特別是c++中的圖形處理,它和語言的圖形有很大的區別。c語言中的圖形處理函式基本上是不能用在中c++中的。c語言標準中不包括圖形處理。

4,c和c++中都有結構的概念,但是在c語言中結構只有成員變數,而沒成員方法,而在c++中結構中,它可以有自己的成員變數和成員函式。但是在c語言中結構的成員是公共的,什麼想訪問它的都可以訪問;而在vc++中它沒有加限定符的為私有的。

4,c語言可以寫很多方面的程式,但是c++可以寫得更多更好,c++可以寫基於dosr程式,寫dll,寫控制項,寫系統。

5,c語言對程式的檔案的組織是鬆散的,幾乎是全要程式處理;而c++對檔案的組織是以工程,各檔案分類明確。

6,c++中的ide很智慧型,和vb一樣,有的功能可能比vb還強。

7,c++對可以自動生成你想要的程式結構使你可以省了很多時間。有很多可用的工具如加入mfc中的類的時候,加入變數的時候等等。

8,c++中的附加工具也有很多,可以進行系統的分析,可以檢視api;可以檢視控制項。

9,除錯功能強大,並且方法多樣。

c語言a和a的區別搞不明白,C語言中a 與 a的區別是什麼?詳細一點,謝謝!

首先,a是乙個變數,儲存著值。bai a是常量,是du變zhi量a的記憶體dao 位址。一般的 a是用來回 賦值給指標的 答int p a 或者是作為函式的引數傳遞 位址傳遞 比如scanf中 scanf d a 如果輸出,也並不是按照你說的那樣,比如a是字元型 putchar a a是整形 pri...

c語言 一維陣列 中 a i不明白

樓上的都已經說抄得很清楚了 我再狗尾襲續貂一下吧 for將i從0開始執行i 9共迭代執行10次每一次都執行一次a i i 即當i 0時,a 0 0,當i 1時,a 1 1,依次類推,共執行10次 使a 10 得以初始化 大概就是這麼回事了 你的想法是對的,就是這麼回事 至於那個輸出命令,剛好是原來的...

高中概率題弄不明白公式C和A。。急

1 4個中選兩個,1 2 3 3選2個,最大那個是4 第3個球 故同答案 2 考慮反面,沒有3,從1,2,4,5,選3個,再從總的去減,即1 c 3,4 c 3,6 4 5 歡迎追問!沒有啊.朋友你別急哈.你看題目.已知是最大的是4.個麼總共要拿出三個.乙個已經確定了.對不對.5又是比4大的.看到沒...