前言:想要寫出一篇引人入勝的文章?我們特意為您整理了計(jì)算機(jī)C語言中工業(yè)設(shè)計(jì)教學(xué)應(yīng)用范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。
摘要:C語言作為一種介于高級(jí)語言和低級(jí)語言的中間語言,是1972年由美國貝爾實(shí)驗(yàn)室基于B語言的基礎(chǔ)之上設(shè)計(jì)出來的一種全新的編程語言,C語言是一種編譯型語言,具有高效、較好的移植性以及直接訪問計(jì)算機(jī)硬件的特征,被廣泛應(yīng)用于計(jì)算機(jī)操作系統(tǒng)、驅(qū)動(dòng)程序、嵌入式設(shè)備以及應(yīng)用程序開發(fā)領(lǐng)域,幾乎所有的計(jì)算機(jī)領(lǐng)域都可以看到C語言的身影。本文以計(jì)算機(jī)中C語言為主要內(nèi)容,對(duì)其應(yīng)用特點(diǎn)進(jìn)行簡要的分析和介紹,以在工業(yè)設(shè)計(jì)領(lǐng)域教學(xué)應(yīng)用為案例,為更好了解和運(yùn)用C語言提供參考。
關(guān)鍵詞:計(jì)算機(jī);C語言;應(yīng)用;特點(diǎn)
C語言是1972年由美國貝爾實(shí)驗(yàn)室D.M.Ritchie設(shè)計(jì)出來的一種編譯型語言(區(qū)別于解釋型的計(jì)算機(jī)編程語言如Javascript),C語言需要對(duì)程序代碼通過編譯生成目標(biāo)代碼進(jìn)行運(yùn)行,1978年之后,C語言被移植到大、中、小及微型機(jī)上,C語言兼具了高級(jí)語言和匯編語言的編程特點(diǎn),C語言語法簡潔緊湊、表達(dá)方式靈活、目標(biāo)代碼質(zhì)量高,具備強(qiáng)大的數(shù)據(jù)處理能力,應(yīng)用極其廣泛,既可以用來編寫應(yīng)用程序,也可以編寫操作系統(tǒng)程序,同時(shí)也可以用來編寫直接操作計(jì)算機(jī)硬件設(shè)備的驅(qū)動(dòng)程序,具有較好的可移植性。
1C語言介紹
1.1運(yùn)算范圍廣泛、編寫模式簡單
C語言有32個(gè)關(guān)鍵字、34種運(yùn)算符和9類控制語句,預(yù)算范圍極其廣泛,可操作的數(shù)據(jù)類型包括常見的整數(shù)、浮點(diǎn)數(shù)、字符、數(shù)組、指針以及結(jié)構(gòu)體等。其中對(duì)指針的操作,更是C語言的魅力所在,C語言中可以使用指針直接用來操作計(jì)算機(jī)硬件設(shè)備,這是其運(yùn)行效率較高的原因所在,同時(shí)由于C語言中對(duì)于指針操作不加限制,這導(dǎo)致C程序中容易出現(xiàn)的安全隱患,對(duì)編程人員的代碼質(zhì)量提出了更高的要求,正是基于安全性考慮,C++語言在保留指針的同時(shí)又增加了安全性的操作,但同時(shí)也帶來了編程復(fù)雜度的提升。C語言利用僅有的9類控制語句,完成所有的編程操作,涵蓋了高級(jí)語言中常見的循環(huán)、判斷以及選擇控制類型,相對(duì)簡單的編寫模式,各大高校往往將C語言作為計(jì)算機(jī)編程的入門語言,同時(shí)作為典型的過程式編程是區(qū)別于面相對(duì)象編程的代表。另外C語言與其他高級(jí)語言一樣,同樣具有相當(dāng)豐富的函數(shù)庫作為支撐,為開發(fā)人員完成特點(diǎn)的工作提供便利。
1.2執(zhí)行效率較高,支持結(jié)構(gòu)化開發(fā)
C語言作為一種介于底層匯編語言和高級(jí)語言之間的過渡性語言,具有較高的代碼執(zhí)行效率,除了操作基本的數(shù)據(jù)類型之外,C語言支撐對(duì)位、字節(jié)、以及地址的操作,從而實(shí)現(xiàn)了計(jì)算機(jī)基本單元數(shù)據(jù)的操作,常見的Windows操作系統(tǒng)、Linux操作系統(tǒng)都是利用C語言開發(fā)的(也有匯編語言編寫的部分模塊),C語言編寫效率高于匯編語言,編程的工作量、可讀性以及調(diào)試過程都低于匯編語言,據(jù)相關(guān)數(shù)據(jù)統(tǒng)計(jì)C語言的目標(biāo)代碼效率緊緊比匯編語言低10%到20%左右。C語言支持函數(shù)、結(jié)構(gòu)體類型,這是編程模型中結(jié)構(gòu)化編程實(shí)現(xiàn)的基本條件,利用函數(shù)C語言可以將數(shù)據(jù)操作進(jìn)行封裝處理,而利用結(jié)構(gòu)體可以將不同的數(shù)據(jù)結(jié)構(gòu)進(jìn)行組合,這與高級(jí)語言中類的描述具有一定的相似之處,結(jié)構(gòu)化的語言設(shè)計(jì)使得C語言可以廣泛適用各種開發(fā)需求,大幅度提升編程效率。除此之外,由于標(biāo)準(zhǔn)化工作的展開,C語言在異構(gòu)機(jī)器上的代碼修改量相對(duì)較低,高達(dá)85%以上的代碼都是通用的,這也是C語言高移植性的重要體現(xiàn)。
1.3C語言的不足之處
任何一種語言都不是完美的,同樣的C語言也有自身的缺點(diǎn),主要體現(xiàn)在兩個(gè)方面,其一是數(shù)據(jù)的封裝性問題,C語言的數(shù)據(jù)封裝多由結(jié)構(gòu)體類型予以實(shí)現(xiàn),沒有Java、C++等高級(jí)語言直接提供的封裝類型,需要編程開發(fā)人員自身進(jìn)行實(shí)現(xiàn),對(duì)于編程難度以及編程效率提出了較高的要求,同時(shí)由于不安全指針的使用,容易造成內(nèi)存泄露等問題,這都是不恰當(dāng)數(shù)據(jù)封裝造成的;其二,C語言相對(duì)難以掌握,這里的掌握是指一些C語言應(yīng)用方面的開發(fā)能力,與其簡單的學(xué)習(xí)不是一個(gè)概念,C語言中對(duì)于語法的規(guī)定限制都是相對(duì)寬松,以常見的數(shù)組操作為例,其對(duì)數(shù)組下標(biāo)就不進(jìn)行檢查,緩沖區(qū)溢出往往也由此引發(fā),安全問題也由此引發(fā),因此要想編寫健壯性的C語言程序需要大量的學(xué)習(xí)和應(yīng)用,相較于其他高級(jí)語言的學(xué)習(xí)具有一定的困難。
2C語言應(yīng)用特點(diǎn)介紹
2.1直接內(nèi)存訪問應(yīng)用特點(diǎn)——在操作系統(tǒng)軟件開發(fā)中的應(yīng)用
根據(jù)上文的論述,不難發(fā)現(xiàn)C語言具有較好的可移植性以及極好的執(zhí)行效率,現(xiàn)在常見的操作系統(tǒng)諸如Linux基本上都是由C語言+少量的匯編語言來編寫的(匯編語言在BOOT初始化時(shí)進(jìn)行使用,代碼量極少)。主要是由于C語言在編寫操作系統(tǒng)時(shí)有與生俱來的優(yōu)勢(shì),操作系統(tǒng)對(duì)于內(nèi)存管理是非常重要的,以Java之類運(yùn)行于虛擬機(jī)之上的編程語言無法直接對(duì)內(nèi)存進(jìn)行操作和管理,C語言具有非常大的開發(fā)優(yōu)勢(shì),當(dāng)然其他諸如B語言也曾經(jīng)用于開發(fā)操作系統(tǒng)。另外,用C語言開發(fā)操作系統(tǒng)也有一定的歷史淵源,畢竟操作系統(tǒng)服務(wù)于頂層的應(yīng)用程序,應(yīng)用程序開發(fā)需要遵循歷史慣例,畢竟要想支撐如此海量的上層應(yīng)用程序,脫離當(dāng)前主流開發(fā)語言也是不現(xiàn)實(shí)的??傊?,現(xiàn)階段在操作系統(tǒng)領(lǐng)域的開發(fā)C語言可以說是一支獨(dú)大,具有廣泛的應(yīng)用前景。
2.2操作底層硬件的應(yīng)用特點(diǎn)——嵌入式系統(tǒng)開發(fā)中C語言的應(yīng)用
隨著移動(dòng)互聯(lián)網(wǎng)技術(shù)和物聯(lián)網(wǎng)技術(shù)的發(fā)展,嵌入式開發(fā)逐漸變得火爆起來,一般意義的嵌入式系統(tǒng)開發(fā)都是基于操作系統(tǒng)層次之上的應(yīng)用軟件開發(fā),C語言的應(yīng)用同樣側(cè)重于兩個(gè)方面,其一,硬件設(shè)備設(shè)備的驅(qū)動(dòng)開發(fā),這是目前C語言在嵌入式領(lǐng)域最為廣泛應(yīng)用場(chǎng)景,嵌入式系統(tǒng)需要將各種傳感設(shè)備、控制設(shè)備整合于嵌入系統(tǒng)之中,離不開驅(qū)動(dòng)程序作為軟件支撐,C語言由于可以直接操作硬件設(shè)備,通過地址訪問的形式進(jìn)行硬件控制,完成硬件操作,有了驅(qū)動(dòng)程序的支撐,應(yīng)用程序根據(jù)驅(qū)動(dòng)程序獲取到的數(shù)據(jù),再服務(wù)于上層應(yīng)用程序,完成最終客戶需求;其二,服務(wù)于直接用戶的應(yīng)用程序,常見嵌入式應(yīng)用程序開發(fā)包括C+QT+Sqlite等,其中QT可以看成是第三方的圖形庫函數(shù),而Sqlite作為微型數(shù)據(jù)庫存放結(jié)構(gòu)化對(duì)數(shù)據(jù),實(shí)現(xiàn)圖形界面的應(yīng)用程序開發(fā),相較于應(yīng)用程序的驅(qū)動(dòng)程序開發(fā)的應(yīng)用范圍更加廣闊。
2.3簡潔、高性能應(yīng)用特點(diǎn)——C語言在數(shù)值計(jì)算方面的應(yīng)用
運(yùn)行效率以及編碼的方便性使得在數(shù)值計(jì)算領(lǐng)域C語言同樣有著廣泛的應(yīng)用,數(shù)值計(jì)算主要是利用計(jì)算機(jī)技術(shù)對(duì)數(shù)學(xué)問題進(jìn)行求解(或近似求解)的應(yīng)用,充分發(fā)揮計(jì)算機(jī)高效、準(zhǔn)確以及快速的性能特點(diǎn),常見的數(shù)值運(yùn)算領(lǐng)域?qū)τ贑語言的應(yīng)用包括算法的編制,即利用C語言對(duì)計(jì)算方法和過程予以描述,實(shí)現(xiàn)求解過程以及C語言對(duì)求解程序的編制,調(diào)用算法函數(shù)實(shí)現(xiàn)普遍性計(jì)算的過程。除此之外,在應(yīng)用C語言進(jìn)行數(shù)值計(jì)算的時(shí)候還可以借助第三方的數(shù)值計(jì)算類庫,實(shí)現(xiàn)一些特殊的計(jì)算要求,滿足人們對(duì)于數(shù)學(xué)計(jì)算函數(shù)需求。總之,在數(shù)學(xué)科學(xué)研究方面C語言同樣有著極其廣泛的應(yīng)用。
2.4高性能的應(yīng)用特點(diǎn)——C語言應(yīng)用于性能要求苛刻的應(yīng)用開發(fā)
在一些對(duì)于性能要求嚴(yán)苛的領(lǐng)域,C語言同樣發(fā)揮著重要的作用,常見的如網(wǎng)絡(luò)協(xié)議的實(shí)現(xiàn)、網(wǎng)絡(luò)底層應(yīng)用開發(fā)都是基于C語言編寫的,C語言具有高效的特點(diǎn),其編寫的底層程序可以直接嵌入到操作系統(tǒng)中充當(dāng)單獨(dú)的應(yīng)用模塊對(duì)上提供應(yīng)用支持,這是其他高級(jí)語言不具備的語言特性。另外,一些對(duì)于實(shí)時(shí)性要求較高,例如地圖數(shù)據(jù)更新和實(shí)時(shí)查詢的底層實(shí)現(xiàn)往往都是由C語言進(jìn)行實(shí)施的。由此可見,應(yīng)用程序功能的實(shí)現(xiàn)以及編程語言的選擇往往都是基于計(jì)算機(jī)編程語言的特性予以實(shí)施的,很難想象利用C語言進(jìn)行Web網(wǎng)絡(luò)程序的開發(fā)。
2.5強(qiáng)大的數(shù)據(jù)處理能力、易學(xué)性的特點(diǎn)——C語言在其他領(lǐng)域的應(yīng)用
除了上述幾個(gè)方面,C語言在其他領(lǐng)域也都有著廣泛的應(yīng)用,例如教育領(lǐng)域,高校計(jì)算機(jī)編程語言教學(xué)中C語言往往將作為啟蒙語言、ACM編程比賽對(duì)于算法的表述C語言占據(jù)了很大的比例;另外在圖形領(lǐng)域,C語言借助于第三方的類庫實(shí)現(xiàn)圖形繪制、制作動(dòng)畫效果、3D效果圖等;在游戲開發(fā)領(lǐng)域C語言也具有廣泛的應(yīng)用在此就不一一的進(jìn)行列舉了。總體而言,C語言作為一種計(jì)算機(jī)編程語言,在各行各業(yè)都有著極其廣泛的應(yīng)用,但是根據(jù)其語言特征,往往更多的將其應(yīng)用于底層操作系統(tǒng)、嵌入系統(tǒng)、數(shù)值計(jì)算以及對(duì)性能要求相對(duì)嚴(yán)苛的領(lǐng)域,而諸如Web領(lǐng)域、Windows桌面程序的開發(fā)往往由Java、C++、C#等高級(jí)語言進(jìn)行實(shí)施。
3C語言在工業(yè)設(shè)計(jì)教學(xué)中的應(yīng)用
根據(jù)C語言應(yīng)用特點(diǎn),本文認(rèn)為在未來相當(dāng)長的時(shí)間范圍內(nèi),C語言仍舊是主流的計(jì)算機(jī)編程語言,仍然會(huì)占據(jù)TIOBE編程語言排行榜的前列,但值得關(guān)注的是隨著C#、Java以及C++等編程語言在應(yīng)用程序以及Web開發(fā)領(lǐng)域的廣泛應(yīng)用,C語言未來在面向用戶的應(yīng)用軟件開發(fā)方向可能會(huì)逐漸弱化,其地位會(huì)隨著操作系統(tǒng)以及底層硬件設(shè)備豐富度的提升得到進(jìn)一步的鞏固,畢竟利用C語言進(jìn)行底層軟件的開發(fā)具有相當(dāng)?shù)募夹g(shù)優(yōu)勢(shì)??傊?,任何編程語言的興起和發(fā)展都伴隨著技術(shù)潮流的進(jìn)步和市場(chǎng)發(fā)展的方向與時(shí)俱進(jìn)的。
4小結(jié)
C語言是一種編譯型的語言(區(qū)別于解釋型編程語言),介于高級(jí)語言和底層的匯編語言之間,具有直接操作計(jì)算機(jī)硬件設(shè)備的能力,常用于計(jì)算機(jī)操作系統(tǒng)、驅(qū)動(dòng)程序、數(shù)值計(jì)算以及應(yīng)用程序的開發(fā),本文結(jié)合C語言實(shí)際應(yīng)用場(chǎng)景,以計(jì)算機(jī)C語言為主要內(nèi)容,分別從C語言的產(chǎn)生、C語言特點(diǎn)以及C語言應(yīng)用特點(diǎn)等方面進(jìn)行主要的論述,為讀者更好的了解、掌握和應(yīng)用C語言,高效的利用C語言進(jìn)行計(jì)算機(jī)程序的開發(fā)和使用提供參考。
參考文獻(xiàn)
[1]史豐源.計(jì)算機(jī)中C語言的應(yīng)用特點(diǎn)創(chuàng)新研究[J].科技展望,2017,27(29):15-16.
[2]戴麗君.計(jì)算機(jī)中C語言的應(yīng)用特點(diǎn)探討[J].電腦知識(shí)與技術(shù),2015,11(05):72-73.
[3]丁群.淺談?dòng)?jì)算機(jī)中C語言的應(yīng)用特點(diǎn)[J].科技創(chuàng)新與應(yīng)用,2017,(03):98.
[4]沈繼濤.計(jì)算機(jī)中C語言的應(yīng)用特點(diǎn)管窺[J].電子技術(shù)與軟件工程,2016,(08):252.
[5]劉瑞紅,王珊珊.計(jì)算機(jī)中C語言的應(yīng)用特點(diǎn)研究[J].數(shù)字技術(shù)與應(yīng)用,2016,(04):97.
作者:鄭洋 單位:拉薩師范高等??茖W(xué)校
級(jí)別:省級(jí)期刊
榮譽(yù):中國期刊全文數(shù)據(jù)庫(CJFD)
級(jí)別:省級(jí)期刊
榮譽(yù):中國優(yōu)秀期刊遴選數(shù)據(jù)庫
級(jí)別:省級(jí)期刊
榮譽(yù):中國優(yōu)秀期刊遴選數(shù)據(jù)庫
級(jí)別:省級(jí)期刊
榮譽(yù):中國優(yōu)秀期刊遴選數(shù)據(jù)庫
級(jí)別:部級(jí)期刊
榮譽(yù):--