欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

C語言中的常量分為以下幾種:

  • 字面常量
  • const修飾的常變量
  • #define定義的標識符常量
  • 枚舉常量

1、字面常量

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

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

2、const修飾的常變量

可以通過一段代碼來理解const修飾的常變量:

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

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

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

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

當你編譯后,結(jié)果會產(chǎn)生報錯:

因為此時numconst修飾下已經(jīng)變成了常變量,而變量是不可以被修改的。

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

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

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

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

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

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

使用格式:#define <標識符> <常量值/表達式>

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

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

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

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

既然可以把一個表達式賦給一個標識符,那我可以不可以把一些參數(shù)賦值給這個標識符呢?

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

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

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

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

4、枚舉常量

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

enum的使用方法:

在定義enum的同時,聲明變量:

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

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

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

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

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

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

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

這里做一些說明:

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

如:Workday=Tue----正確

​ Workday=2----錯誤

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

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

相關(guān)文章

  • QT實現(xiàn)簡單TCP通信

    QT實現(xiàn)簡單TCP通信

    這篇文章主要為大家詳細介紹了QT實現(xiàn)簡單的TCP通信,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Atom安裝配置C/C++詳細教程

    Atom安裝配置C/C++詳細教程

    Atom (一款開源的代碼編輯器)是github專門為程序員推出的一個跨平臺文本編輯器。這篇文章主要介紹了Atom安裝配置C/C++教程,需要的朋友可以參考下
    2020-05-05
  • C語言數(shù)據(jù)結(jié)構(gòu)之二叉鏈表創(chuàng)建二叉樹

    C語言數(shù)據(jù)結(jié)構(gòu)之二叉鏈表創(chuàng)建二叉樹

    這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之?二叉鏈表創(chuàng)建二叉樹,下文我們?yōu)榱烁奖愕氖褂枚鏄浣Y(jié)構(gòu)體,可以使用?typedef?對結(jié)構(gòu)體進行命名,具體內(nèi)容需要的小伙伴可以參考一下
    2022-02-02
  • OpenCV鼠標繪制矩形和截取矩形區(qū)域圖像

    OpenCV鼠標繪制矩形和截取矩形區(qū)域圖像

    這篇文章主要為大家詳細介紹了OpenCV鼠標繪制矩形和截取矩形區(qū)域圖像,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • protobuf c++編程筆記

    protobuf c++編程筆記

    這篇文章主要介紹了Protobuf的c++編程筆記,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • C語言文件操作詳情(一)

    C語言文件操作詳情(一)

    這篇文章主要介紹了C語言文件操作詳情,主要討論的是數(shù)據(jù)文件,通過處理的磁盤上的文件展開主題內(nèi)容介紹,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-04-04
  • Qt控件點擊消息獲取的方法詳解

    Qt控件點擊消息獲取的方法詳解

    本文將利用Qt中的QLabel、QPushButton這兩個控件,為大家詳細介紹一下Qt控件點擊消息獲取的方法,文中的示例代碼講解詳細,感興趣的可以了解一下
    2022-06-06
  • CLion開發(fā)stm32?使用DSP庫的操作方法

    CLion開發(fā)stm32?使用DSP庫的操作方法

    這篇文章主要介紹了CLion開發(fā)stm32?使用DSP庫的方法,首先需要添加DSP庫文件到工程目錄,修改CMakeLists,添加STM32HAL庫,本文結(jié)合實例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • C++左值與右值,右值引用,移動語義與完美轉(zhuǎn)發(fā)詳解

    C++左值與右值,右值引用,移動語義與完美轉(zhuǎn)發(fā)詳解

    這篇文章主要為大家詳細介紹了Python實現(xiàn)學(xué)生成績管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C++ 將數(shù)據(jù)轉(zhuǎn)為字符串的幾種方法

    C++ 將數(shù)據(jù)轉(zhuǎn)為字符串的幾種方法

    這篇文章主要介紹了C++ 將數(shù)據(jù)轉(zhuǎn)為字符串的幾種方法,十分的實用,有需要的小伙伴可以參考下。
    2015-06-06

最新評論