當前位置:首頁 » 編程軟體 » 編程五個網

編程五個網

發布時間: 2023-02-10 17:17:28

① 有什麼好的C語言在線編程網站嗎

南洋理工學院的OJ系統還是不錯的,希望對你有幫助,望採納

② 學習C語言的網站

VC知識庫
提供Visual C++程序源代碼、編程文摘、及其它VC資料,還有論壇交流。

唯C世界
主要包括C語言教室、C數據結構、軟體下載、技術論壇等,這里的論壇不錯的。

VC大本營
VC愛好者製作的網站,規劃還是挺系統的,內容也不錯。

C語言之家
提供源程序代碼和學習資料等下載,有論壇交流。

C++ Builder開發者
提供控制項、源代碼、系統補丁、電子書籍等下載,另有控制項使用及編程技巧。

Visual C++技巧與源代碼
專為開發者設計,大量的源代碼、全面的詳細介紹。

單片機的C語言
專題論壇,單片機的C語言,Keil C解密版下載。

VC之路
綜合軟體開發網,以VC++編程為主。

Visual C++開發指南
是一個與Visual C++開發相關的專業網站,本站目前的形式主要以開發資源和開發論壇為主,主要是為了給廣大的開發人員提供一個獲取資源和自由交流的場所。

VC編程網
VC編程學習的網站,提供幾大專題和豐富的文檔資料以及很好的論壇。

C++ Builder編程俱樂部
收集的編程技巧、常式、控制項等雖然量不多,但都是站長精心篩選的;網站宗旨是與廣大編程愛好者們一同進步。

VCCode
提供C/C++源代碼與技術文章,天天更新,龍堂提供技術交流社區。

③ 有哪些像 Codecademy 一樣非常好的學習編程的網站

國內
(1)萌碼
適合初學者的學習的在線編程學習網站
1、在線開發環境
在萌碼學習,用戶無需配置編程環境,所有學習和操作在網頁中均能實現。
2、互動式學習
「互動式」的教學過程如同老師手把手教學,消除了用戶學習過程中的干擾因素;同時,網站還將理論與實踐融為一體,用戶能夠一邊學習一邊進行實際操作,掌握知識點的同時便能實踐,從而加深了學習記憶。通過這種人機交互,就算是最零基礎的「小白」用戶也能搞定。
3、時光機
「時光機」功能類似程序員們 debug 的過程,它能讓用戶回放每一個編程步驟,看每一步的程序運行過程和結果,並以圖形化方式顯示,這樣用戶可以清晰地理解每一步的含義,並找出代碼出錯的地方進行修正,從而避免在未來的編程過程中再犯類似的錯誤。
2)慕課網
垂直的互聯網IT技能免費學習網站。以獨家視頻教程、在線編程工具、學習計劃、問答社區為核心特色。在這里,你可以找到最好的互聯網技術牛人,也可以通過免費的在線公開視頻課程學習國內領先的互聯網IT技術。
慕課網課程涵蓋前端開發、php、Html5、Android、iOS、Swift等IT前沿技術語言,包括基礎課程、實用案例、高級分享三大類型,適合不同階段的學習人群。以純干貨、短視頻的形式為平台特點,為在校學生、職場白領提供了一個迅速提升技能、共同分享進步的學習平台。

3
(3)全國最大中文IT社區
國內的程序員入門級網站,內容很多很雜,包括論壇、資源下載、博客、各種資訊等等。經常只在這個網站找到穩定的資源下載。攢積分要從娃娃抓起啊,不要到了要下載的時候才發現分不夠。。。

4
(4)開源中國社區
國內最好的開源社區,在這里討論問題的氛圍挺不錯的。創始人紅薯也很熱心,更新很即時,經常看到新出的開源項目在這里有翻譯介紹。

5
(6)極客標簽
2014 年已經不應該是學生想要學 IT 就一定要忍受這種折磨的時代,就以網頁編程教學來說,我們完全可以通過一些更新,更加直觀的技術來編制新的學習方式。極客標簽就是這樣的一個產品——一個在線 Web 編程知識學習和分享的平台。
從知識學習方面,極客標簽是國內唯一使用代碼錄制和回放的方式來為用戶提供 Web 編程教育服務的學習平台,也是國內為數不多的不基於第三方,由網站運營方和注冊用戶提供精華教學內容的公開課平台;從知識分享方面,極客標簽也是目前專精於網頁前端知識,稍微對其他相關的網路編程知識進行輻射的極客社交社區。

