前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >初识C语言——常量、变量

初识C语言——常量、变量

作者头像
YIN_尹
发布2024-01-23 15:27:57
2000
发布2024-01-23 15:27:57
举报
文章被收录于专栏:YIN_尹的博客YIN_尹的博客
生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等) 有些值是可变的(比如:年龄,体重,薪资)。 不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。

1.定义变量的方法

语法:数据类型 变量名 = 要初始化的值

代码语言:javascript
复制
int age = 150;
float weight = 45.5f;
char ch = 'w';

2.变量命名的要求

1.只能由字母(包括大写和小写)、数字和下划线( _ )组成。 2.不能以数字开头。 3.长度不能超过63个字符。 4.变量名中区分大小写的。 5.变量名不能使用关键字。

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	int d_9 = 8;
	//int 6_p = 7;
	int a = 3;
	int A = 4;
	printf("a=%d A=%d", a, A);
	//int if = 9;
	return 0;
}
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.变量的分类

变量分为局部变量和全局变量,我们可以这样理解:

  1. 全局变量就是定义在{ }外部的变量,全局变量如果不初始化默认值为0
在这里插入图片描述
在这里插入图片描述
  1. 局部变量就是定义在{ }内部的变量
在这里插入图片描述
在这里插入图片描述

局部变量不初始化为随机值

在这里插入图片描述
在这里插入图片描述

但是打印未初始化的局部变量可能会报错

在这里插入图片描述
在这里插入图片描述

然后思考一个问题,局部变量和全局变量可以同名吗? 答案是可以的! 看这样一段代码:

代码语言:javascript
复制
#include <stdio.h>
int global = 2019;//全局变量
int main()
{
    int local = 2018;//局部变量
    //下面定义的global会不会有问题?
    int global = 2020;//局部变量
    printf("global = %d\n", global);
    return 0; }
在这里插入图片描述
在这里插入图片描述

但是,我们不建议将局部变量和全局变量的名字写成一样的。

4.变量的作用域和生命周期

首先我们要知道什么是作用域? 作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。 1. 局部变量的作用域是变量所在的局部范围。 2. 全局变量的作用域是整个工程。

看一段代码:

代码语言:javascript
复制
void test()
{
	int i = 9;
	printf("%d\n", p);
}
#include <stdio.h>
int p = 8;
int main()
{
	test();
	printf("%d\n", i);
	printf("%d\n", p);
	return 0;
}
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

那接下来讨论,什么是生命周期呢? 变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段 1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。 2. 全局变量的生命周期是:整个程序的生命周期。

在这里插入图片描述
在这里插入图片描述

5.常量

C语言中的常量和变量的定义的形式有所差异。 C语言中的常量分为以下以下几种: 字面常量 const 修饰的常变量 #define 定义的标识符常量 枚举常量

1. 首先介绍字面常量: 就像3.14,100,‘a’ , “abcdf”.这些都是字面常量

代码语言:javascript
复制
int main()
{
	3.14;
	5;
	300;
	's';
	"adsfis";//这些都是字面常量
	"hello world";
	return 0;
}

2. const 修饰的常变量 const 修饰的常变量在C语言中只是在语法层面限制了该变量不能直接被改变,但是本质上还是一个变量,所以叫常变量。 举个例子:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	const int i = 9;
	i = 0;
	return 0;
}
在这里插入图片描述
在这里插入图片描述

3.#define 定义的标识符常量 语法:#define 常量名 值 //#define 定义的标识符常量

代码语言:javascript
复制
#define max 100
int main()
{
	max = 99;
	int arr[max]={0};
	return 0;
}
在这里插入图片描述
在这里插入图片描述

4.枚举常量 枚举常量即可以一一列举的常量,定义枚举类型需要使用枚举关键字enum。 enum是计算机编程语言中的一种数据类型。枚举类型:在实际问题中,有些变量的取值被限定在一个有限的范围内。例如,一个星期内只有七天,一年只有十二个月,一个班每周有六门课程等等。如果把这些量说明为整型,字符型或其它类型显然是不妥当的。为此,C语言提供了一种称为“枚举”的类型。在“枚举”类型的定义中列举出所有可能的取值,被说明为该“枚举”类型的变量取值不能超过定义的范围。应该说明的是,枚举类型是一种基本数据类型,而不是一种构造类型,因为它不能再分解为任何基本类型。 举个例子,比如说性别,对于性别来说,男和女,我们是可以一一列举出来的,上代码:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
	enum Sex	//enum枚举关键字
	{
		MALE,
		FEMALE,
		SECRET		//性别枚举类型的可能取值
	};
	printf("%d\n", MALE);
	printf("%d\n", FEMALE);
	printf("%d\n", SECRET);
	enum Sex s = MALE;
	//注:枚举常量的默认是从0开始,依次向下递增1的
	return 0;
}
请添加图片描述
请添加图片描述

以上就是对C语言中常量和变量的介绍!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等) 有些值是可变的(比如:年龄,体重,薪资)。 不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。
  • 1.定义变量的方法
  • 2.变量命名的要求
  • 3.变量的分类
  • 4.变量的作用域和生命周期
  • 5.常量
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档