• 
    

    
    

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

      ?

      基于C語(yǔ)言的計(jì)算機(jī)軟件編程技術(shù)探究

      2018-06-27 02:38:48王肖飛
      無(wú)線互聯(lián)科技 2018年5期
      關(guān)鍵詞:編程技術(shù)數(shù)據(jù)類(lèi)型指針

      王肖飛

      摘 要:C語(yǔ)言是編程技術(shù)中最常見(jiàn)的一種編程語(yǔ)言,因此成為計(jì)算機(jī)專(zhuān)業(yè)學(xué)習(xí)的基礎(chǔ)。當(dāng)前形勢(shì)下,C語(yǔ)言在編程的過(guò)程中還存在一些問(wèn)題有待解決,因而,文章立足于筆者多年工作實(shí)際,基于C語(yǔ)言的計(jì)算機(jī)軟件編程技術(shù)進(jìn)行深入的分析,以此為計(jì)算機(jī)軟件編程技術(shù)的發(fā)展而提供相應(yīng)的建議和對(duì)策。

      關(guān)鍵詞:C語(yǔ)言;編程;計(jì)算機(jī)

      C語(yǔ)言是面向過(guò)程的高級(jí)程序設(shè)計(jì)語(yǔ)言,是計(jì)算機(jī)專(zhuān)業(yè)的重要基礎(chǔ)核心課程。C語(yǔ)言不僅具有匯編語(yǔ)言的特點(diǎn),而且還擁有高級(jí)語(yǔ)言所具備的特點(diǎn),例如具備豐富的運(yùn)算符等特征。隨著我國(guó)互聯(lián)網(wǎng)技術(shù)的發(fā)展,尤其是各種軟件編程產(chǎn)業(yè)的發(fā)展,如何利用C語(yǔ)言編程計(jì)算機(jī)軟件是當(dāng)前高校計(jì)算機(jī)專(zhuān)業(yè)學(xué)生必須掌握的基本技巧,實(shí)踐證明在高校計(jì)算機(jī)專(zhuān)業(yè)實(shí)踐中也需積極開(kāi)展基于C語(yǔ)言的計(jì)算機(jī)軟件編程比賽,因此本文基于筆者工作實(shí)踐,就C語(yǔ)言的計(jì)算機(jī)編程技術(shù)進(jìn)行深入的剖析,以此促進(jìn)C語(yǔ)言技術(shù)的發(fā)展。本文從C語(yǔ)言的特點(diǎn)入手,闡述計(jì)算機(jī)編程中C語(yǔ)言的使用技巧,并通過(guò)相應(yīng)的案例解析來(lái)具體介紹一些小方法。

      1 C語(yǔ)言的概述及特點(diǎn)

      1.1 C語(yǔ)言的概述

      它由美國(guó)貝爾研究所的D.M.Ritchie于1972年推出,尤其是20世紀(jì)80年代,美國(guó)國(guó)家標(biāo)準(zhǔn)局為C語(yǔ)言制定了完整的國(guó)際標(biāo)準(zhǔn)語(yǔ)言,標(biāo)志著C語(yǔ)言的發(fā)展。C語(yǔ)言屬于一種相對(duì)較為新型的高級(jí)語(yǔ)言,是高校計(jì)算機(jī)專(zhuān)業(yè)的基礎(chǔ)課程之一。是一個(gè)有結(jié)構(gòu)化程序設(shè)計(jì)、具有變量作用域(variable scope)以及遞歸功能的過(guò)程式語(yǔ)言。C語(yǔ)言的編程必須要滿(mǎn)足以下條件:編譯器、集成開(kāi)發(fā)環(huán)境。盡管在當(dāng)前計(jì)算機(jī)技術(shù)不斷發(fā)展的環(huán)境下,計(jì)算機(jī)軟件編程種類(lèi)非常多,但是C語(yǔ)言仍然具有廣闊的應(yīng)用空間(盡管C語(yǔ)言提供許多低級(jí)處理)。

      1.2 C語(yǔ)言的特點(diǎn)

      結(jié)合C語(yǔ)言的實(shí)踐應(yīng)用,C語(yǔ)言具有以下特點(diǎn)。

      1.2.1數(shù)據(jù)類(lèi)型豐富

      C語(yǔ)言之所以在計(jì)算機(jī)編程中具有廣泛的使用價(jià)值,主要是因?yàn)镃語(yǔ)言的數(shù)據(jù)類(lèi)型較為豐富,能夠?yàn)橛?jì)算機(jī)軟件編程提供豐富的數(shù)據(jù)類(lèi)型。尤其是近些年隨著C語(yǔ)言編程技術(shù)的發(fā)展,在C語(yǔ)言編程設(shè)計(jì)中出現(xiàn)了較多的數(shù)據(jù)類(lèi)型,為C語(yǔ)言編程提供很好的借鑒。例如在實(shí)踐中常見(jiàn)的C99就增加了諸多類(lèi)型,大大豐富了C語(yǔ)言編程的數(shù)據(jù)類(lèi)型,從而增加了C語(yǔ)言的編譯功能,大大簡(jiǎn)化了編程技術(shù)。例如在高校教學(xué)軟件編程中對(duì)于C語(yǔ)言的應(yīng)用非常廣泛,有效地簡(jiǎn)化了高校教學(xué)軟件的簡(jiǎn)單化運(yùn)行。

      1.2.2 程序語(yǔ)言結(jié)構(gòu)性強(qiáng)

      結(jié)構(gòu)化語(yǔ)言就是將自然語(yǔ)言加上程序設(shè)計(jì)語(yǔ)言的控制結(jié)構(gòu),其主要是用來(lái)描述加工邏輯。C語(yǔ)言屬于一種結(jié)構(gòu)性語(yǔ)言,其在編程程序的時(shí)候,會(huì)按照模塊化方式組織程序,這樣能夠突顯C語(yǔ)言的層次清晰性。程序語(yǔ)言結(jié)構(gòu)性強(qiáng)是C語(yǔ)言編程的主要體現(xiàn),例如在編程中所使用的語(yǔ)句具有嚴(yán)格的使用規(guī)則,例如:do…while…語(yǔ)句等語(yǔ)句,可見(jiàn)基于C語(yǔ)言編程的軟件具有嚴(yán)格的語(yǔ)言結(jié)構(gòu)性。

      1.2.3 語(yǔ)法較為靈活、程序設(shè)計(jì)自由

      C語(yǔ)言最大的特點(diǎn)就是程序設(shè)計(jì)人員可以按照自己的意愿設(shè)計(jì)程序,C語(yǔ)言具有很大的自由度,例如在程序設(shè)計(jì)的過(guò)程中,系統(tǒng)不會(huì)對(duì)數(shù)組等因素進(jìn)行自動(dòng)檢查,如果存在錯(cuò)誤程序就會(huì)出現(xiàn)故障,因此在具體的C語(yǔ)言編程中需要程序設(shè)計(jì)人員檢查程序。當(dāng)然程序設(shè)計(jì)的自由化也容易導(dǎo)致C語(yǔ)言系統(tǒng)對(duì)糾錯(cuò)系統(tǒng)的要求比較高,需要程序員加強(qiáng)對(duì)糾錯(cuò)系統(tǒng)的設(shè)計(jì)H。例如在實(shí)踐中容易出現(xiàn)因C語(yǔ)言書(shū)寫(xiě)錯(cuò)誤解析而導(dǎo)致程序運(yùn)行失敗的現(xiàn)象。此種問(wèn)題主要是程序員在編程C語(yǔ)言的時(shí)候,因粗心而將一些關(guān)鍵詞或聲明符寫(xiě)錯(cuò),導(dǎo)致程序不能運(yùn)行。

      2 C語(yǔ)言編程技術(shù)應(yīng)用策略

      2.1 實(shí)現(xiàn)指針功能的完全利用

      指針功能是C語(yǔ)言編程實(shí)現(xiàn)的重要因素,可以說(shuō)指針在C語(yǔ)言編程中具有極高的使用率。指針通俗講就是用來(lái)操作內(nèi)存,在編譯的過(guò)程中,我們需要判斷指針的變量類(lèi)型從而定義指針類(lèi)型。當(dāng)然在指針變量定義的過(guò)程比需要對(duì)其實(shí)現(xiàn)初始化設(shè)置。如果沒(méi)有對(duì)指針變量進(jìn)行初始化會(huì)造成嚴(yán)重的后果,例如如果指針變量指向的是系統(tǒng)數(shù)據(jù)區(qū),那么就會(huì)對(duì)計(jì)算機(jī)程序造成嚴(yán)重的影響,甚至?xí)斐捎?jì)算機(jī)系統(tǒng)出現(xiàn)死機(jī)。因此在C語(yǔ)言編程中必須要注意指針變量初始化問(wèn)題。另外程序編程人員還需要注意以下問(wèn)題,例如int(※i1和int※i是不同的,前者指的是指標(biāo)變量,后者指的是對(duì)指針數(shù)組i進(jìn)行定義,因此需要區(qū)別。

      2.2 利用C語(yǔ)言中的各個(gè)語(yǔ)句類(lèi)型

      C語(yǔ)言數(shù)據(jù)類(lèi)型比較多,在具體的編程中需要針對(duì)不同的語(yǔ)言功能選擇相應(yīng)的語(yǔ)言進(jìn)行編譯,實(shí)踐證明如果不能根據(jù)語(yǔ)言功能選擇相應(yīng)的語(yǔ)言進(jìn)行編譯,就會(huì)導(dǎo)致比編譯的程序不符合要求,導(dǎo)致程序不具備應(yīng)用功能。結(jié)合多年的教學(xué)工作經(jīng)驗(yàn)及編程實(shí)踐,常見(jiàn)的編程語(yǔ)句類(lèi)型主要包括循環(huán)語(yǔ)句、選擇語(yǔ)句等,當(dāng)然在具體的軟件編程過(guò)程中選擇單一的編程語(yǔ)句是不現(xiàn)實(shí)的,而是將不同的語(yǔ)句融合在一起的過(guò)程,其中復(fù)合語(yǔ)句是C語(yǔ)言編程中較為常用的。復(fù)合語(yǔ)句就是將不同的選擇語(yǔ)句進(jìn)行合并,例如將內(nèi)循環(huán)語(yǔ)句和外循環(huán)語(yǔ)句進(jìn)行合并編程。當(dāng)然在使用復(fù)合語(yǔ)句的時(shí)候必須要清楚復(fù)合語(yǔ)句的關(guān)系,也就是C語(yǔ)言編譯器不會(huì)對(duì)復(fù)合語(yǔ)句進(jìn)行檢查,所以在使用復(fù)合語(yǔ)句的時(shí)候必須要具有邏輯表達(dá)式。Switch語(yǔ)句通常用在有多個(gè)明確值的選擇中進(jìn)行控制。循環(huán)語(yǔ)句是為了在編譯中讓一個(gè)循環(huán)體進(jìn)行條件下的循環(huán),完成程序的編譯??傊谝粋€(gè)健全的C語(yǔ)言編程程序中,每個(gè)語(yǔ)句都存在內(nèi)在的聯(lián)系性,因此,明白語(yǔ)句之間的關(guān)系,懂得合理利用語(yǔ)句格式可以大大提高編程程序的運(yùn)行速度,保證程序簡(jiǎn)潔、有效。

      2.3 合理利用C話(huà)-言的各個(gè)函數(shù)

      在計(jì)算機(jī)編程中需要選擇特定的函數(shù),根據(jù)實(shí)踐C語(yǔ)言編程常用的函數(shù)有mam主函數(shù)、scanf輸入函數(shù)以及max求最大值的函數(shù)等。每個(gè)不同的函數(shù)都在程序編程中代表不同的功能,因此,C語(yǔ)言編程設(shè)計(jì)的函數(shù)名稱(chēng)需要根據(jù)具體的功能確定,這樣可以在具體的設(shè)計(jì)中實(shí)現(xiàn)對(duì)函數(shù)功能的準(zhǔn)確把握,為此在具體的編程中需要程序員在對(duì)函數(shù)進(jìn)行定義與編寫(xiě)時(shí)對(duì)函數(shù)的類(lèi)型進(jìn)行準(zhǔn)確的定義。當(dāng)然在具體的C語(yǔ)言編程中還需要掌握計(jì)算機(jī)的算法技巧。算法是C語(yǔ)言編程的重要內(nèi)容,因此作為程序員必須要掌握算法技巧,目前C語(yǔ)言算法主要是通過(guò)流程圖和自然語(yǔ)言表達(dá),但是當(dāng)使用流程圖表達(dá)算法時(shí)需要牢記流程圖符號(hào)。

      3 C語(yǔ)言程序設(shè)計(jì)案例分析

      在具體的C語(yǔ)言編程實(shí)踐中必須要結(jié)合實(shí)際情況對(duì)編程技術(shù)進(jìn)行優(yōu)化設(shè)計(jì):(1)優(yōu)化函數(shù)的調(diào)用。例如在C語(yǔ)言編程中需要對(duì)函數(shù)調(diào)用的傳遞結(jié)構(gòu)進(jìn)行禁止,從而避免因C語(yǔ)言函數(shù)代碼量過(guò)大,而造成效率低下的缺陷。(2)將指針變量直接面向的是數(shù)組中存在的元素。(3)優(yōu)化循環(huán)語(yǔ)句。循環(huán)語(yǔ)句是C語(yǔ)言編程中經(jīng)常會(huì)出現(xiàn)的,因此需要優(yōu)化循環(huán)語(yǔ)句,例如對(duì)于較為重要的循環(huán)語(yǔ)句進(jìn)行控制,對(duì)于不需要循環(huán)的語(yǔ)句可以將其排除。

      例1:給予某一具體的實(shí)踐,然后判斷該時(shí)間是處于那一年的第幾天?

      (1)程序分析:以3月5日為例,應(yīng)該先把前兩個(gè)月的加起來(lái),然后再加上5天即本年的第幾天,特殊情況,閏年且輸入月份大于3時(shí)需考慮多加一天。

      (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先計(jì)算某月以前月份的總天數(shù)*/

      {

      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;/*再加上某天的天數(shù)*/

      if(year% 400==O‖l(year%4==O&&ye; ar%1001= 0))/*判斷是不是閏年*/

      leap=l;

      else

      leap=0;

      if(leap==l&&month;>2)/*如果是閏年且月份大于2,總天數(shù)應(yīng)該加一天*/

      SUm++:

      printf(“It is the %dth day.”,suln);

      getch();

      4 結(jié)語(yǔ)

      綜上所述,隨著計(jì)算機(jī)技術(shù)在社會(huì)實(shí)踐中的廣泛應(yīng)用,加強(qiáng)C語(yǔ)言編程技術(shù)的發(fā)展是我國(guó)編程事業(yè)發(fā)展的必然要求,因此在具體的C語(yǔ)言編程中必須要僅僅清晰地認(rèn)識(shí)到當(dāng)前C語(yǔ)言軟件編程技術(shù)所存在的缺陷,并且積極改進(jìn),以此設(shè)計(jì)出更加科學(xué)、人性化以及嚴(yán)謹(jǐn)化的計(jì)算機(jī)程序軟件。

      猜你喜歡
      編程技術(shù)數(shù)據(jù)類(lèi)型指針
      詳談Java中的基本數(shù)據(jù)類(lèi)型與引用數(shù)據(jù)類(lèi)型
      復(fù)雜零件的數(shù)控加工工藝及編程技術(shù)分析
      如何理解數(shù)據(jù)結(jié)構(gòu)中的抽象數(shù)據(jù)類(lèi)型
      偷指針的人
      為什么表的指針都按照順時(shí)針?lè)较蜣D(zhuǎn)動(dòng)
      基于計(jì)算機(jī)軟件工程的數(shù)據(jù)庫(kù)編程技術(shù)
      C語(yǔ)言編程技術(shù)的分析研究
      JDBC數(shù)據(jù)庫(kù)編程技術(shù)
      基于改進(jìn)Hough變換和BP網(wǎng)絡(luò)的指針儀表識(shí)別
      ARM Cortex—MO/MO+單片機(jī)的指針變量替換方法
      勐海县| 东明县| 临漳县| 岗巴县| 瓮安县| 沙湾县| 顺平县| 水富县| 贵德县| 中山市| 阳曲县| 横山县| 双江| 舞钢市| 乐亭县| 蛟河市| 烟台市| 方城县| 大庆市| 施秉县| 凯里市| 泸定县| 开封县| 九龙坡区| 敦煌市| 兖州市| 盐源县| 利辛县| 富民县| 东安县| 宣汉县| 南和县| 章丘市| 大新县| 新竹市| 德化县| 桃园县| 吉安市| 临沂市| 荥阳市| 修水县|