C语言入门铺垫篇(二)(变量、常量)

简介: C语言入门铺垫篇(二)(变量、常量)

4. 变量、常量

变量 :

1. 变量定义和规则

double _C3 = 3.14;
//变量可以用 字母、数字和下划线(_) 命名
//但是变量名不能以数字(1,2,..)开头
int a = 10;
char A = '!';
//C语言中,变量名区分大小写
//另外:
//1. 变量名的长度不能超过63个字符
//2. 变量名不能使用关键字

2. 局部变量和全局变量;作用域和生命周期

#include<stdio.h>
int a = 100;//此为全局变量
int main()
{
    {
        int a = 10;//此为局部变量
        printf("%d\n",a);
    }
    return 0;
}

“先为各位读者引入两张运行结果截图”

(一)全局变量:

(二)局部变量:

 

从(一)、(二)对比中,我们不难看出,

“当局部变量名与全局变量名相同时,局部变量优先”

(三):

 

不知各位读者是否疑惑,为什么我们已定义的变量a 被编译器报错:“ “a”:未声明的表示符 ”?

这里需要为大家引入两个概念:作用域 生命周期

什么是“作用域”?

作用域是 一段代码中,一个名字的可用范围

如,(三) 中 “a”的作用域:

{
    int a = 10;
}

换句话说,进入这个范围时,“a”被创建;而离开这个范围时,“a”被销毁 —— 生命周期

#include<stdio.h>
int b = 20;//全局变量
int main()
{
    int a = 10;//局部变量
    return 0;
}
//局部变量的作用域: 局部变量所在的范围
//局部变量的生命周期: 进入作用域时,被创建;出作用域时,被销毁
//全局变量的作用域: 整个程序
//全局变量的生命周期: 整个程序的生命周期

3. 变量的使用

#include<stdio.h>
int main()
{
    int num1 = 0;//变量的初始化
    int num2 = 0;
    scanf("%d %d",&num1,&num2);
    int sum = num1 + num2;
    printf("%d\n",sum);
    return 0;
}
//scanf为输入语句
//printf为输出语句

常量 :

常量的定义与变量有所区别,有以下几种形式:

1. 字面常量

#include<stdio.h>
int main
{
    0;
    1;//这些被称作 字面常量    
    return 0;
}

2. const 修饰的常变量

#include<stdio.h>
int main()
{
    const int a = 10;
    //注意:
    //1. 被const修饰的 a 具有常属性,在语法层面上限制了a不可被修改
    //2. a本质上还是个变量
    return 0;
}

3. define定义的标识符常量

#include<stdio.h>
#define N 100
int main()
{
    int a = N;
    // N 相当于我们给 100 取的一个名字
    //我们使用 N 时,本质上是在使用 100 这个数
    printf("%d\n",N);    // 100
    printf("%d\n",a);    // 100
    return 0;
}

4. 枚举常量

#include<stdio.h>
enum Sex
{
  male,
  female,
  secret
};
int main()
{
  printf("%d\n", male);        // 0
  printf("%d\n", female);      // 1
  printf("%d\n", secret);      // 2
    //枚举常量默认从0开始,依次往后赋值
    male = 3;//枚举常量不可被修改!
  return 0;
}

本篇文章到此结束。如果读者朋友认可以上内容,不妨点个赞、关注一下!我将继续更新这些知识!

相关文章
|
12月前
|
存储 人工智能 程序员
一文彻底搞清楚C语言的数据类型和变量
本文介绍了数据类型(基本、构造、指针、空类型)、变量(使用、命名规则、作用域)和常量(字面、符号、枚举、表达式),帮助初学者理解编程基础概念。坚持学习,定能创造奇迹!
1978 1
一文彻底搞清楚C语言的数据类型和变量
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
474 7
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
存储 编译器 C语言
【C语言程序设计——入门】C语言入门与基础语法(头歌实践教学平台习题)【合集】
本文档介绍了C语言环境配置和编程任务,主要内容包括: - **C语言环境配置**:详细讲解了在Windows系统上配置C语言开发环境的步骤。 - **第1关:程序改错**:包含任务描述、相关知识(如头文件引用、基本语法规则)、编程要求、测试说明及通关代码。 - **第2关:scanf函数**:涉及`scanf`和`printf`函数的格式与使用方法,提供编程要求、测试说明及通关代码。 文档结构清晰,涵盖从环境搭建到具体编程任务的完整流程,适合初学者学习和实践。
413 4
|
C语言
【C语言程序设计——入门】基本数据类型与表达式(头歌实践教学平台习题)【合集】
这份文档详细介绍了编程任务的多个关卡,涵盖C语言的基础知识和应用。主要内容包括: 1. **目录**:列出所有关卡,如`print函数操作`、`转义字符使用`、`数的向上取整`等。 2. **各关卡的任务描述**:明确每关的具体编程任务,例如使用`printf`函数输出特定字符串、实现向上取整功能等。 3. **相关知识**:提供完成任务所需的背景知识,如格式化输出、算术运算符、关系运算符等。 4. **编程要求**:给出具体的代码编写提示。 5. **测试说明**:包含预期输入输出,帮助验证程序正确性。 6. 文档通过逐步引导学习者掌握C语言的基本语法和常用函数,适合初学者练习编程技能。
331 1
|
存储 编译器 C语言
【C语言】C语言的变量和声明系统性讲解
在C语言中,声明和定义是两个关键概念,分别用于告知编译器变量或函数的存在(声明)和实际创建及分配内存(定义)。声明可以多次出现,而定义只能有一次。声明通常位于头文件中,定义则在源文件中。通过合理组织头文件和源文件,可以提高代码的模块化和可维护性。示例包括全局变量、局部变量、函数、结构体、联合体、数组、字符串、枚举和指针的声明与定义。
550 12
|
安全 程序员 C语言
【C语言】指针的爱恨纠葛:常量指针vs指向常量的指针
在C语言中,“常量指针”和“指向常量的指针”是两个重要的指针概念。它们在控制指针的行为和数据的可修改性方面发挥着关键作用。理解这两个概念有助于编写更安全、有效的代码。本文将深入探讨这两个概念,包括定义、语法、实际应用、复杂示例、最佳实践以及常见问题。
458 7
|
C语言
【C语言】全局搜索变量却找不到定义?原来是因为宏!
使用条件编译和 `extern` 来管理全局变量的定义和声明是一种有效的技术,但应谨慎使用。在可能的情况下,应该优先考虑使用局部变量、函数参数和返回值、静态变量或者更高级的封装技术(如结构体和类)来减少全局变量的使用。
276 5
|
C语言
《C语言编程初学者指南》一2.6 理解常量
本节书摘来自华章出版社《C语言编程初学者指南》一书中的第2章,第2.6节,作者【美】Keith Davenport(达文波特) , M1ichael Vine(维恩),更多章节内容可以访问云栖社区“异步社区”公众号查看 2.6 理解常量 常量(constant)数据类型通常也叫做只读变量,在程序执行中,它们不会丢失其数据值。
1635 0
|
5月前
|
存储 C语言
`scanf`是C语言中用于按格式读取标准输入的函数
`scanf`是C语言中用于按格式读取标准输入的函数,通过格式字符串解析输入并存入指定变量。需注意输入格式严格匹配,并建议检查返回值以确保读取成功,提升程序健壮性。
1122 0
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
768 23