0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

C語言32個(gè)關(guān)鍵字可以分為這幾類

信盈達(dá) ? 2021-12-31 15:28 ? 次閱讀
C語言是一種面向過程、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于嵌入式底層和系統(tǒng)開發(fā)。

C語言關(guān)鍵字共有32個(gè),根據(jù)用途,可分為四類:

第一類:變量數(shù)據(jù)類型關(guān)鍵字:14個(gè)

第二類:9條基本語句用到的關(guān)鍵字:12個(gè)

第三類:存儲(chǔ)類型關(guān)鍵字:5個(gè)

第四類:運(yùn)算符關(guān)鍵字:1個(gè)

學(xué)技術(shù),重在日拱一卒、一點(diǎn)一滴的積累。今天一起來分析C語言的32個(gè)關(guān)鍵字都有哪些,以及關(guān)鍵字的含義、用途。

以下內(nèi)容,只代表個(gè)人觀點(diǎn),不一定對(duì),僅供參考,隨便看看。

36cc41c4-69c2-11ec-8d32-dac502259ad0.gif

C語言的32個(gè)關(guān)鍵字

C語言關(guān)鍵字總共有32個(gè),根據(jù)關(guān)鍵字的用途,可分為四類:

第一類:變量數(shù)據(jù)類型關(guān)鍵字:14個(gè)

1.1 char 單字節(jié)整型數(shù)或字符型數(shù)據(jù)

1.2 short短整型數(shù)

1.3 int基本整型數(shù)

1.4 long長(zhǎng)整型數(shù)

1.5 float單精度浮點(diǎn)型數(shù)

1.6 double雙精度浮點(diǎn)型數(shù)

1.7 signed有符號(hào)數(shù)

二進(jìn)制數(shù)據(jù)的最高位為符號(hào)位,最高位是1為負(fù)數(shù),最高位是0為正數(shù)。

1.8 unsigned無符號(hào)數(shù)數(shù)據(jù)

1.9 void無數(shù)據(jù)類型、空數(shù)據(jù)類型

1.10 volatile 該變量在程序執(zhí)行中可被隱含的改變

1.11 typedef 重新進(jìn)行數(shù)據(jù)類型定義

1.12 struct 結(jié)構(gòu)類型數(shù)據(jù)

1.13 enum 枚舉類型數(shù)據(jù)

1.14 union 聯(lián)合類型數(shù)據(jù)

第二類:9條基本語句用到的關(guān)鍵字:12個(gè)

2.1 if ,構(gòu)成選擇語句

2.2 else,構(gòu)成選擇語句

2.3 witch,構(gòu)成選擇語句

2.4 case,構(gòu)成選擇語句

2.5 break,跳出最內(nèi)層循環(huán)

2.6 default,構(gòu)成選擇語句

2.7 for,構(gòu)成循環(huán)語句

2.8 do,構(gòu)成循環(huán)語句

2.9 while,構(gòu)成循環(huán)語句

2.10 continue,轉(zhuǎn)向下一次循環(huán)

2.11 goto,無條件轉(zhuǎn)移語句

2.12 return,函數(shù)返回

第三類:存儲(chǔ)類型關(guān)鍵字:5個(gè)

3.1 const 在程序執(zhí)行過程中不可更改的常量值

3.2 extern 在其它程序模塊中說明了的全局變量

3.3 static 靜態(tài)變量

3.4 register使用CPU內(nèi)部寄存器的變量

3.5 auto 用以說明局部變量,缺省值為此類型變量

第四類:運(yùn)算符關(guān)鍵字:1個(gè)

4.1 sizeof 運(yùn)算符,計(jì)算表達(dá)式或數(shù)據(jù)類型占用的,內(nèi)存的字節(jié)數(shù)。

372ca974-69c2-11ec-8d32-dac502259ad0.gifC語言32個(gè)關(guān)鍵字的用法

C語言關(guān)鍵字總共有32個(gè),其中第一類:變量數(shù)據(jù)類型關(guān)鍵字14個(gè),會(huì)在后續(xù)C語言學(xué)習(xí)文章中講解。

第二類:9條基本語句用到的關(guān)鍵字:12個(gè)已經(jīng)在@老牛經(jīng)濟(jì)學(xué) NJS2 淺談C語言入門中分析過。

下面重點(diǎn)分析以下兩類關(guān)鍵字的用法。

第三類:存儲(chǔ)類型關(guān)鍵字:5個(gè)

3.1 const 在程序執(zhí)行過程中不可更改的常量值

C語言程序范例:

charx=9;

const int a=1000;

const char *sp=&a;

char*const ss=&a;

const char *const sz=&a;

程序分析:

第一行代碼:定義x為字符型變量,并賦值為9,后面x變量的值可以被改變。

