溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

C語(yǔ)言基本語(yǔ)法的示例分析

發(fā)布時(shí)間:2021-09-24 15:49:18 來(lái)源:億速云 閱讀:201 作者:小新 欄目:開(kāi)發(fā)技術(shù)

小編給大家分享一下C語(yǔ)言基本語(yǔ)法的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

    1、標(biāo)識(shí)符與關(guān)鍵字

    給變量所取的名字叫變量名,定義變量的名字需要遵循標(biāo)識(shí)符的命名規(guī)則。
    標(biāo)識(shí)符是用來(lái)標(biāo)識(shí)變量、符號(hào)常量、數(shù)組、函數(shù)、文件等名字的有效字符序列。

    標(biāo)識(shí)符的命名規(guī)則:

    1.只能由字母、數(shù)字和下劃線組成(例如:Score1,Stu_name)

    2.第一個(gè)字符必須為字母或下劃線

    3.區(qū)分大小寫(xiě)字母

    4.C語(yǔ)言?xún)?nèi)部規(guī)定的標(biāo)識(shí)符(即關(guān)鍵字)不能作為用戶(hù)標(biāo)識(shí)

    C語(yǔ)言的關(guān)鍵字:

    C語(yǔ)言的關(guān)鍵字,是保留的一些特殊作用的詞語(yǔ),一共32個(gè)關(guān)鍵字

    關(guān)鍵字說(shuō)明
    auto聲明自動(dòng)變量
    break跳出當(dāng)前循環(huán)
    case開(kāi)關(guān)語(yǔ)句分支
    char聲明字符型變量或函數(shù)返回值類(lèi)型
    const定義常量,如果一個(gè)變量被 const 修飾,那么它的值就不能再被改變
    continue結(jié)束當(dāng)前循環(huán),開(kāi)始下一輪循環(huán)
    default開(kāi)關(guān)語(yǔ)句中的"其它"分支
    do循環(huán)語(yǔ)句的循環(huán)體
    double聲明雙精度浮點(diǎn)型變量或函數(shù)返回值類(lèi)型
    enum聲明枚舉類(lèi)型
    extern聲明變量或函數(shù)是在其它文件或本文件的其他位置定義
    float聲明浮點(diǎn)型變量或函數(shù)返回值類(lèi)型
    for一種循環(huán)語(yǔ)句
    goto無(wú)條件跳轉(zhuǎn)語(yǔ)句
    if條件語(yǔ)句
    int聲明整型變量或函數(shù)
    long聲明長(zhǎng)整型變量或函數(shù)返回值類(lèi)型
    register聲明寄存器變量
    return子程序返回語(yǔ)句(可以帶參數(shù),也可不帶參數(shù))
    unsigned聲明無(wú)符號(hào)類(lèi)型變量或函數(shù)
    union聲明共用體類(lèi)型
    void聲明函數(shù)無(wú)返回值或無(wú)參數(shù),聲明無(wú)類(lèi)型指針
    volatile說(shuō)明變量在程序執(zhí)行中可被隱含地改變
    while循環(huán)語(yǔ)句的循環(huán)條件

    C99新建關(guān)鍵字:

    _Bool 、_Complex 、_Imaginaryinline 、restrict

    C11新建關(guān)鍵字:

    _Alignas 、_Alignof _Atomic 、_Generic 、_Noreturn_Static_assert 、_Thread_local

    2、常量和符號(hào)常量

    常量:在程序運(yùn)行過(guò)程中,其值不會(huì)發(fā)送變化的量。

    變量:在程序運(yùn)行過(guò)程中,其值可以發(fā)送變化的量

    (1)常量和常量符號(hào)

    C語(yǔ)言提供的常量類(lèi)型有整型常量、實(shí)型常量、字符常量、字符串常量和符號(hào)常量。

    用一個(gè)標(biāo)識(shí)符來(lái)代表一個(gè)常量,該標(biāo)識(shí)符叫做符號(hào)常量,其一般形式為:

    #define 標(biāo)識(shí)符 常量

    例如:

    #define PI 3.1415926

    關(guān)于typede和defin的用法與區(qū)別:

    1.#defien是預(yù)處理指令,在編譯預(yù)處理時(shí)進(jìn)行簡(jiǎn)單替換,不作正確性檢查,不管含義是否正確照樣帶入,只要在編譯器已被展開(kāi)的源程序時(shí)才會(huì)發(fā)現(xiàn)可能的錯(cuò)誤并報(bào)錯(cuò)。

    例如:#define PI 3.1415926

    程序:area = PIrr替換3.1415926r

    2.rtypedef是在編譯時(shí)處理的,通常是用于對(duì)已有數(shù)據(jù)類(lèi)型取別名,而#define只是簡(jiǎn)單地替換。

    例如:typedef unsigned int uint;

    這樣就為unsigned int型引入新助記符uint,以后使用uint直接代表unsigned int型。

    例如:typedef PI 3.1515926;

    編譯器會(huì)直接報(bào)錯(cuò),原因PI并非已存在類(lèi)型,其次“3.1515926”不符合命名規(guī)則。

    (2)變量

    1.變量在內(nèi)存中占用一定的儲(chǔ)存單元,在該儲(chǔ)存單元中存放變量值。

    2.程序中用到的所有變量都必須有一個(gè)變量名

    3.變量名和變量值是兩個(gè)不同的概念

    C語(yǔ)言基本語(yǔ)法的示例分析

    4.不同類(lèi)型的變量在內(nèi)存中占據(jù)儲(chǔ)存單元的數(shù)量及儲(chǔ)存的格式不相同,例如:char ch = ‘1';int i = 1;

    C語(yǔ)言基本語(yǔ)法的示例分析

    5.變量必須“先定義后使用”,這樣做的目的是:

    1、便于編譯程序程序檢測(cè)對(duì)該變量的運(yùn)算是否合法。例如:整型變量可以進(jìn)行求模(余數(shù))運(yùn)算,實(shí)型變量不可以進(jìn)行求模運(yùn)算。

    2、程序中變量名的正確使用

    3、C語(yǔ)言數(shù)據(jù)類(lèi)型

    C語(yǔ)言基本語(yǔ)法的示例分析

    (1)整型常量

    整型常量就是整數(shù),有3種表示形式

    1.十進(jìn)制整常數(shù):就是通常整數(shù)的寫(xiě)法,數(shù)碼取值為0-9。例如:25、-623、0等

    2.八進(jìn)制整數(shù):以0為前綴,數(shù)碼取值0-7,

    例如:

    020(十六進(jìn)制16)

    016(十六進(jìn)制14)

    0177777(十六進(jìn)制65535)

    -010(十進(jìn)制數(shù)-8)

    幾種不合法的八進(jìn)制數(shù):

    256(無(wú)前綴0)

    079(包含了非八進(jìn)制數(shù)碼9)

    3.十六進(jìn)制整型常數(shù):以數(shù)字和字母0x開(kāi)頭,即0x作為前綴,數(shù)碼的取值為0-9和A-F(或字母a-f)

    幾種合法的十六進(jìn)制數(shù):

    0x2A(十進(jìn)制數(shù)42)

    0x1AB0(十進(jìn)制數(shù)6832)

    幾個(gè)不合法 的十六進(jìn)制數(shù):

    5A(無(wú)前綴)、0x2H(包含了非十六進(jìn)制數(shù)碼H)

    整型變量

    整型變量分為:基本整型、長(zhǎng)整型、短整型、無(wú)符號(hào)型

    C語(yǔ)言基本語(yǔ)法的示例分析

    整型變量的定義及初始化:

    定義變量及初始化的一般形式 為:

    類(lèi)型說(shuō)明符 變量名1 = 值1

    例如:

    int a,b,c;	//定義a,b,c為整型變量
    long x = 10;	//定義x為長(zhǎng)整型變量,并附初值10
    unsigned int p=2,q=5,m;	//定義p,q,m為無(wú)符號(hào)整型變量。p賦初值為2,q賦初值為5

    整型變量需要注意:
    1、允許在一個(gè)類(lèi)型說(shuō)明符后,定義多個(gè)相同類(lèi)型變量,類(lèi)型說(shuō)明符與變量名之間至少用一個(gè)空格間隔,各變量名之間用逗號(hào)間隔
    2、最后一個(gè)變量名后面用“;”號(hào)結(jié)尾
    3、變量定義必須放在變量使用之前,一般放在函數(shù)體開(kāi)頭
    4、沒(méi)有給變量賦初值,并不意味著該變量中沒(méi)有數(shù)值,只表面給變量中沒(méi)有確定的值,因此直接使用這種變量的話可能產(chǎn)生莫名其妙的結(jié)果,有可能導(dǎo)致運(yùn)算錯(cuò)誤

    例程:

    #include <stdio.h>
    void main(void)
    {
        int a = 3, b = 5, c, d;
        c = a+b;
        d = a-b;
        printf("a+b=%d,a-b=%d\n",c,d);
    }
    原碼、反碼和補(bǔ)碼

    計(jì)算機(jī)中數(shù)分為有符號(hào)和無(wú)符號(hào)。他們是以二進(jìn)制形式表示的,有三種表示方法,即原碼和補(bǔ)碼。

    三種表示方式由符號(hào)位和數(shù)值位兩部分構(gòu)成

    符號(hào)位在最高位,用0表示“正”,1表示“負(fù)”。

    取余位為數(shù)值位

    C語(yǔ)言基本語(yǔ)法的示例分析

    C語(yǔ)言基本語(yǔ)法的示例分析

    原碼:按照二進(jìn)制的方法來(lái)表示數(shù)的絕對(duì)值,用這個(gè)方法得到的就是數(shù)的原碼。

    反碼:正數(shù)的反碼與其原碼相同,負(fù)數(shù)的反碼為其原碼除符號(hào)位以外的各位 按為取反。

    補(bǔ)碼:正數(shù)的補(bǔ)碼與其原碼相同,負(fù)數(shù)的補(bǔ)碼是將其原碼除符號(hào)位之外的各位求反之后,在末位再加1

    正數(shù)的原碼、反碼。補(bǔ)碼相同;負(fù)數(shù)的原碼、反碼、補(bǔ)碼不同。數(shù)值在計(jì)算機(jī)中以補(bǔ)碼形式存放。

    例如:求-127的補(bǔ)碼

    C語(yǔ)言基本語(yǔ)法的示例分析

    (2)實(shí)型數(shù)據(jù)

    實(shí)型數(shù)據(jù)又稱(chēng)為實(shí)數(shù)或浮點(diǎn)數(shù),指是帶有小數(shù)部分的非整數(shù)數(shù)值。

    實(shí)型常量

    在C語(yǔ)言中,實(shí)數(shù)常量只能用十進(jìn)制數(shù)表示,有兩種表示方法:

    1.小數(shù)形式:由數(shù)字0~9和小數(shù)點(diǎn)組成,當(dāng)小數(shù)部分為零時(shí),小數(shù)點(diǎn)不能省略。例如:0.0/24.4、-56.33等均為合法的實(shí)型常量

    2.指數(shù)形式:由十進(jìn)制數(shù)、加階碼標(biāo)志小寫(xiě)字母“e”(或大寫(xiě)字母“E”)和階碼(必須是整數(shù))組成。

    例如:2.3E5(相當(dāng)于2.3 x 10^5)

    以下是不合法的實(shí)型常量:

    123(無(wú)小數(shù)點(diǎn))

    E4(階碼“E”之前無(wú)數(shù)字)

    23.-E3(負(fù)號(hào)的位置不對(duì))

    2.7E(無(wú)階碼)

    實(shí)型變量

    C語(yǔ)言基本語(yǔ)法的示例分析
    C語(yǔ)言基本語(yǔ)法的示例分析

    實(shí)型變量的定義以及初始化

    例如:

    float a,b,c;			//定義a,b,c為單精度實(shí)型變量
    double m=3.5,n=5.6;		//定義m,n為雙精度實(shí)型變量,并分別賦值3.5和5.6

    (3)字符型數(shù)據(jù)

    字符常量是用一對(duì)單引號(hào)括起來(lái)的一個(gè)字符

    如:‘b'、‘z'、‘='、‘?'、‘5'

    字符常量特點(diǎn):

    1.字符常量只能是單個(gè)字符,不能是多個(gè)字符

    2.字符常量是以ASCII碼形式儲(chǔ)存,一個(gè)字符常量占用一個(gè)字節(jié)空間。

    ASCII碼

    ASCII碼表示American Standrd Code for Information Interchange。ASCII編碼能表示數(shù)據(jù)范圍是00000000~11111111共2^8即256個(gè)數(shù)據(jù)

    標(biāo)準(zhǔn)的ASCII碼有128個(gè)字符,其中:

    1.0-31為控制字符,例如,回車(chē)換行、文件結(jié)束標(biāo)志、字符串結(jié)束標(biāo)志

    2.10個(gè)阿拉伯‘0'~‘9'的碼值是連續(xù)的

    3.26個(gè)大寫(xiě)字母‘A'-‘Z'是連續(xù)的,26和大小寫(xiě)字母‘a(chǎn)'-‘z'是連續(xù)的

    4.字符常量也可以參與各種運(yùn)算,如:‘B'-‘A'值為1(字符‘B'的ASCII碼值減去66字符‘A'的ASCII碼值65結(jié)果為1)

    字符型變量

    1.字符型變量在內(nèi)存中占用1個(gè)字節(jié),只能存放一個(gè)字符,并以該字符的ASCII碼的值的形式存放

    2.在C語(yǔ)言中,一個(gè)字符型數(shù)據(jù)可以按照它的ASCII碼進(jìn)行數(shù)據(jù)運(yùn)算

    字符型數(shù)據(jù)儲(chǔ)存空間和值范圍

    類(lèi)型字節(jié)數(shù)取值范圍
    char1-128~127
    unsigned char10~255

    例程:給字符變量賦整數(shù)值

    #include <stdio.h>
    int main()
    {
        char ch2=65,ch3=66;
        printf("%c,%c\n",ch2,ch3);
        printf("%d,%d\n",ch2,ch3);
    }
    轉(zhuǎn)義字符字符

    轉(zhuǎn)義字符:是由一個(gè)反斜杠“"后跟規(guī)定,具有特定含義的字符

    常用轉(zhuǎn)義字符如下表

    C語(yǔ)言基本語(yǔ)法的示例分析

    轉(zhuǎn)義字符使用如下:

    #include <stdio.h>
    int main()
    {
        printf("\"china\"\n");
        printf("My \tCountry.\n");
        printf("I am hap\160\x79.\n");
    }
    字符串常量

    字符串常量是簡(jiǎn)稱(chēng)字符串,是用一對(duì)雙撇號(hào)(西方雙引號(hào)英文)括起來(lái)的一串字符,包含字符的個(gè)數(shù)和字符長(zhǎng)度
    例如:“Hello World”?!癮”,“C語(yǔ)言”都是字符串常量。

    字符串常量和字符常量區(qū)別:

    1.字符常量是右邊單引號(hào)括起來(lái)的字符,而字符串常量是由雙引號(hào)括起來(lái)的字符。盡管‘a(chǎn)'與“a”都包含一個(gè)字符,但在C程序中,它們都具有不同的含義

    2.字符常量只能是一個(gè)字符,字符串常量可以是多個(gè)字符

    3.可以把一個(gè)字符串常量賦值一個(gè)字符變量,但不能把一個(gè)字符常量賦值一個(gè)字符變量。

    字符串變量

    在C語(yǔ)言中沒(méi)有專(zhuān)門(mén)的字符串類(lèi)型,我們只能使用數(shù)組或者指針來(lái)間接地存儲(chǔ)字符串。

    char str1[] = "Hello World!"
    char *str2 = "你好世界!"

    str1 和 str2 是字符串的名字,后邊的[]和前邊的*是固定的寫(xiě)法。初學(xué)者暫時(shí)可以認(rèn)為這兩種存儲(chǔ)方式是等價(jià)的,它們都可以通過(guò)專(zhuān)用的 puts 函數(shù)和通用的 printf 函數(shù)輸出。

    #include <stdio.h>
    int main()
    {
        char web_url[] = "hHello World!";
        char *web_name = "你好世界";
        puts(web_url);
        puts(web_name);
        printf("%s\n%s\n", web_url, web_name);
        return 0;
    }

    以上是“C語(yǔ)言基本語(yǔ)法的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI