亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

C語言教程第一章: C語言概論

2019-11-17 05:02:25
字體:
來源:轉載
供稿:網友
C語言的發展過程

  C語言是在70年代初問世的。一九七八年由美國電話電報公司(AT&T)貝爾實驗室正式發表了C語言。同時由B.W.Kernighan和D.M.Ritchit合著了聞名的“THE C PROGRAMMING LANGUAGE”一書。通常簡稱為《K&R》,也有人稱之為《K&R》標準。但是,在《K&R》中并沒有定義一個完整的標準C語言,后來由美國國家標準學會在此基礎上制定了一個C 語言標準,于一九八三年發表。通常稱之為ANSI C。當代最優秀的程序設計語言  早期的C語言主要是用于UNIX系統。由于C語言的強大功能和各方面的優點逐漸為人們熟悉,到了八十年代,C開始進入其它操作系統,并很快在各類大、中、小和微型計算機上得到了廣泛的使用。成為當代最優秀的程序設計語言之一。C語言的特點 ?。谜Z言是一種結構化語言。它層次清楚,便于按模塊化方式組織程序,易于調試和維護。C語言的表現能力和處理能力極強。它不僅具有豐富的運算符和數據類型,便于實現各類復雜的數據結構。它還可以直接訪問內存的物理地址,進行位(bit)一級的操作。由于C語言實現了對硬件的編程操作,因此C語言集高級語言和低級語言的功能于一體。既可用于系統軟件的開發,也適合于應用軟件的開發。此外,C語言還具有效率高,可移植性強等特點。因此廣泛地移植到了各類各型計算機上,從而形成了多種版本的C語言。C語言版本  目前最流行的C語言有以下幾種:
   ·Microsoft C 或稱 MS C
   ·Borland Turbo C 或稱 Turbo C
   ·AT&T C
  這些C語言版本不僅實現了ANSI C標準,而且在此基礎上各自作了一些擴充,使之更加方便、完美。面向對象的程序設計語言  在C的基礎上,一九八三年又由貝爾實驗室的Bjarne Strou-strup推出了C++。 C++進一步擴充和完善了C語言,成為一種面向 對象的程序設計語言。C++目前流行的最新版本是Borland C++4.5,Symantec C++6.1,和Microsoft VisualC++ 2.0。C++提出了一些更為深入的概念,它所支持的這些面向對象的概念輕易將問題空間直接地映射到程序空間,為程序員提供了一種與傳統結構程序設計不同的思維方式和編程方法。因而也增加了整個語言的復雜性,把握起來有一定難度。C和C++  但是,C是C++的基礎,C++語言和C語言在很多方面是兼容的。因此,把握了C語言,再進一步學習C++就能以一種熟悉的語法來學習面向對象的語言,從而達到事半功倍的目的。C源程序的結構特點  為了說明C語言源程序結構的特點,先看以下幾個程序。這幾個程 序由簡到難,表現了C語言源程序在組成結構上的特點。雖然有關內容還未介紹,但可從這些例子中了解到組成一個C源程序的基本部分和書寫格式。
main()
{
  printf("c語言世界www.vcok.com,您好!/n");
}
  main是主函數的函數名,表示這是一個主函數。每一個C源程序都必須有,且只能有一個主函數(main函數)。函數調用語句,printf函數的功能是把要輸出的內容送到顯示器去顯示。printf函數是一個由系統定義的標準函數,可在程序中直接調用。

#include "stdio.h"
#include "math.h"
main()
{
  double x,s;
  printf("input number:/n");
  scanf("%lf",&x);
  s=sin(x);
  printf("sine of %lf is %lf/n",x,s);
}

每行注釋