6
(7)
國內版的stackoverflow,90後的作品,已經積累了不少中文問答,人氣還有待提高。

END
國外
(1)codecademy
在線教育現在有很多模式,最有代表性的就是編程學習網站Codecademy。Codecademy並沒有任何老師來授課,全程都是依靠程序的反饋和提示教學。Codecademy建立的編程課,應該是現在世界上最有趣,體驗最好的編程課,Codecademy學習向導功能十分強大,讓用戶如通關游戲一樣去解決各類問題,用戶可以自主地去完成各種教學任務。

(2)stackoverflow
有干貨的地方。代碼遇到相關問題經常被導到這個網站去,回答質量很高,排版簡潔清晰。我現在遇到問題經常會搜索詞後面加一個詞"stackoverflow",敲回車的同時常常要罵一下這個創始人起個名字咋那麼長.....

(3)github
最大的開源中心,項目五花八門,從華貴絢麗的界面到低調實用的小類庫,應有盡有。需要睜大眼睛慢慢挑,適合英語好的。Ruby和Javascript的項目尤其多。

(4)codecanyou
初次看到這個網站,小夥伴們表示都驚呆了。原來代碼也可以放在網上賣的?!! 很多coder上傳了各種代碼,每個代碼都明碼標價。看了下銷售排行,有的19刀的賣了3萬多份,額di神啊。可以看到代碼的演示效果,真的很漂亮。代碼以php、wordpress主題、Javascript、css為主,偏前台。

④ 學習編程有哪些著名的網站

本文首發我的【悟空問答】,請勿轉載。

http://www.wukong.com/answer/9

點擊右上角【關注】,以後經常給大家分享編程的網站(~ o ~)~zZ

GitHub

http://github.com/

極客學院也是一個類似慕課網的在線編程學習網站。但是它一開始都是會員機制。有了會員,幾乎所有課程都是可以看,它也有少數的免費的。

它的課程也是緊跟技術潮流,當新技術出現時,它總是能推出相對於的課程,也讓你很省心地了解關注。

它還有對精準的職位有專有的技術體系,讓你用科學方法,來達到企業所要求的水平,讓你少走彎路。

它上面的講師基本都是在一線的工程師,對企業的要求都很熟悉。

⑤ 聊聊有哪些自學編程的網站

洛谷網路科技有限公司,是一個練習各種語言編程的絕佳平台,如果有任何不懂的地方,可以點擊題解查看思路。

⑥ 有哪些好的計算機編程網站

凱娜科技(www.kna-tech.com)是中國最全的編程模擬技術平台,是集軟體編程、硬體開發、硬體模擬、PHP編程、ASP編程為一體的綜合門戶網站。凱娜科技服務於廣大編程模擬愛好者,致力成為最全面、最權威、最科學、最具創新性的編程模擬技術網路綜合平台,網站還提供電子教程、破解軟體免費下載,凱娜成就人生,科技創造未來。

⑦ 網路編程(五)TCP詳解

考慮最簡單的情況:兩台主機之間的通信。這個時候只需要一條網線把兩者連起來,規定好彼此的硬體介面,如都用 USB、電壓 10v、頻率 2.4GHz 等, 這一層就是物理層,這些規定就是物理層協議

我們當然不滿足於只有兩台電腦連接,因此我們可以使用交換機把多個電腦連接起來,如下圖:

這樣連接起來的網路,稱為區域網,也可以稱為乙太網(乙太網是區域網的一種)。在這個網路中,我們需要標識每個機器,這樣才可以指定要和哪個機器通信。這個標識就是硬體地址 MAC。

硬體地址隨機器的生產就被確定,永久性唯一。在區域網中,我們需要和另外的機器通信時,只需要知道他的硬體地址,交換機就會把我們的消息發送到對應的機器。

這里我們可以不管底層的網線介面如何發送,把物理層抽離,在他之上創建一個新的層次,這就是 數據鏈路層

我們依然不滿足於區域網的規模,需要把所有的區域網聯系起來,這個時候就需要用到路由器來連接兩個區域網:

但是如果我們還是使用硬體地址來作為通信對象的唯一標識,那麼當網路規模越來越大,需要記住所有機器的硬體地址是不現實的;

同時,一個網路對象可能會頻繁更換設備,這個時候硬體地址表維護起來更加復雜。這里使用了一個新的地址來標記一個網路對象: IP 地址

通過一個簡單的寄信例子來理解 IP 地址。

我住在北京市,我朋友 A 住在上海市,我要給朋友 A 寫信:

因此,這里 IP 地址就是一個網路接入地址(朋友 A 的住址),我只需要知道目標 IP 地址,路由器就可以把消息給我帶到。 在區域網中,就可以動態維護一個 MAC 地址與 IP 地址的映射關系,根據目的 IP 地址就可以尋找到機器的 MAC 地址進行發送

這樣我們不需管理底層如何去選擇機器,我們只需要知道 IP 地址,就可以和我們的目標進行通信。這一層就是 網路層 。網路層的核心作用就是 提供主機之間的邏輯通信

這樣,在網路中的所有主機,在邏輯上都連接起來了,上層只需要提供目標 IP 地址和數據,網路層就可以把消息發送到對應的主機。

一個主機有多個進程,進程之間進行不同的網路通信,如邊和朋友開黑邊和女朋友聊微信。我的手機同時和兩個不同機器進行通信。

那麼當我的手機收到數據時,如何區分是微信的數據,還是王者的數據?那麼就必須在網路層之上再添加一層: 運輸層

運輸層通過 socket(套接字),將網路信息進行進一步的拆分,不同的應用進程可以獨立進行網路請求,互不幹擾。

這就是運輸層的最本質特點: 提供進程之間的邏輯通信 。這里的進程可以是主機之間,也可以是同個主機,所以在 android 中,socket 通信也是進程通信的一種方式。

現在不同的機器上的應用進程之間可以獨立通信了,那麼我們就可以在計算機網路上開發出形形式式的應用:如 web 網頁的 http,文件傳輸 ftp 等等。這一層稱為 應用層

應用層還可以進一步拆分出表示層、會話層,但他們的本質特點都沒有改變: 完成具體的業務需求 。和下面的四層相比,他們並不是必須的,可以歸屬到應用層中。

最後對計網分層進行小結:

這里需要注意的是,分層並不是在物理上的分層,而是邏輯上的分層。通過對底層邏輯的封裝,使得上層的開發可以直接依賴底層的功能而無需理會具體的實現,簡便了開發。

這種分層的思路,也就是責任鏈設計模式,通過層層封裝,把不同的職責獨立起來,更加方便開發、維護等等。

TCP 並不是把應用層傳輸過來的數據直接加上首部然後發送給目標,而是把數據看成一個位元組 流,給他們標上序號之後分部分發送。這就是 TCP 的 面向位元組流 特性:

面向位元組流的好處是無需一次存儲過大的數據佔用太多內存,壞處是無法知道這些位元組代表的意義,例如應用層發送一個音頻文件和一個文本文件,對於 TCP 來說就是一串位元組流,沒有意義可言,這會導致粘包以及拆包問題,後面講。

前面講到,TCP 是可靠傳輸協議,也就是,一個數據交給他,他肯定可以完整無誤地發送到目標地址,除非網路炸了。他實現的網路模型如下:

對於應用層來說,他就是一個可靠傳輸的底層支持服務;而運輸層底層採用了網路層的不可靠傳輸。雖然在網路層甚至數據鏈路層就可以使用協議來保證數據傳輸的可靠性,但這樣網路的設計會更加復雜、效率會隨之降低。把數據傳輸的可靠性保證放在運輸層,會更加合適。

可靠傳輸原理的重點總結一下有: 滑動窗口、超時重傳、累積確認、選擇確認、連續 ARQ

停止等待協議

