| 導購 | 订阅 | 在线投稿
分享
 
 
當前位置: 王朝網路 >> c/c++ >> C語言教程第一章:C語言概論
 

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

2008-06-01 02:06:06  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
 
  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語言的特點

  C語言是一種結構化語言。它層次清楚,便于按模塊化方式組織程序,易于調試和維護。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.空白符空格符、制表符、換行符等統稱爲空白符。空白符只在字符常量和字符串常量中起作用。在其它地方出現時,只起間隔作用, 編譯程序對它們忽略。因此在程序中使用空白符與否,對程序的編譯不發生影響,但在程序中適當的地方使用空白符將增加程序的清楚性和可讀性。

  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.運算符

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

  4.分隔符

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

  5.常量

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

  6.注釋符

  C 語言的注釋符是以「/*」開頭並以「*/」結尾的串。在「/*」和「*/」之間的即爲注釋。程序編譯時,不對注釋作任何處理。注釋可出現在程序中的任何位置。注釋用來向用戶提示或解釋程序的意義。在調試程序中對暫不使用的語句也可用注釋符括起來,使翻譯跳過不作處理,待調試結束後再去掉注釋符。
 
 
 
上一篇《鏈表的C語言實現之單鏈表的查找運算》
下一篇《淺議C++ 中的垃圾回收方法》
 
 
 
 
 
 
日版寵物情人插曲《Winding Road》歌詞

日版寵物情人2017的插曲,很帶節奏感,日語的,女生唱的。 最後聽見是在第8集的時候女主手割傷了,然後男主用嘴幫她吸了一下,插曲就出來了。 歌手:Def...

兄弟共妻,我成了他們夜裏的美食

老鍾家的兩個兒子很特別,就是跟其他的人不太一樣,魔一般的執著。兄弟倆都到了要結婚的年齡了,不管自家老爹怎麽磨破嘴皮子,兄弟倆說不娶就不娶,老父母爲兄弟兩操碎了心...

如何磨出破洞牛仔褲?牛仔褲怎麽剪破洞?

把牛仔褲磨出有線的破洞 1、具體工具就是磨腳石,下面墊一個硬物,然後用磨腳石一直磨一直磨,到把那塊磨薄了,用手撕開就好了。出來的洞啊很自然的。需要貓須的話調幾...

我就是掃描下圖得到了敬業福和愛國福

先來看下敬業福和愛國福 今年春節,支付寶再次推出了“五福紅包”活動,表示要“把欠大家的敬業福都還給大家”。 今天該活動正式啓動,和去年一樣,需要收集“五福”...

冰箱異味産生的原因和臭味去除的方法

有時候我們打開冰箱就會聞到一股異味,冰箱裏的這種異味是因爲一些物質發出的氣味的混合體,聞起來讓人惡心。 産生這些異味的主要原因有以下幾點。 1、很多人有這種習...

《極品家丁》1-31集大結局分集劇情介紹

簡介 《極品家丁》講述了現代白領林晚榮無意回到古代金陵,並追隨蕭二小姐化名“林三”進入蕭府,不料卻陰差陽錯上演了一出低級家丁拼搏上位的“林三升職記”。...

李溪芮《極品家丁》片尾曲《你就是我最愛的寶寶》歌詞

你就是我最愛的寶寶 - 李溪芮 (電視劇《極品家丁》片尾曲) 作詞:常馨內 作曲:常馨內 你的眉 又鬼馬的挑 你的嘴 又壞壞的笑 上一秒吵鬧 下...

烏梅的功效與作用以及烏梅的食用禁忌有哪些?

烏梅,又稱春梅,中醫認爲,烏梅味酸,性溫,無毒,具有安心、除熱、下氣、祛痰、止渴調中、殺蟲的功效,治肢體痛、肺痨病。烏梅泡水喝能治傷寒煩熱、止吐瀉,與幹姜一起制...

什麽是脂肪粒?如何消除臉部脂肪粒?

什麽是脂肪粒 在我們的臉上總會長一個個像脂肪的小顆粒,弄也弄不掉,而且顔色還是白白的。它既不是粉刺也不是其他的任何痘痘,它就是脂肪粒。 脂肪粒雖然也是由油脂...

網絡安全治理:國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰受害者

來源:中國青年報 新的攻擊方法不斷湧現,黑客幾乎永遠占據網絡攻擊的上風,我們不可能通過技術手段杜絕網絡攻擊。國家安全保障的主要方向是打擊犯罪,而不是處置和懲罰...

河南夫妻在溫嶺網絡直播“造人”內容涉黃被刑事拘留

