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

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

相关文章
|
1月前
|
存储 编译器 C语言
【C语言程序设计——入门】C语言入门与基础语法(头歌实践教学平台习题)【合集】
本文档介绍了C语言环境配置和编程任务,主要内容包括: - **C语言环境配置**:详细讲解了在Windows系统上配置C语言开发环境的步骤。 - **第1关:程序改错**:包含任务描述、相关知识(如头文件引用、基本语法规则)、编程要求、测试说明及通关代码。 - **第2关:scanf函数**:涉及`scanf`和`printf`函数的格式与使用方法,提供编程要求、测试说明及通关代码。 文档结构清晰,涵盖从环境搭建到具体编程任务的完整流程,适合初学者学习和实践。
50 4
|
1月前
|
C语言
【C语言程序设计——入门】基本数据类型与表达式(头歌实践教学平台习题)【合集】
这份文档详细介绍了编程任务的多个关卡,涵盖C语言的基础知识和应用。主要内容包括: 1. **目录**:列出所有关卡,如`print函数操作`、`转义字符使用`、`数的向上取整`等。 2. **各关卡的任务描述**:明确每关的具体编程任务,例如使用`printf`函数输出特定字符串、实现向上取整功能等。 3. **相关知识**:提供完成任务所需的背景知识,如格式化输出、算术运算符、关系运算符等。 4. **编程要求**:给出具体的代码编写提示。 5. **测试说明**:包含预期输入输出,帮助验证程序正确性。 6. 文档通过逐步引导学习者掌握C语言的基本语法和常用函数,适合初学者练习编程技能。
45 1
|
2月前
|
存储 NoSQL 编译器
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
指针是一个变量,它存储另一个变量的内存地址。换句话说,指针“指向”存储在内存中的某个数据。
124 3
【C语言】指针的神秘探险:从入门到精通的奇幻之旅 !
|
2月前
|
存储 编译器 C语言
【C语言】C语言的变量和声明系统性讲解
在C语言中,声明和定义是两个关键概念,分别用于告知编译器变量或函数的存在(声明)和实际创建及分配内存(定义)。声明可以多次出现,而定义只能有一次。声明通常位于头文件中,定义则在源文件中。通过合理组织头文件和源文件,可以提高代码的模块化和可维护性。示例包括全局变量、局部变量、函数、结构体、联合体、数组、字符串、枚举和指针的声明与定义。
80 12
|
2月前
|
安全 程序员 C语言
【C语言】指针的爱恨纠葛:常量指针vs指向常量的指针
在C语言中,“常量指针”和“指向常量的指针”是两个重要的指针概念。它们在控制指针的行为和数据的可修改性方面发挥着关键作用。理解这两个概念有助于编写更安全、有效的代码。本文将深入探讨这两个概念,包括定义、语法、实际应用、复杂示例、最佳实践以及常见问题。
64 7
|
2月前
|
C语言
【C语言】全局搜索变量却找不到定义?原来是因为宏!
使用条件编译和 `extern` 来管理全局变量的定义和声明是一种有效的技术,但应谨慎使用。在可能的情况下,应该优先考虑使用局部变量、函数参数和返回值、静态变量或者更高级的封装技术(如结构体和类)来减少全局变量的使用。
52 5
|
1月前
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
62 23
|
1月前
|
算法 C语言
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
66 15
|
1月前
|
C语言
【C语言程序设计——函数】亲密数判定(头歌实践教学平台习题)【合集】
本文介绍了通过编程实现打印3000以内的全部亲密数的任务。主要内容包括: 1. **任务描述**:实现函数打印3000以内的全部亲密数。 2. **相关知识**: - 循环控制和跳转语句(for、while循环,break、continue语句)的使用。 - 亲密数的概念及历史背景。 - 判断亲密数的方法:计算数A的因子和存于B,再计算B的因子和存于sum,最后比较sum与A是否相等。 3. **编程要求**:根据提示在指定区域内补充代码。 4. **测试说明**:平台对代码进行测试,预期输出如220和284是一组亲密数。 5. **通关代码**:提供了完整的C语言代码实现
60 24
|
1月前
|
存储 C语言
【C语言程序设计——函数】递归求斐波那契数列的前n项(头歌实践教学平台习题)【合集】
本关任务是编写递归函数求斐波那契数列的前n项。主要内容包括: 1. **递归的概念**:递归是一种函数直接或间接调用自身的编程技巧,通过“俄罗斯套娃”的方式解决问题。 2. **边界条件的确定**:边界条件是递归停止的条件,确保递归不会无限进行。例如,计算阶乘时,当n为0或1时返回1。 3. **循环控制与跳转语句**:介绍`for`、`while`循环及`break`、`continue`语句的使用方法。 编程要求是在右侧编辑器Begin--End之间补充代码,测试输入分别为3和5,预期输出为斐波那契数列的前几项。通关代码已给出,需确保正确实现递归逻辑并处理好边界条件,以避免栈溢出或结果
63 16

热门文章

最新文章