> 文章列表 > 第四天:C语言数组和字符串

第四天:C语言数组和字符串

第四天:C语言数组和字符串

目录

1. 数组

2. 字符串

3. 实例:反转字符串


        在前三天的学习中,您已经掌握了C语言的基本知识和控制结构。今天,我们将学习C语言的数组和字符串。数组和字符串是C语言中非常重要的数据结构,它们用于存储和操作多个数据元素。

1. 数组

        数组是由相同类型的数据元素组成的有序集合。在C语言中,您需要声明数组的类型、名称和大小。例如:

int numbers[5]; // 声明一个整数数组,包含5个元素
float scores[10]; // 声明一个单精度浮点数数组,包含10个元素
char letters[26]; // 声明一个字符数组,包含26个元素

        您可以在声明数组时指定初始值,例如:

int numbers[] = {1, 2, 3, 4, 5}; // 声明并初始化一个整数数组

        数组的元素通过索引进行访问,索引从0开始。例如:

numbers[0] = 10; // 将数组的第一个元素赋值为10
int x = numbers[1]; // 获取数组的第二个元素

2. 字符串

        字符串是由字符组成的数组。在C语言中,字符串以空字符('\\0')结尾。例如:

char name[] = "Alice"; // 声明并初始化一个字符串

        C语言提供了字符串处理函数,用于操作字符串。常见的字符串处理函数有:

  • strcpy:复制字符串。例如:

  • char name1[10] = "Alice";
    char name2[10];
    strcpy(name2, name1); // 将name1复制到name2

    strcat:连接字符串。例如

  • char greeting[20] = "Hello, ";
    char name[] = "Alice";
    strcat(greeting, name); // 将name连接到greeting后面

    strlen:计算字符串长度。例如:

  • char name[] = "Alice";
    int length = strlen(name); // 计算name的长度,不包括空字符'\\0'

    strcmp:比较字符串。例如:

  • char name1[] = "Alice";
    char name2[] = "Bob";
    int result = strcmp(name1, name2); // 比较name1和name2

        现在,您已经学会了C语言的数组和字符串。接下来,我们将通过一个简单的实例来巩固今天的学习内容。

3. 实例:反转字符串

目标:编写一个C程序,输入一个字符串,然后输出反转后的字符串。

  1. 1 使用文本编辑器创建一个新的文件,将其命名为reverse_string.c

  2. 2 在reverse_string.c文件中输入以下代码:

  3. #include <stdio.h>
    #include <string.h>void reverse(char s[]) {int length = strlen(s);for (int i = 0; i < length / 2; i++) {char temp = s[i];s[i] = s[length - 1 - i];s[length - 1 - i] = temp;}
    }int main() {char str[100];// 输入一个字符串printf("Enter a string: ");fgets(str, sizeof(str), stdin);// 去除换行符str[strcspn(str, "\\n")] = '\\0';// 反转字符串reverse(str);// 输出反转后的字符串printf("Reversed string: %s\\n", str);return 0;
    }

    3 保存文件,然后关闭文本编辑器。

  4. 4 根据前面学习的命令行编译和运行方法,编译并运行reverse_string.c程序。

  5. gcc reverse_string.c -o reverse_string

    5 运行程序并输入一个字符串,查看反转结果。

  6. ./reverse_string

        通过这个实例,您已经学会了如何在C语言中使用数组和字符串处理函数。在接下来的第五天,我们将学习C语言的函数。请继续关注我们的7天C语言零基础入门课程,共同成长!