C语言从入门到精通——变量、常量

简介: C语言从入门到精通——变量、常量

在我们的日常生活中,有很多的值是可变的,比如年龄、身高、体重;但同时又有很多的值是不可变的,比如血型、身份证号;那在C语言中,根据可变不可变,分为了变量和常量。


变量


定义变量的方法


我们定义变量需要的先确定好这个变量的数据类型,比如我们要定义年龄,年龄是个整型,可以用short、int、long,但是人的年龄最多也就一百多,int、long的范围很大,用来表达我们的年龄就有点浪费,所以我们就可以用short;数据类型定下来,就是变量名,年龄英文是age,那我们就可以用age当这个变量名,我们年龄是18,那这个变量定义出来就可以是


short age=18;


变量的命名


变量名只能由字母(包括大写和小写)、数字和下划线( _ )组成, 不能以数字开头,并且长度不能超过63 个字符, 有一点需要注意,变量名中是区分大小写的,而且不能使用关键字当变量名,关键字本身就是C语言提供给我们的,我们让他们当变量名,到时候到使用这个关键字的时候就会出现矛盾。


变量的分类


全局变量


对于全局变量就是整个工程都能使用的变量,它定义在函数体({})的外面,可以在任何地方使用。


局部变量


局部变量就是定义在函数体({})里面的变量,它只能在它定义的大括号内使用,如果全局变量和局部变量的变量名一样,是优先使用局部变量的。


变量的生命周期和作用域


作用域


作用域是程序设计概念,指的是该变量可用的范围,局部变量的作用域就是它所处的函数体内,全局变量的作用域就是整个工程。


生命周期


生命周期指变量从创建到销毁的一个时间段,局部变量的生命周期从进入作用域开始,到出作用域结束,而全局变量的生命周期就是工程本身。


常量


字面常量


字面常量就是字面意义上的常量,比如8、3.14就是一个字面常量。


const修饰的常变量


const是C语言提供给我们的一个关键字,当我们在变量前面加上const时,如:


const int age=14;

这时候我们就不能去通过下面这样进行修改:


age=19;

但是,虽然选择age具有了常属性,但是它在不支持C99标准的编译器下不能作为数组内的元素个数去使用,像:


char ch[age]={0};

这样在不支持C99标准的编译器下面是个错误的做法。


#define定义的标识符常量


#define可以将一个标识符赋一个常量值,比如:


#define max 100

这样,在使用100的时候就可以用max来代替,比如现在有个数组里面有100个元素,就可以这样:


int arr[max]={0);


枚举常量


在我们生活中,有很多东西是不变并且是和很多东西在一起出现,这个时候我们就可以使用枚举常量(enum),像三原色:


enum Color
{
    red,
    blue,
    yellow,
};

就可以这样去写。


相关文章
|
27天前
|
存储 人工智能 程序员
一文彻底搞清楚C语言的数据类型和变量
本文介绍了数据类型(基本、构造、指针、空类型)、变量(使用、命名规则、作用域)和常量(字面、符号、枚举、表达式),帮助初学者理解编程基础概念。坚持学习,定能创造奇迹!
199 1
一文彻底搞清楚C语言的数据类型和变量
|
2月前
|
存储 编译器 C语言
【C语言程序设计——入门】C语言入门与基础语法(头歌实践教学平台习题)【合集】
本文档介绍了C语言环境配置和编程任务,主要内容包括: - **C语言环境配置**:详细讲解了在Windows系统上配置C语言开发环境的步骤。 - **第1关:程序改错**:包含任务描述、相关知识(如头文件引用、基本语法规则)、编程要求、测试说明及通关代码。 - **第2关:scanf函数**:涉及`scanf`和`printf`函数的格式与使用方法,提供编程要求、测试说明及通关代码。 文档结构清晰,涵盖从环境搭建到具体编程任务的完整流程,适合初学者学习和实践。
75 4
|
2月前
|
C语言
【C语言程序设计——入门】基本数据类型与表达式(头歌实践教学平台习题)【合集】
这份文档详细介绍了编程任务的多个关卡,涵盖C语言的基础知识和应用。主要内容包括: 1. **目录**:列出所有关卡,如`print函数操作`、`转义字符使用`、`数的向上取整`等。 2. **各关卡的任务描述**:明确每关的具体编程任务,例如使用`printf`函数输出特定字符串、实现向上取整功能等。 3. **相关知识**:提供完成任务所需的背景知识,如格式化输出、算术运算符、关系运算符等。 4. **编程要求**:给出具体的代码编写提示。 5. **测试说明**:包含预期输入输出,帮助验证程序正确性。 6. 文档通过逐步引导学习者掌握C语言的基本语法和常用函数,适合初学者练习编程技能。
92 1
|
3月前
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
140 3
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
3月前
|
存储 编译器 C语言
【C语言】C语言的变量和声明系统性讲解
在C语言中,声明和定义是两个关键概念,分别用于告知编译器变量或函数的存在(声明)和实际创建及分配内存(定义)。声明可以多次出现,而定义只能有一次。声明通常位于头文件中,定义则在源文件中。通过合理组织头文件和源文件,可以提高代码的模块化和可维护性。示例包括全局变量、局部变量、函数、结构体、联合体、数组、字符串、枚举和指针的声明与定义。
104 12
|
3月前
|
存储 算法 C语言
【C语言】字符常量详解
字符常量是C语言中处理字符数据的重要工具。通过单引号括起一个字符,我们可以方便地使用字符常量进行字符判断、字符运算和字符串处理等操作。理解字符常量的表示方法、使用场景和ASCII码对应关系,对于编写高效的C语言程序至关重要。
291 11
|
3月前
|
安全 程序员 C语言
【C语言】指针的爱恨纠葛:常量指针vs指向常量的指针
在C语言中,“常量指针”和“指向常量的指针”是两个重要的指针概念。它们在控制指针的行为和数据的可修改性方面发挥着关键作用。理解这两个概念有助于编写更安全、有效的代码。本文将深入探讨这两个概念,包括定义、语法、实际应用、复杂示例、最佳实践以及常见问题。
80 7
|
3月前
|
C语言
【C语言】全局搜索变量却找不到定义?原来是因为宏!
使用条件编译和 `extern` 来管理全局变量的定义和声明是一种有效的技术,但应谨慎使用。在可能的情况下,应该优先考虑使用局部变量、函数参数和返回值、静态变量或者更高级的封装技术(如结构体和类)来减少全局变量的使用。
63 5
|
3月前
|
C语言
【C语言】<常量> 之群英荟萃
在C语言中,常量(Constants)是指在程序运行过程中其值不能被修改的固定值。常量包括数值常量(整型和浮点型)、字符常量、字符串常量、使用const关键字定义的常量变量以及枚举常量。
54 4
|
3月前
|
编译器 C语言
【C语言】常量的 “前缀和后缀” 大通关!
在C语言中,常量的前缀和后缀用于明确指定常量的类型和进制系统。前缀主要用于区分不同进制的数字常量,而后缀则用于区分不同类型的整数和浮点数。正确使用前缀和后缀,可以提高代码的可读性和可维护性,确保编译器正确地理解和处理常量。
128 1