一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

技術(shù)干貨驛站 ▏深入理解C語言:掌握常量,讓你的代碼更加穩(wěn)固高效!

合眾恒躍 ? 2024-08-29 13:59 ? 次閱讀

C語言的世界中,常量是一種不可忽視的元素。無論你是在編寫簡單的代碼,還是構(gòu)建復(fù)雜的系統(tǒng),常量都能為你的程序帶來更高的穩(wěn)定性和可靠性。在這篇文章中,我們將深入探討C語言中的常量,從整數(shù)常量到字符串常量,逐一解析它們的使用方法和特點(diǎn),幫助你在編程中更加得心應(yīng)手。

01

常量

常量是固定值,在程序執(zhí)行期間不會(huì)改變。這些固定的值,又叫做字面量。

常量可以是任何的基本數(shù)據(jù)類型,比如整數(shù)常量、浮點(diǎn)常量、字符常量,或字符串常量,也有枚舉常量。

常量就像是常規(guī)的變量,只不過常量的值在定義后不能進(jìn)行修改,常量可以直接在代碼中使用,也可以通過定義常量來使用。

02

整數(shù)常量

整數(shù)常量可以是十進(jìn)制、八進(jìn)制或十六進(jìn)制。前綴用來指定基數(shù),0x 或 0X 表示十六進(jìn)制,0 表示八進(jìn)制,不帶前綴則默認(rèn)表示十進(jìn)制。

整數(shù)常量也可以帶一個(gè)后綴,后綴可以是U或者L,不區(qū)分大小寫,也無順序要求,U 表示無符號(hào)整數(shù)(unsigned),L 表示長整數(shù)(long)。

以下是幾個(gè)示例:

cef1252a-65cb-11ef-9e9e-92fbcf53809c.pngcf0037b8-65cb-11ef-9e9e-92fbcf53809c.png

03

浮點(diǎn)常量

浮點(diǎn)常量由整數(shù)部分、小數(shù)點(diǎn)、小數(shù)部分和指數(shù)部分組成。可以使用小數(shù)形式或者指數(shù)形式來表示浮點(diǎn)常量。

當(dāng)使用小數(shù)形式表示時(shí),必須同時(shí)包含整數(shù)部分和小數(shù)部分。當(dāng)使用指數(shù)形式表示時(shí), 必須同時(shí)包含小數(shù)點(diǎn)和指數(shù)。帶符號(hào)的指數(shù)是用 e 或 E 引入的。

以下是幾個(gè)示例:

cf1e2f0c-65cb-11ef-9e9e-92fbcf53809c.png

04

字符常量

字符常量是括在單引號(hào)中,例如,'x' 可以存儲(chǔ)在 char 類型的簡單變量中。

字符常量可以是一個(gè)普通的字符(例如 'x')、一個(gè)轉(zhuǎn)義序列(例如 '\t'),或一個(gè)通用的字符(例如 '\u02C0')。

在 C 中,有一些特定的字符,當(dāng)它們前面有反斜杠時(shí),它們就具有特殊的含義,被用來表示如換行符(\n)或制表符(\t)等。大家可以自行搜索 “轉(zhuǎn)義字符” 來查看,這里舉例常見的換行符\n:

cf471db8-65cb-11ef-9e9e-92fbcf53809c.png

這是一個(gè)簡單的C語言程序,編譯運(yùn)行后結(jié)果如下:

cf50bef4-65cb-11ef-9e9e-92fbcf53809c.png

可以看到,這里的hello world 和命令行在同一行內(nèi),不方便查看。我們添加兩個(gè)換行符進(jìn)去:

cf63f0aa-65cb-11ef-9e9e-92fbcf53809c.png

\n 表示在這一行的末尾位置換行,我們編譯運(yùn)行這個(gè)程序來看一下效果:

cf73d218-65cb-11ef-9e9e-92fbcf53809c.png

可以看到,由于添加了兩個(gè)換行符,每一個(gè)詞都做了換行處理,方便查看。

05

字符串常量

字符串常量是括在雙引號(hào) " " 中的。一個(gè)字符串包含類似于字符常量的字符:普通的字符、轉(zhuǎn)義序列和通用的字符。

可以使用空格做分隔符,把一個(gè)很長的字符串常量進(jìn)行分行。

06

定義常量

在 C 中,有兩種簡單的定義常量的方式:

使用 #define 預(yù)處理器:#define 可以在程序中定義一個(gè)常量,它在編譯時(shí)會(huì)被替換為其對(duì)應(yīng)的值。

使用 const 關(guān)鍵字:const 關(guān)鍵字用于聲明一個(gè)只讀變量,即該變量的值不能在程序運(yùn)行時(shí)修改。

下面我們通過實(shí)例來看一下兩種方式的不同。

01 / #define預(yù)處理器

cfaaa6f8-65cb-11ef-9e9e-92fbcf53809c.png

編譯運(yùn)行結(jié)果如下:

cfba137c-65cb-11ef-9e9e-92fbcf53809c.png

02/const關(guān)鍵字

cfc3b738-65cb-11ef-9e9e-92fbcf53809c.png

編譯運(yùn)行結(jié)果如下:

cfd827c2-65cb-11ef-9e9e-92fbcf53809c.png

03 /#define 與 const 的區(qū)別

#define 是預(yù)處理器在預(yù)處理階段完成的,而 const 是在編譯器開始編譯程序階段完成的。

#define 是宏定義,其特點(diǎn)是簡單的原位替換。它定義的常量值沒有類型限定,也不進(jìn)行類型檢查,只是在出現(xiàn)宏名稱的地方直接展開;const 是關(guān)鍵字,本質(zhì)上定義了一個(gè)只讀變量,不可更改。編譯時(shí)會(huì)檢查常量值的類型是否匹配。

#define 適用于簡單的文本替換,例如常量表達(dá)式、宏定義和條件編譯等場(chǎng)景;使用?const?更適合定義具有類型和作用域的常量,它具有類型安全性,可以進(jìn)行類型檢查,并且在內(nèi)存中分配存儲(chǔ)空間。

在 C 語言中,推薦使用 const 來定義常量,以提供更好的類型檢查和代碼可讀性。

04 /#define 與 const 的優(yōu)點(diǎn)

const的優(yōu)點(diǎn)

const常量有數(shù)據(jù)類型,而宏常量沒有數(shù)據(jù)類型。編譯器可以對(duì)前者進(jìn)行類型安全檢查。而對(duì)后者只進(jìn)行字符替換,沒有類型安全檢查,并且在字符替換可能會(huì)產(chǎn)生意料不到的錯(cuò)誤。


有些集成化的調(diào)試工具可以對(duì)const常量進(jìn)行調(diào)試,但是不能對(duì)宏常量進(jìn)行調(diào)試。


const可節(jié)省空間,避免不必要的內(nèi)存分配,提高效率。

#define的優(yōu)點(diǎn)