第二行代碼:定義a為整型變量,賦值為1000,且值不能被改變。

第三行代碼:定義sp為字符型指針,且sp指針指向的地址里面的數(shù)不能被改變。

第四行代碼:定義ss為字符型指針,指針的值,也就是指針指向的地址&a不能被改變,但指針指向地址里面的變量a可被改變。

第五行代碼:定義sz為字符型指針,指針的值,也就是指針指向的地址&a不能改變,并且指針指向地址里面的變量a也不能被改變。

3.2 extern 在其它程序模塊中說明了的全局變量

extern 關(guān)鍵字在C語言的一個(gè)工程中,有多個(gè).c文件,這些.c文件中如果需要共用相同的變量,可以將該變量定義為extern變量。另外需要注意該變量的作用域。

3.3 static 靜態(tài)變量

static關(guān)鍵字定義該變量為靜態(tài)變量。

如果定義為全局變量的靜態(tài)變量,則和全局變量完全相同,只是靜態(tài)全局變量只能在該.c文件中使用。而全局變量在同一個(gè)工程文件中可以被多個(gè).c文件使用。

如果定義為局部靜態(tài)變量,作用域和局部變量完全相同。并且該局部變量占用的內(nèi)存不會(huì)被優(yōu)化,會(huì)一直存在。

定義為局部靜態(tài)變量,沒有賦值,默認(rèn)為0。

3.4 register使用CPU內(nèi)部寄存器的變量

register表示該變量存儲(chǔ)在cpu的寄存器中,編譯程序相應(yīng)的變量將被頻繁的使用,一般該變量可以加快存儲(chǔ)的速度。

3.5 auto 用以說明局部變量,缺省值為此類型變量

auto char a;和char a;這兩條賦值語句的含義完全相同。

第四類:運(yùn)算符關(guān)鍵字:1個(gè)

4.1 sizeof 運(yùn)算符,計(jì)算表達(dá)式或數(shù)據(jù)類型占用的,內(nèi)存的字節(jié)數(shù)。

C語言程序范例:

unsigned char a,m,n,x,y,z;

unsigned int b;

unsigned char niu[10];

unsigned char*sp;

m=sizeof(a);

n=sizeof(b);

x=sizeof(niu);

y=sizeof(sp);

z=sizoef(*sp);

程序分析:

第一行代碼:定義a,m,n,x,y五個(gè)變量為無符號(hào)字符型變量,這些變量在內(nèi)存中各占用1個(gè)字節(jié),它們的取值范圍為0-255。

第二行代碼:定義b變量為無符號(hào)整型變量,該變量在內(nèi)存中占用4個(gè)字節(jié)。

第三行代碼:定義niu為數(shù)組變量,該數(shù)組長(zhǎng)度為10。

第四行代碼:定義sp為指針變量,該指針指向的內(nèi)存空間,存放的數(shù)為字符型變量。

程序運(yùn)行結(jié)果:

m=1。

n=4。

x=10。

y=4//sizoef(sp)表示sp指針占用內(nèi)存空間大小。C語言中不論是那種類型的指針,均默認(rèn)占4個(gè)字節(jié)內(nèi)存。

z=1。//sizoef(*sp)表示sp指針指向地址里面的數(shù),占用的內(nèi)存大小。

