
C语言编程:字符串大小写转换与字符比较
下载需积分: 10 | 914KB |
更新于2024-12-07
| 180 浏览量 | 3 评论 | 举报
收藏
"国家计算机考试二级C语言南开大学100题"
在这份资源中,主要涉及了两个C语言编程题目,分别属于填空题和改错题类型,旨在考察考生对C语言基本语法、字符串操作以及ASCII码的理解与应用。
1. 填空题:
题目要求编写一个函数,将输入的字符串中所有的小写字母转化为大写字母,并保持其他字符不变。提供的部分代码定义了一个main函数,以及一个未完成的函数fun。我们需要填充函数fun的空白部分。
- 首先,注意到代码中有一个for循环的初始化部分缺失,可以填入`for(j=0; ;j++)`,这个循环将遍历字符串直到遇到空字符'\0'。
- 第二个空白处,要求将小写字母转换为大写,可以通过在其ASCII值上加上32来实现,因此填写`*(pf+j)+='A'-'a'`,因为'A'到'Z'的ASCII值比'a'到'z'大32。
- 最后一个空白处,由于循环结束后需要继续检查下一个字符,所以填写`j++`。
完整的fun函数应如下所示:
```c
void fun(char* pf)
{
int j = 0;
while (*(pf + j))
{
if (*(pf + j) >= 'a' && *(pf + j) <= 'z')
{
*(pf + j) += 'A' - 'a';
j++;
}
else
{
j++;
}
}
}
```
2. 改错题:
题目提供了一个比较两个字符串并构建新字符串的fun函数。错误在于比较字符和更新指针的位置。在原始代码的两处注释`/******found*********/`下,需要修改。
- 第一处错误:while循环条件应该同时检查两个字符串是否到达末尾,即`while(*p&&*q)`,确保在其中一个字符串结束时停止比较。
- 第二处错误:在更新指针时,无论字符是否相等,都应向前移动。因此,两个`if`语句应该改为`p++, q++;`,这样可以保证两个指针同步前进。
修复后的fun函数应如下所示:
```c
void fun(char* p, char* q, char* c)
{
int k = 0;
while (*p && *q)
{
if (*p <= *q)
c[k] = *q;
else
c[k] = *p;
p++;
q++;
k++;
}
}
```
这两个题目都涉及到C语言的基础知识,包括字符串操作、指针使用、ASCII码转换以及条件判断。解决这些问题需要扎实的C语言基础和逻辑思维能力。
相关推荐





















资源评论

艾斯·歪
2025.06.28
这份文档资料为备考二级C语言的考生提供了经典的南开大学100题,覆盖了考试的各个重要知识点。

今年也要加油呀
2025.05.14
针对考试实战,这100题精选自南开大学的经典题库,对提升编程技能非常有帮助。

13572025090
2025.04.23
适合考前冲刺,南开大学出的这100题精炼高效,能有效检验学习成果。

Mr_HansonUP
- 粉丝: 0
最新资源
- 泰勒展开与最小二乘法在TDOA求解中的应用研究
- 学习鉴别人脸修图的人脸篡改数据库
- 高效Python脚本实现Google图片批量无限制下载
- Axure RP 9.0.0.3647软件下载压缩包
- RabbitMQ 2.7.0性能测试工具解压包使用指南
- Python编程实践与数据库应用总结
- 激光雕刻工具包:位图转矢量与GCode
- 深入解析《Android应用开发揭秘》完整源码
- 仿百度网盘多功能文件管理系统的实现
- M1卡分析工具:IC客栈助手的使用与特性
- ASP.NET Maker 2019.0.3 - Delphi开发工具下载
- JProfiler11注册机使用教程与功能介绍
- SocketTool4:简易socket客户端与服务器通信测试工具
- Linux平台下的Oracle JDK8安装与下载指南
- 掌握Python自动化工具与源码应用技巧
- ASP Report Maker 10.0.2 完整版下载指南
- 个人通信录管理工具的源码分享
- pngquant:优化网站与APP,减少图片空间占用
- Firebase UI Auth for B4A Library下载
- Java 8 Time类特性详解与源码分析
- 全志OTA客户端与服务器端完整文档及源码指南
- OllyDbg_2.01动态调试工具:单步分析恶意代码
- 微信小游戏小程序开发套装:5款精选游戏
- Redis Desktop Manager 2019.0.0版发布,尝鲜最新功能