版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 畢業(yè)設(shè)計(jì)(論文)</b></p><p><b> 目 錄</b></p><p> 畢業(yè)設(shè)計(jì)任務(wù)書(shū) 2</p><p> 摘要
2、 5</p><p> 一、緒論 5</p><p> 二、C語(yǔ)言概述 6</p><p> 1.C語(yǔ)言出現(xiàn)的歷史背景 6</p>&
3、lt;p> 2.C語(yǔ)言的特點(diǎn) 7</p><p> 3.Turbo C簡(jiǎn)介 9</p><p> 三、用C語(yǔ)言模擬兩列波的合成 10</p><p> 1.編
4、譯環(huán)境的選擇 10</p><p> 2.硬件條件 10</p><p> 3.程序代碼及相關(guān)注釋 10</p><p> 4.使用步驟
5、 18</p><p> 結(jié)論 20</p><p> 致謝 20</p><p> 畢業(yè)論文(設(shè)計(jì))任務(wù)書(shū)</p>
6、<p> 院(系): 電子系 </p><p> 用C語(yǔ)言模擬兩列波的合成</p><p><b> 摘要:</b></p><p> 本設(shè)計(jì)采用C語(yǔ)言這門(mén)實(shí)踐性很強(qiáng)的學(xué)科,實(shí)現(xiàn)波形的輸入、合成與輸出,其特點(diǎn)是可以把輸入的波形較為直觀準(zhǔn)確的打印在電腦屏幕上相應(yīng)的坐標(biāo)軸位置,并通過(guò)計(jì)算機(jī)突出的運(yùn)算速度,通過(guò)運(yùn)算在
7、短時(shí)間內(nèi)把兩列波形合二為一,并準(zhǔn)確的打印出來(lái),使用較為方便,大大提高了計(jì)算波形的工作效率。</p><p><b> 關(guān)鍵詞:</b></p><p><b> 一、緒論</b></p><p> C語(yǔ)言是近年來(lái)在國(guó)內(nèi)外得到迅速推廣應(yīng)用的一種計(jì)算機(jī)語(yǔ)言。C語(yǔ)言功能豐富,表達(dá)能力強(qiáng),使用靈活方便,應(yīng)用面廣,目標(biāo)程序效率
8、高,可移植性好,既具有高級(jí)語(yǔ)言的優(yōu)點(diǎn),又具有低級(jí)語(yǔ)言的許多特點(diǎn),使用C語(yǔ)言要比使用匯編語(yǔ)言容易的多。</p><p> C語(yǔ)言有著不同于或優(yōu)于其它語(yǔ)言的特點(diǎn):</p><p> 語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活;</p><p><b> 運(yùn)算符豐富;</b></p><p> 數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語(yǔ)言的各種數(shù)
9、據(jù)結(jié)構(gòu);</p><p> 具有結(jié)構(gòu)化的控制語(yǔ)句;</p><p> 語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大;</p><p> C語(yǔ)言允許直接訪問(wèn)物理地址;</p><p> 生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行率高</p><p> 用C語(yǔ)言寫(xiě)程序可移植性好。</p><p> 因此,掌握C
10、語(yǔ)言無(wú)疑是培養(yǎng)新型人才的一個(gè)重要環(huán)節(jié),它能啟發(fā)人們對(duì)先進(jìn)科學(xué)的向往,激發(fā)創(chuàng)新意識(shí),推動(dòng)對(duì)新知識(shí)的學(xué)習(xí),鍛煉動(dòng)手實(shí)踐的本領(lǐng)。</p><p><b> 二、C語(yǔ)言概述</b></p><p> 1. C語(yǔ)言出現(xiàn)的歷史背景</p><p> C語(yǔ)言是國(guó)際上廣泛流行的、很有發(fā)展前途的計(jì)算機(jī)高級(jí)語(yǔ)言。它適合于</p><p&g
11、t; 作為系統(tǒng)描述語(yǔ)言,既可用來(lái)寫(xiě)系統(tǒng)軟件,也可用來(lái)寫(xiě)應(yīng)用軟件。</p><p> 以前的操作系統(tǒng)等系統(tǒng)軟件主要是用匯編語(yǔ)言編寫(xiě)的(包括UNIX操作系統(tǒng)在內(nèi))。由于匯編語(yǔ)言依賴于計(jì)算機(jī)硬件,程序的可讀性和可移植性比較差。為了提高可讀性和可移植性,最好改用高級(jí)語(yǔ)言,但一般的高級(jí)語(yǔ)言難以實(shí)現(xiàn)匯編語(yǔ)言的某些功能。人們?cè)O(shè)想是否能找到一種既具有高級(jí)語(yǔ)言的特性,又具有底級(jí)語(yǔ)言的特性的語(yǔ)言,集它們的優(yōu)點(diǎn)于一身。于是,C語(yǔ)言
12、就在這種情況下應(yīng)運(yùn)而生了。</p><p> C語(yǔ)言是在B語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,它的根源可以追溯到ALGOL 60。1960年出現(xiàn)的ALGOL 60是一種面向問(wèn)題的高級(jí)語(yǔ)言,它離硬件比較遠(yuǎn),不宜用來(lái)編寫(xiě)系統(tǒng)程序。1963年英國(guó)的劍橋大學(xué)推出了CPL(combined programming language)語(yǔ)言。CPL語(yǔ)言在ALGOL 60的基礎(chǔ)上接近硬件一些,但規(guī)模比較大,難以實(shí)現(xiàn)。1967年英國(guó)的劍橋的
13、Matin Richards對(duì)CPL做了簡(jiǎn)化,推出了BCPL(basic combined programming language)語(yǔ)言。1970年美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson 以BCPL語(yǔ)言為基礎(chǔ),又做了進(jìn)一步簡(jiǎn)化,設(shè)計(jì)出了很簡(jiǎn)單的而且很接近硬件的B語(yǔ)言(取BCPL的第一個(gè)字母),并用B語(yǔ)言寫(xiě)了第一個(gè)UNIX操作系統(tǒng),在PDP-7上實(shí)現(xiàn)。1971年在PDP-11/20上實(shí)現(xiàn)了B語(yǔ)言,并寫(xiě)了UNIX操作系統(tǒng)。但B語(yǔ)言過(guò)于簡(jiǎn)
14、單,功能有限。1972年至1973年間,貝爾實(shí)驗(yàn)室的D.M.Ritchie 在B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)出了C語(yǔ)言(取BCPL的第二個(gè)字母)。C語(yǔ)言既保持了BCPL和B語(yǔ)言的優(yōu)點(diǎn)(精練,接近硬件),又</p><p> 后來(lái),對(duì)C語(yǔ)言多次做了改進(jìn),但主要還在貝爾實(shí)驗(yàn)室內(nèi)部使用。直到1975年UNIX第6版公布后,C語(yǔ)言的突出優(yōu)點(diǎn)才引起人們的普遍注意。1977年出現(xiàn)了不依賴于具體機(jī)器的C語(yǔ)言編譯文本《可移植C語(yǔ)言編譯程序
15、》,使C移植到其他機(jī)器時(shí)所需要的工作大大簡(jiǎn)化了,這也推動(dòng)了UNIX操作系統(tǒng)在各種機(jī)器上實(shí)現(xiàn)。例如VAX、AT&T等計(jì)算機(jī)系統(tǒng)都相繼開(kāi)發(fā)了UNIX。隨著UNIX的日益廣泛使用,C語(yǔ)言也迅速得到推廣。C語(yǔ)言和UNIX可以說(shuō)是一對(duì)孿生兄弟,在發(fā)展的過(guò)程中相輔相成。1978年以后,C語(yǔ)言已先后移植到大、中、小、微型機(jī)上,已獨(dú)立于UNIX和PDP了。現(xiàn)在C語(yǔ)言已風(fēng)靡世界成為世界上最廣泛的幾種計(jì)算機(jī)語(yǔ)言之一。</p><
16、p> 已1978年發(fā)表的UNIX第七版中的C編譯程序?yàn)榛A(chǔ)Brian W.Kernighan和Dennis M.Ritchie(合稱K&R)合著了影響深遠(yuǎn)的名著《The C Programming Language》,這本書(shū)中介紹的C語(yǔ)言成為了日后廣泛使用的C語(yǔ)言版本的基礎(chǔ),它被稱為標(biāo)準(zhǔn)C。1983年美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)根據(jù)C語(yǔ)言問(wèn)世以來(lái)各種版本對(duì)C語(yǔ)言的發(fā)展和擴(kuò)充,制定了新的標(biāo)準(zhǔn),稱為ANSI C。ANSI
17、C比原來(lái)的標(biāo)準(zhǔn)C有了很大的發(fā)展K&R在在1988年修改了他們的經(jīng)典著作《The C Programming Language》,按照ANSI C 標(biāo)準(zhǔn)重新寫(xiě)了該書(shū)。1987年,ANSI又公布了新標(biāo)準(zhǔn)——87 ANSI C為ISO C的標(biāo)準(zhǔn)(ISO 9899—1990)。目前廣泛流行的各種版本C語(yǔ)言編譯系統(tǒng)都是以它為基礎(chǔ)的。</p><p><b> 2. C語(yǔ)言的特點(diǎn)</b><
18、;/p><p> 一種語(yǔ)言之所以能存在和發(fā)展,并具有生命力,總是有其不同于(或優(yōu)于)</p><p> 其它語(yǔ)言的特點(diǎn)。C語(yǔ)言的主要特點(diǎn)如下。</p><p> (1). 語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活。C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句程序書(shū)寫(xiě)形式自由,主要用小寫(xiě)字母表示,壓縮了一切不必要的成分。</p><p> (2). 運(yùn)算
19、符豐富。C語(yǔ)言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理,從而使C的運(yùn)算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其他高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。</p><p> (3). 數(shù)據(jù)結(jié)構(gòu)豐富,具有現(xiàn)代化語(yǔ)言的各種數(shù)據(jù)結(jié)構(gòu)。C的數(shù)據(jù)類型有整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共同體類型等。能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹(shù)、棧等)的
20、運(yùn)算,尤其是指針類型數(shù)據(jù),使用起來(lái)比PASCAL更為靈活、多樣。</p><p> (4). 具有結(jié)構(gòu)化的控制語(yǔ)句(如if…else語(yǔ)句、while語(yǔ)句、do…while語(yǔ)句、switch語(yǔ)句、for語(yǔ)句)。用函數(shù)作為程序的模塊單位,便于實(shí)現(xiàn)程序的模塊化。C是理想的結(jié)構(gòu)化語(yǔ)言,符合現(xiàn)代的編程風(fēng)格的要求。</p><p> (5). 語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。例如對(duì)數(shù)組下標(biāo)越界
21、不做檢查,由程序編寫(xiě)者自己保證程序的正確。對(duì)變量的類型使用比較靈活,例如整型量與字符型數(shù)據(jù)以及邏輯型數(shù)據(jù)可以通用。一般的高級(jí)語(yǔ)言語(yǔ)法檢查比較嚴(yán),能檢查出幾乎所有的語(yǔ)法錯(cuò)誤。而C語(yǔ)言允許程序編寫(xiě)者有較大的自由度,因此放寬了語(yǔ)法檢查。程序員應(yīng)當(dāng)仔細(xì)檢查程序,保證其正確,而不要依賴于C編譯程序去查錯(cuò)?!跋拗啤迸c“靈活”是一對(duì)矛盾。限制嚴(yán)格,就失去靈活性;而強(qiáng)調(diào)靈活,就必然放松限制。一個(gè)不熟練的編程人員,編一個(gè)正確的C程序可能會(huì)比編一個(gè)其他高級(jí)
22、語(yǔ)言程序難一些。也就是說(shuō),對(duì)用C語(yǔ)言的人,要求對(duì)程序設(shè)計(jì)更熟練一些。</p><p> (6). C語(yǔ)言允許直接訪問(wèn)物理地址。能進(jìn)行位(bit)操作,能實(shí)現(xiàn)匯編語(yǔ)言大部分功能,可以直接對(duì)硬件進(jìn)行操作。因此,C既具有高級(jí)語(yǔ)言的功能,又具有低級(jí)語(yǔ)言的許多功能,可用來(lái)寫(xiě)系統(tǒng)文件。C語(yǔ)言的這種雙重性,使它既是成功的系統(tǒng)描述語(yǔ)言,又是通用的程序設(shè)計(jì)語(yǔ)言。有人把C稱為“高級(jí)語(yǔ)言中的低級(jí)語(yǔ)言”或“中級(jí)語(yǔ)言”,意為兼有高級(jí)和低
23、級(jí)語(yǔ)言的特點(diǎn)。現(xiàn)在一般仍習(xí)慣將C語(yǔ)言稱為高級(jí)語(yǔ)言,因?yàn)镃程序也要通過(guò)編譯、連接才能得到可執(zhí)行的目標(biāo)程序,這是和其他高級(jí)語(yǔ)言相同的。</p><p> (7). 生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行率高。一般只比匯編程序生成的目標(biāo)代碼效率低10%—20%。</p><p> (8). 用C語(yǔ)言寫(xiě)程序可移植性好(與匯編語(yǔ)言比)。基本上不做修改就能用于各種型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。</p&g
24、t;<p> 3. Turbo C簡(jiǎn)介</p><p> Turbo C是在微機(jī)上廣泛使用的編譯程序。它具有方便、直觀、易用的界面和豐富的庫(kù)函數(shù)。它向用戶提供一個(gè)集成環(huán)境,把程序的編輯、編譯、連接和運(yùn)行等操作全部集中在一個(gè)界面上進(jìn)行,使用十分方便。</p><p> 為了能使用Turbo C,必須先將Turbo C編譯程序裝入磁盤(pán)的某一目錄下,例如放在C盤(pán)根目錄下一級(jí)T
25、C子目錄下。</p><p> (1).調(diào)用Turbo C程序。如果用戶的當(dāng)前目錄是Turbo C編譯程序所在的子目錄(例如TC子目錄),只須從鍵盤(pán)鍵入“tc”命令即可:C:\TC>tc</p><p> 屏幕上出現(xiàn)Turbo C集成環(huán)境</p><p> 用戶可以通過(guò)以上菜單項(xiàng)來(lái)選擇使用Turbo C集成環(huán)境所提供的Turbo C的各項(xiàng)主要功能。以上8
26、個(gè)菜單項(xiàng)分別代表:文件操作、編輯、運(yùn)行、編譯、項(xiàng)目文件、選項(xiàng)、調(diào)試、中斷/觀察等功能。</p><p> (2).編輯源文件。在編輯(Edit)狀態(tài)下可以根據(jù)需要輸入或修改源程序。</p><p> (3).編譯源程序。選擇“Compile”菜單并在其下拉菜單中選擇“Compile to OBJ”則進(jìn)行編譯,得到一個(gè)后綴為 .obj的目標(biāo)程序。然后在選菜單“Compile/Link E
27、XE file”,進(jìn)行連接操作,可得到后綴為 .exe的可執(zhí)行文件。</p><p> (4).執(zhí)行程序。按“F10”鍵,窗口上部的主菜單中第一項(xiàng)“File”“反相”顯示。用右“ ”鍵將亮塊移到“Run”,按回車鍵,在其下拉菜單中選擇“Run”項(xiàng),或直接按Ctri+F9鍵,系統(tǒng)就會(huì)執(zhí)行已編譯和連接好的目標(biāo)文件。此時(shí),就得到程序運(yùn)行時(shí)輸出的結(jié)果。按Alt+F5鍵可以看到運(yùn)行結(jié)果。</p>&l
28、t;p> (5).可以用“Alt”和“X”鍵(同時(shí)按此兩鍵),脫離Turbo C,回到DOS命令狀態(tài)。此時(shí)用DOS命令顯示源程序和運(yùn)行程序:</p><p> C>TYPE tc1.c (列出源程序清單)</p><p> C>tc1 (執(zhí)行目標(biāo)程序 tc1.exe)</p><p> 如果想再修改源程序,可以重復(fù)執(zhí)行步驟
29、(1),并輸入源程序文件名即可。</p><p> 三、用C語(yǔ)言模擬兩列波的合成設(shè)計(jì)</p><p><b> 1. 譯環(huán)境的選擇</b></p><p> 完全使用Turbo C 2.0 英文版集成環(huán)境。</p><p><b> 2.硬件條件</b></p><p&g
30、t; PC機(jī):Pentium(R) 4 CPU 2.00GHz 256MB內(nèi)存</p><p> 3.程序代碼及相關(guān)注釋</p><p> #include<math.h> /*導(dǎo)入庫(kù)文件math.h,用于公式計(jì)算 */</p><p> #include<string.h>
31、 /*導(dǎo)入庫(kù)文件string.h,用于字符串操作*/</p><p> #include<graphics.h> /*導(dǎo)入庫(kù)文件graphics.h,用于圖象處理*/ </p><p> #include<stdlib.h> /*導(dǎo)入庫(kù)文件stdlib.h,用于其它命令*/ </
32、p><p> #define PI 3.1415926 /*定義PI,用于后面角度與弧度之間的轉(zhuǎn)換*/</p><p> void main() /*主函數(shù)部分*/</p><p><b> {</b></p><p> int x1,y1,x2,y2;
33、 /*定義6個(gè)變量用于輸入的兩列波總共6個(gè)參數(shù)的</p><p> double z1,z2; 接收,以便以值傳遞的形式傳入Graphics函數(shù) */</p><p> printf("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n");</p><
34、;p> printf(" 0 0 0 0000000 0 0000 000 00 00 0000000 \n");</p><p> delay(65000);</p><p> printf(" 0 0 0 0 0 0 0
35、 0 0 0 0 0 0 0 \n");</p><p> delay(65000);</p><p> printf(" 0 0 0 0 000000 0 0 0 0 0 0 0 0 000000 \n");</p><p
36、> delay(65000);</p><p> printf(" 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \n");</p><p> delay(65000);</p><p> printf("
37、 0 0 0000000 000000 0000 000 0 0 0 0000000 \n\n\n");</p><p> delay(65000);</p><p> printf(" ************************************************************
38、********\n");</p><p> delay(65000);</p><p> printf(" ********************************************************************\n");</p><p> delay(65000);</p>
39、<p> printf(" ***********Use C program to realize two waves of composed***********\n");</p><p> delay(65000);</p><p> printf(" ***********************************
40、*********************************\n");</p><p> delay(65000);</p><p> printf(" **********************Programmer:Hu Jian****************************\n");</p><p>
41、 delay(65000);</p><p> printf(" ********************************************************************\n");</p><p> delay(65000);</p><p> printf(" **********
42、****************Class:E0230*******************************\n");</p><p> delay(65000);</p><p> printf(" ********************************************************************\n\n&qu
43、ot;);</p><p> printf("\n");</p><p> delay(65000);</p><p> printf("\n");</p><p> delay(65000);</p><p> printf(" Please pre
44、ss the Enter key to continue.\n");</p><p><b> getch();</b></p><p> /*藍(lán)色代碼部分詳見(jiàn)第16頁(yè)注1*/</p><p> system("cls"); /*清屏命令*/</p><
45、;p> printf("Please input 3 number of the first wave:a1*sin(b1*x+c1):\n"); /*提示信息:輸入</p><p> 第一列波 */ </p><p> printf("a1="); </p><p&g
46、t; scanf("%d",&x1); </p><p> printf("b1="); /*依次輸入第一列波的a1、b1、c1三個(gè)參</p><p> scanf("%d",&y1);
47、 數(shù),并分別用x1、y1、z1進(jìn)行接收 */</p><p> printf("c1=");</p><p> scanf("%lf",&z1);</p><p> printf("\n");</p><p> printf("Please input
48、3 number of the second wave:a2*sin(b2*x+c2):\n"); /*提示信息:輸 </p><p> 入第二列波 */ </p><p> printf("a2=");
49、 </p><p> scanf("%d",&x2); </p><p> printf("b2="); /*依次輸入第二列波的a2、b2、c2三個(gè)參</p><p> scanf("%d",
50、&y2); 數(shù),并分別用x2、y2、z2進(jìn)行接收 */</p><p> printf("c2=");</p><p> scanf("%lf",&z2);</p><p> Graphics(x1,y1,z1,x2,y2,z2); /*調(diào)
51、用Graphics函數(shù),并傳遞相關(guān)參數(shù)*/</p><p><b> }</b></p><p> int Graphics(int a1,int b1,double c1,int a2,int b2,double c2) /* Graphics函數(shù),用于畫(huà)坐標(biāo)軸、兩列輸入波形及合成后的輸出波形 */</p><p><b>
52、 {</b></p><p> int i,j,gdriver=VGA,gmode=VGAHI; /* VGA顯卡,指定分辨率640*480,16色 */</p><p> char a[]={"45 90 135 180 225 270 315 360 405 450 485"}; /*定義a[ ]數(shù)組,用
53、于畫(huà)出Y坐標(biāo)軸的刻度 */ </p><p> char *s,*s1[50],*s2[50],*s3[50]; /*用于接收具體波形的字符串*/</p><p> double x1,x2,y1,y2,dangle; /*x1,x2,y1,y2用于表示具體的點(diǎn)(X,Y),
54、 dangle用于接收角度與弧度之間的轉(zhuǎn)換值*/ </p><p> initgraph(&gdriver,&gmode,"c:\tc\bgi"); /*調(diào)用初始化函數(shù)*/</p><p> setbkcolor(2); /*設(shè)置背景色為綠色*/</p>&
55、lt;p> setcolor(1); /*設(shè)置前景色為藍(lán)色*/</p><p> line(20,240,600,240); /*畫(huà)X軸*/ </p><p> line(590,237,600,240); /*畫(huà)X軸上的箭頭*/</p><p>
56、; line(590,243,600,240);</p><p> line(40,80,40,400); /*畫(huà)Y軸*/ </p><p> line(40,80,37,90); /*畫(huà)Y軸上的箭頭*/</p><p> line(40,80,43,90);</p>&
57、lt;p> sprintf(s1,"y=%d*sin(%d*X+%.2lf)",a1,b1,c1); /*接收第一列波形的字符串,并存入s1中*/</p><p> sprintf(s2,"y=%d*sin(%d*X+%.2lf)",a2,b2,c2); /*接收第二列波形的字符串,并存入s2中*/</p><p> sprintf(s3
58、,"y=%d*sin(%d*X+%.2lf)+%d*sin(%d*X+%.2lf)",a1,b1,c1,a2,b2,c2);</p><p> /*接收合成后的兩列波波形,并存入s3中*/</p><p> setcolor(4); /*設(shè)置前景色為紅色*/</p><p> outtextxy(40,20,s1);
59、 /*把第一列波的字符串打印在屏幕上(紅色)*/</p><p> setcolor(1); /*設(shè)置前景色為藍(lán)色*/</p><p> outtextxy(40,40,s2); /*把第一列波的字符串打印在屏幕上(藍(lán)色)*/</p><p> setcolor(14); /*設(shè)置前景色為黃色*
60、/</p><p> outtextxy(40,420,s3); /*把合成后的兩列波的字符串打印在屏幕上(黃色)*/</p><p> setcolor(1); /*設(shè)置前景色為藍(lán)色*/</p><p> for(i=40;i<600;i+=45) </p><p><b> {
61、</b></p><p> line(i,238,i,242); /*畫(huà)X軸的刻度*/</p><p><b> }</b></p><p> for(i=120;i<380;i+=30)</p><p><b> {</b></p><p>
62、; line(38,i,42,i); /*畫(huà)Y軸的刻度*/</p><p><b> }</b></p><p> settextstyle(0,0,2); /*設(shè)定2號(hào)字型*/</p><p> s="x"; </p><p> out
63、textxy(570,245,s); /*寫(xiě)字母X*/</p><p><b> s="y";</b></p><p> outtextxy(22,75,s); /*寫(xiě)字母Y*/</p><p> settextstyle(0,0,1); /*設(shè)定1號(hào)字型*/</p><p
64、> for(i=3;i<-3;i--) /*用循環(huán)標(biāo)記Y軸上的刻度*/</p><p><b> {</b></p><p> sprintf(s,"%d",i);</p><p> outtextxy(25,240-30*i,s);</p><p><b>
65、; }</b></p><p> outtextxy(80,245,a); /*直接通過(guò)數(shù)組a,標(biāo)記X軸上的刻度*/</p><p> for(i=0;i<480;i++) /*從0—480度,計(jì)算輸入的兩列波*/</p><p><b> {</b></p>
66、<p> dangle=i*PI/180; /*將角度轉(zhuǎn)換為弧度*/</p><p> x1=40+i; /*計(jì)算X的坐標(biāo)*/</p><p> y1=240-a1*sin(b1*dangle+c1)*30; /*計(jì)算第一列波的坐標(biāo)*/</p><p>
67、putpixel(x1,y1,RED); /*畫(huà)出第一列波曲線上的一點(diǎn)(像素)*/</p><p> y1=240-a2*sin(b2*dangle+c2)*30; /*計(jì)算第二列波的坐標(biāo)*/</p><p> putpixel(x1,y1,BLUE); /*畫(huà)出第二列波曲線上的一點(diǎn)(像素)*/</p><p
68、> delay(4500); /*用延時(shí)使波形慢慢畫(huà)出*/</p><p><b> }</b></p><p> getch(); /*按任一鍵繼續(xù),防止圖形一閃而過(guò)*/</p><p> for(i=0;i<480;i++)
69、 /*清空坐標(biāo)軸上的內(nèi)容,為畫(huà)合成后的</p><p> { 波形做準(zhǔn)備*/</p><p> dangle=i*PI/180;</p><p><b> x2=40+i;</b></p><p> y2=2
70、40-a1*sin(b1*dangle+c1)*30;</p><p> putpixel(x2,y2,GREEN);</p><p> y2=240-a2*sin(b2*dangle+c2)*30;</p><p> putpixel(x2,y2,GREEN);</p><p><b> }</b></p
71、><p><b> getch();</b></p><p> for(i=0;i<480;i++) /*畫(huà)出兩列波合成后的新波形,顏色為</p><p> { 黃色*/</p><p> dangl
72、e=i*PI/180;</p><p><b> x2=40+i;</b></p><p> y2=240-(a1*sin(b1*dangle+c1)*30+a2*sin(b2+dangle+c2)*30);</p><p> putpixel(x2,y2,YELLOW);</p><p> delay(4500
73、);</p><p><b> }</b></p><p><b> getch();</b></p><p> closegraph(); /*關(guān)閉圖形系統(tǒng),返回文本方式*/</p><p><b> }</b><
74、/p><p> 注1:藍(lán)色部分并非亂碼,而是設(shè)計(jì)好的一個(gè)界面,用字符“0”拼成一個(gè)英文單詞“WELCOME”,在輸入過(guò)程中加入延時(shí),使界面自下而上的移動(dòng)到屏幕中央,具體效果請(qǐng)看下圖。</p><p> 注2:由于各人的計(jì)算機(jī)配置的不同而導(dǎo)致的性能上的差異,從而使延時(shí)的具體值變的不確定,所以在運(yùn)行本程序時(shí),可根據(jù)自己機(jī)器的情況來(lái)修改程序中的延時(shí)條件。</p><p>
75、<b> 4. 使用步驟</b></p><p> 打開(kāi)Turbc C,載入程序。</p><p> 編譯和運(yùn)行程序(Ctrl+F9),如果編譯通過(guò)會(huì)得到歡迎界面。</p><p> 按照界面的提示鍵入回車得到以下界面</p><p> ?。?)按照提示依次輸入兩列波的6個(gè)參數(shù),每輸入一個(gè)按回車確認(rèn)。</p
76、><p> ?。?)在屏幕上看到輸入的紅、藍(lán)兩列波后按兩次回車可得到合成后的第三列波,顏色為黃色,詳見(jiàn)以下兩個(gè)實(shí)例</p><p> 例1:a1=1,b1=2,c1=3, y1=sin(2x+3)</p><p> a2=3,b2=2,c2=1, y2=3sin(2x+1)</p><p> 合成波為:y= sin(2x+3)+ 3si
77、n(2x+1)</p><p> 例1:a1=2,b1=4,c1=1.7, y1=2sin(4x+1.7)</p><p> a2=4,b2=1,c2=0, y2=4sinx</p><p> 合成波為:y= 2sin(4x+1.7)+ 4sinx</p><p> ?。?)看到合成后的波形后再按回車,推出運(yùn)行狀態(tài)。</p
78、><p><b> 結(jié) 論</b></p><p> 該設(shè)計(jì)是本人三年大學(xué)生涯的一個(gè)總結(jié),是對(duì)于我三年來(lái)學(xué)習(xí)狀況的一個(gè)綜合測(cè)試,也是我今后走上工作崗位的開(kāi)始。</p><p> 通過(guò)本設(shè)計(jì),使我對(duì)C語(yǔ)言的特點(diǎn)及語(yǔ)法結(jié)構(gòu)有了更深入的理解,并且對(duì)于這種編程思想,有著更深入的體會(huì)。C語(yǔ)言用途廣泛,兼有高級(jí)和低級(jí)語(yǔ)言的特點(diǎn),不僅能實(shí)現(xiàn)一般的程序設(shè)計(jì)
79、,而且還能對(duì)計(jì)算機(jī)硬件進(jìn)行操作,所以是一種使用性很強(qiáng)的編程語(yǔ)言,而且也是學(xué)習(xí)其他編程語(yǔ)言,如:C++,C# .NET,JAVA(J2EE),數(shù)據(jù)庫(kù)SQL語(yǔ)句的基礎(chǔ)。所以對(duì)于這樣一門(mén)學(xué)科,我以后會(huì)更深入的研究,爭(zhēng)取有所突破。</p><p><b> 致 謝</b></p><p> 三年前,我們充滿了對(duì)未來(lái)的憧憬,來(lái)到IVT,在這三年中,IVT的教學(xué)設(shè)施、師資隊(duì)
80、伍、極富現(xiàn)代感的校園環(huán)境和富有特色的校園文化氛圍給我留下了深刻的印象,我在“好學(xué)、敬業(yè)、德高、技強(qiáng)”校訓(xùn)的熏陶下,不僅掌握了專業(yè)技能,還培養(yǎng)了自我管理能力、人際交際能力,為我們能適應(yīng)以后的工作崗位,打下了堅(jiān)實(shí)的基礎(chǔ)。對(duì)于這一點(diǎn),我們的教師功不可沒(méi),我深深感謝這三年來(lái)給予我指導(dǎo)和教育的老師,沒(méi)有你們的教導(dǎo),也不會(huì)有我的今天,在以后的工作中,我會(huì)投入更大的工作熱情,進(jìn)一步努力學(xué)習(xí),展現(xiàn)自我,以次來(lái)回報(bào)教育過(guò)我的學(xué)校和老師。</p>
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- c語(yǔ)言畢業(yè)論文報(bào)告
- c語(yǔ)言畢業(yè)論文報(bào)告
- c++語(yǔ)言畢業(yè)論文正文
- c語(yǔ)言考試系統(tǒng)的設(shè)計(jì)[畢業(yè)論文]
- 畢業(yè)論文--c語(yǔ)言在線學(xué)習(xí)系統(tǒng)
- 畢業(yè)論文---c語(yǔ)言在線考試系統(tǒng)的設(shè)計(jì)
- c語(yǔ)言在線編譯器畢業(yè)論文
- 畢業(yè)論文-c語(yǔ)言在線編譯器
- 2017畢業(yè)論文-基于c語(yǔ)言的掃雷游戲開(kāi)發(fā)
- c語(yǔ)言試題生成與考試系統(tǒng)——畢業(yè)論文
- 【畢業(yè)設(shè)計(jì)論文】基于c語(yǔ)言推箱子游戲設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文的語(yǔ)言特色
- 地形rossby波的簡(jiǎn)單數(shù)值模擬研究【畢業(yè)論文】
- 網(wǎng)絡(luò)語(yǔ)言畢業(yè)論文
- 網(wǎng)絡(luò)語(yǔ)言畢業(yè)論文
- c語(yǔ)言學(xué)習(xí)系統(tǒng)設(shè)計(jì)----論壇系統(tǒng)的設(shè)計(jì)-畢業(yè)論文
- c語(yǔ)言課程教學(xué)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn) 畢業(yè)論文
- [c語(yǔ)言畢設(shè)]c語(yǔ)言遺傳算法在求解tsp問(wèn)題畢業(yè)論文+源代碼
- 畢業(yè)論文用表格
- c語(yǔ)言編譯器設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論