當前位置:首頁 » 編程語言 » c語言總是有些花里胡哨的東西
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言總是有些花里胡哨的東西

發布時間: 2022-08-04 17:50:59

① 學編程需要指點

1、VC、VB、Delphi …… ,你該學哪個?

具體到編程而言,我要告訴你:任何一種計算機語言,都是計算機科學理論的載體或表現形式。C++很神嗎?Java很酷嗎?
它們差距很遠嗎?是的。但從理論的層面上講,它們沒有區別,都是「面向對象」理論的一個具體形式而已。

現在的程序員們被發行編譯軟體(通常我們將其稱為「系統軟體」)的商家不斷推出的產品搞得眼花繚亂,頭痛欲裂。
不斷地跟在新語言後面跑,這條路還沒跑到頭,那邊的「新路」又鳴鑼開張了,於是再跟著跑……漸漸地有些人開始感嘆:
學海無涯、學無止境,或什麼「程序員是青春飯,過了三十別想干」…… 在此我不得不嘆息:中國的教育真是一種「形而上學」
的教育。早在高中時代我們就學過「辨證唯物主義」的基本理論:做事情要抓主要矛盾。這一條恐怕誰都知道,卻鮮見誰能在
實踐中把這一理論運用得「爐火純青」的。把這一理論運用到編程上來講就是:

理論是主要矛盾,語言是次要矛盾,學會了理論,再具體到學一種語言時,你只不過是在進行某種消遣而已。

現在學VC的普遍看不起學VB的或學Delphi的。但如果一個用Delphi的人,在需要寫web程序時,用TCP/IP做了一個構架,
嵌入到應用程序中;而另一個用VC的人卻只會把一個又一個的組件拖來拉去的做些個「例子程序」的翻版。你說他們兩個誰歷害?
Delphi和VC誰歷害? 真應了這樣一段話,問:紐約好還是上海好?答:有錢哪兒都好,沒錢哪兒都不好。上海的富人並不比紐約
的富人少多少的優越感,而紐約的乞丐也不比上海的乞丐多多少幸福感。

現在你還會說學VC的人就一定比學Delphi的人水平高、「錢景」好嗎?

2、「淺薄」絕不該是中國程序員的性格特徵!!!

想問一句:中國程序員這么多,你們真地把基礎理論學好了嗎?別用你現有的編程經歷告訴我:編程不需要數學,不需要數據結構,
不需要編譯原理…… ……說話得負責任,您知道嗎?我之所以發表這篇文章,就是因為再也看不下去這種在中國編程界漫延的歪理
邪說了!邪教害死的是人的個體,你們害死的是中國軟體業的未來!如果再讓這種理論繼續毒害編程新手的思想,中國將在計算機
領域失去民族的尊嚴!!!

請問,操作系統、編譯軟體、資料庫系統…… 這些被稱為「系統軟體」的東東,中國有幾樣拿得出手的產品?也許是我孤陋寡聞,
據我所知:我們國家一件像樣的也沒有。

不錯,我們是有一些網站的股票在西方上市了,我們是有一些人被國外公司請去做高級職員了,我們也有一些人把西方的官方網站
給黑了……但是,我們用的編譯工具是誰的產品?我們微機里裝得是誰做出的操作系統?我們的程序跑在誰的晶元上?

愛之深,恨之切。我愛的是中國,但我痛恨不是中國,而是在中國編程界普遍流行的「淺薄」和「自以為是」,這是我們民族軟體業
的一顆毒瘤!

是的,現在編程方面快速入門的書滿天飛,讓程序員的門檻越來越低。我這個外行就得益於這個「低門檻」,跑了進來。但進來後,
我們就不能再這樣淺薄下去了——我的兄弟們!

用他國提供的工具做幾個網站,寫幾個應用程序,弄出幾個病毒…… 是振興不了民族軟體業的。順便說一句:我尊敬求伯君,
但我不認為金山公司和其系列產品配得上被稱為「民族軟體業」的大旗,相對這個稱號,它差得太遠了。

…… ……

