第四天: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 使用文本编辑器创建一个新的文件,将其命名为
reverse_string.c
。 -
2 在
reverse_string.c
文件中输入以下代码: -
#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 根据前面学习的命令行编译和运行方法,编译并运行
reverse_string.c
程序。 -
gcc reverse_string.c -o reverse_string
5 运行程序并输入一个字符串,查看反转结果。
-
./reverse_string
通过这个实例,您已经学会了如何在C语言中使用数组和字符串处理函数。在接下来的第五天,我们将学习C语言的函数。请继续关注我们的7天C语言零基础入门课程,共同成长!