全国计算机二级考试题库:字符串查找与程序纠错
版权申诉
109 浏览量
更新于2024-07-13
收藏 3.46MB PDF 举报
本资源是一份全国计算机二级考试题库的上机部分,主要针对C语言编程题。题目包括程序填空题和程序改错题,旨在考察考生的基础编程技能和逻辑理解。
1. **程序填空题**
这段代码的功能是查找一个字符数组`ss`中所有包含给定子串`substr`的字符串,并在找到时输出。函数`fun`接受两个参数:一个指向字符串数组的指针`ss`和一个字符串`substr`。首先,定义了两个全局常量`N`(字符串数组长度)和`M`(每个字符串的最大长度)。函数通过`for`循环遍历数组,`strstr`库函数用于查找子串。`if`语句判断`strstr`的结果是否为`NULL`,非`NULL`表示找到了子串,此时输出该字符串并设置`find`标志为1。如果没有找到子串,`if`块外的`printf`语句会输出提示信息"Didn't find!"。
代码缺失的部分填空如下:
```c
#include
<stdio.h>
#include
<string.h>
#define
N 5
#define
M 15
void fun(char (*ss)[M], char *substr)
{
int i, find = 0;
for (i = 0; i < N; i++) // 第一个空格填写 N
{
if (strstr(ss[i], substr) != NULL) // 第二个空格填写 substr
{
find = 1;
puts(ss[i]);
printf("\n");
}
}
if (find == 0) printf("\nDon't found!\n"); // 第三个空格填写 0
}
main()
{
char x[N][M] = {"BASIC", "Clangwage", "Java", "QBASIC", "Access"}, str[M];
int i;
printf("\nThe original string\n\n");
for (i = 0; i < N; i++) puts(x[i]);
printf("\n");
printf("\nEnter a string for search:");
gets(str);
fun(x, str);
}
```
2. **程序改错题**
给定的函数`fun`目的是计算三个整数`x`, `y`, `z`的最小公倍数。函数中有一个错误,即在计算余数时使用了`"`运算符而不是`%`。修复后的代码应如下所示:
```c
#include<stdio.h>
void fun(int x, int y, int z)
{
int j, t, n, m;
j = 1;
t = j % x; // 修正这里,用%运算符代替"
m = j % y; // 修正这里,用%运算符代替"
// ...其他代码不变...
}
```
通过这两部分的练习,考生将巩固对C语言基本语法、字符串处理、控制结构和错误排查的理解。在实际考试中,理解和正确使用这些基础知识至关重要,特别是对于处理字符串操作和算法设计。
2021-10-13 上传
2021-10-11 上传
2021-10-04 上传
2021-10-06 上传
2021-10-11 上传
2021-10-04 上传
2021-10-10 上传
2024-10-17 上传
2024-10-17 上传
hguifei1
- 粉丝: 0
- 资源: 7万+
最新资源
- 新型智能电加热器:触摸感应与自动温控技术
- 社区物流信息管理系统的毕业设计实现
- VB门诊管理系统设计与实现(附论文与源代码)
- 剪叉式高空作业平台稳定性研究与创新设计
- DAMA CDGA考试必备:真题模拟及章节重点解析
- TaskExplorer:全新升级的系统监控与任务管理工具
- 新型碎纸机进纸间隙调整技术解析
- 有腿移动机器人动作教学与技术存储介质的研究
- 基于遗传算法优化的RBF神经网络分析工具
- Visual Basic入门教程完整版PDF下载
- 海洋岸滩保洁与垃圾清运服务招标文件公示
- 触摸屏测量仪器与粘度测定方法
- PSO多目标优化问题求解代码详解
- 有机硅组合物及差异剥离纸或膜技术分析
- Win10快速关机技巧:去除关机阻止功能
- 创新打印机设计:速释打印头与压纸辊安装拆卸便捷性