首页 > 其他分享 >C语言入门(4)--变量与常量

C语言入门(4)--变量与常量

时间:2024-10-27 11:18:06浏览次数:7  
标签:常量 -- 定义 globalVar C语言 int printf 变量 入门

C语言变量与常量

在C语言中,变量和常量是存储和操作数据的基本单位。理解它们的概念、定义和使用方法是编写C程序的基础。

1. 变量

变量是程序中用于存储数据的内存单元,其值在程序执行过程中可以改变。变量由变量名、变量类型和变量值三部分组成。

  • 变量名:用于标识变量的名称。
  • 变量类型:定义了变量可以存储的数据类型(如整数、浮点数、字符等)。
  • 变量值:存储在内存中的具体数据。
1.1 变量的定义与初始化

在C语言中,变量的定义通常使用以下语法:

type variable_name;

其中,type 表示变量类型,如 intfloatchar 等;variable_name 是变量的名称。

可以在定义变量时同时进行初始化赋值:

int age = 25;  // 定义并初始化一个整型变量
float height = 1.75f;  // 定义并初始化一个浮点型变量
char grade = 'A';  // 定义并初始化一个字符型变量
1.2 变量的作用域和生命周期
  • 作用域:变量在程序中可以被访问的范围。根据定义位置的不同,变量可以分为全局变量和局部变量。

    • 全局变量:在所有函数外部声明的变量,可以在整个程序中访问。
    • 局部变量:在函数或代码块内部声明的变量,只能在其声明的函数或代码块中访问。
  • 生命周期:变量从创建到销毁的时间段。

    • 全局变量:生命周期与程序相同,从程序开始执行到结束。
    • 局部变量:生命周期取决于其所在的函数或代码块的执行时间。
1.3 变量的使用示例
#include <stdio.h>

int globalVar = 10;  // 全局变量

void modifyGlobal() {
    globalVar = 20;  // 修改全局变量
    printf("In modifyGlobal, globalVar: %d\n", globalVar);
}

void shadowGlobal() {
    int globalVar = 30;  // 局部变量,遮蔽了同名的全局变量
    printf("In shadowGlobal, local globalVar: %d\n", globalVar);
}

int main() {
    printf("In main, before modifyGlobal, globalVar: %d\n", globalVar);
    modifyGlobal();
    printf("In main, after modifyGlobal, globalVar: %d\n", globalVar);
    shadowGlobal();
    printf("In main, after shadowGlobal, globalVar: %d\n", globalVar);
    return 0;
}
2. 常量

常量是程序中存储固定值的实体,其值在程序执行过程中不能被修改。常量可以是直接量(如字面常量 5'a'),也可以是通过 #define 预处理指令或使用 const 关键字定义的命名常量。

2.1 常量的定义
  • 字面常量:直接在代码中使用的固定值。

    int age = 25;  // 25 是一个整数字面常量
    char grade = 'A';  // 'A' 是一个字符字面常量
    
  • #define 定义的常量:使用预处理器指令定义的常量。

    #define PI 3.14159  // 定义一个常量PI
    
  • const 关键字定义的常量:使用 const 关键字定义的常量。

    const int maxSize = 100;  // 定义一个整型常量
    
2.2 常量的使用示例
#include <stdio.h>

#define PI 3.14159  // 使用#define定义的常量
const int MAX_SIZE = 100;  // 使用const关键字定义的常量

int main() {
    float radius = 5.0;
    float area = PI * radius * radius;  // 使用常量PI
    printf("The area of the circle is: %.2f\n", area);

    int numbers[MAX_SIZE];  // 使用常量MAX_SIZE定义数组大小
    for (int i = 0; i < MAX_SIZE; i++) {
        numbers[i] = i;
    }

    printf("First element: %d\n", numbers[0]);
    printf("Last element: %d\n", numbers[MAX_SIZE - 1]);

    return 0;
}
3. 变量与常量的比较
  • 变量:值在程序运行时可以改变,适用于存储计算过程中可能变化的数据。
  • 常量:值在程序定义后不可更改,适用于存储不变的数据,如配置参数、状态码等。
4. 选择变量还是常量

