程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 「C語言」常量和變量的表示及應用,c語言常量與變量

「C語言」常量和變量的表示及應用,c語言常量與變量

編輯:關於C語言

「C語言」常量和變量的表示及應用,c語言常量與變量


    在程序運行中,其值不能改變的量成為常量。

    在基本數據類型中,常量可分為整型常量、實型常量、符號常量和字符型常量(包括字符常量和字符串常量),現分別介紹如下:

 

目錄:

    一、常量

    二、C語言標識符

    三、變量

    附錄:ASCII碼表

 

一、常量

 

    1.整型常量

        即整常數,由一個或多個數字組成,可以帶正負號

        C語言中整型常量可用十進制、八進制和十六進制3種形式表示

            十進制整數:由0~9數字組成,不能以0開始,沒有前綴

            八進制整數:以0為前綴,其後由0~7的數字組成,沒有小數部分

            十六進制整數:以0x或0X開頭,其後由0~9的數字和a~f(或A~F字母組成)

        另外長整型常量後加後綴L(或1),無符號常量後加後綴U(或u)

 

    2.實型常量

        C語言中,實數又稱浮點數一般有兩種表示形式

            十進制小數形式:由數字和小數點組成,必須有小數點(例如 .24 也合法)

            指數形式:有十進制數、階碼標志“e”或“E”和階碼組成,階碼只能是整數。e和E前面必須有數字,後面必須是整數

        實型常量的類型:C編譯系統對實型常量不分float和double,都作double處理以更精確,也可以在實型常量後面加上字母f或F來指定其為單精度實型(float)

 

    3.符號常量

        C語言中,可以用一個標識符表示一個常量,稱之為符號常量,即標識形式的常量

        符號常量是一種特殊的常量,其值和類型是通過符號常量的定義決定的

        符號常量在使用之前必須定義,一般形式如下:

            #define 標識符常量

            (#define是一條預處理命令,其功能是把命令格式中的標識符定義為其後的常量值)

        習慣上,為了與程序中的變量名區別,符號常量名一般用大寫字母表示

 

    4.字符型常量

        包括字符常量和字符串常量

        (1)字符常量:

            又稱字符常數,C語言中的字符常量是用單引號括起來的字符,區分大小寫

            字符常量有以下特點:

                ①字符常量只能用單引號括起來

                    單引號只起界定作用,不表示字符本身

                    單引號中只能由一個字符,字符可以是字符集中的任意字符

                    單引號中的字符不能是單引號(')和反斜線(\)

                ②每個字符常量都有一個整數值,就是該數的ASCII碼(見附錄)

                ③字符常量區分大小寫

            對於一些常用但卻難以用一般形式表示的不可顯示字符,C語言提供了一種特殊形式的字符常量,即用一個轉義標識符“\”(反斜線)開頭的字符序列,如表(轉義字符及其含義):

           

        (2)字符串常量:

            字符串常量是用一對雙引號括起來的字符串序列

            C語言規定字符串常量的存儲方式為:

                字符串中的每個字符以其ASCII碼值得二進制形式存放在內存中,並且系統自動在該字符串末尾加一個“字符串結束標志”

                    ('\0',即ASCII碼值為0的字符,它不引起人和控制動作,也不是可顯示的字符)

                以便系統判斷字符串是否結束。例:字符串"a",實際長度為2,包含'a'和'\0'

 

 

二、C語言標識符

 

    用來標識變量名、符號常量名、函數名、類型名和文件名等的有效字符序列稱為標識符

    1.標識符由字母(A-Z,a-z)、數字(0-9)、下劃線“_”組成,並且首字符不能是數字,但可以是字母或者下劃線。例如,正確的標識符:abc,a1,prog_to

    2.不能把C語言關鍵字作為用戶標識符,例如if ,for, while等

    3.標識符長度是由機器上的編譯系統決定的,一般的限制為8字符(注:8字符長度限制是C89標准,C99標准已經擴充長度,其實大部分工業標准都更長)

    4.標識符對大小寫敏感,即嚴格區分大小寫。一般對變量名用小寫,符號常量命名用大寫

    5.標識符命名應做到“見名知意”,例如,長度(外語:length),求和、總計(外語:sum),圓周率(外語:pi)……

    6.C語言中把標識符分為三類:關鍵字,預定義標識符,用戶自定義標識符

 

 

三、變量

 

    變量只是在程序中可以改變的量,一旦被定義,就具備了3個基本要素:變量名、變量類型和變量值

 

    1.變量名:

        變量的命名規則:http://www.cnblogs.com/onedime/archive/2012/11/21/2780149.html

 

    2.變量類型:

        C語言中變量遵循“先定義後使用”的原則,變量定義的形式一般為:

            變量類型    變量表名

        其中變量類型即為變量中所存儲的數據類型,數據類型概念詳見之前博客「C語言」數據類型及混合運算與類型轉換

        (1)整型變量

            ①整型數據在內存中的存放。在C語言中,可以使用十進制,八進制和十六進制數據,但在內存中都以二進制存

            ②整型變量的基本類型說明符為int。根據占用內存字節數不同可以將整型變量分為如下幾類:

                基本整型:int,在16位系統中占2字節,32位系統中占4字節

                短整型:short int或short,在大多數計算機系統中占2字節

                長整型:long int或long,一般占4字節

            整型變量的類型:

                有符號短整型:short [int]    2byte    -32768~32767

                無符號短整型:unsigned short [int]    2 byte 0~65535

                有符號整型:int /signed [int]    4 byte    -2147483648~2147483647

                無符號整型:unsigned [int]    4 byte    0~4294967295

                有符號長整型:long [int]/signed long [int]    4 byte    -2147483648~2147483647 

                有符號長整型:unsigned long [int]    4 byte    0~4294967295

            ③整型數據的溢出。在C語言中,如果一個變量的值超過了其類型所允許的最大值,則會出現溢出現象

                具體數據溢出測試詳見之前博客「C語言」原碼反碼補碼與位運算

        (2)實型變量

            ①實型數據在內存中的存放。實型數據在內存中占4字節,按照指數形式存儲,存放形式如下:

                符號位+小數部分+指數部分

                注意:所有實型數據均為有符號實型數,沒有無符號實型數

                至於在內存中究竟分別用多少位表示小數部分和指數部分,ANSI C並無具體規定,由各C編譯系統決定

            ②C語言提供的常用實型變量類型有單精度型(float)和雙精度型(double),有時也用長雙精度型(long double)

                實型變量類型:

                    單精度型:float    4 byte    -3.4e38~3.4e38    6~7位有效位

                    雙精度型:double    8 byte    -1.7e308~1.7e308    15~16位有效位

                    長雙精度型:long double    16 byte    -3.4e4932~3.4e4932    18~19位有效位

            ③實型數據的捨入誤差。有限的存儲單元能提供的有效數字是有限的,因此會存在實型數據的計算捨入誤差

        字符變量

            字符變量是用來存儲字符常量的,每個字符占用一個字節的存儲空間,類型名為char

            字符變量的類型:

                有符號字符型char/signed char    1 byte    -128~127

                無符號字符型unsigned char    1 byte    0~255

 

    3.變量值:

        在 程序中,一個變量必須先由確定的值後才能參與各種相應的操作

        變量可以通過賦值語句或輸入語句獲得一個值,也可以用初始化的方法獲得一個值

 

 

附錄:ASCII碼表

    截圖自 http://tool.oschina.net/commons?type=4

   

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved