淺析C語(yǔ)言初階的常量和變量
什么是常量和變量
在C程序執(zhí)行過(guò)程中,其值不發(fā)生改變的量稱為常量,其值可變的量稱為變量。它們可與數(shù)據(jù)類型結(jié)合起來(lái)分類。例如,可分為整型常量、整型變量、浮點(diǎn)常量、浮點(diǎn)變量、字符常量、字符變量、枚舉常量、枚舉變量。在程序中,直接常量是可以不經(jīng)說(shuō)明而直接引用的,而符號(hào)常量和變量則必須先定義后使用。
說(shuō)明:
1、在程序執(zhí)行過(guò)程中,其值不發(fā)生改變的量稱為常量。
2、其值可以改變的量稱為變量。一個(gè)變量應(yīng)該有一個(gè)名字,在內(nèi)存中占據(jù)一定的存儲(chǔ)單元。變量定義必須放在變量使用之前。一般放在函數(shù)體的開(kāi)頭部分。要區(qū)分變量名和變量值是兩個(gè)不同的概念。
常量
C語(yǔ)言中的常量和變量的定義的形式有所差異。
C語(yǔ)言中的常量分為以下以下幾種:
1.字面常量
2.const 修飾的常變量
3.#define 定義的標(biāo)識(shí)符常量
4.枚舉常量
示例
#include <stdio.h>
enum student
{
NUM,
NAME,
SEX
};
//括號(hào)中的NUM,NAME,SEX是枚舉常量
int main()
{
//字面常量演示
3.14;//字面常量
1000;//字面常量
//const 修飾的常變量
const float pai = 3.14f; //這里的pai是const修飾的常變量,是不能直接修改的!
pai = 4.14;//這里就是個(gè)錯(cuò)誤的賦值
//#define的標(biāo)識(shí)符常量 演示
#define MAX 10000
printf("max = %d\n", MAX);//可以理解為給10000換了個(gè)名字叫MAX
//枚舉常量演示
printf("%d\n", NUM);//0
printf("%d\n", NAME);//1
printf("%d\n", SEX);//2
//注:枚舉常量的默認(rèn)是從0開(kāi)始,依次向下遞增1的
return 0;
}
定義變量的方法
int age = 22; float weight = 57.5f; char ch = 'a';
變量的命名
1.只能由字母(包括大寫和小寫)、數(shù)字和下劃線( _ )組成。
2.不能以數(shù)字開(kāi)頭。
3.長(zhǎng)度不能超過(guò)63個(gè)字符。
4.變量名中區(qū)分大小寫的。
5.變量名不能使用關(guān)鍵字。
變量的分類
分為局部變量和全局變量
示例
#include <stdio.h>
int a = 2023;//全局變量
int main()
{
int a = 2024;//局部變量
int b = 2022;//局部變量
printf("a = %d\n", a);
return 0;
}
局部變量a變量的定義和全局變量a變量的定義并不沖突
當(dāng)局部變量和全局變量同名的時(shí)候,局部變量?jī)?yōu)先使用
所以這里輸出應(yīng)該是2024。
變量的使用
比如下面這段代碼就很好的演示了變量的使用:
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("輸入兩個(gè)數(shù)進(jìn)行相加:>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
輸入新的操作數(shù)對(duì)變量num1和變量num2進(jìn)行修改,變量sum對(duì)修改后的兩個(gè)變量相加的值進(jìn)行接收。
變量的作用域和生命周期
作用域
作用域是程序設(shè)計(jì)概念,通常來(lái)說(shuō),一段程序代碼中所用到的名字并不總是有效/可用的而限定這個(gè)名字的可用性的代碼范圍就是這個(gè)名字的作用域。
- 局部變量的作用域是變量所在的局部范圍。
- 全局變量的作用域是整個(gè)工程。
生命周期
生命周期指的是變量的創(chuàng)建到變量的銷毀之間的一個(gè)時(shí)間段
- 局部變量的生命周期是:進(jìn)入作用域生命周期開(kāi)始,出作用域生命周期結(jié)束。
- 全局變量的生命周期是:整個(gè)程序的生命周期。
結(jié)語(yǔ)
有興趣的小伙伴可以關(guān)注作者,如果覺(jué)得內(nèi)容不錯(cuò),請(qǐng)給個(gè)一鍵三連吧,蟹蟹你喲?。?!
制作不易,如有不正之處敬請(qǐng)指出
以上就是淺析C語(yǔ)言初階的常量和變量的詳細(xì)內(nèi)容,更多關(guān)于C語(yǔ)言常量和變量的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C語(yǔ)言項(xiàng)目小學(xué)生數(shù)學(xué)考試系統(tǒng)參考
今天小編就為大家分享一篇關(guān)于C語(yǔ)言項(xiàng)目小學(xué)生數(shù)學(xué)考試系統(tǒng)參考,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02
C++實(shí)現(xiàn)LeetCode(93.復(fù)原IP地址)
這篇文章主要介紹了C++實(shí)現(xiàn)LeetCode(93.復(fù)原IP地址),本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-07-07
源碼分析C++是如何實(shí)現(xiàn)string的
我們平時(shí)使用C++開(kāi)發(fā)過(guò)程中或多或少都會(huì)使用std::string,但您了解string具體是如何實(shí)現(xiàn)的嗎,本文小編就帶大家從源碼角度分析一下2023-04-04
C語(yǔ)言實(shí)現(xiàn)文件讀寫操作的幾種常用方法
C語(yǔ)言提供了一系列文件操作函數(shù),使得我們可以通過(guò)程序?qū)ξ募M(jìn)行讀寫操作,本文主要介紹了C語(yǔ)言實(shí)現(xiàn)文件讀寫操作的幾種常用方法,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
C++實(shí)現(xiàn)設(shè)計(jì)模式之裝飾者模式詳解
這篇文章主要介紹了C++設(shè)計(jì)模式之裝飾模式,裝飾模式能夠?qū)崿F(xiàn)動(dòng)態(tài)的為對(duì)象添加功能,是從一個(gè)對(duì)象外部來(lái)給對(duì)象添加功能,需要的朋友可以參考下2021-09-09