要實現可靠傳輸,最簡便的方法就是:我發送一個數據包給你,然後你跟我回復收到,我繼續發送下一個數據包。傳輸模型如下:

這種「一來一去」的方法來保證傳輸可靠就是 停止等待協議 (stop-and-wait)。不知道還記不記得前面 TCP 首部有一個 ack 欄位,當他設置為 1 的時候,表示這個報文是一個確認收到報文。

然後再來考慮另一種情況:丟包。網路環境不可靠,導致每一次發送的數據包可能會丟失,如果機器 A 發送了數據包丟失了,那麼機器 B 永遠接收不到數據,機器 A 永遠在等待。

解決這個問題的方法是: 超時重傳 。當機器 A 發出一個數據包時便開始計時,時間到還沒收到確認回復,就可以認為是發生了丟包,便再次發送,也就是重傳。

但重傳會導致另一種問題:如果原先的數據包並沒有丟失,只是在網路中待的時間比較久,這個時候機器 B 會受到兩個數據包,那麼機器 B 是如何辨別這兩個數據包是屬於同一份數據還是不同的數據?

這就需要前面講過的方法: 給數據位元組進行編號 。這樣接收方就可以根據數據的位元組編號,得出這些數據是接下來的數據,還是重傳的數據。

在 TCP 首部有兩個欄位:序號和確認號,他們表示發送方數據第一個位元組的編號,和接收方期待的下一份數據的第一個位元組的編號。

停止等待協議的優點是簡單,但缺點是 信道利用率 太低。

假定AB之間有一條直通的信道來傳送分組

這里的TD是A發送分組所需要的時間(顯然TD = 分組長度 / 數據速率)再假定TA是B發送確認分組所需要的時間(A和B處理分組的時間都忽略不計)那麼A在經過TD+RTT+TA時間後才能發送下一個分組,這里的RTT是往返時間,因為只有TD是採用來傳輸有用的數據(這個數據包括了分組首部,如果可以知道傳輸更精確的數據的時間,可以計算的更精確),所有信道利用率為

為了提高傳輸效率,發送方可以不使用低效率的停止等待協議,而是採用 流水線傳輸 :就是發送方可以 連續的發送多個分組 ,不必每發完一個分組就停下來等待對方的確認。這樣可使信道上一直有數據不間斷地在傳送。顯然這種傳輸方式可以獲得很高的信道利用率

停止等待協議已經可以滿足可靠傳輸了,但有一個致命缺點: 效率太低 。發送方發送一個數據包之後便進入等待,這個期間並沒有干任何事,浪費了資源。解決的方法是: 連續發送數據包

也就是下面介紹的 連續ARQ協議 滑動窗口協議

連續 ARQ 協議

模型如下:

和停止等待最大的不同就是,他會源源不斷地發送,接收方源源不斷收到數據之後,逐一進行確認回復。這樣便極大地提高了效率。但同樣,帶來了一些額外的問題:

發送是否可以無限發送直到把緩沖區所有數據發送完?不可以。因為需要考慮接收方緩沖區以及讀取數據的能力。如果發送太快導致接收方無法接受,那麼只是會頻繁進行重傳,浪費了網路資源。所以發送方發送數據的范圍,需要考慮到接收方緩沖區的情況。這就是 TCP 的 流量控制

解決方法是: 滑動窗口 。基本模型如下:

在 TCP 的首部有一個窗口大小欄位,他表示接收方的剩餘緩沖區大小,讓發送方可以調整自己的發送窗口大小。通過滑動窗口,就可以實現 TCP 的流量控制,不至於發送太快,導致太多的數據丟失。

連續 ARQ 帶來的第二個問題是:網路中充斥著和發送數據包一樣數據量的確認回復報文,因為每一個發送數據包,必須得有一個確認回復。提高網路效率的方法是: 累積確認

接收方不需要逐個進行回復,而是累積到一定量的數據包之後,告訴發送方,在此數據包之前的數據全都收到。例如,收到 1234,接收方只需要告訴發送方我收到 4 了,那麼發送方就知道 1234 都收到了。

第三個問題是:如何處理丟包情況。在停止等待協議中很簡單,直接一個超時重傳就解決了。但,連續 ARQ 中不太一樣。