寫flash軟體的人會認為用flash做動畫的人比他歷害嗎?Adobe公司真的認為考取Adobe證書的人是「人才」嗎?MSCE、MSCD……
通過這類考試得到微軟徽章的人,在微軟眼裡是「人才」還是「義務推銷員」?持這類證書以及其他一些大軟體公司認證的人,你們
還在以為自己是「中國軟體業的精英」而感嘆「懷才不遇」、工資太少嗎?

醒醒吧,朋友。別再用編程不需要理論的話來自欺欺人了,別再用自己的淺薄來教導別人像自己一樣淺薄了。我想問問那些稱數學、
數據結構等基礎課程對編程沒用的人:

請你們搞清一個概念:是這些理論「沒用」,還是你們「沒用到」;是你們「沒用到」,還是你們的水平根本「用不到」;是你們
「不需要用」,還是你們根本「不會用」? 舉個例子,操作系統中的工作調度,若工作優先權相同,用什麼方法進行調度?當然是
「先到先做」—

—這就是數據結構中「隊列」的應用。你們說「用不到」,只怕是因為到目前為止還沒機會接觸這類「高端編程」的挑戰吧?這樣的話,
那就算了,掙你的錢去,但別再來這里誤人子弟,吹噓什麼優秀的程序員不需要理論。

是誰說系統軟體發展的黃金時代已經過去了?Linux不就是在MS操作系統雄霸多年的情況下一舉成名的嗎?中國難道就找不到這樣一
個機會? 不,如果我們的程序員克服了現在的浮燥與急功近利,我們一樣可以在「系統軟體」這一軟體業的「高端」樹立自己的品牌!
所以請看下面——

3、年輕人應該有宏偉的志向。

用別人的產品做自己的東西,你永遠只是個「高級客戶」,成不了真正的開發者。不管你用他國的系統軟體開發出多少好的產品,
掙了多少錢,只要人家一升級、或一推出新產品,你口袋裡的銀子連同最後一條小褲叉也會被剝奪得一干二凈。你,只不過是一個高級
打工仔。

我希望打算進入編程界的朋友們,特別是現在還很年輕的朋友,能有一個比較高的志向。更希望已經進到這行的朋友們能有以「振興民族
軟體業」為己任,力爭成為中國軟體業的「旗手」。

我不贊同方東興把微軟罵得一無是處。更不贊同年輕人學他那樣,一賭氣而拒絕用微軟的產品,拒絕Windows、拒絕VC 、拒絕IE ……

我認為方東興只是個狹隘的民族主義者。他看到了中國軟體業民族的一面,卻不願承認我們落後的一面。毫無根據的「自尊」等於自取滅亡。
清朝末年,我們的科技並不落後於西方多少,但我們過分「自尊」的「大國思想」卻使我們失去了向其他國家學習的機會。當我們嘲笑西方
人的藍眼睛、大鼻子的時候,他們的堅船利炮,卻把我們「央央大國」的皇帝、太後打得滿世界逃難。慈禧太後被打得滿地找牙的時候,
不得不說出「量中華之物力,博與國之歡欣」的齷齪話,此時,她「大國皇太後」的自尊何在呢?前面自尊過了頭,事後必遭報應。這報應
一持續,就是幾百年,直到現在。難道我們還要繼續閉門造車,再走老路嗎?

我們現在承認微軟比我們強,向微軟學習,並不等於我們永遠要跟在他後面跑!在我們低下頭的時候,我們就應該想到,何時能再抬起這
顆高貴的頭顱!!!而且是「一定」!!!!!自尊不是錯,錯是錯在「太盲目」——妄自尊大,你就要和慈禧一樣被打得滿地找牙。
做為一個大國,一個明智的民族,我們不能諱疾忌醫。

年輕人,志當存高遠。相信我,當你以民族振興為己任的時候,封王稱帝、富貴榮華,都只不過是千秋偉業的一個副產品。在這個尊重
知識、崇尚科學的年代,志向高遠的人,永遠不必擔心自己的「錢途」。 不必諱言,我承認我當初進入編程領域不完全出於興趣,
也有「錢途」方面的考慮。但就好像當年參加八路的戰士當中,有些只是報著能吃上軍糧或打鬼子報家仇的思想入伍的,但後來卻學習
了馬列,提高了覺悟,轉為以興國救民為目標一樣,當我一步步深入到這行以後,當我決定考研並慢慢提高了認識以後,我的目的變了。
我覺得應該有個更高的人生目標,更高志向和追求來支持我的行動。這個目標就是:為民族軟體業盡一把自己的力。

