最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C 語(yǔ)言基礎(chǔ)之初識(shí) C 語(yǔ)言常量

 更新時(shí)間:2021年09月14日 16:01:53   作者:吞吞吐吐大魔王」  
C語(yǔ)言中的常量分為以下幾種:字面常量、const修飾的常變量、#define定義的標(biāo)識(shí)符常量等,下面我們將詳細(xì)對(duì)C語(yǔ)言這幾個(gè)常量做介紹,感興趣的小伙伴可以參考一下

C語(yǔ)言中的常量分為以下幾種:

  • 字面常量
  • const修飾的常變量
  • #define定義的標(biāo)識(shí)符常量
  • 枚舉常量

1、字面常量

即字面意思不能改變的量。如1就是1,你不能說(shuō)讓1等于2;如人的血型有固定的幾種(A,B,O,AB);如人的性別也只分為男性,女性,以及更深?yuàn)W的一種形態(tài)。

在C語(yǔ)言中:1,3.14,‘a',“hello”…這些都叫做常量。

2、const修飾的常變量

可以通過(guò)一段代碼來(lái)理解const修飾的常變量:

int num = 10;
printf("%d\n", num);  //num=10
num = 5;
printf("%d\n", num);  //num=5

上面這段代碼中 num是一個(gè)變量,通過(guò)你給num賦新的值,num就不停的在改變。

但是當(dāng)你在數(shù)據(jù)類(lèi)型前面加上constnum就發(fā)生微妙的改變。(自己可以在編譯器上使用看看)

const int num = 10;
printf("%d\n", num);  //編譯產(chǎn)生報(bào)錯(cuò)
num = 5;
printf("%d\n", num);

當(dāng)你編譯后,結(jié)果會(huì)產(chǎn)生報(bào)錯(cuò):

因?yàn)榇藭r(shí)numconst修飾下已經(jīng)變成了常變量,而變量是不可以被修改的。

但是num此時(shí)不能完全叫做常量,它歸根結(jié)底還是變量。如它不能在數(shù)組定義的時(shí)候使用。

//通過(guò)定義一個(gè)數(shù)組看出問(wèn)題
//int arr[10] = { 0 };------正常的定義數(shù)組

//int num = 10;
//int arr[num] = { 0 };-----結(jié)果產(chǎn)生報(bào)錯(cuò)

//const int num = 10;
//int arr[num] = { 0 };----結(jié)果產(chǎn)生報(bào)錯(cuò)

3、#define定義的標(biāo)識(shí)符常量(也叫預(yù)處理)

這是C語(yǔ)言定義數(shù)組大小經(jīng)常用到的方法,大家可以自行使用感覺(jué)一下。

使用格式:#define <標(biāo)識(shí)符> <常量值/表達(dá)式>

#include <stdio.h>
#define MAX 10
int main()
{
 int arr[MAX] = { 0 }; //通過(guò)改變MAX的大小就可以改變數(shù)組大小
    printf("%d",MAX);  //MAX=10
 return 0;
}

下面有個(gè)思考題,大家可以思考一下結(jié)果是什么:

#include <stdio.h>
#define MAX 5+5
int main()
{
 printf("%d", 3 * MAX);
 return 0;
}

此時(shí)輸出的結(jié)果是20,而并不是30。所以要明白#define MAX 5+5,MAX并不等于10。

既然可以把一個(gè)表達(dá)式賦給一個(gè)標(biāo)識(shí)符,那我可以不可以把一些參數(shù)賦值給這個(gè)標(biāo)識(shí)符呢?

大家可以思考一下這段代碼:

#include <stdio.h>
#define Add(a,b) a+b
int main()
{
 int sum = Add(3,2);
 printf("%d\n",sum);
 return 0;
}

此時(shí),先發(fā)生sum=a+b,再發(fā)生sum=3+2,故輸出5

我們這里只是講解最基礎(chǔ)的常量問(wèn)題,故不多衍生宏定義,后面會(huì)專(zhuān)門(mén)講解宏定義相關(guān)的內(nèi)容。

4、枚舉常量

如果大家學(xué)過(guò)結(jié)構(gòu)體,枚舉的定義與其比較相似。

enum的使用方法:

在定義enum的同時(shí),聲明變量:

enum Day {
 Mon,Tue,Wed,Thus,Fri,Sat,Sun
}Workday;   

定義完enum之后再聲明變量:

enum Day {
 Mon,Tue,Wed,Thus,Fri,Sat,Sun
};
enum Day Workday;

定義匿名的枚舉變量:(如果整個(gè)程序只用一個(gè)枚舉,則enum后面不必加標(biāo)識(shí)符,但是不能再定義枚舉結(jié)構(gòu))

enum {
 Mon,Tue,Wed,Thus,Fri,Sat,Sun
}Workday; 

通過(guò)一段碼來(lái)為大家剖析枚舉結(jié)構(gòu)的一些細(xì)節(jié):

#include <stdio.h>
enum Day {   //enum--枚舉類(lèi)型關(guān)鍵字  Day--枚舉類(lèi)型標(biāo)簽  enum Day--枚舉的類(lèi)型
 Mon=1,
 Tue,   //{ }里面的為枚舉值
 Wed,
 Thus,
 Fri,
 Sat,
 Sun
}Workday;   //Workday--枚舉變量

這里做一些說(shuō)明:

  • 如果Mon不做賦值,則默認(rèn)為0,后面依次增加,如Tue=1,Wed=2…
  • 如果Mon賦值為3,則后面也依次增加,如Tue=4,Wed=5…
  • 如果是從中間賦值,如Thus=7,則Thus后面的依次增加,之前的從Mon開(kāi)始則從0
  • 開(kāi)始增加
  • 枚舉值是常量,不是變量。不能在程序中用賦值語(yǔ)句再對(duì)它賦值。
  • 如:Tue=7,Sun=Wed。這些都是錯(cuò)誤的。
  • 只能把枚舉值賦給枚舉變量,而不能將該枚舉值的數(shù)值賦給枚舉變量

如:Workday=Tue----正確

​ Workday=2----錯(cuò)誤

關(guān)于枚舉的更多東西,后面再做分享。希望大家喜歡。

到此這篇關(guān)于C 語(yǔ)言基礎(chǔ)之初識(shí) C 語(yǔ)言常量的文章就介紹到這了,更多相關(guān) C 語(yǔ)言常量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • c語(yǔ)言中if語(yǔ)句是怎么變成匯編代碼的詳解

    c語(yǔ)言中if語(yǔ)句是怎么變成匯編代碼的詳解

    if語(yǔ)句是指編程語(yǔ)言,包括c語(yǔ)言、C#、VB、java、匯編語(yǔ)言等,下面這篇文章主要給大家介紹了關(guān)于c語(yǔ)言中if語(yǔ)句是怎么變成匯編代碼的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 基于Matlab實(shí)現(xiàn)多目標(biāo)粘液霉菌算法的示例代碼

    基于Matlab實(shí)現(xiàn)多目標(biāo)粘液霉菌算法的示例代碼

    多目標(biāo)粘液霉菌算法(MOSMA),這是最近開(kāi)發(fā)的粘液霉菌算法(SMA)的多目標(biāo)變體,用于處理工業(yè)中的多目標(biāo)優(yōu)化問(wèn)題。本文將用Matlab實(shí)現(xiàn)這一算法,需要的可以參考一下
    2022-05-05
  • Qt利用QScroller實(shí)現(xiàn)home界面滑動(dòng)效果

    Qt利用QScroller實(shí)現(xiàn)home界面滑動(dòng)效果

    這篇文章主要為大家詳細(xì)介紹了Qt如何利用QScroller實(shí)現(xiàn)home界面滑動(dòng)效果,文中的實(shí)現(xiàn)過(guò)程講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2022-11-11
  • ?C++模板template原理解析

    ?C++模板template原理解析

    這篇文章主要介紹了C++模板template原理,函數(shù)模板代表了一個(gè)函數(shù)家族,該函數(shù)模板與類(lèi)型無(wú)關(guān),在使用時(shí)被參數(shù)化,根據(jù)實(shí)參類(lèi)型產(chǎn)生函數(shù)的特定類(lèi)型版本
    2022-07-07
  • 一文掌握C++ const與constexpr及區(qū)別

    一文掌握C++ const與constexpr及區(qū)別

    C++ 11標(biāo)準(zhǔn)中,const 用于為修飾的變量添加“只讀”屬性而 constexpr關(guān)鍵字則用于指明其后是一個(gè)常量,編譯器在編譯程序時(shí)可以順帶將其結(jié)果計(jì)算出來(lái),而無(wú)需等到程序運(yùn)行階段,這樣的優(yōu)化極大地提高了程序的執(zhí)行效率,本文重點(diǎn)介紹C++ const與constexpr區(qū)別介紹,一起看看吧
    2024-02-02
  • C++中多線程的執(zhí)行順序如你預(yù)期嗎

    C++中多線程的執(zhí)行順序如你預(yù)期嗎

    這篇文章主要為大家詳細(xì)介紹一下C++中多線程的執(zhí)行順序的相關(guān)資料,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)C++多線程有一定幫助,需要的可以參考一下
    2022-10-10
  • 基于C++實(shí)現(xiàn)五子棋小游戲

    基于C++實(shí)現(xiàn)五子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了基于C++實(shí)現(xiàn)五子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • C++實(shí)踐IP地址類(lèi)項(xiàng)目參考

    C++實(shí)踐IP地址類(lèi)項(xiàng)目參考

    今天小編就為大家分享一篇關(guān)于C++實(shí)踐IP地址類(lèi)項(xiàng)目參考,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02
  • C++變量引用的概念介紹

    C++變量引用的概念介紹

    這篇文章主要介紹了C++變量引用的概念介紹,簡(jiǎn)單提到了與指針概念的不同,通過(guò)代碼場(chǎng)景分析給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • c語(yǔ)言冒泡排序法代碼

    c語(yǔ)言冒泡排序法代碼

    c語(yǔ)言冒泡排序法代碼,這個(gè)是大家最早接觸的算法吧,總在寫(xiě) 總在錯(cuò),學(xué)習(xí)就是這么個(gè)過(guò)程, 溫故才知新, 望自己謹(jǐn)記
    2013-02-02

最新評(píng)論

承德县| 福鼎市| 仙居县| 黄陵县| 南投县| 江门市| 封开县| 宁安市| 浦北县| 安徽省| 株洲市| 绥德县| 将乐县| 定边县| 扎囊县| 怀安县| 平邑县| 揭阳市| 德令哈市| 阳朔县| 屏山县| 江源县| 临邑县| 合川市| 塔城市| 兴安盟| 介休市| 闸北区| 重庆市| 乌苏市| 蓬溪县| 洪江市| 桂林市| 鹿邑县| 寻乌县| 汉源县| 北票市| 望奎县| 镇沅| 昌黎县| 富源县|