宏可以定義一些函數(shù),const不可以;宏可以使代更碼簡潔;使用宏可以方便代碼維護(hù);宏還可以定義帶參數(shù)的宏,做到一定程度的泛型(利用#或者##操作符)。

總結(jié)

通過對(duì)C語言中常量的深入了解和運(yùn)用,你可以顯著提升代碼的穩(wěn)定性和可讀性。常量在確保程序行為一致性的同時(shí),也為代碼的優(yōu)化提供了有力支持。合理使用不同類型的常量,以及#define和const的結(jié)合,將為你的編程工作奠定堅(jiān)實(shí)的基礎(chǔ)。在日后的開發(fā)中,充分利用這些工具,將使你的代碼更加高效可靠。

聲明:本文內(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

    文章

    7628

    瀏覽量

    139696
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3817

    瀏覽量

    82168
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4880

    瀏覽量

    69998
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    技術(shù)干貨驛站深入理解C語言:基本數(shù)據(jù)類型和變量

    C語言中,數(shù)據(jù)類型和變量是編程的基礎(chǔ),也是理解更復(fù)雜概念的關(guān)鍵。數(shù)據(jù)類型決定了變量的內(nèi)存分配、存儲(chǔ)范圍和操作方式,而變量則是存儲(chǔ)數(shù)據(jù)的容器。本篇文章將從基本數(shù)據(jù)類型和變量兩個(gè)方面,帶你深入
    的頭像 發(fā)表于 07-26 17:53 ?2496次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b> ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:基本數(shù)據(jù)類型和變量

    技術(shù)干貨驛站深入理解C語言掌握程序結(jié)構(gòu)知識(shí)

    在計(jì)算機(jī)編程的世界中,C語言被廣泛認(rèn)可為一門強(qiáng)大而高效的編程語言,其簡潔的語法和直接的指令使得它成為了許多程序員的首選。了解C
    的頭像 發(fā)表于 07-27 08:45 ?1706次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b> ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>掌握</b>程序結(jié)構(gòu)知識(shí)

    深入理解C語言C語言循環(huán)控制

    C語言編程中,循環(huán)結(jié)構(gòu)是至關(guān)重要的,它可以程序重復(fù)執(zhí)行特定的代碼塊,從而提高編程效率。然而,為了避免程序進(jìn)入無限循環(huán),C
    的頭像 發(fā)表于 04-29 18:49 ?325次閱讀
    <b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>C</b><b class='flag-5'>語言</b>循環(huán)控制

    深入理解和實(shí)現(xiàn)RTOS_連載

    了解和掌握RTOS的多任務(wù)機(jī)制。深入理解和實(shí)現(xiàn)RTOS_連載4_多任務(wù)機(jī)制實(shí)現(xiàn)本篇將詳細(xì)介紹TROCHILI RTOS 多任務(wù)機(jī)制的實(shí)現(xiàn),內(nèi)容很詳細(xì)、很豐富,涉及了大量RTOS底層實(shí)現(xiàn)。建議讀者參考實(shí)際代碼
    發(fā)表于 05-29 11:20

    深入理解和實(shí)現(xiàn)RTOS_連載

    連載的幾篇?jiǎng)t會(huì)通過流程圖、代碼演示的方式仔細(xì)講解飛鳥RTOS的多任務(wù)機(jī)制的實(shí)現(xiàn)和應(yīng)用。按照原理、設(shè)計(jì)、實(shí)現(xiàn)、應(yīng)用的思路,帶領(lǐng)讀者逐步深入了解和掌握RTOS的多任務(wù)機(jī)制。深入理解和實(shí)現(xiàn)R
    發(fā)表于 05-30 01:02

    深入理解C語言比較有用的幾個(gè)資料

    這里有三個(gè)對(duì)深入理解C語言的資料,覺得不錯(cuò),分享一下
    發(fā)表于 08-07 21:37

    51單片機(jī)C語言講義(譚浩強(qiáng))以及深入理解C指針

    本帖最后由 發(fā)燒友之麒麟 于 2014-10-6 09:19 編輯 C語言講義(譚浩強(qiáng))及深入理解C指針,自己在用的資料,覺得寫得挺好的就拿出來分享,需要的請(qǐng)回[attach]2
    發(fā)表于 10-02 17:05

    如何更加深入理解MOSFET開關(guān)損耗?

    如何更加深入理解MOSFET開關(guān)損耗?Coss產(chǎn)生開關(guān)損耗與對(duì)開關(guān)過程有什么影響?
    發(fā)表于 04-07 06:01

    對(duì)棧的深入理解

    為什么要深入理解棧?做C語言開發(fā)如果棧設(shè)置不合理或者使用不對(duì),棧就會(huì)溢出,溢出就會(huì)遇到無法預(yù)測(cè)亂飛現(xiàn)象。所以對(duì)棧的深入理解是非常重要的。注:動(dòng)畫如果看不清楚可以電腦看更清晰啥是棧先來看
    發(fā)表于 02-15 07:01

    為什么要深入理解

    [導(dǎo)讀] 從這篇文章開始,將會(huì)不定期更新關(guān)于嵌入式C語言編程相關(guān)的個(gè)人認(rèn)為比較重要的知識(shí)點(diǎn),或者踩過的坑。為什么要深入理解棧?做C語言開發(fā)如
    發(fā)表于 02-15 06:09

    如何更加深入理解I2C總線、協(xié)議及應(yīng)用

    更加深入理解I2C總線、協(xié)議及應(yīng)用
    的頭像 發(fā)表于 03-20 09:29 ?3518次閱讀
    如何<b class='flag-5'>更加深入理解</b>I2<b class='flag-5'>C</b>總線、協(xié)議及應(yīng)用

    技術(shù)干貨驛站深入理解C語言:編程高手必備,全方位解析運(yùn)算符的核心技能!

    過程中發(fā)揮著重要作用,還對(duì)程序的性能和穩(wěn)定性產(chǎn)生直接影響。繼上一期對(duì)C語言常量深入分析后,本文將進(jìn)一步探討C
    的頭像 發(fā)表于 09-18 15:56 ?596次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b> ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:編程高手必備,全方位解析運(yùn)算符的核心技能!

    技術(shù)干貨驛站深入理解C語言掌握C語言條件判斷,從if到switch的應(yīng)用

    語句和條件運(yùn)算符。這些結(jié)構(gòu)不僅增強(qiáng)了代碼的靈活性,還提高了程序的可讀性和可維護(hù)性。本文將深入探討C語言中的主要條件判斷語句,包括它們的語法、使用方法及實(shí)際應(yīng)用,通過
    的頭像 發(fā)表于 11-09 01:10 ?701次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b> ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:<b class='flag-5'>掌握</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>條件判斷,從if到switch的應(yīng)用

    深入理解C語言:循環(huán)語句的應(yīng)用與優(yōu)化技巧

    能讓代碼更加簡潔明了,還能顯著提升程序執(zhí)行效率。本文將詳細(xì)介紹C語言中的三種常見循環(huán)結(jié)構(gòu)——while循環(huán)、for循環(huán)和do...whi
    的頭像 發(fā)表于 12-07 01:11 ?450次閱讀
    <b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:循環(huán)語句的應(yīng)用與優(yōu)化技巧

    技術(shù)干貨驛站深入理解C語言:嵌套循環(huán)與循環(huán)控制的底層原理

    多重循環(huán),還是控制循環(huán)的執(zhí)行流程,掌握這些知識(shí)都將為的編程之路打下堅(jiān)實(shí)的基礎(chǔ)。嵌套循環(huán)在C語言中,循環(huán)語句可以嵌套使用,即在一個(gè)循環(huán)中再使用另一個(gè)循環(huán)。這種嵌套結(jié)
    的頭像 發(fā)表于 02-21 18:26 ?345次閱讀
    <b class='flag-5'>技術(shù)</b><b class='flag-5'>干貨</b><b class='flag-5'>驛站</b>  ▏<b class='flag-5'>深入理解</b><b class='flag-5'>C</b><b class='flag-5'>語言</b>:嵌套循環(huán)與循環(huán)控制的底層原理