Ⅰ 面向對象程序設計主要有哪些方法
程序設計主要方法有面向結構的方法和面向對象的方法。
結構化程序設計
隨著計算機的價格不斷下降,硬體環境不斷改善,運行速度不斷提升。程序越寫越大,功能越來越強,講究技巧的程序設計方法已經不能適應需求了。記得是哪本書上講過,一個軟體的開發成本是由:程序設計 30% 和程序維護 70% 構成。這是書上嘩或改給出的一個理論值,但實際上,從我十幾年的工作經驗中,我得到的體會是:程序設計占 10%,而維護要佔 90%。也許我說的還是太保守了,維護的成本還應該再提高。下面這個程序,提供了兩種設計方案,大家看看哪個更好一些那?
題目:對一個數組中的100個元素,從小到大排序並顯示輸出。(BASIC)
方法1:冒泡法排序,同時輸出。
FOR I=1 TO 100
FOR J=I+1 TO 100
IF A[I] > A[J] THEN T=A[J]: A[J]=A[I]: A[I]=T
NEXT J
? A[I]
NEXT I
方法2:冒泡法排序,然後再輸出。
FOR I=1 TO 100
FOR J=I+1 TO 100
IF A[I] > A[J] THEN T=A[J]: A[J]=A[I]: A[I]=T
NEXT
NEXT
FOR I=1 TO 100
? A[I]
NEXT
顯然,「方法1」比「方法2」的效率要高,運行的更快。但是,從現在的程序設計角度來看,「方法2」更高級。原因很簡單:(1)功能模塊分割清晰——易讀;(2)也是最重要的——易維護。程序在設計階段的時候,就要考慮以後的維護問題。比如現在是實現了在屏幕上的輸出,也許將來某一天,你要修改程序,輸出到列印機上、輸出到繪圖儀上;也許將來某一天,你學習了一個新的高級的排序方法,由「冒泡法」改進為「快速排序」、「堆排序」。那麼在「方法2」的基礎上進行修改,是不是就更簡單了,更容易了?!這種把功能模塊分離的程序設計方法,就叫「結構化程序設計」。
面向對象的程序設計
隨著程序的設計的復雜性增加,結構化程序設計方法又不夠用了。不夠用的根本原因是「代碼重用」的時候不方便。面向對象的方法誕生了,它通過繼承來實現比較完善的代碼重用功能。很多學生在應聘工作,面試的時候,常被問及一個問題「你來談談什麼是面向對象的程序設計」,學生無言,回來問我,這個問題應該怎麼回答。我告訴他,你只要說一句話就夠了「面向對象程序設計是對數據的封裝;範式(模板)的程序設計是對演算法的封裝。」後來再有學生遇到了這個問題,只簡單的一句對答,對方就對這個學生就刮目相看了(學生後來自豪地告訴我的)。為什麼那?因為只有經過徹底的體會和實踐才能提煉出這個精華。
面向對象的設計方法和思想,其實早在70年代初就已經被提出來了。其目的就是:強製程亂判序必須通過函數的方式來操縱數據。這樣實現了數據的封裝,就避免了以前設計方法中的,任何代碼都可以隨便操作數據而因起的BUG,而查找修改這個BUG是非常困難的。那麼你可以說,即使我不使用面向對象,當我想訪問某個數據的時候,我就通過調用函數訪問不就可以了嗎?是的,的確可以,但並不是強制的。人都有惰性,當我想對 i 加1的時候,干嗎非要調用函數呀?算了,直接i++多省事呀。呵呵,正式由於這個懶惰,當程序出BUG的時候,可就不好捉啦。而面向對象是強制性的,從編譯階段就解決了你懶惰的問題。
巧合的是,面向對象的思想,其實和我們的日常生活中處理問題是吻合的。舉例來說,我打算丟掉一個茶杯,怎麼扔那?太簡單了,拿起茶杯,走到垃圾桶,扔!注意分析這個過程,我們是先選一個「對象」------茶杯,然後向這個對象施加一個動作——扔。每個對象所能施加在它上面的動作是有一定限制的:茶杯,可以被扔,可以被砸,可以用來喝水,可以敲它發出聲音......;一張紙,可以被寫字,可以撕,可以燒......。也就是說,一旦確定了一個對象,則方法也就跟著確定了。我們的日常生活就是如此。但是,大家回想一下我們程序設計和對計算機的操作,卻不是這樣的。拿DOS的操作來說,我要刪除一個文件,方法是在DOS提示符下:c:> del 文件名<回車>。注意看這個過程,動作在前(del),對象在後(文件名),和面向對象的方法正好順序團悔相反。那麼只是一個順序的問題,會帶來什麼影響那?呵呵,大家一定看到過這個現象:File not found. 「啊~~~,我錯了,我錯了,文件名敲錯了一個字母」,於是重新輸入:c:> del 文件名2<回車>。不幸又發生了,計算機報告:File read only. 哈哈,痛苦吧:)。所以DOS的操作其實是違反我們日常生活中的習慣的(當然,以前誰也沒有提出過異議),而現在由於使用了面向對象的設計,那麼這些問題,就在編譯的時候解決了,而不是在運行的時候。obj.fun(),對於這條語句,無論是對象,還是函數,如果你輸入有問題,那麼都會在編譯的時候報告出來,方便你修改,而不是在執行的時候出錯,害的你到處去捉蟲子。
同時,面向對象又能解決代碼重用的問題——繼承。我以前寫了一個「狗」的類,屬性有(變數):有毛、4條腿、有翹著的尾巴(耷拉著尾巴的那是狼)、鼻子很靈敏、喜歡吃肉骨頭......方法有(函數):能跑、能聞、汪汪叫......如果它去抓耗子,人家叫它「多管閑事」。好了,狗這個類寫好了。但在我實際的生活中,我家養的這條狗和我以前寫的這個「狗類」非常相似,只有一點點的不同,就是我的這條狗,它是:捲毛而且長長的,鼻子小,嘴小......。於是,我派生一個新的類型,叫「哈巴狗類」在「狗類」的基礎上,加上新的特性。好了,程序寫完了,並且是重用了以前的正確的代碼——這就是面向對象程序設計的好處。我的成功只是站在了巨人的肩膀上。當然,如果你使用VC的話,重用最多的代碼就是MFC的類庫。
Ⅱ 面向對象程序設計的優點是什麼
1、維護簡單
面向對象程序設計的一個特徵就是模塊化。實體可以被表示為類以及同一名字空間中具有相同功能的類,可以在名字空間中添加一個類而不影響該名字空間的其他成員。這種特徵為程序的維護提供了便捷性。
2、可擴充性
如果有一個具有某一種功能的類,就可以擴充這個類,創建一個具有擴充功能的類。
3、代碼重用
功能是被封裝在類中的,類是作為一個獨立實體而存在的,因此可以很簡單的提供類庫,使代碼得以重復使用。
(2)面向對象程序設計cpdf擴展閱讀
面向對象程序設計(Object Oriented Programming)作為一種新方法,其本質是以建立模型體現出來的抽象思維過程和面向對象的方法。模型是用來反映現實世界中事物特徵的。任何一個模型都不可能反映客觀事物的一切具體特徵,只能對事物特徵和變化規律的一種抽象,且在它所涉及的范圍內更普遍、更集中、更深刻地描述客體的特徵。通過建立模型而達到的抽象是人們對客體認識的深化。
Ⅲ 《現代C++程序設計》pdf下載在線閱讀,求百度網盤雲資源
《現代C++程序設計》([美] Barbara Johnston)電子書網盤下載免費在線閱讀
鏈接:https://pan..com/s/1kEh3RON1ZKo4ISNI1Q5qcw
書名:現代C++程序設計
作者:[美] Barbara Johnston
譯者:何亮
豆瓣評分:8.7
出版社:機械工業出版社
出版年份:2008-9
頁數:455
內容簡介:
本書採用生動輕松的語言,深入闡述了C++語言和面向對象程序設計技術。書中設計了超過115個完整的經過教學測試的代碼示例,不僅分析了這些示例的代碼片段,而且還解釋了如何把它們組成一個完整的程序。此外,各章後面都提供了大量練習,有助於加強讀者對相關內容的理解。
本書圖文並茂,通俗易懂,真正做到寓教於樂,是一本難得的C++面向對象設計入門教材。
作者簡介:
Barbara Johnston,任教於新墨西哥中央社區學院,負責教授AA學位的計算機編程課程。她有20多年的軟體開發和教學經驗,目前兼任Rapid Imaging SoftwarrtCAM3D實時感知軟體。e公司的軟體開發工程師,負責開發了美國軍用無人駕駛飛行器所使用的SmartCAM3D實時感知軟體。
Ⅳ 面向對象程序設計的架構介紹
面向對象程序設計中的概念主要包括:對象、類、數據抽象、繼承、動態綁定、數據封裝、多態性、消息傳遞。通過這些概念面向對象的思想得到了具體的體現。
1)對象(Object) 可以對其做事情的一些東西。一個對象有狀態、行為和標識三種屬性。
2)類(class) 一個共享相同結構和行為的對象的集合。
類(Class)定義了一件事物的抽象特點。通常來說,類定義了事物的屬性和它可乎陪虛以做到的(它的行為)。舉例來說,「狗」這個類會包含狗的一切基礎特徵,例如它的孕育、毛皮顏色和吠叫的能力。類可以為程序提供模版和結構。一個類的方法和屬性被稱為「成員」。
3)封裝(encapsulation): 第一層意思:將數據和操作捆綁在一起,創造出一個新的類型的過程。
第二層意思:將介面與實現分離的過程。
4)繼承 類之間的關系,在這種關系中,一個類共享了一個或多個其他類定義歲燃的結構和行為。繼承描述了類之間的「是一種」關系。子類可以對基類的行為進行擴展、覆蓋、重定義。
5)組合 既是類之間的關系也是對象之間的關系。在這種關系中一個對象或者類包含了其他的對象和類。
組合描述了「有」關系。
6)多態 類型理論中的一個概念,一個名稱可以表示很多不同類的對象,這些類和一個共同超類有關。因此,這個名稱表示的任何對象可以以不同的方式響應一些共同的操作集合。
7)動態綁定 也稱動態類型,指的是一個對象或者表達式的類型直到運行時才確定。通常由編譯器插入特殊代碼來實現。與之對立的是靜態類型。
8)靜態綁定 也稱靜態類型,指的是一個對象或者表達式的類型在編譯時確定。
9)消息傳遞 指的是一個對象調用了另一個對象的方法(或者稱為成員函數)。
10)方法 也稱為成員函數,是指對象上的操作,作為類聲明的一部分來定義。方法定義了可以對一個對象執行那些操作。 一種語言要稱為面向對象語言,必須支持面向對象幾個主要的概念。根據支持程度的不同,通常所說的面向對象語言可以分成兩類:基於對象的語言和面向對象的語言。
基於對象的語言
基於對象的語言僅支持類和對象,舉例來說,Ada就是一個典型的基於對象的語言,因為它不支持繼承、多態,此外其他基於對象的語言還有Alphard、CLU、Euclid、Mola。
面向對象的語言
面向對象的語言支持的概念包括:類與對象、繼承、多態。
面向對象的語言中一部分是新發明的語言,如Smalltalk、Java,這些語言本身往往吸取了其他語言的精華,而又盡量剔除他們的不足,因此面向對象的特徵特別明顯,充滿了蓬勃的生機;另外一些則是對現有的語言進行改造,增加面向對象的特徵演化而來的。如由Pascal發展而來的Object Pascal,由C發展而來的Objective-C,C++ ,由Ada發展而來的Ada 95等,這些語言保留著對原有語言的兼容,並不是純粹的面向對象語言,但由亂段於其前身往往是有一定影響的語言,因此這些語言依然寶刀不老,在程序設計語言中佔有十分重要的地位。 面向對象出現以前,結構化程序設計是程序設計的主流,結構化程序設計又稱為面向過程的程序設計。在面向過程程序設計中,問題被看作一系列需要完成的任務,函數(在此泛指常式、函數、過程)用於完成這些任務,解決問題的焦點集中於函數。其中函數是面向過程的,即它關注如何根據規定的條件完成指定的任務。
在多函數程序中,許多重要的數據被放置在全局數據區,這樣它們可以被所有的函數訪問。每個函數都可以具有它們自己的局部數據。
這種結構很容易造成全局數據在無意中被其他函數改動,因而程序的正確性不易保證。面向對象程序設計的出發點之一就是彌補面向過程程序設計中的一些缺點:對象是程序的基本元素,它將數據和操作緊密地連結在一起,並保護數據不會被外界的函數意外地改變。
比較面向對象程序設計和面向過程程序設計,還可以得到面向對象程序設計的其他優點:
1)數據抽象的概念可以在保持外部介面不變的情況下改變內部實現,從而減少甚至避免對外界的干擾;
2)通過繼承大幅減少冗餘的代碼,並可以方便地擴展現有代碼,提高編碼效率,也減低了出錯概率,降低軟體維護的難度;
3)結合面向對象分析、面向對象設計,允許將問題域中的對象直接映射到程序中,減少軟體開發過程中中間環節的轉換過程;
4)通過對對象的辨別、劃分可以將軟體系統分割為若干相對為獨立的部分,在一定程度上更便於控制軟體復雜度;
5)以對象為中心的設計可以幫助開發人員從靜態(屬性)和動態(方法)兩個方面把握問題,從而更好地實現系統;
6)通過對象的聚合、聯合可以在保證封裝與抽象的原則下實現對象在內在結構以及外在功能上的擴充,從而實現對象由低到高的升級。
Ⅳ 怎麼理解面向對象程序設計
之前寫過和這個題目相關的論文,摘選一部分看對您有沒有什麼幫助:
面向對象程序設計的基本概念:面向對象, 概括地說, 就是把問題抽象為對象, 設置屬性(數據) , 指定事件或處理方式(代碼) 來達到目的, 強調從問題域的概念到軟體程序和界面的直接映射。面向對象程序設計中的概念主要包括:對象、類、數據抽象、繼承、動態綁定、數據封裝、多態性、消息傳遞。通過這些概念面向對象的思想得到了具體的體現。
面向對象程序設計的基本特徵1)對象:對象是運行期的基本實體,它是一個封裝了數據和操作這些數據的代碼的邏輯實體。2)類:類是具有相同類型的對象的抽象。一個對象所包含的所有數據和代碼可以通過類來構造。3)封裝性:封裝是一種信息隱蔽技術,它體現於類的說明,是對象的重要特性。封裝使數據和加工該數據的方法(函數)封裝為一個整體,以實現獨立性很強的模塊,使得用戶只能見到對象的外特性(對象能接受哪些消息,具有那些處理能力),而對象的內特性(保存內部狀態的私有數據和實現加工能力的演算法)對用戶是隱蔽的。封裝的目的在於把對象的設計者和對象者的使用分開,使用者不必知曉行為實現的細節,只須用設計者提供的消息來訪問該對象。4)繼承性:繼承性是子類自動共享父類之間數據和方法的機制。它由類的派生功能體現。一個類直接繼承其它類的全部描述,同時可修改和擴充。繼承具有傳遞性。繼承分為單繼承(一個子類只有一父類)和多重繼承(一個類有多個父類)。類的對象是各自封閉的,如果沒繼承性機制,則類對象中數據、方法就會出現大量重復。繼承不僅支持系統的可重用性橋如正,而且還促進系統的可擴充性。5)多態性:對象根據所接收的消息而做出動作。同一消息為不同的對象接受時可產生完全不同的行動,這種現象稱為多態性。利用多態性用戶可發送一個通用的信息,而將所有的實現細節都留給接受消息的對象自行決定,如是,同一消息即可調用不同的方法。例如:Print消息被發送給一圖或表時調用的列印方法與將同樣的Print消息發送給一正文文件而調用的列印方法會完全不同。多態性的實現受到繼承性的支持,利用類繼承的層次關系,把具有通用功能的協議存放在類層次中盡可能高的地方,而將實現這一功能的不同方法置於較低層次,這樣,在這些低層次上生成的對象就能給通用消息以不同的響應。在OOPL中可通過在派生類中重定義基類函數(定義為重載函數或虛函數)來實現多態性。6)動態綁定
綁定指的是將一個過程調用與相應代碼鏈接起來的行為。動態綁定是指與給定的過程調用相關聯的代碼只有在運行期才可知的一種綁定,它是多態實現的具體形式。7)消息傳遞:對象之間需要相互溝通,溝通的途徑就是對象之間收發信息。消息內容包括接收消息的對象的標識,需要調用的函數的標識,以及必要的信息。消息傳遞的概念使得對現實世界的描述更容易。
面向對象語言
一個語言要稱為面向對象語言必須支持幾個主要面向對象的概念。根據支持程度的不同,橡豎通常所說的面向對象語言可以分成兩類:基於對象的語言,面向對象的語言。
基於對象的語言僅支持類和對象,而面向對象的語言支持的概念包括:類與對象、繼承、多態。舉例來說,Ada就是一個典型的基於對象的語言,因為它不支持繼承、多態,此外其他基於對象的語言還有Alphard、CLU、Euclid、Mola。面向對象的語言中一部分是新發明的語言,如Smalltalk、Java,這些語言本身往往吸取了其他語言的精華,而又盡量剔除他們的不足,因此面向對象的特徵特別明顯,充滿了蓬勃的生機;另外一些則是對現有的語言進行改造,增加面向對象的特徵演化而來的。如由Pascal發展而來的Object Pascal,由C發展而來敏悔的Objective-C,C++,由Ada發展而來的Ada 95等,這些語言保留著對原有語言的兼容,並不是純粹的面向對象語言,但由於其前身往往是有一定影響的語言,因此這些語言依然寶刀不老,在程序設計語言中佔有十分重要的地位。
Ⅵ 《面向對象程序設計》第10章在線測試
《面向對象程序設計》第10章在線測試
剩餘時間:
59:55
答題須知:1、本卷滿分20分。
2、答完題後,請一定要單擊下面的「交卷」按鈕交卷,否則無法記錄本試卷的成績。
3、在交卷之前,不要刷新本網頁,否則你的答題結果將會被清空。
第一題、單項選擇題(每題1分,5道題共5分)
1、throw後面的表梁世達式不可以是(D )
A、常量 B、變數
C、對象 D、數組
2、關於沒有被捕捉的異常正確的說法是(A/C )
A、在catch塊中沒有處理的異常 B、未被捕捉的異常必然導致系統崩潰
C、如果一個異常沒有被捕捉到,將調用terminate()函數終止程序運行 D、忽略它
3、關於異常對象的說法正確的是( A)
A、異常對象需要先建立,再拋出 B、以傳值方式傳遞異常對象時,拋出的是局部臨時對橡顫肢象
C、以引用方式傳遞異常對象時,拋出的是局部靜態對象 D、以指針方式傳遞異常對象時,拋出的是全局臨時對象
4、關於try, throw和catch使用的說明中,錯誤的是(D )
A、throw必須在try塊中 B、每一個try塊的後面一定要跟著catch塊
C、程序中catch塊可以有多個 D、throw拋出的異常與距它最近的cach匹配
5、為保證程序中的全局變數不與開發商提供的全局變數重名,可以採取的措施是(C )
A、查閱手冊,不起同樣的名字 B、引入命名空間
C、避開不用 D、讓開發商改名
第二題、多項選擇題(每題2分,5道題共10分)
1、下面與異常處理相關的關鍵字有(CD )
A、Try
B、Catch
C、try
D、catch
2、下面與異常處理相關的關鍵字有(BC )
A、Throw
B、throw
C、try
D、Try
3、throw 表達式中的表達式的含義(BD/ (不知道正確答案是什麼))
A、表達式表示異常的值
B、表達式與return語句的運算數相似
C、表達式表示異常的類型
D、表達式的值可以用來區別不同的異常
4、catch子句的說法正確的是( AB)
A、catch子句後的復合語句是異常處理程序
B、catch子句捕獲throw表達式拋出的異常
C、catch子句的異常類型說明只能是類型,不能是數值
D、catch子句的異常類型不能是自定義類
5、關於catch(…)語句的說法正確的是(AC )
A、catch(…)語句可以捕獲任何異常
B、catch(…)語句可以放在catch子句的任何位置
C、catch(…)語句必須放在catch子句的最後
D、catch(…)語句捕獲空的異常
第三題、判斷題(每題1分,5道題共5分)
1、異常如果沒有要求程序立即進行處理,將會引起程序錯誤甚至崩潰的現象。
正確 錯誤T
2、拋出異常的模塊並不負責異常的處理,該異常的處理可以程序中的任何位置。
正確 錯誤F
3、異常信號傳遞方式有三種:傳值方式、引用方式和指針方式。
正確 錯誤T
4、命名空間,就是在程序的不同的模塊中使用相同的名字表示不同的事物(實體)。目的是提供一種機制,使大洞姿程序的各個部分中因出現重名而導致沖突的可能性降到最低。
正確 錯誤T
5、catch處理程序的出現次序無關緊要。
正確 錯誤F
Ⅶ 求電子信息工程專業所有課程(除高數和外語)PDF
電子信息工程專業課程簡介2007-04-08 23:35電子信息工程專業課程簡介
06120407 電路分析 [72-4-3]
先修課程:高等數學
內容提要:本課程主要介紹了電路的基本概念和基本定律;簡單電阻電路的分析方法;線性電阻電路的 一般分析方法;非線性電阻電路;一階,二階和高階電路;正弦電流電路的穩態分析;有互 感的電路;電路中的諧振;電路的頻率特性;三相電路;周期性激勵下電路的穩態響應;傅 里葉變換與拉普拉斯變換;二埠網路;網路圖論基礎;狀態變數法;非線性電路簡介;分 布參數的電路.
修讀對象:電類各專業本科生
教 材:《電路理論基礎》(第二版)周長源主編 高等教育出版社
主要參考書:《電路分析基礎》(第三版)李瀚蓀主編 高等教育出版社
06120408 模擬電路 [72-4-4]
先修課程;電路分析
內容提要:本課程系統地闡述了模擬電路的基礎知識,基本原理和基本分析方法.主要包括半導體器件 及其原理;半導體放大電路基礎;場效應管放大電路;反饋放大電路;功率放大電路;集成 運算放大器;信號運算與處理;信號產生電路和直流電源.
修讀對象:電類各專業本科生
教 材:《模擬電子技術基礎》(第二版)童詩白主編 高等教育出版社
主要參考書:《模擬電子技術基礎簡明教程》(第二版)楊素行主編 高等教育出版社
06120409 數字電路 [72-4-5]
先修課程:電路分析
內容提要:本課程系統地闡述了數字電路的基礎知識,基本分析方法和設計方法.根據數字電子技術的 發展,突出了中,大規模集成電路的應用.其內容有,半導體器件及基本邏輯門電路的電路 結構,工作原理和邏輯功能,以及邏輯代數基礎與邏輯函數的化簡.在此基礎上,介紹各種 觸發器的工作原理及功能,並較詳細地介紹了組合邏輯電路,時序邏輯電路及其設計方法. 另外又介紹了脈沖電路及其波形分析方法;大規模集成電路中MOS存儲單元的基本工作原 理和集成存儲的邏輯功能;可編程序控制器PLC的基本工作原理;A/D,D/A轉換的基本工 作原理和轉換方法.
修讀對象:電類各專業本科生
教 材:《數字電子技術基礎》(第四版)閻 石主編 高等教育出版社
主要參考書:《數字電子技術基礎簡明教程》(第二版)余孟嘗主編 高等教育出版社
06120410 通信電子電路 [54-3-5]
先修課程:電路分析,模擬電路
內容提要:本課程主要介紹了通信電路中的寬頻放大器,調幅,檢波與變頻,角度調制與解調,波形變 換,反饋控制電路,功率變換,雜訊,干擾及其抑制等內容.
修讀對象:電子信息工程專業本科生
教 材:《通信電子電路》謝沅清等編著 北京郵電大學出版社
主要參考書:《通信電子線路》李棠之主編 電子工業出版社
06120411 信號與系統 [72-4-4]
先修課程:電路分析
內容提要:本課程系統地介紹了信號通過線性時不變系統的基本理論和分析處理方法.主要討論了連續 時間信號與系統(從時域到變換域),離散時間信號與系統(從時域到變換域)以及研究系統的狀態變數分析(包括連續與離散,時域與變換域)等內容.
修讀對象:電子信息工程專業本科生
教 材:《信號與系統》鄭君里等編著 高等教育出版社
主要參考書:《信號與系統分析基礎》姜建國等著 清華大學出版社
06120412 計算機組成原理 [64-3-5]
先修課程;計算機基礎及應用
內容提要:本課程按基礎,組成,系統三個層次介紹了計算機的組成原理.基礎部分包括計算機系統概 念,數據在計算機中的表示及編碼,代碼校驗,計算機的基本器件,機器數的運算方法;組 成部分包括運算器,指令系統,主存儲器,CPU及控制器;系統部分包括存儲體系結構,外 部設備,主機與外設的數據傳輸方式.
修讀對象:電類各專業本科生
教 材:《 計算機組成原理》李文岳主編 清華大學出版社
主要參考書:《 計算機組成原理解題與實習指導》 李文岳主編 清華大學出版社
《 計算機組成原理》張鈞良主編 電子工業出版社
06120413 C語言與數據結構 [54-3-4]
先修課程;計算機基礎及應用
內容提要:本課程將C++語言作為學生學習計算機編程的入門語言,不僅詳細介紹了C++語言本身,而 且介紹了常用的數據結構和演算法,使學生能夠對現實世界中較簡單的問題及其解決方法用計 算機語言描述.其主要內容為面向對象的程序設計技術和C++語言程序設計的基本方法和規 則,通過C++語言介紹基本數據類型,基礎控制結構以及面向對象程序設計的類,對象,派 生類,繼承和多展性等機制.
修讀對象:電類各專業本科生
教 材:《 C++語言程序設計》鄭莉等編 清華大學出版社
主要參考書:《C++語言面向對象程序設計》 陳維興等編著 清華大學出版社
06120414 數字信號處理 [54-3-5]
先修課程:高等數學,信號與系統
內容提要:本課程系統地討論了數字信號處理的基本理論,基本分析方法及基本實現方法.主要內容有 離散時間信號與系統的基本理論,包括離散時間信號與系統,Z變換及離散傅里葉變換;數 字濾波器的結構,理論和設計方法;各種快速傅里葉變換演算法;數字信號處理中的有限字長 效應;數字濾波器的計算機輔助設計以及FFT和數字濾波器的硬軟體實現.
教 材:《數字信號處理教程》程佩青編 清華大學出版社
主要參考書:《數字信號處理》 劉令普編著 哈爾濱工業大學出版社
06120506 單片機原理與介面技術 [54-3-6]
先修課程:計算機基礎及應用, 計算機組成原理
內容提要:本課程詳細介紹了MCS-51系列單片機的結構,工作原理,定址方式,指令系統和程序設計 方法,以及單片機在智能儀器儀表,機電一體化,實時過程式控制制等各領域中的應用.使學生 掌握單片機應用系統設計和開發的基本技能.
修讀對象:電類各專業本科生
教 材:《 單片機原理及應用》曹巧媛主編 電子工業出版社
主要參考書:《MCS-51單片機實驗指導》 張友德主編 復旦大學出版社
06120602 計算機通信網路 [42-2-6]
內容提要:本課程主要介紹計算機通信網的基本概念和基本原理,以OSI參考模型為基礎和線索,全面 系統地闡述分層次的網路體系結構.並兼顧OSI和TCP/IP兩大體系,闡述它們的共性問題, 內容涵蓋了區域網,廣域網,Internet網,ATM和B-ISDN等網路體制,突出通信子網與資源 子網的概念,詳細討論了用於計算機通信的各類通信交換技術.
修讀對象:電類各專業本科生
教 材:《 計算機通信網路基礎》顧尚傑主編 電子工業出版社
06120501 電子測量技術 [48-2-6]
先修課程:大學物理,物理實驗,模擬與數字電路
內容提要:本課程主要介紹模擬指示電測量儀表,電子式儀器儀表及應用,並比較詳細地介紹了數字化 測量技術,數據採集系統,以及正確選擇和使用儀器,儀表的方法和注意事項.適當地介紹 了磁測量及相應的儀器儀表的選擇和使用方法.
修讀對象:電類各專業本科生
教 材:《電氣測量技術 》陶時澍主編 計量出版社
主要參考書:《電磁測量》 唐統一等編著 清華大學出版社
06120502 感測技術 [45-2-7]
先修課程:大學物理,物理實驗,模擬與數字電路
內容提要:本課程主要介紹了感測器的原理,結構測量電路和應用實例.其中包括感測器的基本概念, 電阻式,電容式,電感式,壓電式,熱電式,光電式,氣濕敏,磁敏式和輻射式等感測器及 其應用.
修讀對象:電類各專業本科生
教 材:《感測器原理與應用》黃賢武等編著 1995年
主要參考書:《感測器原理設計與應用》 劉迎春等編著 1989年
06120503 資訊理論基礎 [48-2-6]
先修課程:高等數學,信號與系統
內容提要:本課程主要介紹了信息理論的基本概念和基本分析方法,如有關信息及其量度,信源及其編 碼,信道及其編碼的基本概念和基本理論.並介紹了數據的傳輸碼,壓縮碼,檢錯及糾錯 碼,多端信息網路,估計理論,試驗假設及條形碼等應用專題.
修讀對象:電子信息工程專業本科生
教 材:《 信息理論基礎》常迥著 清華大學出版社
主要參考書:《 資訊理論理論基礎》 賈世樓編著 哈爾濱工業大學出版社
06120504 通信原理 [48-2-6]
先修課程:高等數學,信號與系統
內容提要:本課程首先介紹了通信和通信系統的基本概念,主要內容包括模擬通信部分(模擬調制的原 理及方法,抗雜訊性能的分析模型及方法),數字通信部分(模擬信號的波形編碼,數字信 號的基帶和調制傳輸,差錯控制編碼),並大量列舉了模擬通信系統和數字通信系統的應用 實例.
修讀對象:電子信息工程專業本科生
教 材:《通信原理簡明教程》南利平編著 清華大學出版社
主要參考書:《現代通信原理》 曹志平等著 清華大學出版社
06120505 自動控制原理 [54-3-5]
先修課程:高等數學,電路分析
內容提要:本課程主要包括控制系統的基本概念,控制系統的數學模型,時域分析法,頻率特性法,控 制系統的頻率法校正,離散控制系統等內容.
修讀對象:電類各專業本科生
教 材:《自動控制原理 》(上,下)胡壽松主編 國防工業出版社
主要參考書:《自動控制原理》(上,下)黃家英主編 電子工業出版社
06120415 電子設計自動化 [32-2-6]
先修課程:數字電路,模擬電路
內容提要:本課程以Prote199SE為EDA平台,介紹了電子線路設計自動化的基本理論和實踐方法.主要 包括電子線路原理圖設計,模擬及數字電路模擬技術,PCB電子線路版圖設計及信號完整性 分析初步等內容.
修讀對象:電類各專業本科生
教 材:《 電子設計自動化(EDA)》王鎖萍主編 電子科技大學出版社
主要參考書:《Prote199SE電路設計與模擬應用》梁恩主等編著 清華大學出版社
1、公共基礎課程: 主要包括高等數學、大學物理、英語、體育、政治理論等課程。
2、專業基礎課程: 線性代數、復變函數、概率論與數理統計、電路分析基礎、信號與系統、電子電路基礎、數字電路基礎、通信電路、電子線路 CAD 、電子技術實驗、電子技術課題設計、數字通信原理、數字信號處理、科技英語、 管理信息系統等。
3、計算機類課程: 計算機文化基礎、C語言、微機原理與介面技術、面向對象程序設計、數據結構、 資料庫應用、計算機圖形學、計算機網路等。
4、專業課程: DSP技術與應用、信息科學原理、數字圖像處理分析、多媒體通信、信息系統工程等課程。
5、專業限選課: 多媒體應用技術、網頁製作技術、現代通信技術、EDA技術、電視學原理等。
6、實踐類課程: 重點應包括每年的一次的教學實踐和最後的畢業設計。
pdf除非你自己去掃描
Ⅷ 請談一談你對面向對象程序設計的理解,以及你認為C和C#有什麼區別
其實,很多理論上的理解,並不重要,在實際應用中,詳細體會,感受到的才是最真實的。
簡單說一下體會:
c語言是比較基礎的語言,他裡面沒有封裝什麼的真對windows開發的類。因此,我們在用c語言開發的時候,基本上只用來製作比較底層的開發。如果我們用c語言開發大型與復雜的程序,其工作量是異常巨大的。
當然,c語言開發的程序在效率上是要高於 c++與c#的。頃余
c# 是非常高級的語言,又是微軟近年來花巨額資金打造的產品,對於我們開發windows的各種程序,都是非常便捷和效率的。旦乎伏並且,c#語言還可以用來開發.net平台的網站,其功能之強,用途之廣,是非常值得我們去體會的。
當然,c#也有執行效率低的缺點,不過這些都可以通過我們電腦不斷的升級換代逐漸被淡化。
關於你的:談一談你對面向對象程序設計的理解:
這是一種概念,凡是新接觸這個概念的人,都會被搞得一頭霧水,甚至望而卻步。
其實,這是一種完全錯誤的導向,其實你死記硬背,生搬硬套的去學,也完全能夠進入到這個領域里,你會通過一次次的編寫程序,在心中逐漸建立起這個概念。
讓我用一種學術的語言來解釋,我也一樣說不太好,而且我也沒有過多的去深入的研究這個概念,但是這並不會影響我去寫程序。不過我覺得還是可以給你舉例說明:
面向對象程序設計 其實就是在一間屋子裡擺滿了各種工具,當你需要製作生產的時候,你就把這些工具調用出來,隨便的使用。這樣,你寫程序是多麼輕松啊!
不是面對對象的語言,擺在你面前的只模攜是一堆原料,你需要自己加工成工具,然後再用這些工具來生產。
再極限下來,如果說你用0 1 來直接寫程序(最早的程序就是這樣的),那麼就相當於,你直接跟萬物的創造者耶和華直接進行對話了! 因為你連原材料都沒有,你只有一片浮雲……
Ⅸ 面向對象程序設計期末大作業題目(C語言)
面向對象程序設計
期末大作業題目
第1題:設計一個學生學籍管理系統
學生信息包括:姓名、學號、性別和英語、數學、程序設計、體育成績。
從鍵盤輸入數據,建立數據文件student.dat。
實現對學生或學號查詢,顯示信息。
對所有學生,按照班級計算平均成績。
分別按照英語、數學、程序設計和體育成績排序生成結果文件。
程序清單:
第2題:自定義一個示意性的復數類
自定義一個示意性的復數類型complex,其中含有若干個成員函數,使用該類可以完成復數的加法以及對復數的輸出。請完成類定義並編制主函數,說明complex類對象,對定義的各成員函數進行調用。class complex{ double real; //復數實部 double imag; //復數虛部public: complex(); //無參構造函數 complex(double r, double i); //兩參構造函數 complex addCom(complex c2);
//調用者對象與對象c2相加,返回complex類對象 void outCom ();
//輸出調用者對象的有關數據(各分量) }; 進一步,在類中添加對復數進行其他基本運算(如,復數減、乘、除、取模等)的相應成員函數,並通過主函數處的調用來驗證各函數的使用正確性。
程序清單:
第3題:設計一個模擬電信計費程序
假設電信計費標准:固定電話長途話費0.02元/秒,固定電話本地話費0.06元/分,無線電話長途話費1.00元/分,無線電話本地話費0.60元/分,無線電話接聽話費0.50元/分。
源數據文件中存放:電話號碼,電信服務類別,通話時間(秒)。
生成固定長途電話文件:長途電話號碼和通話時間。
生成固定本地電話文件:本地電話號碼和通話時間。
生成無線長途電話文件:長途電話號碼和通話時間。
生成無線本地電話文件:本地電話號碼和通話時間。
生成無線接聽電話文件:接聽電話號碼和通話時間。
生成統計電信費用文件:電話號碼、累計電信費用。
程序清單:
第4題:設計一個保留字(或關鍵字)的統計程序
建立保留字文件;
從源數據文件(C或C++語言程序)中,讀取字元或字元串,與保留字文件中的保留字進行匹配比較,並統計計數。
輸出兩張表文件:保留字計數,掃描程序的次數,非保留字計數。
程序清單:
程序清單:
第5題:設計一個數據文件處理程序
源數據文件中含有字元和數字,從中讀取數值數據(將連續的數字字元看成一個數值數據),和讀取的單詞(將連續的字母字元看成一個單詞)分別存放在不同的文件中,並且排序後輸出顯示。
例如:源數據文件old.dat包括:asjjk 12rtr 345 dasdd9&k32*dfasfkjk##dasfdf897,
則生成的數據文件new1.data包括:12 345 9 32 897
單詞文件new2.dat包括:asjjk rtr dasdd k dfasfkjk dasfdf
程序清單:
第6題:設計一個超長整數類
定義並實現超長整數類doublelong,要求如下:
64位數據長度,有符號
支持+、-、*、/運算
支持+=、-=、/=運算
支持cin>>和cout<<操作
你給多少錢?1500,全部幫你做下來,成交不?