C語言編程中的常見問題之C語言

字號(hào):

第1章 C語言
     本章主要描述C語言一些基本要素。當(dāng)你開始編寫C程序時(shí),你可能對C語言的一些基本問題感到困惑,如C語言所使用的約定、關(guān)鍵字和術(shù)語等。本章將回答這方面你經(jīng)常會(huì)遇到的一些問題。
     例如,switch語句是最常用的一種C語言構(gòu)件,本章將回答與它有關(guān)的三個(gè)常見問題。本章還涉及其它幾個(gè)問題,如循環(huán)、分支、運(yùn)算符的優(yōu)先級(jí)和程序塊技術(shù)。在閱讀本章時(shí),請注意有關(guān)switch語句和運(yùn)算符優(yōu)先級(jí)的一些問題,這些問題常常會(huì)使C語言的初學(xué)者感到迷惑。
     1.1 什么是局部程序塊(local block)?
     局部程序塊是指一對大括號(hào)({})之間的一段C語言程序。一個(gè)C函數(shù)包含一對大括號(hào),這對大括號(hào)之間的所有內(nèi)容都包含在一個(gè)局部程序塊中。if語句和swich語句也可以包含一對大括號(hào),每對大括號(hào)之間的代碼也屬于一個(gè)局部程序塊。此外,你完全可以創(chuàng)建你自己的局部程序塊,而不使用C函數(shù)或基本的C語句。你可以在局部程序塊中說明一些變量,這種變量被稱為局部變量,它們只能在局部程序塊的開始部分說明,并且只在說明它的局部程序塊中有效。如果局部變量與局部程序塊以外的變量重名,則前者優(yōu)先于后者。下面是一個(gè)使用局部程序塊的例子:
    #include
    void main(void);
    void main()
    {
     / * Begin local block for function main() * /
     int test_ var = 10;
     printf("Test variable before the if statement: %d\n", test_var);
     if (test_var>5)
     {
     / * Begin local block for "if" statement * /
     int test_ var = 5;
     printf("Test variable within the if statement: %d\n",
     test_var);
     {
     / * Begin independent local block (not tied to
     any function or keyword) * /
     int test_var = 0;
     printf (
     "Test variable within the independent local block: %d\n",
     test_var)
     }
     / * End independent local block * /
     printf ("Test variable after the if statement: %d\n", test_var);
    }
    /*End local block for function main () * /
    上例產(chǎn)生如下輸出結(jié)果:
    Test variable before the if statement: 10
    Test variable within the if statement: 5
    Test variable within the independent local block:0
    Test variable after the if statement: 10
     注意,在這個(gè)例子中,每次test_var被定義時(shí),它都要優(yōu)先于前面所定義的test_var變量。此外還要注意,當(dāng)if語句的局部程序塊結(jié)束時(shí),程序重新進(jìn)入最初定義的test_var變量的作用范圍,此時(shí)test_var的值為10。