真心希望你與我同行。

4、幾點建議:

建議大家耐下心來先學好理論,然後再選擇具體的工具或語言。不過,在所有這一切開始以前,先打好c語言和匯編基礎。

能不能得道,就看你在見到別人做出一些花里胡哨的東西時,是不是能堅定信心、耐住寂寞、抵禦誘惑了。

一個和我一起學習C語言的人,學完就直接開始玩VC,而我則潛下心來學了些C++和理論方面的東西。早早地,他就能仿照書上用
VC做些界面似的東西在我面前炫耀,可後來,當我基礎理論的學習告一段落,做個圖書管理程序賣了800大洋時,他還只是停留在做
「例子程序」的水平上。現在我們談論起編程,

深度早已不可同日而語了。他起跑領先,卻落在了後面。

我不敢自以為是,只是想用這個親身經歷告訴大家:學編程,決不可心浮氣燥。

5、結束語

我的話觸到許多人的痛處,而且由於寫時心中氣憤難平,有些出言不遜,可能要遭人罵了。不過,既然

寫了,就不怕罵。因為:以上所言全是忠告,識不識貨,就看您的眼光了。

② c語言相關

有沒有特效, 並不是編譯的問題。 而是你是否引入圖形庫。
比如 codeblocks 可以載入QT或者minigui一類的圖形庫,來製作界面。
或者用VS, 載入MFC或windows API設計界面。

③ 我是剛學習C語言編程的,但就是經常有些搞不懂,怎樣才能學好呢希望給些指點!

演算法方面是自己的數學思維問題,這個要求有數學基礎,以及數學思維,這關乎到程序的最優化問題。
結構方面的學習就活一些,至少C語言的格式要記住,這需要多練,多寫一些小程序來調試,用來發現自己的不足,比如定義整形,輸出符號就要整形,定義浮點型,輸出也必須是浮點型這一類的微小問題。
編程語言是一類要求嚴謹的語言,要心細,想學好首先要記住固定的語法中的一些小陷阱,在有一定基礎之後可以看K&R這本基於C89的經典教材,主要是實踐,自己編寫程式來解決實際問題,然後有問題之後不斷調試,實在不懂的東西在思考之後才問,最主要的就是多練,當書本都寫的不清不楚的時候,就上機把程序寫上,自己調試總是會懂的。
基於WINDOWS的學習環境,學好C語言這個不好說,畢竟編譯方面不會懂,建議樓主去找個LINUX的環境來學習,這樣能包含編譯方面知識。
各種編譯軟體之間會有區別,這對程式來說也重要,2種不同的編譯會有2種不同的結果。
送樓主一句話,剔除掉所有不可能之後,即使看起來再不可能,那也是真理!

④ c++裡面有很多花哨的寫法但他們實不實用呢

這看你是在編寫什麼程序,很多花俏不容易理解的代碼在正規的軟體編程中很少被用的,但有時候為了縮小代碼量提高程序的效率等等因素可能會用一些比較技巧性的代碼(可能就是你指的花哨代碼了),同時編寫這些代碼和編寫者性格編程習慣有關系的 最後「常量指針 或者指針常量之類的這些東西」不是花哨的代碼,這是很正規代碼,只是你對概念不熟悉,熟悉了就沒什麼了,所謂的花哨其實就是中技巧性編程,當然也有些人在程序使用時為了顯示自己的編程技術了,總之真正很花哨的代碼是很少用於軟體開發中的,比如iccxx(C語言混亂編程)裡面的代碼就是很花哨很技巧性的但事實中是不提倡使用的,也沒人會用於實際開發中

⑤ 編程怎麼入門

學編程,決不可心浮氣燥。任何實踐都是……

