C基础教程之了解 C 变量

189 阅读6分钟

这是我参与8月更文挑战的第2天,活动详情查看:8月更文挑战

1. C 编程中的变量是什么?

在数学中,变量意味着它的值可以改变,常量意味着它的值不能改变。

在 C 中,变量是与值关联的唯一名称。它们用作容器并指向程序存储器中的特定位置。

我们可以直接通过名称访问 C 变量,也可以使用分配给它的内存地址。

2. C 变量命名规则

C 变量是区分大小写的名称。以下是它们的一些简单命名约定。

  • C 变量名称可以包括以下一项或多项:

    • 字母(大写和小写)
    • 0 – 9 的数字
    • 下划线(无其他特殊字符)
  • 它必须有一个下划线或一个字母作为第一个字符。

  • 名称长度没有限制,但 31 是适合大多数 C 编译器的最大值。

检查下面几个有效和无效 C 变量名称的示例。

int _count = 5; // 有效的整数变量
int 5th = 5; // error => 变量名不能以数字开头
char choice = '0'; // 有效的变量名
int choice = 0; // error => 不能有另一个同名的变量

3. C 变量类型

在 C 编程中,变量有两种类型:

  1. 局部变量
  2. 全局变量

3.1. C 中的局部变量

本地 C 变量在用花括号划定的代码块中具有有限的范围。他们的位置应该在开始时发生。

C 编译器不会为局部变量分配默认值。因此,我们必须在使用它们之前提供一个值。

C 局部变量的生命周期从执行进入作为其起点的代码块开始,并在退出后结束。

然而,在学习更多关于变量的知识之前,我们必须先了解一些数据类型的基础知识。

3.2. C 语言中的全局变量

位于 C 文件头部分的变量被归类为全局变量。

默认情况下,编译器按照以下规则初始化所有全局 C 变量。

  • 默认值为 0 的整数变量
  • 带有 '\0.' 的字符类型。
  • 再次使用 0 作为默认值的浮点类型
  • NULL 指针

它在整个执行过程中保持活动和可用,直到结束。

4. C 变量数据类型

数据类型使程序员能够定义可以保存程序或业务逻辑所需值的变量。

对于这个类,假设我们只需要以下三种标准 C 数据类型。

4.1. int

int 表示整数数据类型。它可以包含正数、负数和零。其中包含的任何其他数据都会出错。

4.2. float

float 关键字用于定义可以容纳十进制数的变量。

4.3. double

double 是另一种数据类型,如 float。这种类型的变量也可以保存十进制数,但提供更好的准确性和精度。

5. C 程序的工作流程

我们可以使用流程图了解任何 C 程序的工作流程。让我们知道它们是什么以及它们如何提供帮助。

流程图的目的是什么?

它只是使用一组预定义的形状或符号创建的程序功能的可视化表示。

让我们学习一些基本术语。

  1. 算法: 算法是对程序的简要系统说明。它只是粗略地解释了程序的工作,而不是实际的代码。
  2. 伪代码: 它是用人类可读的语言(例如英语)编写的代码。

6. C 中的变量演示

让我们从一个简单的程序开始,将两个数字相乘。

6.1. 示例 – 两个数字相乘的 C 程序

图片.png

算法:

第 1 步: 开始。

第 2 步: 获取用户的输入以将两个数字相乘。

第 3 步: 将两个数字相乘 (m=a*b)

第 4 步: 显示输出(米)

第 5 步: 停止

6.1.2. C 代码片段

注意:现在有一些关键字,我们将在这段代码之后看到。

#include<stdio.h>
#include<conio.h>

void main()
{
    int a, b, m;

    printf("请输入两个数字: ");
    scanf("%d,%d",&a,&b);

    m= a*b;

    printf("%d 和 %d 的乘积是 %d",a,b,m);
    getch();
}

6.1.3. 分步计划摘要

  1. #include<conio.h>: 这个头文件告诉计算机包含控制台输入/输出功能。因此,conio 代表控制台输入/输出。
  2. void main(): 它是 C 程序中的主要函数,如前面的课程中所讨论的。
    注意: 您已经看到我们在 main 中使用 int 类型。这里的主要区别是 void 意味着没有返回值,而整数类型要求函数返回一个数值。
  3. scanf(): 用于拍摄来自用户的输入。所述%d符号是用于指示该数据类型是一个整数。我们将更多地了解这个进一步的章节。&符号 (&) 告诉计算机它应该在该特定地址中存储获取的输入的值。例如,&a表示的是,第一输入值将得到存储在的位置。
  4. getchar(): 它告诉程序等待用户的反应。它的全称是“获得角色。” 计算机保持输出屏为用户理解的输出。

输出:

请输入两个数字: 3 4
34 的乘积是12

6.2. 示例 – 交换两个整数的 C 程序

算法:

第 1 步: 开始

第 2 步: 初始化两个输入变量 (a, b) 和一个用于交换 (c)。

第 3 步: 接受来自用户的输入变量(a & b)

第 4 步: 交换两个变量

# 交换变量
c=a 
a=b 
b=c

步骤 5: 显示交换前后的值。

第 6 步: 停止。

6.2.1. C 代码片段

#include<stdio.h> 
#include<conio.h> 

void main() 
{ 
    int a,b,c; 

    printf("请输入要交换的两个数字:"); 
    scanf("%d %d",&a,&b); 
    printf("交换前的值:%d %d",a,b); 

    c=a; 
    a=b; 
    b=c; 

    printf("\n交换后的值:%d %d",a,b); 
    getchar(); 
}

输出:

请输入要交换的两个数字: 3 4
交换前的值:3 4
交换后的值:4 3

你可能已经意识到我们使用了第三个变量来交换两个输入的值。你能写一个不使用第三个变量就能做到这一点的程序吗?如果你能做到这一点,那么你肯定会了解变量文学是如何运作的。如果没有,请不要担心,接下来还有另一个示例。

7. C 变量编程练习

编写一个程序,在不使用第三个变量的情况下交换两个变量的值。

解决方案

#include<stdio.h> 
#include<conio.h> 

void main() 
{ 
    int a,b; 

    printf("请输入要交换的两个数字:"); 
    scanf("%d %d",&a,&b); 
    printf("交换前的值:%d %d",a,b); 

    a = a+b; 
    b = ab; 
    a = ab; 

    printf("\n交换后的值:%d %d",a,b); 
    getchar(); 
}

输出将与之前的程序相同。

注意:我们今天的文章介绍了C 变量的基础知识。由于变量涉及的范围非常广,我也将在后面的文章继续慢慢解释它。