C語言的關(guān)鍵字,需要在編程中,有意識(shí)的去訓(xùn)練和實(shí)踐,才能達(dá)到熟練應(yīng)用的目標(biāo)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136820
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    C語言關(guān)鍵字分別發(fā)生在哪個(gè)階段

    以下C語言關(guān)鍵字,分別發(fā)生在哪個(gè)階段? 第一個(gè),define。 首先得糾正一下,define 并不是C
    的頭像 發(fā)表于 11-24 10:31 ?182次閱讀

    C++新手容易犯的十個(gè)編程錯(cuò)誤

    簡(jiǎn)單的總結(jié)一下?C++ 新手容易犯的一些編程錯(cuò)誤,給新人們提供一個(gè)參考。 1 有些關(guān)鍵字在 cpp 文件中多寫了 對(duì)于 C++ 類,一些關(guān)鍵字
    的頭像 發(fā)表于 11-15 12:42 ?354次閱讀

    C語言關(guān)鍵字--typedef

    C語言關(guān)鍵字使用方法學(xué)習(xí)指南!
    的頭像 發(fā)表于 10-07 12:44 ?264次閱讀

    使用邊緣AI和Sitara處理器進(jìn)行關(guān)鍵字檢測(cè)

    電子發(fā)燒友網(wǎng)站提供《使用邊緣AI和Sitara處理器進(jìn)行關(guān)鍵字檢測(cè).pdf》資料免費(fèi)下載
    發(fā)表于 09-02 11:30 ?0次下載
    使用邊緣AI和Sitara處理器進(jìn)行<b class='flag-5'>關(guān)鍵字</b>檢測(cè)

    typedef struct和直接struct的區(qū)別

    C語言中, typedef 和 struct 是兩種不同的關(guān)鍵字,它們?cè)诙x和使用上有著明顯的區(qū)別。 typedef struct 和直接 struct 在 C
    的頭像 發(fā)表于 08-20 10:58 ?2777次閱讀

    軟開關(guān)電路可以分為幾類

    軟開關(guān)電路是一種在電力電子領(lǐng)域中廣泛應(yīng)用的技術(shù),它通過減少開關(guān)器件在開關(guān)過程中的電壓和電流應(yīng)力,從而降低開關(guān)損耗、提高效率、減小電磁干擾等。軟開關(guān)電路可以分為以下幾類: 零電壓開關(guān)(ZVS)電路 零
    的頭像 發(fā)表于 08-14 11:06 ?998次閱讀

    鴻蒙原生應(yīng)用元服務(wù)開發(fā)-倉頡基本概念標(biāo)識(shí)符

    在倉頡編程語言中,開發(fā)者可以給一些程序元素命名,這些名字也被稱為“標(biāo)識(shí)符”,標(biāo)識(shí)符分為普通標(biāo)識(shí)符和原始標(biāo)識(shí)符兩類,它們分別遵從不同的命名規(guī)則。 普通標(biāo)識(shí)符不能和倉頡關(guān)鍵字相同,
    發(fā)表于 08-06 17:37

    快速掌握C語言關(guān)鍵字

    C語言中的32個(gè)關(guān)鍵字你知道多少個(gè)呢?根據(jù)關(guān)鍵字的作用分為
    的頭像 發(fā)表于 07-06 08:04 ?351次閱讀
    快速掌握<b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>關(guān)鍵字</b>

    嵌入式中C語言結(jié)構(gòu)體基本實(shí)現(xiàn)

    C語言中的數(shù)組只能允許程序員定義存儲(chǔ)相同類型數(shù)據(jù)。但是結(jié)構(gòu)是C語言編程中允許您存儲(chǔ)不同數(shù)據(jù)類型的數(shù)據(jù)。 結(jié)構(gòu)體的定義 ????要想定義結(jié)構(gòu),必須用到 struct
    的頭像 發(fā)表于 05-11 08:49 ?1039次閱讀
    嵌入式中<b class='flag-5'>C</b><b class='flag-5'>語言</b>結(jié)構(gòu)體基本實(shí)現(xiàn)

    嵌入式微處理器的架構(gòu)分為幾類

    首先,讓我們從宏觀的角度了解嵌入式微處理器的架構(gòu)分類。它們主要可以分為以下幾類
    的頭像 發(fā)表于 04-07 15:25 ?687次閱讀

    C語言中的typedef的應(yīng)用

    C 語言提供了 typedef 關(guān)鍵字,您可以使用它來為類型取一個(gè)新的名字。下面的實(shí)例為單字節(jié)數(shù)字定義了一
    發(fā)表于 03-06 11:34 ?386次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>中的typedef的應(yīng)用

    嵌入式C語言面試大挑戰(zhàn)

    C++中static關(guān)鍵字除了具有C中的作用還有在類中的使用在類中,static可以用來修飾靜態(tài)數(shù)據(jù)成員和靜態(tài)成員方法靜態(tài)數(shù)據(jù)成員
    發(fā)表于 03-05 14:18 ?355次閱讀
    嵌入式<b class='flag-5'>C</b><b class='flag-5'>語言</b>面試大挑戰(zhàn)

    關(guān)鍵字搜索文件夾中某個(gè)TXT文件

    文件夾中隨時(shí)創(chuàng)造TXT文件,如何及時(shí)選出剛創(chuàng)造的文件?或關(guān)鍵字搜索出需要的TXT文件?
    發(fā)表于 02-06 15:22

    rfid標(biāo)簽分為幾類,各有什么特點(diǎn)

    RFID(Radio-Frequency Identification)技術(shù)是一種無線識(shí)別技術(shù),通過無線電波識(shí)別并讀取目標(biāo)對(duì)象上的存有信息的電子標(biāo)簽。根據(jù)功能和尺寸的不同,RFID標(biāo)簽可以分為幾類
    的頭像 發(fā)表于 01-30 14:56 ?2803次閱讀

    在NVM和本地\"內(nèi)存中定義數(shù)組(靜態(tài) /global /local)的\"關(guān)鍵字是什么?

    在 NVM 和本地\"內(nèi)存中定義數(shù)組(靜態(tài) /global /local)的\"關(guān)鍵字是什么? 還有與 32 位對(duì)齊的關(guān)鍵字怎么樣。
    發(fā)表于 01-25 07:52