IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 【C语言攻略】—从零开始的C语言生活---初阶篇(2)之常量与变量 -> 正文阅读

[C++知识库]【C语言攻略】—从零开始的C语言生活---初阶篇(2)之常量与变量

目录

前言

变量与常量

????? 什么是变量?

???? 什么是常量?

字面常量

?const修饰的常变量

define定义的常量

枚举常量

结语


前言

各位大佬好呀,日更博主又来了,今天来讲讲常量与变量的关系和定义方式。

?

变量与常量

????? 什么是变量?

??????? 顾名思义,可以改变的量就是变量,生活中例如年龄、身高和体重等等都是可变的量。C语言的变量则是在被初始化后依旧可以更改的值,我们称为变量。码来:

#include<stdio.h>
int main()
{
    //创建变量并初始化
    int num = 10;
    printf("%d\n",num);//打印10
    num = 20;//修改变量值
    printf("%d\n",num);//打印20
    return 0;
}

当变量num被创建并初始化后,再对num进行赋值操作,改变num的值,则num称为变量。

???? 什么是常量?

????? 常量与变量性质相反,变量是被初始化后依旧能够改变,而常量在被初始化后就无法再对他进行赋值修改操作。生活中也有许多的常量:比如圆周率(π)、人的性别还有一周有几天等。

????? C语言常量的定义方式有四种:字面常量const修饰的常变量define创建的常量和枚举常量

字面常量

字面常量就是直接定义的常量,还可以给函数直接传入自己想传入的值,或者给数组大小进行初始化都可以用字面常量

#include<stdio.h>
int main()
{
    //字面常量
    100;
    3.14f;
    'c';
    arr[10];
    //直接传一个10让printf函数打印出来
    printf("%d\n",10);
    return 0;
}

?const修饰的常变量

??????? 是不是觉得特别别扭?为什么叫常变量?到底是常量还是变量呢?别着急,我来一一解释。const关键字是用来修饰变量的,使变量拥有和常量一样不可更改的特性。

?

? ? ?? 可见,当我们想要对num值进行修改时,编译器报了个错误,说表达式必须是可修改的左值。说明num被const修饰以后具有了不可改性。但是为什么说他的本质还是变量呢?变(常量)了但是没有完全变。其实想要验证也很简单。

??

?

? ? ?? 当我们用呗const修饰过的num给数组大小进行初始化时,编译器又给我们报了个错误,说表达式必须含有常量,说明num就算被const修饰过后依然不是一个常量。只是拥有了常量不可被更改的特性。const关键字一般是用来保护函数所传参数的,保护参数不会被修改,这里还是以后再讲。

请注意:我所使用的编译器是【Visual Studio 2019】,在VS编译器中,是不支持这样去赋值的。但在C99标准中,支持这种变长数组,允许使用变量来指定数组大小。

define定义的常量

????? 由define定义的参数,是正儿八经的常数,我们一般将define定义的在全局区,当然你定义在函数体内也是可以的,define定义的命名方式我们一般都会使用大写(小写也没问题,但是一般都是大写),这难道就是程序员之前的默契吗?

?

上代码:

#include<stdio.h>
#define MAX 100

int main()
{
    //用来等于数组大小也是谋问tei(第二声)啊
    int arr[MAX];
    //打印100
    printf("%d\n",MAX);
    return 0;
}

枚举常量

????? 最后就是枚举常量,这里还是先简单提一嘴。枚举常量就是将能一一列举出的常量给一一列举出来,比如一个人的年龄:男、女、保密,亦或是一周有多少天,从周一到周日。这些都是可以一一列举的事物,就是枚举。

#include<stdio.h>
enum Sex
{
	MALE,
	FAMALE,
	SECRECY
};

int main()
{
    printf("%d\n",MALE);//0
    printf("%d\n",FAMALE);//1
    printf("%d\n",SECRECY);//2
    return 0;
}

??????? 枚举类型的默认值是从0开始之后创建多少个成员,成员默认值依次向后增加,也可以自己进行初始化。要注意的是,当你前一个成员赋了初值,而后面的成员没有被初始化。后面的成员就会跟着前一个被赋值的成员所赋的值为起点继续向后增加。是不是感觉说的有点乱?

?

?还是这段代码:

#include<stdio.h>
enum Sex
{
	MALE,
    //赋初值
	FAMALE = 10,
	SECRECY
};

int main()
{
    printf("%d\n",MALE);//0
    printf("%d\n",FAMALE);//10
    printf("%d\n",SECRECY);//11
    return 0;
}

FAMALE被初始化为10后,后面的SECRECY的默认值跟着前一个成员改变了,以FAMALE所赋的数值开始继续向后默认加一。

结语

来分享一下自己的学习笔记,日更虽好,可不要耽误刷题敲代码哦。

?

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-20 12:19:11  更:2021-10-20 12:19:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:24:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码