C++计算机二级考试上机实战:改错题、应用题与日期类实现
在计算机二级考试C++上机考试中,考生将面临三个不同类型的题目:程序改错、简单应用以及综合应用。这些题目考察了C++语言的基础知识和编程技巧。 1. **程序改错题** 考生需使用Visual C++ 6.0编辑器打开名为1.cpp的文件,该程序功能是接收用户输入的字符串,将其中的小写字母转换为大写字母。程序中存在三个错误需要修改。首先,在提示用户输入字符串的提示符处(//********error********)应删除注释。其次,在`getline`函数调用后忘记添加结束读取的标识,应在这一行添加`'\n'`。最后,在处理小写字母的`if`条件判断中,`if(str[i] == 'a')`的条件不正确,应该用`==`比较,且不需要在等号后加单引号。正确代码示例: ```cpp // 修改后的代码 #include <iostream> void main() { int i = 0; char str[120]; cout << "Enter a string end with ‘?’.\n"; cin.getline(str, 120); while (str[i]) { if (str[i] == 'a') // 修正这里 str[i] = str[i] - 'a' + 'A'; i++; } cout << "The result is: " << str << "\n"; return; } ``` 2. **简单应用题** 2.cpp文件中的任务是实现`fun`函数,该函数接受两个字符串`s1`和`s2`,将`s1`中下标为偶数的字符复制一次并追加到`s2`。考生需在`fun`函数的实现部分完成代码,注意保持函数参数和返回值类型不变。示例代码: ```cpp // 在fun函数中添加实现 void fun(char* s1, char* s2) { for (int i = 0; s1[i]; i++) { if (i % 2 == 0) // 下标为偶数 s2[strlen(s2)] = s1[i]; // 将字符追加到s2末尾 s2[strlen(s2) + 1] = '\0'; // 每次追加后添加终止符 } } // main函数部分保持不变 ``` 3. **综合应用题** 在3.cpp文件中,已有一个日期类Date的定义不完整。考生需要在注释1之后定义私有成员变量year、month、day,并为类添加必要的构造函数、赋值运算符等。这部分需要熟悉类的封装和继承原则,以及基本的构造与赋值操作。完整的类定义可能如下: ```cpp class Date { private: int year; int month; int day; public: // 构造函数 Date(int y, int m, int d) : year(y), month(m), day(d) {} // 赋值运算符 Date& operator=(const Date& other) { if (this != &other) { year = other.year; month = other.month; day = other.day; } return *this; } // 其他方法(如显示日期、比较等) }; // 在注释1后的具体实现区域补充以上代码 ``` 以上是计算机二级考试C++上机考试的主要知识点,涵盖了基础的字符串操作、条件判断、函数实现以及面向对象编程中的类定义。考生需要熟练掌握这些概念并能灵活运用到实际编程中。
![](https://csdnimg.cn/release/download_crawler_static/88143612/bg3.jpg)
剩余10页未读,继续阅读
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/7ab3a1d3e93348008ef61f22afae2cb8_ai_data_cloud.jpg!1)
- 粉丝: 385
- 资源: 5519
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)