• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于C語言的計算機軟件編程實驗研究

      2013-04-29 00:44:03
      軟件工程 2013年8期
      關鍵詞:匯編語言計算機軟件指針

      摘 要:C語言是一切計算機語言的基礎,在計算機軟件編程中應用十分廣泛。本文首先簡單概述了C語言的相關內(nèi)容,然后分別從C語言的編程技巧以及兩個不同類型的基于C語言的計算機軟件編程案例進行分析研究,希望能夠對同行研究者有所幫助。

      關 鍵 詞:C語言;計算機;軟件編程;實驗研究

      一、C語言的概述

      在1967年BCPL語言被英國MartinRichards 推出,到1970 年B 語言以BCPL 語言為基礎被美國Ken Thompson推出[1]。但是B 語言過于簡單,而且功能有限,經(jīng)過研究者的多次試驗研究,在1972—1973 年,C 語言在B 語言的基礎上經(jīng)過完善,被美國貝爾實驗室D.M推出[2]。在各種計算機編程語言中,C語言屬于一門高級語言,它是一切計算機語言的基礎,擁有高級語言和低級語言的特點,靈活方便,簡潔緊湊;而且它的語法限制不嚴格,程序員在設計時程序書寫自由。不僅能夠編寫系統(tǒng)軟件,同時還可以編寫應用軟件,能夠適應于多種操作系統(tǒng),應用廣泛,可移植性強??傊珻語言對于信息技術的發(fā)展具有十分重要的作用和價值。

      二、基于C語言的計算機軟件編程實驗研究

      (一) C語言的編程技巧

      1.靈活運用指針

      在C語言編程的時候,指針是一種特殊類型的變量,它能夠幫助程序員有效的表達和解決程序設計過程中遇到的復雜問題,熟練掌握指針是必要的。指針具有三要素:指針名以及指針類型和值[3]。在編程時,指針和一般變量名相同,但是在類型以及值上具有區(qū)別,另外,指針不僅能夠被用于表示數(shù)組,還可以被作為函數(shù)的參數(shù)返回值。

      2.C 語言的特有函數(shù)

      在C語言編程的時候,有時需要用到一些特有函數(shù)。函數(shù)都具有一定的功能,同時函數(shù)名也反映了該函數(shù)的功能。在進行函數(shù)定義時,程序員需要把函數(shù)的名字、返回值類型以及參數(shù)名等各項都進行定義。另外,因為庫函數(shù)是由C 編譯系統(tǒng)提供的,這些函數(shù)均是系統(tǒng)首先定義好的,在程序調(diào)用的時候,程序員只需利用“#include 指令”把與之相關的頭文件包含到所用文件中即可[4]。例如,在程序運行的過程中,如果用到了sqrt函數(shù),則為了保證程序運行下去,頭文件必須含有#include“string .h”。

      3.算法技巧

      在程序設計的過程中,算法是程序的靈魂,因此,掌握一定的算法技巧是必不可少的。通常情況下,算法不僅可以用自然語言表示,有的時候也利用流程圖表示。需要注意的是,利用流程圖表示算法時,程序設計員必須熟練掌握常用的流程圖符號[5]。且“數(shù)學乃是計算機之母”,牢固的數(shù)學知識同樣能夠提升編程效率。

      4.位運算以及文件知識

      相比其他計算機高級語言的運算方法,位運算作為C 語言的重要特色,具有獨特性和唯一性。位運算是以二進制位為對象,然后結合相關程序要求進行各種運算。文件包含有數(shù)據(jù)文件以及程序文件,是計算機不可缺少的,程序設計員在進行編程時,需要把所寫的程序存儲的文件之中,這樣可以便于程序員查找數(shù)據(jù),提升查找效率。

      (二) C語言和匯編語言混合的程序設計案例分析

      在本次的實驗之中,在進行程序嵌入時,有其固定的格式,需要在嵌入的各行代碼之前加“asm”關鍵字,也可以直接在asm代碼塊中放入?yún)R編語句。但是程序設計者在進行嵌入時,一定要注意滿足以下條件:匯編語言指令代碼中關鍵字asm必不可少,且要放在指令代碼之前;嵌入?yún)R編語言指令代碼能夠和正常C語言程序混合,但是C語言的分隔符“;”必不可少;嵌入?yún)R編語言時C語言的注釋分界符必不可少,分別是“/*”和“*/” [6]。

      (2)首先編寫C語言程序以及匯編程序,然后獨立編譯目標代碼模塊,最終進行鏈接。

      首先,在進行混合編程時,C語言程序能夠調(diào)用匯編語言的各種子程序以及其定義的變量,同時,C語言編寫的函數(shù)以及定義的變量等也可以被匯編語言調(diào)用。而且混合編程的過程中,一個任務往往是由若干個功能模塊組成,且不同的功能模塊均是利用合適的語言進行獨立編程,且以函數(shù)的形式存在。因此,程序設計者要根據(jù)每一模塊的特點選擇相應的語言和語言編程系統(tǒng)進行獨立編程,并形成目標文件,繼而連接目標文件,形成完整的可執(zhí)行文件。

      在混合編程的過程中,設計者需要注意五個問題:參數(shù)傳遞問題;寄存器的使用問題;存儲模式;變量以及函數(shù)的調(diào)用問題;子程序的返回值問題。

      其中,關于參數(shù)傳遞問題,在進行C語言程序調(diào)用匯編程序時,必須遵從參數(shù)傳遞原則,利用堆棧把參數(shù)傳遞給匯編程序。例如,在C語言程序中含有函數(shù):voidaa(char*p,int i),這個函數(shù)是利用匯編語言進行編寫的,如果編譯是在小內(nèi)存模式下實施的,系統(tǒng)在進行調(diào)用時,則寫成aa(&q , n);運行時程序首先把n壓入堆棧,然后再把&q壓入堆棧,當參數(shù)傳遞過來并被匯編語言的子程序取得時,BP寄存器便被用作基地址寄存器,實現(xiàn)對棧中所存數(shù)據(jù)進行存取操作。通常情況下,由于調(diào)用的子程序和C語言程序往往使用同一個堆棧,所以在程序執(zhí)行時,匯編語言子程序需要執(zhí)行兩條指令:push bp pop bp、sp[7]。

      2.混合的軟件編程實例分析

      三、小結

      綜上所述,隨著信息技術的不斷發(fā)展,人們對于計算機軟件編程的功能要求也將越來越高,而利用C語言能夠實現(xiàn)計算機軟件的多種功能,因此研究者應當強化對于C語言的計算機軟件編程實驗研究,開發(fā)功能更加強大的軟件。

      參考文獻

      [1] 侯宏霞.提高“匯編語言”課程實驗教學質量的幾點思考[J].內(nèi)蒙古農(nóng)業(yè)大學學報(社會科學版),2011(01):25-26.

      [2] 劉海峰.以培養(yǎng)實踐能力為導向的“C語言”教學方法探討[J].科技經(jīng)濟市場,2008(12):33-34.

      [3] 阿娜古麗·阿布拉.C語言與匯編語言相互調(diào)用實現(xiàn)混合編程[J].電腦編程技巧與維護,2009(10):71-74.

      [4] 劉丹,劉德山.C語言程序設計課程綜合性和設計性實驗研究[J].計算機教育,2012(09):31-32.

      [5] 王應軍,曲培新,趙晨萍.ARM匯編語言與C語言混合編程的實現(xiàn)方法[J].科技信息,2010(03):69-71.

      [6] 方艷紅,趙海龍.計算機高級語言程序設計類課程實踐教學改革研究[J].中國科技信息,2008(19):12-14.

      [7] 卜登立,等.“匯編語言程序設計”課程教學改革研究與探討[J].井岡山大學學報,2009(5):45-46.

      猜你喜歡
      匯編語言計算機軟件指針
      高等學校計算機專業(yè)課程教學改革實踐——以匯編語言與接口技術課程為例
      計算機教育(2020年5期)2020-07-24 08:52:50
      偷指針的人
      娃娃畫報(2019年5期)2019-06-17 16:58:10
      匯編語言與C語言的混合程序設計技術研究
      電子制作(2019年10期)2019-06-17 11:45:16
      基于C語言的計算機軟件編程
      電子制作(2018年16期)2018-09-26 03:27:08
      淺談不同編程語言對計算機軟件開發(fā)的影響
      電子制作(2018年1期)2018-04-04 01:48:36
      提高《匯編語言程序設計》教學效率的思考與實踐
      為什么表的指針都按照順時針方向轉動
      淺談基于C語言的計算機軟件程序設計
      電子制作(2017年24期)2017-02-02 07:14:40
      基于改進Hough變換和BP網(wǎng)絡的指針儀表識別
      電測與儀表(2015年5期)2015-04-09 11:30:42
      ARM Cortex—MO/MO+單片機的指針變量替換方法
      台江县| 杭锦后旗| 怀柔区| 班玛县| 安吉县| 哈巴河县| 秭归县| 诸暨市| 卢湾区| 淳化县| 汝城县| 财经| 常熟市| 攀枝花市| 大田县| 庄浪县| 霍州市| 绥宁县| 噶尔县| 红桥区| 中牟县| 海淀区| 鸡西市| 威远县| 桓仁| 赤城县| 龙游县| 潮安县| 蒙山县| 新津县| 建宁县| 六盘水市| 葫芦岛市| 磐安县| 柳林县| 肃宁县| 定州市| 定远县| 齐齐哈尔市| 台江县| 青海省|