数据和C(2)

本篇摘要:

1:变量与常量数据

2:数据:数据类型和关键字

---------------------------------------------------------------------------------------------------------------------------------

变量和常量数据:

在C语言中,变量是一块命名的内存空间,用于存储程序运行过程中可能会改变的数据。变量在使用之前需要声明,并且可以在声明的同时初始化。

#include <stdio.h>

int main() {
    int x = 10;  // 定义一个整型变量 x,并初始化为 10
    printf("%d\n", x);  // 输出 10
    
    x = 20;  // 改变变量 x 的值为 20
    printf("%d\n", x);  // 输出 20
    
    return 0;
}

常量在C语言中是一种在程序运行期间其值不改变的量。常量可以通过#define预处理指令或者const关键字来定义。

#define 定义:

#include <stdio.h>

#define PI 3.14159  // 定义一个常量 PI

int main() {
    printf("%f\n", PI);  // 输出 3.141590
    return 0;
}

const定义:

#include <stdio.h>

int main() {
    const double PI = 3.14159;  // 定义一个常量 PI
    printf("%f\n", PI);  // 输出 3.141590
    
    // PI = 3.14;  // 这行代码会导致编译错误,因为 PI 是一个常量,不可修改
    
    return 0;
}

变量和常量的区别

  1. 值的可变性

    • 变量:值可以在程序执行过程中改变。
    • 常量:值在程序执行过程中不改变。
  2. 定义方式

    • 变量:通过数据类型和变量名来定义。
    • 常量:通过#define预处理指令或者const关键字来定义。
  3. 存储方式

    • 变量:存储在内存的可变区域,可以进行读写操作。
    • 常量:存储在内存的只读区域(使用const关键字定义的常量),或者在编译期进行替换(使用#define定义的常量)。

总结

在C语言中,理解和正确使用变量和常量是编写高效、可靠的代码的基础。变量用于存储和操作动态数据,而常量用于表示程序中固定不变的值。选择适当的方式定义常量(#defineconst)取决于具体的使用场景和需求。

---------------------------------------------------------------------------------------------------------------------------------

数据:数据类型和关键字

在C语言中,数据类型和关键字是编程的基础。数据类型用于定义变量和常量的类型,而关键字是C语言的保留字,用于执行特定的操作或控制程序的行为。

数据类型

C语言中的数据类型可以分为基本数据类型和派生数据类型。

基本数据类型
  1. 整型(Integer types)

    • int:标准整数类型,通常占用4个字节。
    • short:短整数类型,通常占用2个字节。
    • long:长整数类型,通常占用4或8个字节。
    • long long:更长的整数类型,通常占用8个字节。
    • unsigned:无符号整数类型,可以与上述类型组合使用,例如 unsigned int
  2. 字符型(Character types)

    • char:字符类型,通常占用1个字节。可以存储单个字符或小的整数。
    • unsigned char:无符号字符类型。
  3. 浮点型(Floating-point types)

    • float:单精度浮点数类型,通常占用4个字节。
    • double:双精度浮点数类型,通常占用8个字节。
    • long double:扩展精度浮点数类型,通常占用12或16个字节。

关键字

C语言中的关键字是具有特殊意义的保留字,不能用作变量名或其他标识符。这些关键字用于控制程序的结构和行为。以下是一些常见的关键字:

  • 数据类型相关

    • int
    • char
    • float
    • double
    • void
    • short
    • long
    • signed
    • unsigned
  • 控制语句

    • if
    • else
    • switch
    • case
    • default
    • for
    • do
    • while
    • break
    • continue
    • goto
    • return
  • 存储类说明符

    • auto
    • register
    • static
    • extern
    • const
    • volatile
  • 其他

    • struct
    • union
    • enum
    • typedef
    • sizeof
    • inline

示例代码:

#include <stdio.h>

// 定义一个结构体
struct Person {
    char name[50];
    int age;
};

int main() {
    // 基本数据类型
    int a = 10;
    float b = 5.5;
    char c = 'A';

    // 指针
    int *p = &a;

    // 数组
    int arr[5] = {1, 2, 3, 4, 5};

    // 结构体
    struct Person person;
    person.age = 30;
    snprintf(person.name, sizeof(person.name), "John Doe");

    // 输出
    printf("Integer: %d\n", a);
    printf("Float: %.2f\n", b);
    printf("Char: %c\n", c);
    printf("Pointer: %d\n", *p);
    printf("Array: %d %d %d %d %d\n", arr[0], arr[1], arr[2], arr[3], arr[4]);
    printf("Person: Name = %s, Age = %d\n", person.name, person.age);

    return 0;
}

 运行结果:

Integer: 10
Float: 5.50
Char: A
Pointer: 10
Array: 1 2 3 4 5
Person: Name = John Doe, Age = 30

 

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值