国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

C語(yǔ)言軟件設(shè)計(jì)中的主要問(wèn)題分析

2013-07-22 09:03:02謝東來(lái)
計(jì)算機(jī)光盤軟件與應(yīng)用 2013年4期
關(guān)鍵詞:軟件設(shè)計(jì)C語(yǔ)言問(wèn)題分析

謝東來(lái)

摘 要:C語(yǔ)言是一種結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言,其特點(diǎn)主要是盡量減少對(duì)硬件的操作,并具有很強(qiáng)的結(jié)構(gòu)性而后可移植性以及功能性,利用C語(yǔ)言能夠進(jìn)行編寫系統(tǒng)軟件以及二維、三維圖形等。但是由于C語(yǔ)言設(shè)計(jì)程序復(fù)雜,是一門比較難學(xué)的語(yǔ)言,在C語(yǔ)言軟件設(shè)計(jì)中很容易出現(xiàn)一些問(wèn)題,下面我們就針對(duì)C語(yǔ)言軟件設(shè)計(jì)中存在的問(wèn)題進(jìn)行詳細(xì)的分析,以提高C語(yǔ)言軟件設(shè)計(jì)的能力。

關(guān)鍵詞:C語(yǔ)言;軟件設(shè)計(jì);問(wèn)題分析

中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2013) 04-0000-02

1 引言

計(jì)算機(jī)技術(shù)的不斷更新和發(fā)展擴(kuò)大了其應(yīng)用的規(guī)模,并且軟件開發(fā)工具、語(yǔ)言和環(huán)境也不斷隨其提高。C語(yǔ)言作為計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言的一種,在大中小微型機(jī)上都有應(yīng)用。C語(yǔ)言之所以適用于開發(fā)各種類型的軟件系統(tǒng),是因?yàn)樗哂械图?jí)語(yǔ)言與高級(jí)語(yǔ)言的雙重特性,并具有很強(qiáng)的可移植性[1]。C語(yǔ)言又是一種比較難學(xué)的語(yǔ)言,我們要很好的掌握這門語(yǔ)言,就必須了解C語(yǔ)言軟件設(shè)計(jì)中常見(jiàn)的問(wèn)題與有效地解決方案。

2 在軟件設(shè)計(jì)中C 語(yǔ)言中若干問(wèn)題解析

2.1 數(shù)組

在編程設(shè)計(jì)中數(shù)組名后采用“[]”是常量表達(dá)式,其可以包括常量和符號(hào)常量,所以其不能對(duì)數(shù)組的大小進(jìn)行動(dòng)態(tài)定義。

2.2 指針

使用指針變量前要進(jìn)行定義,不同于其他的普通變量,只能把地址存放其中而不能賦值。如果沒(méi)有給指針變量定位于某個(gè)內(nèi)存單元中直接使用的話,會(huì)導(dǎo)致指針變量所指定的內(nèi)存單元數(shù)據(jù)丟失、原有數(shù)據(jù)被覆蓋;如果指針變量所指定是內(nèi)存單元?jiǎng)偤檬窍到y(tǒng)內(nèi)存數(shù)據(jù)區(qū),機(jī)器運(yùn)行不正?;蛘咚罊C(jī)的現(xiàn)象都可能出現(xiàn)。所以,一定要正確使用指針變量。

通過(guò)分析上述程序可以得知,上述程序中運(yùn)用了帶參數(shù)的宏定義,其中程序中最容易出現(xiàn)錯(cuò)誤的地方是用實(shí)參數(shù)K+1去替換形式參數(shù)a,因此程序就便成為了(K+1)*(K+1),所以結(jié)果就是16,很顯然這個(gè)結(jié)果是錯(cuò)誤的,因?yàn)樵谟?jì)算的過(guò)程中,忽略了宏定義展開的過(guò)程。所以在宏定義展開的過(guò)程中,一定要注意其僅僅是簡(jiǎn)單的替換,并且一定要在替換后計(jì)算。再如上述程序中,宏定義后面a*a是不帶括號(hào)的,所以我們?cè)谔鎿Q的過(guò)程中也不要帶括號(hào),其替換后的形式應(yīng)該是K+1*K+1,我們又知道k的值為3,所以此程序的結(jié)果應(yīng)該是3+1*3+1=7,所以最后的結(jié)果應(yīng)該是7[3].

