❶ 【C++】請你提供一些巧妙、有趣的上機練習題(3~4題即可)
http://hi..com/korpus/blog/item/165756fdebdece1308244d2e.html
C/C++語言經典、實用、趣味程序設計編程百例精解(1)2007年06月04日 星期一 20:18C/C++語言經典、實用、趣味程序設計編程百例精解(1) 1.繪制餘弦曲線2.繪制餘弦曲線和直線3.繪制圓4.歌星大獎賽5.求最大數6.高次方數的尾數7.階乘尾數零的個數8.借書方案知多少9.楊輝三角形10.數制轉換11.打魚還是曬網12.抓交通肇事犯13.該存多少錢14.怎樣存錢利最大15.捕魚和分魚16.出售金魚17.平分七筐魚18.有限5位數19.8除不盡的自然數20.一個奇異的三位數21.4位反序數22.求車速23.由兩個平方三位數獲得三個平方二位數24.阿姆斯特朗數25.完全數26.親密數27.自守數28.迴文數29.求具有abcd=(ab+cd)2性質的四位數30.求素數31.歌德巴赫猜想32.可逆素數33.迴文素數34.要發就發35.素數幻方36.百錢百雞問題37.愛因斯坦的數學題38.換分幣39.年齡幾何40.三色球問題41.馬克思手稿中的數學題42.最大公約數和最小公倍數43.分數比較44.分數之和45.將真分數分解為埃及分數46.列出真分數序列47.計算分數的精確值48.新娘和新郞49.委派任務50.誰在說謊51.誰是竊賊52.黑與白53.迷語博士的難題(1)54.迷語博士的難題(2)55.哪個大夫哪天值班56.區分旅客國籍57.誰家孩子跑最慢58.拉丁方陣59.填表格60.1~9分成1:2:3的三個3位數61.1~9組成三個3位的平方數62.由8個整數形成奇特的立方體63.減式還原64.乘式還原65.乘式還原(2)66.除式還原(1)67.除式還原(2)68.九位累進可除數69.魔術師的猜牌術(1)70.魔術師的猜牌術(2)71.約瑟夫問題72.郵票組合73.和數能表示1~23的5個正整數74.可稱1~40磅的4塊砝碼75.10個小孩分糖果76.小明買書77.波松瓦酒的分酒趣題78.求π的近似值79.求π的近似值(2)80.奇數平方的一個有趣性質81.角谷猜想82.四方定理83.卡布列克常數84.尼科徹斯定理85.迴文數的形成86.自動發牌87.黑白子交換88.常勝將軍89.搶3090.搬山游戲91.人機猜數游戲92.人機猜數游戲(2)93.漢諾塔94.兎子產子95.將阿拉伯數字轉換為羅馬數字96.選美比賽97.滿足特異條件的數列98.八皇後問題99.超長正整數的加法100.數字移動
❷ 請為C++新手推薦幾本教程好書吧。我不怕學著難,只要經典有價值的
你自己挑幾本看吧,
入門推薦看
C Primer Plus中文版(第五版)
C程序設計(第三版)
學好C之後再去學c++,建議看
白話c++
你先把這些書復制下來,這些書都是經典中的經典了。都是非常好的。
C程序設計語言(第2版·新版)---C語言「倚天屠龍雙劍」---Brian W.Kernighan「C語言之父」
C Primer Plus中文版(第五版)--------C語言「倚天屠龍雙劍」---Stephen Prata
C程序設計(第三版)---------------------------譚浩強
C語言大全(第四版)---------------------------HERBERT SCHILDT
C語言介面與實現:創建可重用軟體的技術-------------DAVID R.HANSON
C語言參考手冊(原書第5版)--------------------------Samuel P.Harbison
C程序設計教程---------------------------------H.M.Deitel/P.J.Deitel
C陷阱與缺陷-----------------------------------Andrew Koenig
The C Programming Language by Kernighan & Ritchie Complement : The Development of the C Language
C Traps and Pitfalls by Andrew Koenig
Expert C Programming by Peter van der Linden
The Standard C Library by P J Plauger
Books on Linux & C :
Linux Application Development by Michael K. Johnson & Erik W. Troan
Linux device drivers by Alessandro Rubini
Developing Linux applications with GTK+ and GDK (ISBN 0-7357-0021-4, New Riders)
C/C++入門基礎
Windows C 程序設計入門與提高
單片機C語言入門
C++ 入門基礎教程
C語言常用演算法源代碼
C常用演算法程序集
C++ 語言命令詳解
Borland C++使用手冊
C語言編程基礎
C語言編程要點
C語言數值演算法程序大全(第二版)
Borland C++4.0安裝與使用
C++ Builder 5.0經典入門
非C程序員C++入門自學教程
C/C++指令字典
C語言常用函數手冊
C++標准程序庫自修教程與參考手冊
C語言圖形函數介紹
C語言數值計算初步
C++ 設計新思維
C++Builder基礎進階
C語言初學者入門講座
C++完全參考手冊
C++Builder英文幫助
《C++Builder學習大全》中文版
C++ Builder編程研究文檔
C游戲編程從入門到精通
C++程序調試實用手冊
Borland C++4.0從入門到精通
實用教程:
經典C語言教程
C++捷徑教程(第三版)
Borland C++實用教材
C++程序設計語言題解
C++上機實踐指導教程(第三版)
創世紀的C++ Builder教程
Borland C++程序設計教程
C++ BUILDER 實用培訓教程
C++程序設計培訓教程
C++編程金典(第三版)
C高級實用程序設計
嵌入式系統中C的開發
C++Builder自學培訓教程
C++大學教程(第二版)
C++傻瓜教程
精通C++ Builder 5程序設計高級教程
C++程序設計語言經典題與實驗指導
C++程序設計教程實驗書
C++大學基礎教程
C++面向對象到窗口程序設計
C語言核心編程
嵌入式系統的C程序設計
經典C教程
實用C語言詳解
Borland C++深入編程
Borland C++4.0程序設計
C++ 面向對象多線程編程
編程實例
C++實例教程
C++30天極限教程
C++Builder程序設計範例
C語言程序基礎及應用實例
C語言趣味程序百例精解
C++編程實例詳解
C++ Builder網路開發實例
C++實踐之路
21天學通C語言(第六版)
C語言學習300例
C++Builder6.0界面實例開發經典編程900例(C語言)
一個月挑戰C++
Borland C++應用篇
自學C++半月通
邊用邊學C語言
C語言完美演繹
設計60系列C++游戲
C語言程序設計題典
C++物件模型
C++ Builder 5編程實例與技巧
C語言程序設計及應用實例
Borland C++ 高級開發實踐
Borland C++ Builder6開發人員
經驗技巧:C++編碼規范與指導
C++核心編程技術
C++程序設計陷阱
C數值演算法程序大全
C和C++代碼精粹
C++編程-數據結構與程序設計方法
C++語言教程大全
C++Builder核心program
C高級編程技術
C語言常見問題集
C++ Builder 3 核心編程技術
Borland C++程序設計技術
用C實現面向對象
C專家編程
C++數據結構
C語言高級實用編程技巧
C程序設計與應用
C&C++深層探索
C++ 和面向對象的數值計算
用C++開發Web商用程序
C++代碼設計與重用
C++程序員JAVA編程
Borland C++寶典
C語言最新編程技巧200例
C++語言學習經驗集合
C語言編程寶典大全
C++ Builder高級開發人員技術指南
C++ 內存管理演算法和實現
Turboc庫函數源程序與參考大全
C++ Builder 5 開發人員指南
C++程序設計實驗指導(錢能)
用C語言設計屏幕界面技術
C和C++代碼錦囊
C語言學習和精華文摘
標准C++寶典
C_C++深層探索
Borland C++庫函數詳解
高質量C、C++編程指南
C++和面向對象的數值計算
C++、
C++程序設計語言(特別版)---c++八大金剛----Bjarne Stroustrup「C++之父」
C++ Primer (第3版)中文版----c++八大金剛---Stanley B.Lippman
C++ Primer (第4版)中文版----c++八大金剛---Stanley B.Lippman
C++標准程序庫—自修教程與參考手冊--c++八大金剛--Nicolai M.Josuttis
C++語言的設計和演化-----c++八大金剛----Bjarne Stroustrup「C++之父」
深度探索C++對象模型---c++八大金剛----Stanley B.Lippman
Essential C++中文版---c++八大金剛---Stanley B.Lippman
Effective C++中文版 2nd Edition-----c++八大金剛------Scott Meyers
More Effective C++中文版----c++八大金剛------Scott Meyers
C++編程思想(第2版) 第1卷:標准C++導引--------Bruce Eckel
C++編程思想(第2版)第2卷:實用編程技術 --------Bruce Eckel
C++程序設計--------------------------譚浩強
C++ 程序設計教程(第2版)--------------錢能
C++ Primer Plus(第五版)中文版---Stephen Prata
廣博如四庫全書The c++ programming language、c++ Primer
深奧如山重水復Inside the c++ object model
程序庫大全The c++ standard libray
工程經驗之積累Effective c++、More Effective c++、Exceptional c++
c++八大金剛:
1、Essentital c++---lippman---C++之父,旁枝暫略,主攻核心,輕薄短小,初學者
2、The c++ programming language----C++之父,技術權威,用詞深峻,思想深遠,c++網路全書代表,聖經。
3、c++ Primer----lippman---縱橫書市十數年,c++最佳教本,c++網路全書代表。
4、Inside the c++ object model-----lippman----揭示c++底層,非常好,非常難。
5、Effective c++-----通過50個編程實例,展示專家經驗,行文有趣,深處淺出。
6、More Effective c++----通過35個編程實例,展示專家經驗,行文有趣,深處淺出。
7、The c++ standard libray---c++標准庫的網路全書。
8、設計模式:可復用面向對象軟體的基礎
❸ c語言實例的書籍
Cambridge - Numerical Recipes in C》這本書的中文版叫做《c語言數值演算法程序大全(第二版)》裡面基本上囊括了所有的數值演算法
C++primer
C++編程思想第二版上下兩卷
以上兩本只是入門一下
《C++ 語言命令詳解(第二版)》這本書絕對必備裡麵包含了所有的c語言函數
《MFC類庫參考手冊 (pdf,全四冊)》這本作為單純C++向MFC的過度也應該必備
我一般都使用MFC裡面的類但是不少都推薦STL,所以推薦你看一下STL方面的書(但是如果你和我一樣不是學這個專業的,只是專業方面需要編一些小應用軟體推薦你只學MFC)
stl推薦你看一下《STL入門教程》這是一本.chm的書,裡面的內容可以實時更新,囊括了所有的stl信息。
以上的書都可以從web 迅雷里下載到。
我的郵箱[email protected]
至於實例的書我覺得都沒什麼用,因為都太大路化了,不能解決實際問題,建議你就在網路知道里搜C++,然後看別的網友在答疑時提的問題和解決方法,效果非常好,然後試著完成一些簡單小任務,賺點分,提高很快,我個人就是從給人編解一元方程地程序開始,一直到現在可以編一些稍微復雜一點的演算法。
❹ c語言學習資料
要學好c語言,第一是看別人的源代碼程序,第二是自己多寫,一定要自己多寫,雖然很辛苦,寫一遍等於看三遍,只有多寫你才能真正學會它。當然你先得看一些好的實例,才知道如何寫。下面是我認為比較好的電子書,你用網路搜索一下,很多在csdn都可以免費下載。
1.經典教材:
譚浩強C程序設計(第2/3版)
譚浩強C程序設計題解.pdf (強烈推薦)
2.編程實例:
C語言精彩編程百例
C語言趣味程序百例精解 (強烈推薦)
C語言實用程序設計100例
C語言實例解析精粹(第二版)(220例,強烈推薦)
經典編程900例(C語言)
3.國外經典: (強烈推薦)
C和指針.pdf
C專家編程.pdf
C陷阱與缺陷
4.高級進階
C高級實用程序設計.pdf(清華大學出版)(強烈推薦)
C語言高級實例解析
高質量C/C++編程指南.doc
❺ 單片機c語言編程100個實例
51單片機C語言編程實例 基礎知識:51單片機編程基礎 單片機的外部結構: 1. DIP40雙列直插; 2. P0,P1,P2,P3四個8位準雙向I/O引腳;(作為I/O輸入時,要先輸出高電平) 3. 電源VCC(PIN40)和地線GND(PIN20); 4. 高電平復位RESET(PIN9);(10uF電容接VCC與RESET,即可實現上電復位) 5. 內置振盪電路,外部只要接晶體至X1(PIN18)和X0(PIN19);(頻率為主頻的12倍) 6. 程序配置EA(PIN31)接高電平VCC;(運行單片機內部ROM中的程序) 7. P3支持第二功能:RXD、TXD、INT0、INT1、T0、T1 單片機內部I/O部件:(所為學習單片機,實際上就是編程式控制制以下I/O部件,完成指定任務) 1. 四個8位通用I/O埠,對應引腳P0、P1、P2和P3; 2. 兩個16位定時計數器;(TMOD,TCON,TL0,TH0,TL1,TH1) 3. 一個串列通信介面;(SCON,SBUF) 4. 一個中斷控制器;(IE,IP) 針對AT89C52單片機,頭文件AT89x52.h給出了SFR特殊功能寄存器所有埠的定義。 C語言編程基礎: 1. 十六進製表示位元組0x5a:二進制為01011010B;0x6E為01101110。 2. 如果將一個16位二進數賦給一個8位的位元組變數,則自動截斷為低8位,而丟掉高8位。 3. ++var表示對變數var先增一;var—表示對變數後減一。 4. x |= 0x0f;表示為 x = x | 0x0f; 5. TMOD = ( TMOD & 0xf0 ) | 0x05;表示給變數TMOD的低四位賦值0x5,而不改變TMOD的高四位。 6. While( 1 ); 表示無限執行該語句,即死循環。語句後的分號表示空循環體,也就是{;} 在某引腳輸出高電平的編程方法:(比如P1.3(PIN4)引腳) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P1.3 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P1_3 = 1; //給P1_3賦值1,引腳P1.3就能輸出高電平VCC 5. While( 1 ); //死循環,相當 LOOP: goto LOOP; 6. } 注意:P0的每個引腳要輸出高電平時,必須外接上拉電阻(如4K7)至VCC電源。 在某引腳輸出低電平的編程方法:(比如P2.7引腳) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2.7 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P2_7 = 0; //給P2_7賦值0,引腳P2.7就能輸出低電平GND 5. While( 1 ); //死循環,相當 LOOP: goto LOOP; 6. } 在某引腳輸出方波編程方法:(比如P3.1引腳) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P3.1 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句 5. { 6. P3_1 = 1; //給P3_1賦值1,引腳P3.1就能輸出高電平VCC 7. P3_1 = 0; //給P3_1賦值0,引腳P3.1就能輸出低電平GND 8. } //由於一直為真,所以不斷輸出高、低、高、低……,從而形成方波 9. } 將某引腳的輸入電平取反後,從另一個引腳輸出:( 比如 P0.4 = NOT( P1.1) ) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P0.4和P1.1 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P1_1 = 1; //初始化。P1.1作為輸入,必須輸出高電平 5. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句 6. { 7. if( P1_1 == 1 ) //讀取P1.1,就是認為P1.1為輸入,如果P1.1輸入高電平VCC 8. { P0_4 = 0; } //給P0_4賦值0,引腳P0.4就能輸出低電平GND 2 51單片機C語言編程實例 9. else //否則P1.1輸入為低電平GND 10. //{ P0_4 = 0; } //給P0_4賦值0,引腳P0.4就能輸出低電平GND 11. { P0_4 = 1; } //給P0_4賦值1,引腳P0.4就能輸出高電平VCC 12. } //由於一直為真,所以不斷根據P1.1的輸入情況,改變P0.4的輸出電平 13. } 將某埠8個引腳輸入電平,低四位取反後,從另一個埠8個引腳輸出:( 比如 P2 = NOT( P3 ) ) 代碼 1. #include <AT89x52.h> //該頭文檔中有單片機內部資源的符號化定義,其中包含P2和P3 2. void main( void ) //void 表示沒有輸入參數,也沒有函數返值,這入單片機運行的復位入口 3. { 4. P3 = 0xff; //初始化。P3作為輸入,必須輸出高電平,同時給P3口的8個引腳輸出高電平 5. While( 1 ) //非零表示真,如果為真則執行下面循環體的語句 6. { //取反的方法是異或1,而不取反的方法則是異或0 7. P2 = P3^0x0f //讀取P3,就是認為P3為輸入,低四位異或者1,即取反,然後輸出 8. } //由於一直為真,所以不斷將P3取反輸出到P2 9. } 注意:一個位元組的8位D7、D6至D0,分別輸出到P3.7、P3.6至P3.0,比如P3=0x0f,則P3.7、P3.6、P3.5、P3.4四個引腳都輸出低電平,而P3.3、P3.2、P3.1、P3.0四個引腳都輸出高電平。同樣,輸入一個埠P2,即是將P2.7、P2.6至P2.0,讀入到一個位元組的8位D7、D6至D0。 第一節:單數碼管按鍵顯示 單片機最小系統的硬體原理接線圖: 1. 接電源:VCC(PIN40)、GND(PIN20)。加接退耦電容0.1uF 2. 接晶體:X1(PIN18)、X2(PIN19)。注意標出晶體頻率(選用12MHz),還有輔助電容30pF 3. 接復位:RES(PIN9)。接上電復位電路,以及手動復位電路,分析復位工作原理 4. 接配置:EA(PIN31)。說明原因。 發光二極的控制:單片機I/O輸出 將一發光二極體LED的正極(陽極)接P1.1,LED的負極(陰極)接地GND。只要P1.1輸出高電平VCC,LED就正向導通(導通時LED上的壓降大於1V),有電流流過LED,至發LED發亮。實際上由於P1.1高電平輸出電阻為10K,起到輸出限流的作用,所以流過LED的電流小於(5V-1V)/10K = 0.4mA。只要P1.1輸出低電平GND,實際小於0.3V,LED就不能導通,結果LED不亮。 開關雙鍵的輸入:輸入先輸出高 一個按鍵KEY_ON接在P1.6與GND之間,另一個按鍵KEY_OFF接P1.7與GND之間,按KEY_ON後LED亮,按KEY_OFF後LED滅。同時按下LED半亮,LED保持後松開鍵的狀態,即ON亮OFF滅。 代碼 1. #include <at89x52.h> 2. #define LED P1^1 //用符號LED代替P1_1 3. #define KEY_ON P1^6 //用符號KEY_ON代替P1_6 4. #define KEY_OFF P1^7 //用符號KEY_OFF代替P1_7 5. void main( void ) //單片機復位後的執行入口,void表示空,無輸入參數,無返回值 6. { 7. KEY_ON = 1; //作為輸入,首先輸出高,接下KEY_ON,P1.6則接地為0,否則輸入為1 8. KEY_OFF = 1; //作為輸入,首先輸出高,接下KEY_OFF,P1.7則接地為0,否則輸入為1 9. While( 1 ) //永遠為真,所以永遠循環執行如下括弧內所有語句 10. { 11. if( KEY_ON==0 ) LED=1; //是KEY_ON接下,所示P1.1輸出高,LED亮 12. if( KEY_OFF==0 ) LED=0; //是KEY_OFF接下,所示P1.1輸出低,LED滅 13. } //松開鍵後,都不給LED賦值,所以LED保持最後按鍵狀態。 14. //同時按下時,LED不斷亮滅,各佔一半時間,交替頻率很快,由於人眼慣性,看上去為半亮態 15. } 數碼管的接法和驅動原理 一支七段數碼管實際由8個發光二極體構成,其中7個組形構成數字8的七段筆畫,所以稱為七段數碼管,而餘下的1個發光二極體作為小數點。作為習慣,分別給8個發光二極體標上記號:a,b,c,d,e,f,g,h。對應8的頂上一畫,按順時針方向排,中間一畫為g,小數點為h。 我們通常又將各二極與一個位元組的8位對應,a(D0),b(D1),c(D2),d(D3),e(D4),f(D5),g(D6),h(D7),相應8個發光二極體正好與單片機一個埠Pn的8個引腳連接,這樣單片機就可以通過引腳輸出高低電平控制8個發光二極的亮與滅,從而顯示各種數字和符號;對應位元組,引腳接法為:a(Pn.0),b(Pn.1),c(Pn.2),d(Pn.3),e(Pn.4),f(Pn.5),g(Pn.6),h(Pn.7)。 如果將8個發光二極體的負極(陰極)內接在一起,作為數碼管的一個引腳,這種數碼管則被稱為共陰數碼管,共同的引腳則稱為共陰極,8個正極則為段極。否則,如果是將正極(陽極)內接在一起引出的,則稱為共陽數碼管,共同的引腳則稱為共陽極,8個負極則為段極。 以單支共陰數碼管為例,可將段極接到某埠Pn,共陰極接GND,則可編寫出對應十六進制碼的七段碼表位元組數據