例如:接收方收到了 123 567,六個位元組,編號為 4 的位元組丟失了。按照累積確認的思路,只能發送 3 的確認回復,567 都必須丟掉,因為發送方會進行重傳。這就是 GBN(go-back-n) 思路。

但是我們會發現,只需要重傳 4 即可,這樣不是很浪費資源,所以就有了: 選擇確認 SACK 。在 TCP 報文的選項欄位,可以設置已經收到的報文段,每一個報文段需要兩個邊界來進行確定。這樣發送方,就可以根據這個選項欄位只重傳丟失的數據了。

第四個問題是:擁塞控制的問題
也是通過窗口的大小來控制的,但是檢測網路滿不滿是個挺難的事情,所以 TCP 發送包經常被比喻成往誰管理灌水,所以擁塞控制就是在不堵塞,不丟包的情況下盡可能的發揮帶寬。

水管有粗細,網路有帶寬,即每秒鍾能發送多少數據;水管有長度,端到端有時延。理想狀態下,水管裡面的水 = 水管粗細 * 水管長度。對於網路上,通道的容量 = 帶寬 * 往返時延。

如果我們設置發送窗口,使得發送但未確認的包為通道的容量,就能撐滿整個管道。

如圖所示,假設往返時間為 8 秒,去 4 秒,回 4 秒,每秒發送一個包,已經過去了 8 秒,則 8 個包都發出去了,其中前四個已經到達接收端,但是 ACK 還沒返回,不能算發送成功,5-8 後四個包還在路上,還沒被接收,這個時候,管道正好撐滿,在發送端,已發送未確認的 8 個包,正好等於帶寬,也即每秒發送一個包,也即每秒發送一個包,乘以來回時間 8 秒。

如果在這個基礎上調大窗口,使得單位時間可以發送更多的包,那麼會出現接收端處理不過來,多出來的包會被丟棄,這個時候,我們可以增加一個緩存,但是緩存裡面的包 4 秒內肯定達不到接收端課,它的缺點會增加時延,如果時延達到一定程度就會超時重傳

TCP 擁塞控制主要來避免兩種現象,包丟失和超時重傳,一旦出現了這些現象說明發送的太快了,要慢一點。

具體的方法就是發送端慢啟動,比如倒水,剛開始倒的很慢,漸漸變快。然後設置一個閾值,當超過這個值的時候就要慢下來

慢下來還是在增長,這時候就可能水滿則溢,出現擁塞,需要降低倒水的速度,等水慢慢滲下去。

擁塞的一種表現是丟包,需要超時重傳,這個時候,採用快速重傳演算法,將當前速度變為一半。所以速度還是在比較高的值,也沒有一夜回到解放前。

到這里關於 TCP 的可靠傳輸原理就已經介紹得差不多。最後進行一個小結:

當然,這只是可靠傳輸的冰山一角,感興趣可以再深入去研究

⑧ 尋找好的學計算機編程網站

csdn是中國最大的it網站,看雪學院是編程技術性非常強的一個做安全的網站,再來就是聯合開發網,里頭的一些源碼需要用人民幣去買.依你的目的csdn最合適

⑨ c++線上的編程練習的網站有哪些