3 C語(yǔ)言軟件設(shè)計(jì)中常見(jiàn)問(wèn)題實(shí)例分析——以單片機(jī)C語(yǔ)言編程為例

(1)由于C語(yǔ)言具有優(yōu)良的程序結(jié)構(gòu),在模塊化程序設(shè)計(jì)方面得到了廣泛的應(yīng)用,而單片機(jī)正是應(yīng)用了C語(yǔ)言這一優(yōu)勢(shì),實(shí)現(xiàn)不同的模塊完成不同的功能,程序結(jié)構(gòu)顯得非常清晰,并且很容易進(jìn)行維護(hù)和調(diào)試。

(2)合理的選擇數(shù)據(jù)類型。就單片機(jī)中的C語(yǔ)言需要和程序存儲(chǔ)器資源結(jié)合起來(lái)盡管數(shù)據(jù)類型變得豐富起來(lái),存在的問(wèn)題是機(jī)器語(yǔ)言直接支持的數(shù)據(jù)類型是bit和char 等,這種數(shù)據(jù)類型只能生成較短的代碼,而浮點(diǎn)型、整型等數(shù)據(jù)類型在有一定的內(nèi)部程序或內(nèi)部函數(shù)的支持等情況下能生成較長(zhǎng)的代碼[4]。在實(shí)際編程中,看起來(lái)很簡(jiǎn)單的C語(yǔ)言生成的代碼卻很長(zhǎng)。針對(duì)這一情況,我們一定要根據(jù)編程的實(shí)際情況合理的選擇數(shù)據(jù)類型,減少過(guò)長(zhǎng)的代碼生成。

(3)算法設(shè)計(jì)問(wèn)題。一般程序的設(shè)計(jì)應(yīng)用C語(yǔ)言只需要考慮程序功能的實(shí)現(xiàn),而單片機(jī)C語(yǔ)言還要考慮程序代碼的長(zhǎng)短問(wèn)題以及系統(tǒng)的硬件資源,有的時(shí)候不是代碼長(zhǎng)度越短、程序算法越簡(jiǎn)單越好,有的程序包含有子程序或函數(shù),而他們可能生成很長(zhǎng)的代碼,所以在不影響程序運(yùn)行的情況下,可以盡量?jī)?yōu)化算法[5]。

(4)數(shù)據(jù)存儲(chǔ)器的分配。在單片機(jī)中由于內(nèi)部數(shù)據(jù)存儲(chǔ)器RAM僅僅有幾百字節(jié),如果想要擴(kuò)展外部存儲(chǔ)器RAM將數(shù)據(jù)存儲(chǔ)量增大的情況下則將會(huì)導(dǎo)致硬件成本的增加,進(jìn)而造成單片機(jī)系統(tǒng)更加復(fù)雜。并且由于訪問(wèn)外部存儲(chǔ)器所需的代碼要比訪問(wèn)內(nèi)部的代碼多,因此提高內(nèi)部數(shù)據(jù)存儲(chǔ)器的利用率是非常重要的。單片機(jī)系統(tǒng)的內(nèi)部存儲(chǔ)器、壓縮棧以及內(nèi)部堆棧、所有程序變量等都將使用內(nèi)部存儲(chǔ)期RAM。因此在系統(tǒng)設(shè)計(jì)中采用C語(yǔ)言對(duì)程序進(jìn)行連接時(shí),C語(yǔ)言軟件設(shè)計(jì)中能夠?qū)⒁呀?jīng)被其他程序段釋放的存儲(chǔ)器空間重新定義到另一個(gè)程序段的變量中進(jìn)行使用,但是還應(yīng)該注意的是只有局部變量中的動(dòng)態(tài)變量才能被釋放6]。所以C語(yǔ)言軟件設(shè)計(jì)中應(yīng)使用局部變量,以最大限度提高數(shù)據(jù)存儲(chǔ)器的使用率。