include稱為文件包含命令擴展名為.h的文件也稱為頭文件或首部文件
定義兩個實數變量,以被后面程序使用
顯示提示信息
從鍵盤獲得一個實數x
求x的正弦,并把它賦給變量s
顯示程序運算結果
main函數結束
  
  程序的功能是從鍵盤輸入一個數x,求x的正弦值,然后輸出結果。在main()之前的兩行稱為預處理命令(詳見后面)。預處理命令還有其它幾種,這里的include 稱為文件包含命令,其意義是把尖括號""或引號<>內指定的文件包含到本程序來,成為本程序的一部分。被包含的文件通常是由系統提供的,其擴展名為.h。因此也稱為頭文件或首部文件。C語言的頭文件中包括了各個標準庫函數的函數原型。因此,凡是在程序中調用一個庫函數時,都必須包含該函數原型所在的頭文件。在本例中,使用了三個庫函數:輸入函數scanf,正弦函數sin,輸出函數printf。sin函數是數學函數,其頭文件為math.h文件,因此在程序的主函數前用include命令包含了math.h。scanf和printf是標準輸入輸出函數,其頭文件為stdio.h,在主函數前也用include命令包含了stdio.h文件。
  需要說明的是,C語言規定對scanf和printf這兩個函數可以省去對其頭文件的包含命令。所以在本例中也可以刪去第二行的包含命令#include。同樣,在例1.1中使用了printf函數,也省略了包含命令?! ≡诶}中的主函數體中又分為兩部分,一部分為說明部分,另一部分執行部分。說明是指變量的類型說明。例題中未使用任何變量,因此無說明部分。C語言規定,源程序中所有用到的變量都必須先說明,后使用,否則將會出錯。這一點是編譯型高級程序設計語言的一個特點,與解釋型的BASIC語言是不同的。說明部分是C源程序結構中很重要的組成部分。本例中使用了兩個變量x,s,用來表示輸入的自變量和sin函數值。由于sin函數要求這兩個量必須是雙精度浮點型,故用類型說明符double來說明這兩個變量。說明部分后的四行為執行部分或稱為執行語句部分,用以完成程序的功能。執行部分的第一行是輸出語句,調用printf函數在顯示器上輸出提示字符串,請操作人員輸入自變量x的值。第二行為輸入語句,調用scanf函數,接受鍵盤上輸入的數并存入變量x中。第三行是調用sin函數并把函數值送到變量s中。第四行是用printf 函數輸出變量s的值,即x的正弦值。程序結束。printf("input number:/n");