我認為有些人的觀點錯了。錯得一塌糊塗。
對於這個問題,我的基本觀點是:任何實踐都是理論的載體或表現形式。而理論也是由實踐上升而來的。兩者是辨證的。今天,我們只關注它的前一部分:任何實踐都是理論的載體和表現形式。
我不是想故弄玄虛,但真理的外表看上去往往就是這么奇形怪狀、難以理解。讓我來給你解釋一下吧。
比如:戰爭是軍事理論的實踐,也是它的表現形式。戰爭的勝負取決於指揮者軍事理論的掌握程度(別給我舉趙括這類「紙上談兵」的反例,他們根本算不上掌握了軍事理論,充其量只算是「背」下了軍事理論。「掌握」和「倒背如流」這是兩個概念。)

1、VC、VB、Delphi …… ,你該學哪個?
具體到編程而言,我要告訴你:任何一種計算機語言,都是計算機科學理論的載體或表現形式。C++很神嗎?Java很酷嗎?它們差距很遠嗎?是的。但從理論的層面上講,它們沒有區別,都是「面向對象」理論的一個具體形式而已。
現在的程序員們被發行編譯軟體(通常我們將其稱為「系統軟體」)的商家不斷推出的產品搞得眼花繚亂,頭痛欲裂。不斷地跟在新語言後面跑,這條路還沒跑到頭,那邊的「新路」又鳴鑼開張了,於是再跟著跑……漸漸地有些人開始感嘆:學海無涯、學無止境,或什麼「程序員是青春飯,過了三十別想干」……
在此我不得不嘆息:中國的教育真是一種「形而上學」的教育。早在高中時代我們就學過「辨證唯物主義」的基本理論:做事情要抓主要矛盾。這一條恐怕誰都知道,卻鮮見誰能在實踐中把這一理論運用得「爐火純青」的。把這一理論運用到編程上來講就是: 理論是主要矛盾,語言是次要矛盾,學會了理論,再具體到學一種語言時,你只不過是在進行某種消遣而已。
現在學VC的普遍看不起學VB的或學Delphi的。但如果一個用Delphi的人,在需要寫web程序時,用TCP/IP做了一個構架,嵌入到應用程序中;而另一個用VC的人卻只會把一個又一個的組件拖來拉去的做些個「例子程序」的翻版。你說他們兩個誰歷害?Delphi和VC誰歷害?
真應了這樣一段話,問:紐約好還是上海好?答:有錢哪兒都好,沒錢哪兒都不好。上海的富人並不比紐約的富人少多少的優越感,而紐約的乞丐也不比上海的乞丐多多少幸福感。
現在你還會說學VC的人就一定比學Delphi的人水平高、「錢景」好嗎?