這個應該很多的,比如牛客網,還有leetcode很多的,多看看網路知道,選C++標簽什麼的,還有各種論壇應該也有一堆。如果真的想深入學習的話 可以下載一些c++的pdf電子書來看看
經典書籍《c++ primer》《演算法導論》《編譯原理》.....下面是一些網站:

  1. Welcome To PKU JudgeOnline北京大學的Online Judge。POJ上面的題目有點老了,但好處是做的人多,經典演算法題多,解題報告也多,適合上手。

    2.ZOJ : Home浙江大學的Online Judge。ZOJ用的不多,但為數不多的幾次體驗好像都還可以,值得嘗試。

    3. Welcome to Hangzhou Dianzi University Online Judge杭州電子科技大學的OJ。杭電OJ在近幾年取代了POJ,成為是目前國內最主流的OJ。它的題目豐富,難度梯度合理,廣受全國各大高校的青睞。每年也會有大大小小的比賽掛在杭電的OJ上舉辦,去年的亞洲區網路賽也是在這上面做的。由此可見其在國內廣大ACMer心目中的地位。也正因為如此,網上h的解題報告也很多,適合個人進階訓練。

    4. UVa Online Judge西班牙Valladolid大學的Online Judge。是最古老也是全世界最知名的Online Judge,題庫有詳細的分類:如世界總決賽題目,劉汝佳的題目等等。題目目類型非常廣泛。絕大部分的題目難度偏易,適合初學者磨練程序設計。

    5.Timus Online JudgeURAL是一個俄羅斯的在線題庫。裡面的題目相比國內一些OJ來說頗有些難度,我們學校集訓隊老隊員喜歡拿這里的題出給新隊員做,可見有一定的進階作用。

    6.Sphere Online Judge (SPOJ)SPOJ是波蘭最為出色的Online Judge之一,界面和諧,題目類型也非常豐富,適合有一定基礎的選手練習,對高手而言也是個提高能力的良好平台。更多介紹見博客:SPOJ簡介 - 海山。

    7.USA Computing OlympiadUSACO是美國中學生的官方競賽網站、美國著名在線題庫,專門為信息學競賽選手准備;做題方式模擬正式比賽,採用標准測評機、文件輸入輸出、直接提交程序源文件的測評方式;網站的Training題目全面,是學習信息學不可不知的網站,每年NOI,NOIP都會參考上面的題目;每道題附有詳細題解,可查看測試數據和運行結果,便於調試、發現錯誤並改正。採用章節遞進的層次結構,由易到難,講授知識、練習編程結合,題目必須依次完成,避免了只挑簡單題做的行為;各章節猶如一本競賽輔導書,形成了一個鮮明的知識結構,利於OI初學者和高手逐步提高水平,充分學習信息學各方面知識,避免偏頗。(來源:usaco_網路)

    8.Saratov State University :: Online Contester之前上SGU一直是404,所以不敢貼上來。現在親測能上了就也放上來給大家看看吧。這個是貨真價實的樓教主刷完的OJ。樓教主為什麼要刷這個OJ而不刷這個回答里的其他OJ呢?因為這個OJ確實適合提升水平,應該跟Ural, SPOJ的難度相當。另外就不太了解了,在我心目中,SGU, Ural, SPOJ都適合區域賽沖金以及畢業想去Google等頂級公司的ACMer/Coder訓練,三者區別不大。

    9.CodeforcesCodefores是俄羅斯的一個演算法競賽網站,由Saratov State University創辦和維護。Codeforces主要強調的是演算法競賽,每隔1個禮拜左右就會有定期的線上比賽舉行,其題庫也是由每場比賽的題目一場場積累下來的。相比上面幾個以題庫為核心的OJ,Codeforces的演算法競賽比較適合鍛煉自己的臨場發揮和壓力下編程能力。

    10.HUSTOJ華中科技大學的Online Judge。hustOJ也和主流的其他OJ一樣有著豐富的題庫。但它主要的用處,是它所提供的這么一個叫做vjudge的東西,全稱叫做Virtual Judge。通過vjudge,你可以從各大OJ、包括但不限於上述的所有OJ中直接抽取題目,利用這些題目創建一個屬於你自己的比賽。非常適合專題訓練、日常集訓以及小夥伴們一起比賽切題玩。

    11. LeetCode Online Judge與很多OJ不同,leetcode是一個主要面向面試者的OJ (LeetCode OJ is a platform for preparing technical coding interviews)。上面的題目不多,目前只有152道,很多都是許多大公司的面試題目。題目類型偏基礎,基本不會考察復雜的演算法,很多都是對基礎知識的應用,難度與topcoder div1 250或codeforces div1 A題難度相當。如果是希望練習編程基礎或准備公司面試的話非常推薦此OJ(感謝室友/集訓隊大神/CMU准碩士@yun peng同學提供Leetcode介紹 (1/1/2015更新:室友拿了google的offer不去CMU了))。

希望可以幫到您,謝謝!

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:749
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:1012
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:718
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:878
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:774
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1127
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:351
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:229
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:911
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:875