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

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

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

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

信盈達(dá) ? 2024-07-06 08:04 ? 次閱讀

C語言中的32個關(guān)鍵字你知道多少個呢?根據(jù)關(guān)鍵字的作用分為四類:數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲類型關(guān)鍵字和其它關(guān)鍵字。

4c879c24-3b2b-11ef-a655-92fbcf53809c.png

1.1 基本數(shù)據(jù)類型

  1. int:用于聲明整數(shù)類型的變量。
  2. char:用于聲明字符類型的變量。
  3. float:用于聲明單精度浮點(diǎn)數(shù)類型的變量。
  4. double:用于聲明雙精度浮點(diǎn)數(shù)類型的變量。


1.2 修飾符

這些修飾符用于改變基本數(shù)據(jù)類型的存儲大小和范圍。

1. short:用于聲明短整數(shù)類型的變量,通常比int短。

2. long:用于聲明長整數(shù)類型的變量,通常比int長。

3. signed:用于聲明有符號數(shù)類型的變量(默認(rèn)情況下,整數(shù)類型是有符號的)。

4. unsigned:用于聲明無符號數(shù)類型的變量。

1.3 派生類型

這些關(guān)鍵字用于聲明復(fù)雜類型的變量。

  1. struct:用于聲明結(jié)構(gòu)體類型。
  2. union:用于聲明共用體類型。
  3. enum:用于聲明枚舉類型。

1.4 類型定義

  1. typedef:用于給現(xiàn)有類型起別名。
  2. void:用于聲明無類型,常用于函數(shù)返回類型。

1.5 類型限定符

這些限定符用于改變變量的存儲和優(yōu)化方式。

  1. const:用于聲明常量,表示變量的值不能被修改。
  2. volatile:用于聲明易變變量,表示變量的值可能被程序之外的因素改變,編譯器不會對其進(jìn)行優(yōu)化。
  3. restrict:用于指針聲明,表示指針是唯一訪問對象的方式,能夠幫助編譯器優(yōu)化代碼。

1.6 復(fù)合類型

  1. _Bool:用于聲明布爾類型的變量。
  2. _Complex:用于聲明復(fù)數(shù)類型的變量(C99)。
  3. _Imaginary:用于聲明虛數(shù)類型的變量(C99)。

1.7 標(biāo)準(zhǔn)庫類型

通過標(biāo)準(zhǔn)庫中的頭文件,可以引入更多的數(shù)據(jù)類型關(guān)鍵字,例如 stddef.h 中的 size_t, stdint.h 中的 int32_t 等。這些關(guān)鍵字構(gòu)成了C語言的數(shù)據(jù)類型系統(tǒng),允許程序員根據(jù)需要聲明和定義各種變量和數(shù)據(jù)結(jié)構(gòu)。


4ca2efb0-3b2b-11ef-a655-92fbcf53809c.png

2.1 條件控制語句

if:用于條件判斷。

if(condition){

//codetobeexecutedifconditionistrue

}

else:用于與if配合,處理?xiàng)l件為假的情況。

if(condition){

//codetobeexecutedifconditionistrue

}else{

//codetobeexecutedifconditionisfalse

}

else if:用于在if和else之間檢查其他條件。

if(condition1){

//codetobeexecutedifcondition1istrue

}elseif(condition2){

//codetobeexecutedifcondition2istrue

}else{

//codetobeexecutedifbothconditionsarefalse

}

2.2 選擇控制語句

switch:用于根據(jù)變量的值進(jìn)行多分支選擇。

