亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

C語言

C語言的發(fā)展歷程

時(shí)間:2024-08-10 06:02:06 C語言 我要投稿
  • 相關(guān)推薦

C語言的發(fā)展歷程

  C語言是在70年代初問世的。一九七八年由美國電話電報(bào)公司(AT&T)貝爾實(shí)驗(yàn)室正式發(fā)表了C語言。同時(shí)由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一書。通常簡稱為《K&R》,也有人稱之為《K&R》標(biāo)準(zhǔn)。但是,在《K&R》中并沒有定義一個(gè)完整的標(biāo)準(zhǔn)C語言,后來由美國國家標(biāo)準(zhǔn)學(xué)會(huì)在此基礎(chǔ)上制定了一個(gè)C 語言標(biāo)準(zhǔn),于一九八三年發(fā)表。通常稱之為ANSIC。以下是小編為大家搜索整理的C語言的發(fā)展歷程,希望能給大家?guī)韼椭?

  當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語言

  早期的C語言主要是用于UNIX系統(tǒng)。由于C語言的強(qiáng)大功能和各方面的優(yōu)點(diǎn)逐漸為人們認(rèn)識(shí),到了八十年代,C開始進(jìn)入其它操作系統(tǒng),并很快在各類大、中、小和微型計(jì)算機(jī)上得到了廣泛的使用。成為當(dāng)代最優(yōu)秀的程序設(shè)計(jì)語言之一。

  C語言的特點(diǎn)

  C語言是一種結(jié)構(gòu)化語言。它層次清晰,便于按模塊化方式組織程序,易于調(diào)試和維護(hù)。C語言的表現(xiàn)能力和處理能力極強(qiáng)。它不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型,便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu)。它還可以直接訪問內(nèi)存的物理地址,進(jìn)行位(bit)一級(jí)的操作。由于C語言實(shí)現(xiàn)了對(duì)硬件的編程操作,因此C語言集高級(jí)語言和低級(jí)語言的功能于一體。既可用于系統(tǒng)軟件的開發(fā),也適合于應(yīng)用軟件的開發(fā)。此外,C語言還具有效率高,可移植性強(qiáng)等特點(diǎn)。因此廣泛地移植到了各類各型計(jì)算機(jī)上,從而形成了多種版本的C語言。

  C語言版本

  目前最流行的C語言有以下幾種:

  ·Microsoft C 或稱 MS C

  ·Borland Turbo C 或稱 Turbo C

  ·AT&T C

  這些C語言版本不僅實(shí)現(xiàn)了ANSI C標(biāo)準(zhǔn),而且在此基礎(chǔ)上各自作了一些擴(kuò)充,使之更加方便、完美。

  面向?qū)ο蟮某绦蛟O(shè)計(jì)語言:

  在C的基礎(chǔ)上,一九八三年又由貝爾實(shí)驗(yàn)室的Bjarne Strou-strup推出了C++。 C++進(jìn)一步擴(kuò)充和完善了C語言,成為一種面向 對(duì)象的程序設(shè)計(jì)語言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更為深入的概念,它所支持的這些面向?qū)ο蟮母拍钊菀讓栴}空間直接地映射到程序空間,為程序員提供了一種與傳統(tǒng)結(jié)構(gòu)程序設(shè)計(jì)不同的思維方式和編程方法。因而也增加了整個(gè)語言的復(fù)雜性,掌握起來有一定難度。

  C和C++

  但是,C是C++的基礎(chǔ),C++語言和C語言在很多方面是兼容的。因此,掌握了C語言,再進(jìn)一步學(xué)習(xí)C++就能以一種熟悉的語法來學(xué)習(xí)面向?qū)ο蟮恼Z言,從而達(dá)到事半功倍的目的。

  C源程序的結(jié)構(gòu)特點(diǎn)

  為了說明C語言源程序結(jié)構(gòu)的特點(diǎn),先看以下幾個(gè)程序。這幾個(gè)程 序由簡到難,表現(xiàn)了C語言源程序在組成結(jié)構(gòu)上的特點(diǎn)。雖然有關(guān)內(nèi)容還未介紹,但可從這些例子中了解到組成一個(gè)C源程序的基本部分和書寫格式。

  main()

  {

  printf("c語言世界www.vcok.com,您好! "

  }

  main是主函數(shù)的函數(shù)名,表示這是一個(gè)主函數(shù)。每一個(gè)C源程序都必須有,且只能有一個(gè)主函數(shù)(main函數(shù))。函數(shù)調(diào)用語句,printf函數(shù)的功能是把要輸出的內(nèi)容送到顯示器去顯示。printf函數(shù)是一個(gè)由系統(tǒng)定義的標(biāo)準(zhǔn)函數(shù),可在程序中直接調(diào)用。

  #include "stdio.h"

  #include "math.h"

  main()

  {

  double x,s;

  printf("input number: ");

  scanf("%lf",&x);

  s=sin(x);

  printf("sine of %lf is %lf ",x,s);

  }

  每行注釋

  include稱為文件包含命令擴(kuò)展名為.h的文件也稱為頭文件或首部文件。定義兩個(gè)實(shí)數(shù)變量,以被后面程序使用。顯示提示信息。從鍵盤獲得一個(gè)實(shí)數(shù)x,求x的正弦,并把它賦給變量s,顯示程序運(yùn)算結(jié)果。

  main函數(shù)結(jié)束

  程序的功能是從鍵盤輸入一個(gè)數(shù)x,求x的正弦值,然后輸出結(jié)果。在main()之前的兩行稱為預(yù)處理命令(詳見后面)。預(yù)處理命令還有其它幾種,這里的include 稱為文件包含命令,其意義是把尖括號(hào)""或引號(hào)<>內(nèi)指定的文件包含到本程序來,成為本程序的一部分。被包含的文件通常是由系統(tǒng)提供的,其擴(kuò)展名為.h。因此也稱為頭文件或首部文件。C語言的頭文件中包括了各個(gè)標(biāo)準(zhǔn)庫函數(shù)的函數(shù)原型。因此,凡是在程序中調(diào)用一個(gè)庫函數(shù)時(shí),都必須包含該函數(shù)原型所在的頭文件。在本例中,使用了三個(gè)庫函數(shù):輸入函數(shù)scanf,正弦函數(shù)sin,輸出函數(shù)printf。sin函數(shù)是數(shù)學(xué)函數(shù),其頭文件為math.h的文件,因此在程序的主函數(shù)前用include命令包含了math.h。scanf和printf是標(biāo)準(zhǔn)輸入輸出函數(shù),其頭文件為stdio.h,在主函數(shù)前也用include命令包含了stdio.h的文件。

  需要說明的是,C語言規(guī)定對(duì)scanf和printf這兩個(gè)函數(shù)可以省去對(duì)其頭文件的包含命令。所以在本例中也可以刪去第二行的包含命令#include。同樣,在例1.1中使用了printf函數(shù),也省略了包含命令。

  在例題中的主函數(shù)體中又分為兩部分,一部分為說明部分,另一部分執(zhí)行部分。說明是指變量的類型說明。例題中未使用任何變量,因此無說明部分。C語言規(guī)定,源程序中所有用到的變量都必須先說明,后使用,否則將會(huì)出錯(cuò)。這一點(diǎn)是編譯型高級(jí)程序設(shè)計(jì)語言的一個(gè)特點(diǎn),與解釋型的BASIC語言是不同的。說明部分是C源程序結(jié)構(gòu)中很重要的組成部分。本例中使用了兩個(gè)變量x,s,用來表示輸入的自變量和sin函數(shù)值。由于sin函數(shù)要求這兩個(gè)量必須是雙精度浮點(diǎn)型,故用類型說明符double來說明這兩個(gè)變量。說明部分后的四行為執(zhí)行部分或稱為執(zhí)行語句部分,用以完成程序的功能。執(zhí)行部分的第一行是輸出語句,調(diào)用printf函數(shù)在顯示器上輸出提示字符串,請(qǐng)操作人員輸入自變量x的值。第二行為輸入語句,調(diào)用scanf函數(shù),接受鍵盤上輸入的數(shù)并存入變量x中。第三行是調(diào)用sin函數(shù)并把函數(shù)值送到變量s中。第四行是用printf 函數(shù)輸出變量s的值,即x的正弦值。程序結(jié)束。

  printf("input number: ");

  scanf("%lf",’C10F10&x);

  s=sin(x);

  printf("sine of %lf is %lf ",’C10F10x,s);

  運(yùn)行本程序時(shí),首先在顯示器屏幕上給出提示串input number,這是由執(zhí)行部分的第一行完成的。用戶在提示下從鍵盤上鍵入某一數(shù),如5,按下回車鍵,接著在屏幕上給出計(jì)算結(jié)果。

  輸入和輸出函數(shù)

  在前兩個(gè)例子中用到了輸入和輸出函數(shù)scanf和 printf,在第三章中我們要詳細(xì)介紹。這里我們先簡單介紹一下它們的格式,以便下面使用。scanf和 printf這兩個(gè)函數(shù)分別稱為格式輸入函數(shù)和格式輸出函數(shù)。其意義是按指定的格式輸入輸出值。因此,這兩個(gè)函數(shù)在括號(hào)中的參數(shù)表都由以下兩部分組成: “格式控制串”,參數(shù)表  格式控制串是一個(gè)字符串,必須用雙引號(hào)括起來,它表示了輸入輸出量的數(shù)據(jù)類型。各種類型的格式表示法可參閱第三章。在printf函數(shù)中還可以在格式控制串內(nèi)出現(xiàn)非格式控制字符,這時(shí)在顯示屏幕上將原文照印。參數(shù)表中給出了輸入或輸出的量。當(dāng)有多個(gè)量時(shí),用逗號(hào)間隔。例如:

  printf("sine of %lf is %lf ",x,s);

  其中%lf為格式字符,表示按雙精度浮點(diǎn)數(shù)處理。它在格式串中兩次現(xiàn),對(duì)應(yīng)了x和s兩個(gè)變量。其余字符為非格式字符則照原樣輸出在屏幕上。

  int max(int a,int b);

  main()

  {

  int x,y,z;

  printf("input two numbers: ");

  scanf("%d%d",&x,&y);

  z=max(x,y);

  printf("maxmum=%d",z);

  }

  int max(int a,int b)

  {

  if(a>b)return a;

  else return b;

  }

  此函數(shù)的功能是輸入兩個(gè)整數(shù),輸出其中的大數(shù)。

  /*函數(shù)說明*/

  /*主函數(shù)*/

  /*變量說明*/

  /*輸入x,y值*/

  /*調(diào)用max函數(shù)*/

  /*輸出*/

  /*定義max函數(shù)*/

  /*把結(jié)果返回主調(diào)函數(shù)*/

  上面例中程序的功能是由用戶輸入兩個(gè)整數(shù),程序執(zhí)行后輸出其中較大的數(shù)。本程序由兩個(gè)函數(shù)組成,主函數(shù)和max 函數(shù)。函數(shù)之間是并列關(guān)系。可從主函數(shù)中調(diào)用其它函數(shù)。max 函數(shù)的功能是比較兩個(gè)數(shù),然后把較大的數(shù)返回給主函數(shù)。max 函數(shù)是一個(gè)用戶自定義函數(shù)。因此在主函數(shù)中要給出說明(程序第三行)?梢姡诔绦虻恼f明部分中,不僅可以有變量說明,還可以有函數(shù)說明。關(guān)于函數(shù)的詳細(xì)內(nèi)容將在第五章介紹。在程序的每行后用/*和*/括起來的內(nèi)容為注釋部分,程序不執(zhí)行注釋部分。

  上例中程序的執(zhí)行過程是,首先在屏幕上顯示提示串,請(qǐng)用戶輸入兩個(gè)數(shù),回車后由scanf函數(shù)語句接收這兩個(gè)數(shù)送入變量x,y中,然后調(diào)用max函數(shù),并把x,y 的值傳送給max函數(shù)的參數(shù)a,b。在max函數(shù)中比較a,b的大小,把大者返回給主函數(shù)的變量z,最后在屏幕上輸出z的值。

  C源程序的結(jié)構(gòu)特點(diǎn)

  1.一個(gè)C語言源程序可以由一個(gè)或多個(gè)源文件組成。

  2.每個(gè)源文件可由一個(gè)或多個(gè)函數(shù)組成。

  3.一個(gè)源程序不論由多少個(gè)文件組成,都有一個(gè)且只能有一個(gè)main函數(shù),即主函數(shù)。

  4.源程序中可以有預(yù)處理命令(include 命令僅為其中的一種),預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面。

  5.每一個(gè)說明,每一個(gè)語句都必須以分號(hào)結(jié)尾。但預(yù)處理命令,函數(shù)頭和花括號(hào)“}”之后不能加分號(hào)。

  6.標(biāo)識(shí)符,關(guān)鍵字之間必須至少加一個(gè)空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。

  書寫程序時(shí)應(yīng)遵循的規(guī)則

  從書寫清晰,便于閱讀,理解,維護(hù)的角度出發(fā),在書寫程序時(shí) 應(yīng)遵循以下規(guī)則:

  1.一個(gè)說明或一個(gè)語句占一行。

  2.用{} 括起來的部分,通常表示了程序的某一層次結(jié)構(gòu)。{}一般與該結(jié)構(gòu)語句的第一個(gè)字母對(duì)齊,并單獨(dú)占一行。

  3.低一層次的語句或說明可比高一層次的語句或說明縮進(jìn)若干格后書寫。以便看起來更加清晰,增加程序的可讀性。在編程時(shí)應(yīng)力求遵循這些規(guī)則,以養(yǎng)成良好的編程風(fēng)格。

  C語言的字符集

  字符是組成語言的最基本的元素。C語言字符集由字母,數(shù)字,空格,標(biāo)點(diǎn)和特殊字符組成。在字符常量,字符串常量和注釋中還可以使用漢字或其它可表示的圖形符號(hào)。

  1.字母  小寫字母a~z共26個(gè),大寫字母A~Z共26個(gè)

  2.數(shù)字  0~9共10個(gè)

  3.空白符 空格符、制表符、換行符等統(tǒng)稱為空白符?瞻追辉谧址A亢妥址A恐衅鹱饔谩T谄渌胤匠霈F(xiàn)時(shí),只起間隔作用, 編譯程序?qū)λ鼈兒雎。因此在程序中使用空白符與否,對(duì)程序的編譯不發(fā)生影響,但在程序中適當(dāng)?shù)牡胤绞褂每瞻追麑⒃黾映绦虻那逦院涂勺x性。

  4.標(biāo)點(diǎn)和特殊字符

  C語言詞匯

  在C語言中使用的詞匯分為六類:標(biāo)識(shí)符,關(guān)鍵字,運(yùn)算符,分隔符,常量,注釋符等。

【C語言的發(fā)展歷程】相關(guān)文章:

PHP語言發(fā)展歷程08-29

php的發(fā)展歷程08-23

C語言和C++的分別06-18

C語言的結(jié)構(gòu)10-14

C語言考點(diǎn)精選06-29

C語言的應(yīng)用05-29

C語言試題08-02

什么是C語言07-27

C語言試題11-01

網(wǎng)絡(luò)技術(shù)發(fā)展歷程09-13