面向对象程序设计寒假作业一

作业描述 详情
这个作业属于哪个课程 2020面向对象程序设计
作业的要求在哪里 https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10224
这个作业的目标 安装C++开发环境,完成问答题、实践题及编程题,发布博客
其他参考文献
作业正文

一问答题
1你认为C语言有什么缺陷(你觉得哪里用的不顺手)?
答:(1)C语言语法限制不太严格,程序设计自由度大,容易造成程序员使用混乱。
(2)C语言具有丰富的运算符,多达 34种,这些运算符分为众多优先级,不容易记忆,可能混淆而产生错误。
(3)C语言的编译太慢,需要等待的时间太长。
2查阅相关资料,简述一下C语言/C++的编译过程。
流程:C源程序头文件 --> 预编译处理(cpp) --> 编译程序本身 --> 优化程序 --> 汇编程序 --> 链接程序 -–> 可执行文件
  1. 编译预处理
  读取C语言源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。
  2. 编译阶段
  经过预编译得到的输出文件中,将只有常量,如数字、字符串、变量的定义,以及C语言的关键字,如main, if, else, for, while, {, }, +, -, , , 等等。预编译程序所要做的工作就是通过词法分析和语法分析,在确认所有的指令都符合语法规则之后,将其翻译成等价的中间代码表示或汇编代码。
  3. 优化阶段
优化处理是编译系统中一项比较艰深的技术。它涉及到的问题不仅同编译技术本身有关,而且同机器的硬件环境也有很大的关系。优化一部分是对中间代码的优化。这种优化不依赖于具体的计算机。另一种优化则主要针对目标代码的生成而进行的。
  经过优化得到的汇编代码必须经过汇编程序的汇编转换成相应的机器指令,方可能被机器执行。
  4. 汇编过程
  汇编过程实际上指把
汇编语言代码翻译成目标机器指令的过程。对于被翻译系统处理的每一个C语言源程序,都将最终经过这一处理而得到相应的目标文件。目标文件中所存放的也就是与源程序等效的目标的机器语言代码。
  5. 链接程序
  由汇编程序生成的目标文件并不能立即就被执行,其中可能还有许多没有解决的问题。例如,某个源文件中的函数可能引用了另一个源文件中定义的某个符号(如变量或者函数调用等);在程序中可能调用了某个库文件中的函数,等等。所有的这些问题,都需要经链接程序的处理方能得以解决。
  链接程序的主要工作就是将有关的目标文件彼此相连接,也即将在一个文件中引用的符号同该符号在另外一个文件中的定义连接起来。
二实践题
1查看自己的C++编译器版本
答:(1)打开Visual Studio 2019
(2)创立项目(c++)
(3)点击工具》命令行》开发者命令提示》输入cl.exe

2使用命令行编译一份C语言/C++代码。
(1)打开:开发者命令提示

(2)进入c程序所在目录,如D盘

三编程题(请使用C语言或者C++完成以下题目):(基础5分)

中国文化博大精深,从仓颉造字开始,汉字一直流传到了今天。我们在感叹汉字的源远流长时,也不禁感慨,为什么没有一门使用汉字编程的语言?
汉字真的不能编程吗?最近文言文编程火了一把,吾有一數。曰三。名之曰「甲」。这朴实无华的变量定义无疑不是几千年来中华文化的发展中一朵奇葩。
今天小王同学想,文言文能编程那白话文呢?他找到了你,让你帮帮他。

编程要求
编写一个程序,输入满足以下语法要求的一段文字,输出运行后的结果。
变量定义:整数 钱包 等于 零
运算(加法):钱包 增加 四
运算(减法):钱包 减少 四
输出:看看 钱包

样例
输入:

整数 钱包 等于 零
钱包 增加 四
钱包 减少 三
看看 钱包

输出:

注意:

输入输出用例均为GBK编码,推荐使用vscode把文本切换为GBK编码。
数字只会出现以下 零一二三四五六七八九十 。

编程题要求:

读题,提取出题目的要求。
分解需求,把需求分解为几个你觉得不太相关的模块。
思考每个模块怎么写,可以从简单的模块开始写。
对于不会的问题进行查阅资料。
对于每一个模块设计测试用例。
详细记录下以上每一步,并写在博客中。
不要求完全做出来,但要求记录详细。
建议博客长度不少于1000字(不包含代码)。
原文地址:https://www.cnblogs.com/ctw161506/p/12237075.html