夫妻網絡直播“造人”爆紅   1月9日,溫嶺城北派出所接到南京警方的協查通告,他們近期打掉了一個涉黃直播APP平台。而根據掌握的線索,其中有一對涉案的夫妻主播...

如何防止牆紙老化?牆紙變舊變黃怎麽辦?

如何防止牆紙老化? (1)選擇透氣性好的牆紙 市場上牆紙的材質分無紡布的、木纖維的、PVC的、玻璃纖維基材的、布面的等,相對而言,PVC材質的牆紙最不透氣...

鮮肌之謎非日本生産VS鮮肌之謎假日貨是謠言

觀點一:破日本銷售量的“鮮肌之謎” 非日本生産 近一段時間,淘寶上架了一款名爲“鮮肌之謎的” 鲑魚卵巢美容液,號稱是最近日本的一款推出的全新護膚品,産品本身所...

中國最美古詩詞精選摘抄

系腰裙(北宋詞人 張先) 惜霜蟾照夜雲天,朦胧影、畫勾闌。人情縱似長情月,算一年年。又能得、幾番圓。 欲寄西江題葉字,流不到、五亭前。東池始有荷新綠,尚小如...

關于女人的經典語句

關于女人的經典語句1、【做一個獨立的女人】 思想獨立:有主見、有自己的人生觀、價值觀。有上進心,永遠不放棄自己的理想,做一份自己喜愛的事業,擁有快樂和成就...

未來我們可以和性愛機器人結婚嗎?

你想體驗機器人性愛嗎?你想和性愛機器人結婚嗎?如果你想,機器人有拒絕你的權利嗎? 近日,第二屆“國際人類-機器人性愛研討會”大會在倫敦金史密斯大學落下帷幕。而...

全球最變態的十個地方

10.土耳其地下洞穴城市 變態指數:★★☆☆☆ 這是土耳其卡帕多西亞的一個著名景點,傳說是當年基督教徒們爲了躲避戰爭而在此修建。裏面曾住著20000人,...

科學家稱,人類死亡後意識將在另外一個宇宙中繼續存活

據英國《每日快報》報道,一位科學家兼理論家Robert Lanza博士宣稱,世界上並不存在人類死亡,死亡的只是身體。他認爲我們的意識借助我們體內的能量生存,而且...

《屏裏狐》片頭曲《我愛狐狸精》歌詞是什麽?

《我愛狐狸精》 - 劉馨棋   (電視劇《屏裏狐》主題曲)   作詞:金十三&李旦   作曲:劉嘉   狐狸精 狐狸仙   千年修...

 
 
 
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語言的特點   C語言是一種結構化語言。它層次清楚,便于按模塊化方式組織程序,易于調試和維護。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.空白符 空格符、制表符、換行符等統稱爲空白符。空白符只在字符常量和字符串常量中起作用。在其它地方出現時,只起間隔作用, 編譯程序對它們忽略。因此在程序中使用空白符與否,對程序的編譯不發生影響,但在程序中適當的地方使用空白符將增加程序的清楚性和可讀性。 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.運算符   C語言中含有相當豐富的運算符。運算符與變量,函數一起組成表達式,表示各種運算功能。運算符由一個或多個字符組成。 4.分隔符   在C語言中采用的分隔符有逗號和空格兩種。逗號主要用在類型說明和函數參數表中,分隔各個變量。空格多用于語句各單詞之間,作間隔符。在要害字,標識符之間必須要有一個以上的空格符作間隔, 否則將會出現語法錯誤,例如把int a;寫成 inta;C編譯器會把inta當成一個標識符處理,其結果必然出錯。 5.常量   C 語言中使用的常量可分爲數字常量、字符常量、字符串常量、符號常量、轉義字符等多種。在第二章中將專門給予介紹。 6.注釋符   C 語言的注釋符是以「/*」開頭並以「*/」結尾的串。在「/*」和「*/」之間的即爲注釋。程序編譯時,不對注釋作任何處理。注釋可出現在程序中的任何位置。注釋用來向用戶提示或解釋程序的意義。在調試程序中對暫不使用的語句也可用注釋符括起來,使翻譯跳過不作處理,待調試結束後再去掉注釋符。
󰈣󰈤
 
 
 
  免責聲明:本文僅代表作者個人觀點,與王朝網路無關。王朝網路登載此文出於傳遞更多信息之目的,並不意味著贊同其觀點或證實其描述,其原創性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,並請自行核實相關內容。
 
 
小龍女彤彤之情溢皇都
龔潔
智能手機形象美女
崔潔彤
回家的路上----
中國一站(哈爾濱)
清明植物園的花。
桃花堤印象之豎版
 
>>返回首頁<<
 
 熱帖排行
 
 
 
 
© 2005- 王朝網路 版權所有