比赛名称: 实验6_数组_字符数组与字符串
比赛类型: 内部(受邀或输入密码才能参赛)
比赛状态: 已结束
比赛时间: 开始于 2025-11-03 14:00:00,至 2025-11-03 18:00:00结束。
一、实验目的
1.理解字符数组与字符串的区别与联系;掌握字符串的存储方式(以'\0'结尾)。
2.熟练进行字符串的输入输出操作;掌握字符串的赋值、比较、连接等基本操作。
3.能够使用字符串处理文本数据;解决常见的字符串处理问题。
二、相关知识点
1.字符数组的定义与初始化
char str1[20]; // 字符数组
char str2[] = "Hello"; // 自动计算长度
char str3[10] = {'W','o','r','l','d','\0'};
2.字符串的输入输出函数
函数 功能 特点
scanf("%s", str) 输入字符串 遇到空格停止
gets(str) 输入一行 不安全,已淘汰
fgets(str, n, stdin) 安全输入 推荐使用
printf("%s", str) 输出字符串 标准输出
puts(str) 输出字符串并换行 自动换行
3.注意事项
(1)结束标志:字符串必须以'\0'结尾;手动操作字符数组时注意添加结束符。
(2)输入处理:使用fgets代替gets;注意处理输入缓冲区中的换行符。
4.典型题目
(1)字符串长度统计(自主实现strlen)
(2)字符串逆序存储
(3)字符串中字符统计(字母、数字、空格等)
(4)字符串复制、连接、比较(自主实现)
(5)子串查找和统计
(6)字符串中单词统计
(7)简单的字符串加密解密
(8)字符串排序(按字典序)