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

?

同一問題的兩個C語言程序比較

2014-11-24 01:23:20張惠文
考試周刊 2014年82期
關(guān)鍵詞:高效性C語言程序

張惠文

摘 要: 高效性是檢驗程序設(shè)計水平的標準之一,本文就同一個問題給出兩個略有不同的程序,兩個程序均可達到問題的要求,即個兩個程序都具備正確性的要求,但從效率角度考慮則有所區(qū)別。

關(guān)鍵詞: C語言 程序 高效性

C語言是在國內(nèi)外廣泛使用的一種計算機語言,其功能豐富、表達能力強、使用靈活方便、應(yīng)用面廣、目標程序效率高、可移植性好,既具有高級語言的優(yōu)點,又具有低級語言的許多特點,因此能準確掌握并使用C語言可以為養(yǎng)成良好的編程習慣及編寫高效率的程序打下良好基礎(chǔ)[1-2]。本文主要采用C語言編寫同一問題的兩個程序,指出兩個程序在特定情況下執(zhí)行效率的不同。

1.問題的提出

數(shù)組是C語言中常用的存儲同類型數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu),用來解決較為復(fù)雜的編程問題,通常將類型相同的數(shù)據(jù)單元組織在一起,這樣處理相較于為每個變量分配獨立的存儲單元更有效率。本文即采用數(shù)組存儲數(shù)據(jù),編程實現(xiàn)如下問題:將一個數(shù)組中的元素逆序存放。如:假設(shè)數(shù)組中原來存有1,2,3,4,5,6,7,8,9,10,程序可以實現(xiàn)將該數(shù)組中的元素順序逆轉(zhuǎn)為10,9,8,7,6,5,4,3,2,1。

2.程序

針對上述問題給出以下兩個程序。

程序1:

#defineN10

#include

intmain()

{inti,t,a[N];

printf("%s%d%s/n","輸入",N,"個數(shù)組元素:");

for(i=0;i

scanf("%d",&a[i]);

printf("數(shù)組元素的原始順序:/n");

for(i=0;i

printf("%d",a[i]);

printf("/n");

for(i=0;i

{t=a[i];a[i]=a[N-1-i];a[N-1-i]=t;}

printf("逆序操作后的順序:/n");

for(i=0;i

printf("%d",a[i]);

printf("/n");

return0;

}

程序2:

#defineN10

#include

intmain()

{inti,t,a[N];

printf("%s%d%s/n","輸入",N,"個數(shù)組元素:");

for(i=0;i

scanf("%d",&a[i]);

printf("數(shù)組元素的原始順序:/n");

for(i=0;i

printf("%d",a[i]);

printf("/n");

for(i=0;i<(N-1)/2;i++)

{t=a[i];a[i]=a[N-1-i];a[N-1-i]=t;}

printf("逆序操作后的順序:/n");

for(i=0;i

printf("%d",a[i]);

printf("/n");

return0;

}

以上兩個程序的設(shè)計思想是依次進行首尾對稱位置的數(shù)據(jù)交換,直到完成所有數(shù)據(jù)逆轉(zhuǎn),見圖1。需要注意的是,交換時只需對一半的元素進行操作,否則結(jié)果會還原為原先的順序。

圖1 程序設(shè)計思想示意圖

程序1與程序2分別在VC6.0環(huán)境下運行,結(jié)果相同,運行截圖見圖2。

圖2 程序運行截圖

3.程序比較

仔細比較兩個程序,發(fā)現(xiàn)兩個程序僅在第12行有區(qū)別,程序1為for(i=0;i

圖3 程序1設(shè)計思想示意圖

圖4 程序2設(shè)計思想示意圖

4.結(jié)語

C語言是一種使用靈活的計算機語言,使用不當或考慮欠周全,都會導(dǎo)致意想不到的結(jié)果;同時,由于其功能豐富、表達能力強,又能達到其他計算機語言所達不到的效果,這正是C語言至今仍被多數(shù)計算機專業(yè)人員常常使用的原因[3-4]。本文通過對同一問題的兩個不同程序的比較,提出在熟練掌握C語言、正確編寫C程序的基礎(chǔ)上,盡可能進一步提高程序的效率。

參考文獻:

[1]薛玉瑩.論《C語言程序設(shè)計》課程的學習.計算機光盤軟件與應(yīng)用[J].2013.8:188-189.

[2]譚浩強.C程序設(shè)計(第三版)[M].北京:清華大學出版社,2005.

[3]孔垂柳,田地.基于程序設(shè)計思想的C語言教學方案[J].吉林大學學報(信息科學版),2005,23(S0):5-6.

[4]陶靜.C語言教學方法探討[J].東南大學學報(哲學社會科學版),2006,8(增刊):193-194.

猜你喜歡
高效性C語言程序
基于Visual Studio Code的C語言程序設(shè)計實踐教學探索
計算機教育(2020年5期)2020-07-24 08:52:56
試論我國未決羈押程序的立法完善
基于C語言的計算機軟件編程
電子制作(2018年16期)2018-09-26 03:27:08
淺談水質(zhì)檢測的高效性發(fā)展
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
數(shù)學課堂教學高效性的再思考
新課程(2016年3期)2016-12-01 05:55:56
如何實現(xiàn)小組學習的有效性、高效性
新課程(2016年3期)2016-12-01 05:55:50
高職高專院校C語言程序設(shè)計教學改革探索
創(chuàng)衛(wèi)暗訪程序有待改進
镇坪县| 高平市| 孝昌县| 南雄市| 固镇县| 鄂伦春自治旗| 邓州市| 南京市| 水富县| 浙江省| 民县| 博白县| 大荔县| 华池县| 佛坪县| 永宁县| 滦南县| 镇坪县| 蓬溪县| 元阳县| 双牌县| 铁岭市| 漾濞| 祁阳县| 鄂托克旗| 鄯善县| 马尔康县| 松原市| 金塔县| 古田县| 邻水| 涞水县| 嘉鱼县| 彩票| 丰城市| 鹤山市| 易门县| 青神县| 余江县| 东乡县| 霸州市|