全国计算机二级考试题库:字符串查找与程序纠错
版权申诉
97 浏览量
更新于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-11-16 上传
2024-11-16 上传
hguifei1
- 粉丝: 0
- 资源: 7万+
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案