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,
};

就可以这样去写。


相关文章
|
1天前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
14 2
|
1天前
|
存储 Java 编译器
初识C语言1——C语言入门介绍
初识C语言1——C语言入门介绍
12 1
|
3天前
|
C语言 C++
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
【C语言】指针篇-一篇搞定不同类型指针变量-必读指南(3/5)
|
23小时前
|
C语言 C++
实现两个变量值的互换[C语言和C++的区别]
实现两个变量值的互换[C语言和C++的区别]
6 0
|
28天前
|
存储 C语言
【C语言基础考研向】02 数据类型-常量-变量
本文介绍了编程中的基本概念,包括数据类型分类、常量与变量的定义及使用。首先概述了四大类数据类型:基本类型(整型、浮点、字符型)、构造类型(数组、结构体)、指针类型和空类型。接着阐述了常量与变量的区别及命名规则,并详细说明了整型、浮点型和字符型数据的特点与应用。最后总结了常见的易错点,如字符串与字符常量的区别及浮点数的默认输出格式。
|
29天前
|
存储 传感器 物联网
结合物联网开发探讨C语言的变量
在物联网(IoT)开发中,C语言的变量起着至关重要的作用。由于物联网设备资源有限,C语言的高效性和对硬件的直接控制使其成为开发嵌入式系统的首选。
|
29天前
|
安全 编译器 C语言
C语言常量的定义与使用的注意点
在 C 语言中,常量是在程序运行期间值不变的量,通过字面值、`#define` 或 `const` 关键字定义。字面常量直接在代码中表示固定值,如整数 `100`、浮点数 `3.14`、字符 `'A'` 和字符串 `"Hello, World!"`;`#define` 用于定义宏,如 `#define PI 3.14159`;`const` 则定义不可变变量,如 `const int daysInWeek = 7`。常量可用于数组大小、循环边界等场景,并能提升代码的可读性和可维护性。使用时需注意作用域、类型安全和命名,避免直接使用数字(魔法数字)。
|
1月前
|
存储 人工智能 C语言
C语言程序设计核心详解 第八章 指针超详细讲解_指针变量_二维数组指针_指向字符串指针
本文详细讲解了C语言中的指针,包括指针变量的定义与引用、指向数组及字符串的指针变量等。首先介绍了指针变量的基本概念和定义格式,随后通过多个示例展示了如何使用指针变量来操作普通变量、数组和字符串。文章还深入探讨了指向函数的指针变量以及指针数组的概念,并解释了空指针的意义和使用场景。通过丰富的代码示例和图形化展示,帮助读者更好地理解和掌握C语言中的指针知识。
|
1月前
|
C语言
C语言程序设计核心详解 第二章:数据与数据类型 4种常量详解 常见表达式详解
本文详细介绍了C语言中的数据与数据类型,包括常量、变量、表达式和函数等内容。常量分为整型、实型、字符型和字符串常量,其中整型常量有十进制、八进制和十六进制三种形式;实型常量包括小数和指数形式;字符型常量涵盖常规字符、转义字符及八进制、十六进制形式;字符串常量由双引号括起。变量遵循先定义后使用的规则,并需遵守命名规范。函数分为标准函数和自定义函数,如`sqrt()`和`abs()`。表达式涉及算术、赋值、自增自减和逗号运算符等,需注意运算符的优先级和结合性。文章还介绍了强制类型转换及隐式转换的概念。
|
1月前
|
存储 Ubuntu Linux
C语言 多线程编程(1) 初识线程和条件变量
本文档详细介绍了多线程的概念、相关命令及线程的操作方法。首先解释了线程的定义及其与进程的关系,接着对比了线程与进程的区别。随后介绍了如何在 Linux 系统中使用 `pidstat`、`top` 和 `ps` 命令查看线程信息。文档还探讨了多进程和多线程模式各自的优缺点及适用场景,并详细讲解了如何使用 POSIX 线程库创建、退出、等待和取消线程。此外,还介绍了线程分离的概念和方法,并提供了多个示例代码帮助理解。最后,深入探讨了线程间的通讯机制、互斥锁和条件变量的使用,通过具体示例展示了如何实现生产者与消费者的同步模型。