Ⅰ 編程之美 第一個cpu50%的程序不能運行啊
你用的g++吧?
int _tmain(int argc,_TCHAR* argv[]) 改成
int main(int argc,char* argv[])
VS的話要大於VC6。新建工程後把代碼復制到新建的文件中~注意不能覆蓋新建工程的頭文件生命部分~~
Ⅱ 如何編寫一段小程序,讓windows任務管理器cpu的佔用率顯示為50%
void fun(){ int busyTime = 10; int idleTime = busyTime * 1.0; //調整這個1.0的值,以達到50%的標准,不同的計算機上是不同的。 int ret = SetThreadAffinityMask(GetCurrentThread(),0x00000001);//使這個程序跑在第一個CPU核心 INT64 startTime = 0; while (1){ startTime = GetTickCount(); while((GetTickCount() - startTime) <= busyTime) ; Sleep(idleTime); } }C程序,勿忘了#include <windows.h>基本思想還是死循環,不過在循環中加上Sleep調用降低佔用率。
詳細可以查看《編程之美》第一章,,這是以前微軟的面試題
Ⅲ 大學本科研究生科目網路—軟體開發課程—軟體操作課程有哪些(比如ps fl 之類的要說全哦
1. 計算機底層
這實際上就是兵哥哥說的《計算機組成原理》,我推薦的書是《深入理解計算機系統》,1000%的會比你的課本給你更多的東西。不管是寫程序做軟體還是搞科研發論文,不對底層有一個清晰的認識,你的整個前進道路都是模糊不清的。而只對體系結構的了解是遠遠不夠的,深挖才是歸途,為什麼現在很多解析內存CPU技術的博文博客火呢?因為大家都忽略啊!又因為大家都知道這是多麼有用啊!不做底層的分析,你怎麼去精準的定位問題呢?怎麼去寫出切合真實計算邏輯的簡單而又高效的優秀代碼呢?別鬧了。我同意一個觀點——讀優秀的代碼,從OS開始。讀這些就是你學習認知底層的過程,就是在站在巨人肩膀上遠眺的歷程。
2. 數學
過硬的數學功底使得你能看到一些新技術的出現而不茫然,看到的舊的技術能快速的跟進上手。這就是所謂「知識」和「技能」的關系,將工具運用到純熟的地步,你會發現別人遇到的很多問題在你這里都不是問題了,看起論文來也得心應手啦,這就是潛移默化和下意識的作用。
3. C/C++
排在第三位是因為我覺得不是極其重要了。當然,C語言是基本功我就不在贅述。
一門語言對你的作用是認識到計算機的「思考方式」與人類的不同,想要更加精確簡單(KISS原則)的實現自己的想法,就要按照這個邏輯思路去執行。而選擇C語言是因為它是成熟的,是最為值得探究的語言,也是你今後可能進入Unix,Linux,嵌入式,甚至於IOS方向的基石。
4. 演算法設計
依託數學的知識,在演算法上的成績應該不會太次。《演算法導論》是要看的沒錯。如果時間少的話,《編程珠璣》《編程之美》《APUE》,這些書是要接觸的。
5. 英語/(日語)
不得不承認美帝和倭寇就是比我們先進。
學習英語的好處不言而喻,打破這層壁壘就會讓你感受到真正的世界的樣子,去那些純英文的編程網站,BBS,討論組,個人博客,增長見識的同時是你在逐步的認清這個世界,知道外面的人在做什麼在想什麼,現如今的潮流是什麼(為什麼不提媒體我覺得你應該懂得),更進一步你未來的發展方向是什麼,是否和大環境有沖突,這是你這一生究竟能達到多大成就的一個很重要的潛在因素,也是為你今後走出校園做一些非常必要的知識儲備和心理預備役。
日語的問題,是在英語之後的一個可選項,IT方面的日企非常多,待遇也非常好,我們懷抱著「師夷長技」的心態去學習就好了。
Ⅳ 編程之美的作品目錄
第1章游戲之樂——游戲中碰到的題目 1
1.1讓CPU佔用率曲線聽你指揮 3
1.2中國象棋將帥問題 13
1.3一摞烙餅的排序 20
1.4買書問題 30
1.5快速找出故障機器 35
1.6飲料供貨 40
1.7光影切割問題 45
1.8小飛的電梯調度演算法50
1.9高效率地安排見面會 54
1.10雙線程高效下載 59
1.11NIM(1)一排石頭的游戲 64
1.12NIM(2)「拈」游戲分析 67
1.13NIM(3)兩堆石頭的游戲 72
1.14連連看游戲設計 86
1.15構造數獨 91
1.1624點游戲 99
1.17俄羅斯方塊游戲 108
1.18挖雷游戲 116
第2章數字之魅——數字中的技巧 117
2.1求二進制數中1的個數 119
2.2不要被階乘嚇倒 125
2.3尋找發帖「水王」 129
2.41的數目 132
2.5尋找最大的K個數 139
2.6精確表達浮點數 147
2.7最大公約數問題 150
2.8找符合條件的整數 155
2.9斐波那契(Fibonacci)數列 160
2.10尋找數組中的最大值和最小值 166
2.11尋找最近de點對 171
2.12快速尋找滿足條件的兩個數 178
2.13子數組的最大乘積 182
2.14求數組的子數組之和的最大值 185
2.15子數組之和的最大值(二維) 192
2.16求數組中最長遞增子序列 198
2.17數組循環移位 204
2.18數組分割 207
2.19區間重合判斷 211
2.20程序理解和時間分析 215
2.21隻考加法的面試題 217
第3章結構之法——字元串及鏈表的探索 219
3.1字元串移位包含的問題 221
3.2電話號碼對應英語單詞 224
3.3計算字元串的相似度 230
3.4從無頭單鏈表中刪除節點 234
3.5最短摘要的生成 237
3.6編程判斷兩個鏈表是否相交 241
3.7隊列中取最大值操作問題 244
3.8求二叉樹中節點的最大距離 250
3.9重建二叉樹 256
3.10分層遍歷二叉樹 262
3.11程序改錯 268
第4章數學之趣——數學游戲的樂趣 273
4.1金剛坐飛機問題 275
4.2瓷磚覆蓋地板 279
4.3買票找零 282
4.4點是否在三角形內 286
4.5磁帶文件存放優化 291
4.6桶中取黑白球 294
4.7螞蟻爬桿 299
4.8三角形測試用例303
4.9數獨知多少 307
4.10數字啞謎和迴文 315
4.11挖雷游戲的概率 322
Ⅳ 直接遠程到伺服器上寫代碼有什麼好處
本系列教程將和您一起探討如何利用Java語言一步一步實現自己的web伺服器。
1需求描述
第1講我們要實現的效果是:當我們在瀏覽器的地址欄輸入localhost:8080的時候,我們會看到"hello,this is my web server!"。如下:
Ⅵ C#編寫一個時間周期循環的問題
這個問題的效果就像任務管理器中的cpu使用記錄的曲線。
1,用Timer控制項或者用線程的sleep方法,控制幾個變數,包括繪圖在區域內的起始座標,矩形的個數,分段的座標(數組)
2.在窗體的onpaint事件中一直畫,畫的依據是上面的變數,就是按上面的變數畫出排列的矩形,寫上字
3.在1中隔段時間將窗體無效一次,強制畫一次。
Ⅶ 《編程之美》里的代碼是什麼語言寫的 大部分是c語言嗎
大部分都是C語言,如果你有不懂的地方,可以直接到網上搜索書中章節的標題,網上有很多人討論的,可以從別人那裡獲取新的方法.另外書中有些方式可能已經過時了,或者不是最優解.就比如第一篇讓CPU佔用率曲線聽你指揮,其實對於多核已經不太適用了.但網上的人也有改進的程序.
Ⅷ 如何准備考研:計算機
統考分為四門功課:數據結構、計算機組成原理、操作系統、計算機網路
建議學習線路:
數據結構:C語言 → 離散數學 → 數據結構
計算機組成原理:數字邏輯設計 → 計算機組成原理
操作系統:計算機組成原理 → 匯編語言 → 操作系統
計算機網路:直接學就可以
上面的學習線路中列舉了一些不考的課程,如果都學時間是不夠的,但作為跨考的童鞋,為了能夠理解專業課,有必要將這些課程中的某些關鍵知識看懂,究竟怎樣看,下面的文字中有敘述。
推薦用書(共9本書,共計3217頁,鴨梨很大):
數據結構教材:《數據結構(C語言版)》嚴蔚敏 清華大學出版社,334頁
數據結構習題:《數據結構題集(C語言版) 》嚴蔚敏 清華大學出版社,234頁
《演算法與數據結構考研試題精析(第2版)》陳守孔 機械工業出版社,436頁
計算機組成原理教材:《計算機組成原理(第2版)》唐朔飛 高等教育出版,428頁
計算機組成原理習題:《計算機組成原理學習指導與習題解答》唐朔飛 高等教育出版,346頁
操作系統教材:《計算機操作系統(第3版)》湯子瀛 西安電子科技出版社,393頁
操作系統習題:《計算機操作系統學習指導與題解(第2版)》湯子瀛 西安電子科技出版社,243頁
《操作系統學習指導和考試指導》李善平 浙江大學出版社,297頁
計算機網路教材:《計算機網路(第5版)》謝希仁 電子工業出版社,402頁
計算機網路習題:《計算機網路知識要點與習題解析》王慧強 哈爾濱工業大學出版社,349頁
考研復習全書:《計算機專業基礎綜合考試指導全書》王道論壇 機械工業出版社,497頁
數據結構:
四門功課中唯一一個涉及到高級語言演算法的課程。在學習這門課之前,最好對C語言的語法、函數調用、指針、數組等有一個全面的了解,否則裡面的演算法根本看不懂。
有些剛跨到計算機上的童鞋,對C語言和數據結構這兩門課究竟有啥區別還有疑問,實際上C語言教你的是如何使用編程語言,而數據結構則是上升到脫離編程語言的高度,探討通過何種方式能夠更加高效的解決運算問題,也就是演算法,當然,有了演算法後,如何將演算法實現,還是要回歸到編程語言,將演算法描述出來。所以,數據結構的教材並不在乎依託於哪種編程語言的描述,關鍵在於演算法的設計,只要演算法設計好了,再套到某一種語言中去實現就可以了。當然,現在大多數教材,包括吹泡泡的嚴蔚敏老太太的書,都是用C語言描述的,這只是因為C語言是大多數童鞋入門學習的且非常規范的語言。
舉個例子,如果把C語言比作人才的話,那麼你學習C語言的目的就在於了解具體某個人才都具有什麼樣的才能,就好像是搞人力資源一樣,是研究具體人的。而數據結構則脫離的具體的某個人才,領導向你提出了一系列當前面臨的問題,你的工作就是謀劃出都需要什麼樣的人通過怎樣的職能機構劃分去解決這些問題,只要你策劃好需要哪種人就可以,而並不在於必須是張三李四等某個人才。
另外,這門課和《離散數學》關系密切,甚至可以說是離散數學的計算機演算法表達,因為離散數學就是程序邏輯的理論基礎,專門研究「與、或、非」邏輯運算(見下面的一個變態句子),並且離散數學本身的數學模型,比如樹、圖,在數據結構中都將用演算法實現其存儲與運算過程,所以數據結構是連接數學與計算機的一個橋梁,你將在這門課中明白數學原理最終將如何服務於計算機實現。所以如果是數學系相關專業的,這方面會占點優勢,非數學系的,可以看看,有一定的理論基礎即可。不用太深入研究,除非你去考北大這種專門考離散數學的學校。
計算機組成原理:
計算機專業的硬體基礎課程,這門課需要記憶的內容很多,而需要記憶的內容往往不是很難的內容。
若論難點,那麼其中的難點之一在於二進制演算法,也就是這門課程開頭的篇章,這是這門課中計算量最大的部分,也是最無聊的部分,在沒有深入的了解計算機之前,你可能都不知道這部分在說些什麼。其實這部分是整個計算機科學的核心基礎,即二進制和邏輯運算「與、或、非」。無論是硬體課程還是數據結構這種演算法課程,無不包含著邏輯的思想,可以說計算機整個就是一套邏輯。舉個簡單的例子,「我和小明或你和小李要麼在明天或後天去你家裡吃飯並且看看你的母親要麼大後天直接到你公司去找你」,這個變態的句子就是典型的邏輯運算,把它用演算法描述出來就是「程序」,把它用電路表述出來就是「硬體」,數據結構解決的問題是前者,而計算機組成原理解決的就是後者。
另外,計算機原理,還有一個重點就是CPU原理(考試的重點可並不僅此一個),而這裡面重點的重點是寄存器,之所以說它是重點,並非考試能佔到多大份額,而是因為它和匯編語言密切相關,而匯編語言在下一門課程——操作系統中會用到的,所以CPU與寄存器是連接兩門課程的橋梁,這個學不好,後面的操作系統的重要章節就會出問題。
計算機組成原理的前驅課程叫做「數字邏輯電路設計」,如果從來沒有接觸過計算機組成原理,可以先熟悉一些這門課中的內容,主要就是二進制演算法、數字電路原理、數字電路元器件、解碼器等,先了解這些後再看計算機組成原理,就可以掃除一些術語、原理上的障礙。
操作系統:
該課程並不是教你怎樣用Windows(這個大家應該都知道哈),也不會具體的討論那種操作系統平台,而是深入的探討計算機是如何工作的。如果說計算機組成原理講述了如何將一堆廢鐵搭建成有點用的一台機器,那麼操作系統這門課就是剖析如何通過軟體讓這堆廢鐵活起來,所以這門課和計算機組成原理的關系密切,甚至章節上一一對應。
但這門課最為核心的兩章應該是存儲系統和控制系統,尤其是控制系統,還與匯編語言有一定關系,比如PV操作,生產者消費者問題。所以在學習操作系統之前,應該先完成計算機組成原理的學習,另外對匯編語言的語法有一定了解,匯編語言有一定難度,不需要深入研究,知道怎麼進行邏輯運算就可以應付操作系統中的問題了。
計算機網路:
這是與其他三門課程相對獨立的一門,對其他三門課程用的知識不是很多,可以獨立復習。我個人認為這門課不難學,而且很多內容在日常操作電腦中也會遇到,比如IP地址、子網掩碼、TCP-IP協議等,所以這門課門檻不高。這門課記憶的內容很多,需要運算的內容不多。實際上核心就是ISO-OSI的六層網路體系,把這個網路體系在腦中形成一個知識體系,而不要死記硬背,拿下這門課程並不難。
上面是我的一點愚見,由於專業課我還沒有太深入復習,這些僅僅是憑借我原先上學以及這些年的工作的出來的結論,有助於學習,但未必有助於應試,想跨考到計算機的童鞋,可以權當參考了。
總之,先踏踏實實學,以不變應萬變才是王道。加油!!!
Ⅸ 怎麼自學C語言 要看什麼書 對使用的電腦有要求嗎
下圖先略過。
自學推薦2本書
一本紅皮書,大陸本科基本都用它。《C語言程序設計(第四版)》 譚浩強 著
配 《C語言程序設計(第四版)學習輔導》 譚浩強 編著
《C primer plus (第五版)中文版》 Stephen Prata 著 雲巔工作室 譯
ps:我們學校教材就是這個的英文版TAT
對電腦基本沒要求。看你CPU 絕對夠了。軟體推薦visual C++ 6.0以上或 Dev C++ 4.9.9.2 以上。
還有,保存你編寫的程序,記得要選文件類型,兩款軟體默認都是cpp/c++;改成****.C(參見上面4附圖)
第一本書號稱自學神器,其實我覺得第三版要比第四版更加通俗易懂。這個就要看你個人喜歡什麼了。至於怎麼學好C語言,該書裏的序言裏都寫了。