在实际编程中,合理选择使用变量或常量对于提高代码的可读性和维护性非常重要。一般原则是:

  • 当数据值需要在程序执行过程中改变时,使用变量。
  • 当数据值固定不变,或者你希望保护该值不被意外修改时,使用常量。

通过理解变量和常量的概念、定义和使用方法,可以更有效地在C程序中存储和操作数据,编写出更清晰、易于维护的代码。

关于C语言变量与常量的内容,咱们到这告一段落。

希望能对你有帮助。

下期见!

标签:常量,--,定义,globalVar,C语言,int,printf,变量,入门
From: https://blog.csdn.net/Chen7Chan/article/details/143244606

相关文章

  • C语言入门(5)--运算符
    C语言运算符运算符是C语言中用于执行特定数学或逻辑操作的符号。C语言提供了丰富的运算符,了解这些运算符及其用法是咱们编写程序的基础。1.算术运算符算术运算符用于执行基本的数学运算,如加、减、乘、除等。运算符描述示例+加法A+B将得到30-减法A-B将得到-10*......
  • C语言入门(6)--控制结构
    C语言控制结构控制结构是C语言中用于控制程序执行流程的基本机制。主要包括顺序结构、选择结构和循环结构。1.顺序结构顺序结构是程序中最基本的控制结构,按照代码的书写顺序从上到下依次执行。示例代码#include<stdio.h>intmain(){printf("第一行\n");......
  • 【毕业设计】基于Springboot + Vue的城市垃圾分类管理系统
    随着城市化进程的加快,城市垃圾的处理与分类成为了社会关注的重点。传统的垃圾管理方式通常依赖于人工分拣和纸质记录,这种方式不仅效率低下,还容易产生信息记录错误和数据丢失的情况。因此,开发一个智能化的城市垃圾分类管理系统显得尤为重要。本文将介绍基于SpringBoot开发的城市......
  • 学生宿舍管理信息化:Spring Boot系统研究
    3系统分析3.1可行性分析通过对本学生宿舍信息管理系统实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。3.1.1技术可行性本学生宿舍信息管理系统采用SpringBoot框架,JAVA作为开发语言,是......
  • Spring Boot助力学生宿舍信息管理自动化
    2相关技术2.1MYSQL数据库MySQL是一个真正的多用户、多线程SQL数据库服务器。是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适用于Web站点或者其他......
  • 数组指针的相关知识
    1.数组指针的概念    1.顾名思义,数组指针就是指向数组的指针(地址),要和指针数组做区分。    数组指针:类型为int(*)[常量],是一个地址。    指针数组:是由int*类型之类的指针为元素的数组,是一个数组。    2.数组指针指向的是整一个数组,而非......
  • 【毕业设计】基于SpringBoot + Vue的扶贫助农系统
    在当今数字化时代,信息技术的快速发展为各个领域带来了新的机遇和挑战。特别是在扶贫助农领域,传统的管理方法往往面临效率低、错误率高、检索困难等问题。为了提高扶贫助农信息的管理效率,本文介绍了一个基于SpringBoot框架开发的扶贫助农系统。1.为什么需要一个扶贫助农系统?......
  • 2024CSP游记
    希望这次JS都1=rp++DAY018:00出发去莆田(为什么不是福州,明明福州更近)19:15基本复习完了DAY1普及组考试时30min口胡了一下最后一题,感觉是构建fail树之后跑一下所有可能的结果\(O(r\suml)\)但是听大佬们说是DP,还好没写,只写了个暴力嘻嘻期望得分:\(100+100+100......
  • C项目要怎么缩短编译时间
    在处理C项目时,为缩短编译时间可以采取以下措施:1.优化代码结构,减少不必要的编译依赖;2.使用并行编译技术;3.优化编译器设置;4.利用增量编译和预编译技术;5.合理配置硬件资源。通过这些方法,我们可以显著减少C项目的编译时间,从而提高开发效率。1.优化代码结构项目的代码结构是影响编......
  • CSP-S2024游记
    Day998244351/998244352打板子~40个。(但是一个都没用上)Day1带了三包饼干和一瓶水,准备做不出来就吃吃吃。开考前5分钟。先把模板敲好了。大样例有60M?下发的pdf密码文件是错的,但是半分钟没人有反应。监考:“把选手文件夹建在桌面”(使用的是NOILinux),然后被询问是不......