天天看點

C語言的基本構成 - 張淩001

C語言的基本構成

C語言的基本構成

知識點:C語言的注釋;關鍵字;書寫風格;常量和變量

重要程度:★★★★

1、C語言的良好風格

用C語言編寫的程式,稱為C語言源程式,簡稱C程式。

本節将通過一個簡單的C程式例子,向大家介紹C語言的一些基本構成和如何寫出風格良好的程式,使讀者對C語言有一個初步的認識。

例1:計算兩個整數之和的C程式

#include  "stdio.h"

main( )                   /*求兩數之和*/

{

int a,b,sum;            /*變量說明*/

              a=10;                 /*把整數10指派給變量a */

              b=20;                 /*把整數20指派給變量b */

              sum=a+b;              /*把兩數之和指派給變量sum */

              printf("a=%d,b=%d,sum=%d\n",a,b,sum);  /*把計算結果輸出到使用者螢幕上*/

}

好的風格:     1. 花括号獨占一行,有對應關系的花括号在同一列;

                       2. 有層次關系的代碼有必要的縮進;

                       3. 一條語句獨占一行

                       4. 有适當的注釋

2、關于注釋的說明(考點一)

²  程式中以“/*”開頭并且以“*/”結尾的部分表示程式的注釋部分。

²  注釋可以加在程式的任何位置。

²  注釋是為了提高程式的可讀性而增加的,不屬于C語言。

²  /*/*ddddddd*/*/ 這樣的注釋不是合法的。注釋是從“/*“開始到”*/“結束的。以該例為準,屬于注釋的就是/*  */兩個之間的/*ddddddd,是以最後剩下的*/就是多餘了。

例1: 閱讀以下程式,想一想結果是多少?

main( )

{     int a=0,b=0;

a =10;            /*給a指派                                                         

b=20;              給b指派 */

printf("a+b=%d\n",a+b);   /*輸出計算結果*/

}

這是2006年9月全國計算機等級考試二級考試的第19題。需要特别注意的是,程式第三行“/*”開始的注釋部分,直到第四行末尾才結束。是以上面的程式等價于以下的程式:

main( )

{     int a=0,b=0;

a =10;

printf("a+b=%d\n",a+b);

}

3、辨別符(考試重點)

在C語言中用于辨別名字的有效字元序列稱為辨別符。辨別符可以用作常量名、變量名、符号名、函數名和後面要學到的指針名、數組名等。C語言中辨別符的命名規則如下:

1)辨別符隻能由字母、數字和下劃線組成;

2)辨別符的第一個字元必須是字母或下劃線。

3)辨別符區分大小寫字母。如int與Int是兩個完全不同的辨別符。

合法的辨別符:

a  x  sum  spels  program  ab1   _to   file_5   a1b2c3  _2   B3

非法的辨別符:

ab12#            (含有不合法的字元“#”)

a1-c        (含有不合法的字元“-”)

ab c       (空格不是合法辨別符)

pr           (“p”不是字母,為不合法辨別符字元)

23ab       (第一個字元不能為數字)

C語言的辨別符分為如下三類:

1)關鍵字

關鍵字是具有特定含義的、專門用來說明C語言特定成分的一類辨別符。關鍵字均由小寫字母構成。Int 就不是關鍵字。

2)預定義辨別符

預定義辨別符(如printf,scanf,sin,isalum等)和編譯預處理指令名(如define,include等)。注意,預定義辨別符可以作為“使用者辨別符”使用。

3)使用者辨別符(考試重點)

不能是關鍵字;隻能由字母、數字和下劃線組成;第一個字元必須是字母或下劃線。

Int可以作為使用者辨別符,int就不可以作為使用者辨別符。

考點:1. 識别哪些是(或不是)辨別符

      2. 識别哪些是(或不是)使用者辨別符

例2: 以下不能定義為使用者辨別符的是

A) scanf        B) Void       C) _3com_       D) int

分析:本題答案選D。因為int是關鍵字,關鍵字不能作為使用者辨別符。答案(A)的scanf雖然是預定義辨別符,但是預定義辨別符可以作為使用者辨別符使用。(B)中Void的第一個字元V大寫,它與關鍵字void是兩個不同的辨別符,故它可以作為使用者辨別符。(C)中的_3com_符合辨別符的命名規則,且不是關鍵字,故可以定義為使用者辨別符。

例3:以下不合法的使用者辨別符是

A)  j2_KEY           B)  Double           C)  4d               D)_8_

分析:本題答案選C。答案(A)是一個使用者辨別符,符合辨別符的命名規則。答案(B)也是使用者辨別符,需要注意的是,它與關鍵字double是兩個不同的辨別符。答案(D)是使用者辨別符,由數字和下劃線組成,且第一個字元為下劃線。隻有答案(C)是不合法的使用者辨別符,因為它的第一個字元是數字,不符合辨別符的命名規則。

  • 辨別符的常見錯誤:

1. 數字開頭

2. 包含減号“-”

3. 使用者辨別符使用的是關鍵字

4、常量。

C語言中,還有另外一種常量是用辨別符命名的,稱為符号常量。下面程式的PI就是符号常量。

例4: 計算圓面積的C語言程式

#define  PI  3.14159

main( )

{     float r,area;

r=12.5;

area=PI*r*r;

printf("area=%f\n",area);

}

程式的第一行是宏定義,以後遇到PI就用其後的内容——3.14159來原樣替換。這裡的PI就是一個符号常量。通常,符号常量用大寫字母表示,但這并不是文法上的要求,隻不過用大寫字母書寫符号常量,便于辨認。當進行宏定義後,程式中隻要用到相應的數值常量都可以用符号常量代替,這就給程式的修改提供了友善。例如,如果需要進一步提高圓周率的精度,可以直接修改宏定義中的數值常量:

#define  PI  3.1415926

這樣,程式中隻要用到PI的地方,其值都自動變為3.1415926。

5、變量

與常量對應的是變量。顧名思義,變量就是在程式的運作過程中其值可以改變的量。例1中的a,b都是變量,它們是由使用者定義的辨別符,變量的命名必須遵循辨別符的命名規則。

用盒子的理論來描述:

1) 變量就是盒子,裡面裝的内容可以改變。

2) 通過指派語句就可以改變盒子裡的内容。

3) 每次使用盒子時,盒子裡都應該有确切的内容而不能是不确定的值。

4) 每次使用盒子時,都是用的現在盒子裡裝的内容。以前裝過什麼内容沒有任何影響。