王肖飛
摘 要:C語言是編程技術中最常見的一種編程語言,因此成為計算機專業學習的基礎。當前形勢下,C語言在編程的過程中還存在一些問題有待解決,因而,文章立足于筆者多年工作實際,基于C語言的計算機軟件編程技術進行深入的分析,以此為計算機軟件編程技術的發展而提供相應的建議和對策。
關鍵詞:C語言;編程;計算機
C語言是面向過程的高級程序設計語言,是計算機專業的重要基礎核心課程。C語言不僅具有匯編語言的特點,而且還擁有高級語言所具備的特點,例如具備豐富的運算符等特征。隨著我國互聯網技術的發展,尤其是各種軟件編程產業的發展,如何利用C語言編程計算機軟件是當前高校計算機專業學生必須掌握的基本技巧,實踐證明在高校計算機專業實踐中也需積極開展基于C語言的計算機軟件編程比賽,因此本文基于筆者工作實踐,就C語言的計算機編程技術進行深入的剖析,以此促進C語言技術的發展。本文從C語言的特點入手,闡述計算機編程中C語言的使用技巧,并通過相應的案例解析來具體介紹一些小方法。
1 C語言的概述及特點
1.1 C語言的概述
它由美國貝爾研究所的D.M.Ritchie于1972年推出,尤其是20世紀80年代,美國國家標準局為C語言制定了完整的國際標準語言,標志著C語言的發展。C語言屬于一種相對較為新型的高級語言,是高校計算機專業的基礎課程之一。是一個有結構化程序設計、具有變量作用域(variable scope)以及遞歸功能的過程式語言。C語言的編程必須要滿足以下條件:編譯器、集成開發環境。盡管在當前計算機技術不斷發展的環境下,計算機軟件編程種類非常多,但是C語言仍然具有廣闊的應用空間(盡管C語言提供許多低級處理)。
1.2 C語言的特點
結合C語言的實踐應用,C語言具有以下特點。
1.2.1數據類型豐富
C語言之所以在計算機編程中具有廣泛的使用價值,主要是因為C語言的數據類型較為豐富,能夠為計算機軟件編程提供豐富的數據類型。尤其是近些年隨著C語言編程技術的發展,在C語言編程設計中出現了較多的數據類型,為C語言編程提供很好的借鑒。例如在實踐中常見的C99就增加了諸多類型,大大豐富了C語言編程的數據類型,從而增加了C語言的編譯功能,大大簡化了編程技術。例如在高校教學軟件編程中對于C語言的應用非常廣泛,有效地簡化了高校教學軟件的簡單化運行。
1.2.2 程序語言結構性強
結構化語言就是將自然語言加上程序設計語言的控制結構,其主要是用來描述加工邏輯。C語言屬于一種結構性語言,其在編程程序的時候,會按照模塊化方式組織程序,這樣能夠突顯C語言的層次清晰性。程序語言結構性強是C語言編程的主要體現,例如在編程中所使用的語句具有嚴格的使用規則,例如:do…while…語句等語句,可見基于C語言編程的軟件具有嚴格的語言結構性。
1.2.3 語法較為靈活、程序設計自由
C語言最大的特點就是程序設計人員可以按照自己的意愿設計程序,C語言具有很大的自由度,例如在程序設計的過程中,系統不會對數組等因素進行自動檢查,如果存在錯誤程序就會出現故障,因此在具體的C語言編程中需要程序設計人員檢查程序。當然程序設計的自由化也容易導致C語言系統對糾錯系統的要求比較高,需要程序員加強對糾錯系統的設計H。例如在實踐中容易出現因C語言書寫錯誤解析而導致程序運行失敗的現象。此種問題主要是程序員在編程C語言的時候,因粗心而將一些關鍵詞或聲明符寫錯,導致程序不能運行。
2 C語言編程技術應用策略
2.1 實現指針功能的完全利用
指針功能是C語言編程實現的重要因素,可以說指針在C語言編程中具有極高的使用率。指針通俗講就是用來操作內存,在編譯的過程中,我們需要判斷指針的變量類型從而定義指針類型。當然在指針變量定義的過程比需要對其實現初始化設置。如果沒有對指針變量進行初始化會造成嚴重的后果,例如如果指針變量指向的是系統數據區,那么就會對計算機程序造成嚴重的影響,甚至會造成計算機系統出現死機。因此在C語言編程中必須要注意指針變量初始化問題。另外程序編程人員還需要注意以下問題,例如int(※i1和int※i是不同的,前者指的是指標變量,后者指的是對指針數組i進行定義,因此需要區別。
2.2 利用C語言中的各個語句類型
C語言數據類型比較多,在具體的編程中需要針對不同的語言功能選擇相應的語言進行編譯,實踐證明如果不能根據語言功能選擇相應的語言進行編譯,就會導致比編譯的程序不符合要求,導致程序不具備應用功能。結合多年的教學工作經驗及編程實踐,常見的編程語句類型主要包括循環語句、選擇語句等,當然在具體的軟件編程過程中選擇單一的編程語句是不現實的,而是將不同的語句融合在一起的過程,其中復合語句是C語言編程中較為常用的。復合語句就是將不同的選擇語句進行合并,例如將內循環語句和外循環語句進行合并編程。當然在使用復合語句的時候必須要清楚復合語句的關系,也就是C語言編譯器不會對復合語句進行檢查,所以在使用復合語句的時候必須要具有邏輯表達式。Switch語句通常用在有多個明確值的選擇中進行控制。循環語句是為了在編譯中讓一個循環體進行條件下的循環,完成程序的編譯。總之,在一個健全的C語言編程程序中,每個語句都存在內在的聯系性,因此,明白語句之間的關系,懂得合理利用語句格式可以大大提高編程程序的運行速度,保證程序簡潔、有效。
2.3 合理利用C話-言的各個函數
在計算機編程中需要選擇特定的函數,根據實踐C語言編程常用的函數有mam主函數、scanf輸入函數以及max求最大值的函數等。每個不同的函數都在程序編程中代表不同的功能,因此,C語言編程設計的函數名稱需要根據具體的功能確定,這樣可以在具體的設計中實現對函數功能的準確把握,為此在具體的編程中需要程序員在對函數進行定義與編寫時對函數的類型進行準確的定義。當然在具體的C語言編程中還需要掌握計算機的算法技巧。算法是C語言編程的重要內容,因此作為程序員必須要掌握算法技巧,目前C語言算法主要是通過流程圖和自然語言表達,但是當使用流程圖表達算法時需要牢記流程圖符號。
3 C語言程序設計案例分析
在具體的C語言編程實踐中必須要結合實際情況對編程技術進行優化設計:(1)優化函數的調用。例如在C語言編程中需要對函數調用的傳遞結構進行禁止,從而避免因C語言函數代碼量過大,而造成效率低下的缺陷。(2)將指針變量直接面向的是數組中存在的元素。(3)優化循環語句。循環語句是C語言編程中經常會出現的,因此需要優化循環語句,例如對于較為重要的循環語句進行控制,對于不需要循環的語句可以將其排除。
例1:給予某一具體的實踐,然后判斷該時間是處于那一年的第幾天?
(1)程序分析:以3月5日為例,應該先把前兩個月的加起來,然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時需考慮多加一天。
(2)程序源代碼:
#include "stdio.h"
#include "conio.h"
main()
int day,month,year,sum,leap;
printf(“\nplease input year,month,day\n”);
scanf(“%d,%d,%d",&year;,&month;,&day;);
switch(month)/8先計算某月以前月份的總天數*/
{
case l:sum=O;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case lO:sum=273;break;
case ll:sum=304;break;
case 12:sum=334;break;
default:printf(“data error”);break;
)
sum=sum+day;/*再加上某天的天數*/
if(year% 400==O‖l(year%4==O&&ye; ar%1001= 0))/*判斷是不是閏年*/
leap=l;
else
leap=0;
if(leap==l&&month;>2)/*如果是閏年且月份大于2,總天數應該加一天*/
SUm++:
printf(“It is the %dth day.”,suln);
getch();
)
4 結語
綜上所述,隨著計算機技術在社會實踐中的廣泛應用,加強C語言編程技術的發展是我國編程事業發展的必然要求,因此在具體的C語言編程中必須要僅僅清晰地認識到當前C語言軟件編程技術所存在的缺陷,并且積極改進,以此設計出更加科學、人性化以及嚴謹化的計算機程序軟件。