switch (variable) {

case value1:

// code to be executed if variable == value1

break;

case value2:

// code to be executed if variable == value2

break;

// other cases

default:

// code to be executed if variable doesn't match any case}

case:用于定義switch語句中的分支。

default:用于定義switch語句中的默認(rèn)分支。

2.3 循環(huán)控制語句

while:用于條件控制的循環(huán),在每次循環(huán)前檢查條件。

while(condition){//codetobeexecutedrepeatedlywhileconditionistrue

}

do...while:用于條件控制的循環(huán),在每次循環(huán)后檢查條件,保證循環(huán)體至少執(zhí)行一次。

do{

//codetobeexecutedrepeatedly

}while(condition);

for:用于計(jì)數(shù)控制的循環(huán)。

for(initialization;condition;increment){

//codetobeexecutedrepeatedlywhileconditionistrue

}

2.4跳轉(zhuǎn)控制語句

break:用于退出當(dāng)前的循環(huán)或switch語句。

break;

continue:用于跳過當(dāng)前循環(huán)中的剩余代碼,直接進(jìn)入下一次循環(huán)。

continue;

return:用于從函數(shù)中返回。

returnvalue;?

goto:用于無條件跳轉(zhuǎn)到標(biāo)號為label的語句。

gotolabel;

//othercode

label:

//codetobeexecutedafterthejump


2.5 其他控制語句

sizeof:用于獲取變量或類型的大小(以字節(jié)為單位)。

sizeof(type);?

assert:用于在調(diào)試時(shí)檢查條件是否為真,條件為假時(shí)終止程序執(zhí)行(需要包含assert.h頭文件)。

assert(condition);

這些關(guān)鍵字幫助程序員控制程序的執(zhí)行流程,實(shí)現(xiàn)條件判斷、循環(huán)、跳轉(zhuǎn)等功能。

4cc95cfe-3b2b-11ef-a655-92fbcf53809c.png

auto:是局部變量的默認(rèn)存儲類。它表示變量具有自動存儲持續(xù)時(shí)間,即變量在進(jìn)入其作用域時(shí)被創(chuàng)建,在退出其作用域時(shí)被銷毀。通常用于函數(shù)內(nèi)部的局部變量,現(xiàn)代編譯器可以省略此關(guān)鍵字。

autointx=10;//等同于intx=10;

register:建議編譯器將變量存儲在CPU寄存器中,而不是在內(nèi)存中,從而提高訪問速度。寄存器變量不能取地址(即不能使用&操作符)。

registerintcounter=0;

static有三種主要用途:1.在函數(shù)內(nèi)部:表示局部變量在函數(shù)調(diào)用之間保持其值,而不是每次調(diào)用時(shí)重新創(chuàng)建。

voidfunc(){

staticintcount=0;//count在第一次調(diào)用時(shí)被初始化,后續(xù)調(diào)用時(shí)保持其值

count++;

printf("%d\n",count);

}

2.在函數(shù)外部:表示變量在整個程序的生命周期內(nèi)可見,但僅在定義它的文件內(nèi)可見(即具有文件作用域)。

staticintglobalVar=100;//僅在定義它的文件內(nèi)可見

3.在函數(shù)聲明前:表示函數(shù)僅在定義它的文件內(nèi)可見。

staticvoidhelperFunction(){

//僅在定義它的文件內(nèi)可見

}

extern:用于聲明在其他文件中定義的變量或函數(shù),使得可以在當(dāng)前文件中引用它們。它表示變量或函數(shù)的定義在其他地方(可能是其他文件),但可以在當(dāng)前文件中使用。

externintglobalVar;//引用其他文件中定義的變量externvoidsomeFunction();//引用其他文件中定義的函數(shù)

_Thread_local:用于聲明線程局部存儲(TLS)變量,每個線程都有獨(dú)立的實(shí)例??梢耘cstatic或extern結(jié)合使用。

_Thread_localintthreadVar=0;//每個線程都有獨(dú)立的threadVar實(shí)例

這些存儲類型關(guān)鍵字提供了靈活的方式來管理變量的存儲、作用域和生命周期,從而優(yōu)化程序性能和內(nèi)存使用。

4ce0cefc-3b2b-11ef-a655-92fbcf53809c.png


C語言中有34種運(yùn)算符,涵蓋了算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算、位運(yùn)算、賦值運(yùn)算和其他特殊運(yùn)算。以下是這些運(yùn)算符的詳細(xì)分類和用法:

4cf9b494-3b2b-11ef-a655-92fbcf53809c.png

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

    關(guān)注

    180

    文章

    7604

    瀏覽量

    136808
  • 字符
    +關(guān)注

    關(guān)注

    0

    文章

    233

    瀏覽量

    25207
  • 數(shù)據(jù)類型
    +關(guān)注

    關(guān)注

    0

    文章

    236

    瀏覽量

    13624
收藏 人收藏

    評論

    相關(guān)推薦

    C語言關(guān)鍵字volatile的用法

    許多程序員都無法正確理解C語言關(guān)鍵字volatile,這并不奇怪。因?yàn)榇蠖鄶?shù)C語言書籍通常都是一兩句一帶而過,本文將告訴你如何正確使用它。
    發(fā)表于 04-11 09:35 ?2655次閱讀

    C語言關(guān)鍵字const的幾種用法

    本期來講解一個C語言關(guān)鍵字——const。
    發(fā)表于 06-21 11:05 ?1661次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>關(guān)鍵字</b>const的幾種用法

    C語言volatile關(guān)鍵字詳解 精選資料分享

    1.volatile和什么有關(guān)百度翻譯是這樣子翻譯volatile的:圖1-1 百度翻譯volatile截圖volatile屬于C語言關(guān)鍵字,《C Primer Puls》 是這樣解
    發(fā)表于 07-22 07:20

    C語言volatile關(guān)鍵字之間有什么關(guān)系?

    C語言volatile關(guān)鍵字之間有什么關(guān)系?
    發(fā)表于 11-11 07:01

    C語言關(guān)鍵字static的作用是什么

    C語言關(guān)鍵字static的作用是什么?用預(yù)處理指令#define 聲明一個函數(shù),輸入天數(shù)得到有多少秒?
    發(fā)表于 12-24 06:53

    標(biāo)準(zhǔn)C語言總共有32個關(guān)鍵字

    標(biāo)準(zhǔn)C語言總共有32個關(guān)鍵字
    發(fā)表于 01-12 15:59 ?0次下載

    C語言32個關(guān)鍵字九種控制語句34種運(yùn)算符

    C語言32個關(guān)鍵字九種控制語句34種運(yùn)算符 C語言32個關(guān)鍵字九種控制語句34種運(yùn)算符
    發(fā)表于 05-06 11:47 ?6次下載

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

    C語言32個關(guān)鍵字,感興趣的小伙伴們可以看看。
    發(fā)表于 07-26 16:29 ?66次下載

    嵌入式C語言非常常用的關(guān)鍵字

    這個關(guān)鍵字前面也有提到,它的作用是強(qiáng)大的。要對static關(guān)鍵字深入了解,首先需要掌握標(biāo)準(zhǔn)C程序的組成。
    的頭像 發(fā)表于 06-27 15:54 ?5346次閱讀

    淺析C語言中typedef關(guān)鍵字的作用

    C 語言提供了 typedef 關(guān)鍵字,您可以使用它來為類型取一個新的名字。
    的頭像 發(fā)表于 11-08 08:42 ?6005次閱讀

    學(xué)習(xí)C語言的目標(biāo)和方法有哪些及C語言關(guān)鍵字說明

     一、學(xué)習(xí)C語言的目標(biāo)主要是:1. 熟練掌握C語言關(guān)鍵字,語法規(guī)則,程序控制等;2.
    發(fā)表于 08-02 17:34 ?1次下載
    學(xué)習(xí)<b class='flag-5'>C</b><b class='flag-5'>語言</b>的目標(biāo)和方法有哪些及<b class='flag-5'>C</b><b class='flag-5'>語言</b>的<b class='flag-5'>關(guān)鍵字</b>說明

    C51的符號和五大語句及關(guān)鍵字等詳細(xì)資料說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是C51的符號和五大語句及關(guān)鍵字等詳細(xì)資料說明包括了:C語言 基本標(biāo)點(diǎn)符號,函數(shù)書寫格式與函數(shù)調(diào)用,單片機(jī)五大語句與32個
    發(fā)表于 12-11 17:34 ?31次下載
    <b class='flag-5'>C</b>51的符號和五大語句及<b class='flag-5'>關(guān)鍵字</b>等詳細(xì)資料說明

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

    C語言是一種面向過程、抽象化的通用程序設(shè)計(jì)語言,廣泛應(yīng)用于嵌入式底層和系統(tǒng)開發(fā)。C語言關(guān)鍵字共有
    的頭像 發(fā)表于 12-31 15:28 ?5075次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b>32個<b class='flag-5'>關(guān)鍵字</b>可以分為這幾類

    淺析C語言中的regiseter關(guān)鍵字

    C語言中重要的關(guān)鍵字有很多,static const extern我們之前都講過,還有一個在面試中出現(xiàn)的頻率也比較高:register。
    的頭像 發(fā)表于 08-25 17:10 ?1131次閱讀
    淺析<b class='flag-5'>C</b><b class='flag-5'>語言</b>中的regiseter<b class='flag-5'>關(guān)鍵字</b>

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

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