4 結(jié)束語(yǔ)

通過(guò)對(duì)C語(yǔ)言的特點(diǎn)、函數(shù)、比運(yùn)算、指針等方面的問(wèn)題以及單片機(jī)C 語(yǔ)言編程應(yīng)注意的若干問(wèn)題進(jìn)行剖析,我們不僅了解了其常見(jiàn)的問(wèn)題,而且探索出了一些有效的解決方案,為更好的應(yīng)用C語(yǔ)言提供了很好的參考依據(jù)。對(duì)一門編程語(yǔ)言的熟悉掌握,不僅要學(xué)會(huì)用它的優(yōu)勢(shì),更重要的是要注意其在細(xì)節(jié)上可能出現(xiàn)的問(wèn)題以及如何采取有效的解決措施,這樣可以大大提高我們對(duì)一門編程語(yǔ)言的掌握程度。

參考文獻(xiàn):

[1]胡世鋒,張海濤.用C語(yǔ)言實(shí)現(xiàn)DSP程序設(shè)計(jì)的新方法[J].河北北方學(xué)院學(xué)報(bào)(自然科學(xué)版),2009(03):120-122.

[2]唐潔,Pollawat Thanarungroj,劉晨等.Pinned OS/Services:A Case Study of XML Parsing on Intel SCC[J].Journal of Computer Science & Technology,2013(01):46-48.

[3]倪瑞曉.C語(yǔ)言編程技術(shù)的分析研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2009(12):140-142.

[4]趙冬梅,張賓.在Lab VIEW中調(diào)用Virsual C++的方法[J].河北北方學(xué)院學(xué)報(bào)(自然科學(xué)版),2005(02):85-86.

[5]余梓唐.C語(yǔ)言源程序的自動(dòng)評(píng)判系統(tǒng)[J].計(jì)算機(jī)時(shí)代,2010(04):89-90.

[6]王夢(mèng),謝翠萍,韓成虎.C語(yǔ)言實(shí)驗(yàn)教學(xué)中學(xué)生編程常見(jiàn)問(wèn)題探析[J].中國(guó)電力教育,2010(12):146-148.

猜你喜歡
軟件設(shè)計(jì)C語(yǔ)言問(wèn)題分析
基于Visual Studio Code的C語(yǔ)言程序設(shè)計(jì)實(shí)踐教學(xué)探索
基于C語(yǔ)言的計(jì)算機(jī)軟件編程
電子制作(2018年16期)2018-09-26 03:27:08
高職高專院校C語(yǔ)言程序設(shè)計(jì)教學(xué)改革探索
基于STC單片機(jī)的廚房智能安全管控系統(tǒng)的設(shè)計(jì)
基于STM8S903K3的序列打螺絲夾具的軟件設(shè)計(jì)
中學(xué)歷史課堂教學(xué)改革的進(jìn)展及需要解決的問(wèn)題
我國(guó)“一帶一路”戰(zhàn)略定位中的問(wèn)題分析
JCI標(biāo)準(zhǔn)下發(fā)送調(diào)配部軟件設(shè)計(jì)及應(yīng)用
事業(yè)單位檔案管理存在的問(wèn)題分析
商(2016年27期)2016-10-17 04:51:12
家校合作問(wèn)題分析及解決策略研究
考試周刊(2016年76期)2016-10-09 10:05:35
卓尼县| 镇赉县| 云和县| 固始县| 如皋市| 晴隆县| 商水县| 镇坪县| 丹棱县| 长治市| 孝昌县| 灵台县| 邵阳县| 塔城市| 闵行区| 宜黄县| 德格县| 阿瓦提县| 集贤县| 台山市| 清涧县| 嵩明县| 孝昌县| 吴江市| 普洱| 江口县| 长沙县| 扶余县| 巫山县| 淮安市| 仪陇县| 襄汾县| 景泰县| 英吉沙县| 湘乡市| 铜川市| 榆树市| 金乡县| 陇西县| 安多县| 工布江达县|