scanf("%lf",'C10F10&x);
s=sin(x);
printf("sine of %lf is %lf/n",'C10F10x,s);
  運行本程序時,首先在顯示器屏幕上給出提示串input number,這是由執行部分的第一行完成的。用戶在提示下從鍵盤上鍵入某一數,如5,按下回車鍵,接著在屏幕上給出計算結果。輸入和輸出函數

  在前兩個例子中用到了輸入和輸出函數scanf和 printf,在第三章中我們要具體介紹。這里我們先簡單介紹一下它們的格式,以便下面使用。scanf和 printf這兩個函數分別稱為格式輸入函數和格式輸出函數。其意義是按指定的格式輸入輸出值。因此,這兩個函數在括號中的參數表都由以下兩部分組成: “格式控制串”,參數表  格式控制串是一個字符串,必須用雙引號括起來,它表示了輸入輸出量的數據類型。各種類型的格式表示法可參閱第三章。在printf函數中還可以在格式控制串內出現非格式控制字符,這時在顯示屏幕上將原文照印。參數表中給出了輸入或輸出的量。當有多個量時,用逗號間隔。例如:
printf("sine of %lf is %lf/n",x,s);
  其中%lf為格式字符,表示按雙精度浮點數處理。它在格式串中兩次現,對應了x和s兩個變量。其余字符為非格式字符則照原樣輸出在屏幕上
int max(int a,int b);
main()
{
  int x,y,z;
  printf("input two numbers:/n");
  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;
}
此函數的功能是輸入兩個整數,輸出其中的大數。
/*函數說明*/
/*主函數*/
/*變量說明*/
/*輸入x,y值*/
/*調用max函數*/
/*輸出*/
/*定義max函數*/
/*把結果返回主調函數*/
  上面例中程序的功能是由用戶輸入兩個整數,程序執行后輸出其中較大的數。本程序由兩個函數組成,主函數和max 函數。函數之間是并列關系。可從主函數中調用其它函數。max 函數的功能是比較兩個數,然后把較大的數返回給主函數。max 函數是一個用戶自定義函數。因此在主函數中要給出說明(程序第三行)。可見,在程序的說明部分中,不僅可以有變量說明,還可以有函數說明。關于函數的具體內容將在第五章介紹。在程序的每行后用/*和*/括起來的內容為注釋部分,程序不執行注釋部分?! ∩侠谐绦虻膱绦羞^程是,首先在屏幕上顯示提示串,請用戶輸入兩個數,回車后由scanf函數語句接收這兩個數送入變量x,y中,然后調用max函數,并把x,y 的值傳送給max函數的參數a,b。在max函數中比較a,b的大小,把大者返回給主函數的變量z,最后在屏幕上輸出z的值。 C源程序的結構特點1.一個C語言源程序可以由一個或多個源文件組成。2.每個源文件可由一個或多個函數組成。3.一個源程序不論由多少個文件組成,都有一個且只能有一個main函數,即主函數。4.源程序中可以有預處理命令(include 命令僅為其中的一種),預處理命令通常應放在源文件或源程序的最前面。5.每一個說明,每一個語句都必須以分號結尾。但預處理命令,函數頭和花括號“}”之后不能加分號。6.標識符,要害字之間必須至少加一個空格以示間隔。若已有明顯的間隔符,也可不再加空格來間隔。書寫程序時應遵循的規則  從書寫清楚,便于閱讀,理解,維護的角度出發,在書寫程序時 應遵循以下規則:

1.一個說明或一個語句占一行。2.用{} 括起來的部分,通常表示了程序的某一層次結構。{}一般與該結構語句的第一個字母對齊,并單獨占一行。3.低一層次的語句或說明可比高一層次的語句或說明縮進若干格后書寫。以便看起來更加清楚,增加程序的可讀性。在編程時應力求遵循這些規則,以養成良好的編程風格。C語言的字符集  字符是組成語言的最基本的元素。C語言字符集由字母,數字,空格,標點和非凡字符組成。在字符常量,字符串常量和注釋中還可以使用漢字或其它可表示的圖形符號。
1.字母  小寫字母a~z共26個,大寫字母A~Z共26個2.數字  0~9共10個3.空白符 空格符、制表符、換行符等統稱為空白符??瞻追辉谧址A亢妥址A恐衅鹱饔?。在其它地方出現時,只起間隔作用, 編譯程序對它們忽略。因此在程序中使用空白符與否,對程序的編譯不發生影響,但在程序中適當的地方使用空白符將增加程序的清楚性和可讀性。4.標點和非凡字符
C語言詞匯  在C語言中使用的詞匯分為六類:標識符,要害字,運算符,分隔符,常量,注釋符等。1.標識符

  在程序中使用的變量名、函數名、標號等統稱為標識符。除庫函數的函數名由系統定義外,其余都由用戶自定義。C 規定,標識符只能是字母(A~Z,a~z)、數字(0~9)、下劃線()組成的字符串,并且其第一個字符必須是字母或下劃線。以下標識符是合法的:a,x,_3x,BOOK_1,sum5 QQread.com 推出Windows2003教程 win2003安裝介紹 win2003網絡優化 win2003使用技巧 win2003系統故障 服務器配置 專家答疑 更多的請看:http://www.qqread.com/windows/2003/index.Html 以下標識符是非法的:
3s 以數字開頭
s*T 出現非法字符*
-3x 以減號開頭
bowy-1 出現非法字符-(減號)
  在使用標識符時還必須注重以下幾點:
(1)標準C不限制標識符的長度,但它受各種版本的C 語言編譯系統限制,同時也受到具體機器的限制。例如在某版本C 中規定標識符前八位有效,當兩個標識符前八位相同時,則被認為是同一個標識符。
(2)在標識符中,大小寫是有區別的。例如BOOK和book 是兩個不同的標識符。
(3)標識符雖然可由程序員隨意定義,但標識符是用于標識某個量的符號。因此,命名應盡量有相應的意義,以便閱讀理解,作到“顧名思義”。

2.要害字

  要害字是由C語言規定的具有特定意義的字符串,通常也稱為保留字。用戶定義的標識符不應與要害字相同。C語言的要害字分為以下幾類:
(1)類型說明符
用于定義、說明變量、函數或其它數據結構的類型。如前面例題中用到的int,double等
(2)語句定義符
用于表示一個語句的功能。如例1.3中用到的if else就是條件語句的語句定義符。
(3)預處理命令字
用于表示一個預處理命令。如前面各例中用到的include。

3.運算符

 ?。谜Z言中含有相當豐富的運算符。運算符與變量,函數一起組成表達式,表示各種運算功能。運算符由一個或多個字符組成。

4.分隔符

  在C語言中采用的分隔符有逗號和空格兩種。逗號主要用在類型說明和函數參數表中,分隔各個變量??崭穸嘤糜谡Z句各單詞之間,作間隔符。在要害字,標識符之間必須要有一個以上的空格符作間隔, 否則將會出現語法錯誤,例如把int a;寫成 inta;C編譯器會把inta當成一個標識符處理,其結果必然出錯。

5.常量

  C 語言中使用的常量可分為數字常量、字符常量、字符串常量、符號常量、轉義字符等多種。在第二章中將專門給予介紹。6.注釋符

  C 語言的注釋符是以“/*”開頭并以“*/”結尾的串。在“/*”和“*/”之間的即為注釋。程序編譯時,不對注釋作任何處理。注釋可出現在程序中的任何位置。注釋用來向用戶提示或解釋程序的意義。在調試程序中對暫不使用的語句也可用注釋符括起來,使翻譯跳過不作處理,待調試結束后再去掉注釋符。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕欧美精品在线| 国产成人精品网站| 欧美日韩免费一区| 一区二区欧美激情| 国内伊人久久久久久网站视频| 久久成人精品一区二区三区| 精品成人69xx.xyz| 亚洲三级 欧美三级| 亚洲欧美一区二区三区久久| 国产精品流白浆视频| 成人信息集中地欧美| 久久成年人免费电影| 欧美精品一区二区免费| 国产精品福利在线观看网址| 日韩电影免费在线观看中文字幕| 久久久视频精品| 久久免费观看视频| 精品高清美女精品国产区| 日韩精品中文字幕在线播放| 性欧美长视频免费观看不卡| 亚洲精品福利资源站| 日韩欧美精品在线观看| 一区二区三区视频免费在线观看| 亚洲理论在线a中文字幕| 久久五月情影视| 国自产精品手机在线观看视频| 成人妇女免费播放久久久| 国产在线一区二区三区| 操人视频在线观看欧美| 色吧影院999| 综合久久五月天| 欧美日韩亚洲精品一区二区三区| 国产精品香蕉国产| 懂色av中文一区二区三区天美| 亚洲精品美女久久| 日韩欧美国产骚| 国产精品久久久久久久久久久久久| www.亚洲天堂| 国内免费久久久久久久久久久| 国产成人福利夜色影视| 欧美视频在线免费看| 亚洲欧美日韩中文在线| 亚洲女人初尝黑人巨大| 成人妇女淫片aaaa视频| 国产91色在线|| 国产精品黄视频| 日韩av网址在线观看| 日韩综合视频在线观看| 久久天天躁狠狠躁老女人| 国产一区二区精品丝袜| 98精品在线视频| 久久久久久久久久久国产| 国产精品第一区| 亚洲偷熟乱区亚洲香蕉av| 欧美二区乱c黑人| 亚洲欧洲日韩国产| 亚洲成人精品视频| 在线看日韩av| 国产精品三级久久久久久电影| 九九热精品视频国产| 国产精品久久99久久| 精品国产91乱高清在线观看| 久久久久国产视频| 国产精品欧美风情| 久久精品国产99国产精品澳门| 日韩性生活视频| 国产一区红桃视频| 2023亚洲男人天堂| 91高清视频在线免费观看| 亚洲一区国产精品| 国产视频精品va久久久久久| 久久亚洲国产精品| 欧美日韩在线免费| 日韩电影在线观看中文字幕| 国产精品免费久久久久影院| 欧美在线一区二区视频| 狠狠色狠狠色综合日日五| 欧洲成人午夜免费大片| 国产精品18久久久久久首页狼| 亚洲电影在线观看| 久久精品夜夜夜夜夜久久| 国产91色在线免费| 一区二区三欧美| 国产欧美日韩免费| 国产福利视频一区二区| 欧美日韩国产中字| 国产精品久久久久久久久久久久久| 欧美裸体xxxxx| 成人激情春色网| 亚洲精品免费一区二区三区| 色yeye香蕉凹凸一区二区av| 中文字幕久热精品视频在线| 日韩av电影免费观看高清| www.国产精品一二区| 国产一区二区三区视频| 日韩中文有码在线视频| 日韩中文字幕国产| 久久av在线播放| 久久久久久久激情视频| 成人www视频在线观看| yw.139尤物在线精品视频| 国产精品h在线观看| 中文综合在线观看| 不卡av日日日| 日韩在线视频免费观看| 亚洲日韩欧美视频| 永久免费毛片在线播放不卡| 国产精品1区2区在线观看| 亚洲国产精品久久久久| 国产在线视频一区| 国产精品视频免费观看www| 69久久夜色精品国产69| 欧美精品国产精品日韩精品| 亚洲影视九九影院在线观看| 国产精品欧美激情| 欧美性猛交xxxx乱大交| 久久久精品999| 黑人巨大精品欧美一区二区一视频| 91在线无精精品一区二区| 久久久午夜视频| 欧美黑人极品猛少妇色xxxxx| 久久香蕉国产线看观看网| www.亚洲成人| 亚洲色无码播放| 日本免费久久高清视频| 久久久久久久激情视频| 91九色综合久久| 国产精品入口夜色视频大尺度| 欧美国产高跟鞋裸体秀xxxhd| 亚洲成人教育av| 亚洲一区二区三区在线免费观看| 亚洲小视频在线观看| 精品国产1区2区| 国产一区二区三区三区在线观看| 欧洲精品久久久| 91在线精品视频| 日韩欧美福利视频| 久久精彩免费视频| 国产精品网址在线| 成人网欧美在线视频| 中文字幕亚洲国产| 欧美大奶子在线| 欧美日韩亚洲激情| 国产精品欧美日韩一区二区| 亚洲精品videossex少妇| 欧美在线视频观看免费网站| 亚洲精品xxxx| 亚洲最大的av网站| 91精品中文在线| 日韩欧美有码在线| 国产97在线播放| 日韩一区二区精品视频| 国产精品96久久久久久又黄又硬| 成人在线播放av| 国产99久久精品一区二区| 国产精品人成电影在线观看| 在线观看成人黄色| 欧美精品久久久久久久久久| 中文字幕日韩欧美在线| 欧美精品18videos性欧美| 久久青草精品视频免费观看| 一区二区三区日韩在线| 国产一区二区在线播放| 欧美激情va永久在线播放|