2、「淺薄」絕不該是中國程序員的性格特徵!!!
想問一句:中國程序員這么多,你們真地把基礎理論學好了嗎?別用你現有的編程經歷告訴我:編程不需要數學,不需要數據結構,不需要編譯原理…… ……說話得負責任,您知道嗎?我之所以發表這篇文章,就是因為再也看不下去這種在中國編程界漫延的歪理邪說了!邪教害死的是人的個體,你們害死的是中國軟體業的未來!如果再讓這種理論繼續毒害編程新手的思想,中國將在計算機領域失去民族的尊嚴!!!
請問,操作系統、編譯軟體、資料庫系統…… 這些被稱為「系統軟體」的東東,中國有幾樣拿得出手的產品?也許是我孤陋寡聞,據我所知:我們國家一件像樣的也沒有。
不錯,我們是有一些網站的股票在西方上市了,我們是有一些人被國外公司請去做高級職員了,我們也有一些人把西方的官方網站給黑了……但是,我們用的編譯工具是誰的產品?我們微機里裝得是誰做出的操作系統?我們的程序跑在誰的晶元上?
愛之深,恨之切。我愛的是中國,但我痛恨不是中國,而是在中國編程界普遍流行的「淺薄」和「自以為是」,這是我們民族軟體業的一顆毒瘤!
是的,現在編程方面快速入門的書滿天飛,讓程序員的門檻越來越低。我這個外行就得益於這個「低門檻」,跑了進來。但進來後,我們就不能再這樣淺薄下去了——我的兄弟們!
用他國提供的工具做幾個網站,寫幾個應用程序,弄出幾個病毒…… 是振興不了民族軟體業的。順便說一句:我尊敬求伯君,但我不認為金山公司和其系列產品配得上被稱為「民族軟體業」的大旗,相對這個稱號,它差得太遠了。
…… ……
寫flash軟體的人會認為用flash做動畫的人比他歷害嗎?Adobe公司真的認為考取Adobe證書的人是「人才」嗎?MSCE、MSCD…… 通過這類考試得到微軟徽章的人,在微軟眼裡是「人才」還是「義務推銷員」?持這類證書以及其他一些大軟體公司認證的人,你們還在以為自己是「中國軟體業的精英」而感嘆「懷才不遇」、工資太少嗎?
醒醒吧,朋友。別再用編程不需要理論的話來自欺欺人了,別再用自己的淺薄來教導別人像自己一樣淺薄了。我想問問那些稱數學、數據結構等基礎課程對編程沒用的人:
請你們搞清一個概念:是這些理論「沒用」,還是你們「沒用到」;是你們「沒用到」,還是你們的水平根本「用不到」;是你們「不需要用」,還是你們根本「不會用」?
舉個例子,操作系統中的工作調度,若工作優先權相同,用什麼方法進行調度?當然是「先到先做」——這就是數據結構中「隊列」的應用。你們說「用不到」,只怕是因為到目前為止還沒機會接觸這類「高端編程」的挑戰吧?這樣的話,那就算了,掙你的錢去,但別再來這里誤人子弟,吹噓什麼優秀的程序員不需要理論。
是誰說系統軟體發展的黃金時代已經過去了?Linux不就是在MS操作系統雄霸多年的情況下一舉成名的嗎?中國難道就找不到這樣一個機會? 不,如果我們的程序員克服了現在的浮燥與急功近利,我們一樣可以在「系統軟體」這一軟體業的「高端」樹立自己的品牌!所以請看下面——

3、年輕人應該有宏偉的志向。
用別人的產品做自己的東西,你永遠只是個「高級客戶」,成不了真正的開發者。不管你用他國的系統軟體開發出多少好的產品,掙了多少錢,只要人家一升級、或一推出新產品,你口袋裡的銀子連同最後一條小褲叉也會被剝奪得一干二凈。你,只不過是一個高級打工仔。
我希望打算進入編程界的朋友們,特別是現在還很年輕的朋友,能有一個比較高的志向。更希望已經進到這行的朋友們能有以「振興民族軟體業」為己任,力爭成為中國軟體業的「旗手」。
我不贊同方東興把微軟罵得一無是處。更不贊同年輕人學他那樣,一賭氣而拒絕用微軟的產品,拒絕Windows、拒絕VC 、拒絕IE ……
我認為方東興只是個狹隘的民族主義者。他看到了中國軟體業民族的一面,卻不願承認我們落後的一面。毫無根據的「自尊」等於自取滅亡。清朝末年,我們的科技並不落後於西方多少,但我們過分「自尊」的「大國思想」卻使我們失去了向其他國家學習的機會。當我們嘲笑西方人的藍眼睛、大鼻子的時候,他們的堅船利炮,卻把我們「央央大國」的皇帝、太後打得滿世界逃難。慈禧太後被打得滿地找牙的時候,不得不說出「量中華之物力,博與國之歡欣」的齷齪話,此時,她「大國皇太後」的自尊何在呢?前面自尊過了頭,事後必遭報應。這報應一持續,就是幾百年,直到現在。難道我們還要繼續閉門造車,再走老路嗎?
我們現在承認微軟比我們強,向微軟學習,並不等於我們永遠要跟在他後面跑!在我們低下頭的時候,我們就應該想到,何時能再抬起這顆高貴的頭顱!!!而且是「一定」!!!!!自尊不是錯,錯是錯在「太盲目」——妄自尊大,你就要和慈禧一樣被打得滿地找牙。做為一個大國,一個明智的民族,我們不能諱疾忌醫。
年輕人,志當存高遠。相信我,當你以民族振興為己任的時候,封王稱帝、富貴榮華,都只不過是千秋偉業的一個副產品。在這個尊重知識、崇尚科學的年代,志向高遠的人,永遠不必擔心自己的「錢途」。
不必諱言,我承認我當初進入編程領域不完全出於興趣,也有「錢途」方面的考慮。但就好像當年參加八路的戰士當中,有些只是報著能吃上軍糧或打鬼子報家仇的思想入伍的,但後來卻學習了馬列,提高了覺悟,轉為以興國救民為目標一樣,當我一步步深入到這行以後,當我決定考研並慢慢提高了認識以後,我的目的變了。我覺得應該有個更高的人生目標,更高志向和追求來支持我的行動。這個目標就是:為民族軟體業盡一把自己的力。
真心希望你與我同行。

4、幾點建議:
建議大家耐下心來先學好理論,然後再選擇具體的工具或語言。不過,在所有這一切開始以前,先打好C語言和匯編基礎。
能不能得道,就看你在見到別人做出一些花里胡哨的東西時,是不是能堅定信心、耐住寂寞、抵禦誘惑了。
一個和我一起學習C語言的人,學完就直接開始玩VC,而我則潛下心來學了些C++和理論方面的東西。早早地,他就能仿照書上用VC做些界面似的東西在我面前炫耀,可後來,當我基礎理論的學習告一段落,做個圖書管理程序賣了800大洋時,他還只是停留在做「例子程序」的水平上。現在我們談論起編程,深度早已不可同日而語了。他起跑領先,卻落在了後面。
我不敢自以為是,只是想用這個親身經歷告訴大家:學編程,決不可心浮氣燥。
5、結束語
我的話觸到許多人的痛處,而且由於寫時心中氣憤難平,有些出言不遜,可能要遭人罵了。不過,既然寫了,就不怕罵。因為:以上所言全是忠告,識不識貨,就看您的眼光了。

⑥ 剛開始學習c語言為什麼有很多東西都看不懂而且有很多詞(術語)不知道是什麼意思,反正就是有大量

先買一本類似課本的書,看過一遍了解基本概念後,買一本帶光碟的習題,實際上機操作。慢慢來就好了

⑦ 關於C語言

首先C要比你想像中的強大,你要拿掉你現在從簡單程序C程序的看法,還有加減乘除這種想法。

其實你的困惑是每個剛入門的人都有的,產生的原因感覺無非就是覺得你編的程序和現實中應用的程序差距太大造成C語言無用的一種錯誤印象。

我想你所認為的程序,從你的「簡單的WINDOWS程序啊」應該覺得是個圖形界面的程序,覺得一個功能強大的程序應該是我們用的圖形化界面,這是微軟為了普及個人電腦而造成的。作為普通的電腦用戶自然要圖形界面,這是為了方便他們操作而做的,而作為一個程序員,你還是有必要熟悉字元操作,比如linux下用shell來操作,這里沒有圖形,沒有按鈕,有的只是指令。

C語言只能做數學演算法,這種想法其實和你現在的水平有關。其實學了微機原理你就知道計算機從物理角度上來說,只能做加和乘(據說有乘法器,不過我沒考證過)還有邏輯運算和,或,非,異或。任何一款復雜的應用軟體歸根結底都是這些操作的集合體,舉個簡單的例子,游戲算是一個復雜的軟體了,游戲上任務的生命值,法力等等這些數值容易理解。圖形其實也可以歸結為數學,屏幕上以左下角為原點,每個像素就有了自己的坐標,他的顏色可以用三原色來合成表示,那麼一個點就有了坐標這2個數字表示位置,顏色三原色可以用0,1,2這3個表示。這也圖形就歸結成了一個數學問題,這樣CPU處理的還是數學問題。當然這是最原始的,後來人們用種種辦法去改善計算機來處理圖形,計算機圖形也是門學問,你可以看一下。

C也提供了圖形編程,包括2D和3D,我只記得一個graph.h頭文件,其它的不記得了。

沒有圖形界面的軟體難道就不是復雜軟體了么,比如你的顯卡驅動程序,它有圖形操作界面么,但確確實實是一個非常重要的軟體。

所以,好好學習C,這是一門不錯的語言。圖形化是為了方便人們觀察的,而且我認識的覺大部分程序員都討厭去做前台圖形界面的工作,他們都認為,我處理好數據就好了,簡單的,整齊的顯示給他們看就可以了,為什麼要整那些花里胡哨而沒有任何實際意義的界面呢。