寒假作业1问答题
这个作业属于哪个课程 | https://edu.cnblogs.com/campus/fzu/2020OOP |
---|---|
这个作业要求在哪里 | https://edu.cnblogs.com/campus/fzu/2020OOP/homework/10224 |
这个作业的目标 | 1、了解C语言的缺点 2、了解C语言/C++的编译过程 |
作业正文 | https://www.cnblogs.com/cyn522/p/12232556.html |
其他参考文献 | 1、https://www.cnblogs.com/Eric-jx/articles/10048309.html 2、http://blog.sina.com.cn/s/blog_148b66fae0102yg8f.html 3、https://www.cnblogs.com/CarpenterLee/p/5994681.html#top |
问答题: |
回答以下问题:
1、如果你不了解C++请回答以下问题:你认为C语言有什么缺陷(你觉得哪里用的不顺手)。
如果你已经了解C++请回答以下问题:你觉得C++和C语言比有什么优点。
2、查阅相关资料,简述一下C语言/C++的编译过程。
回答:
1、你认为C语言有什么缺陷?
①有多种输入输出方式,对应不同情况,比较麻烦
②语法限制不太严格,对数组下标越界不检查
③危险性高:C语言的设计思想导致在写程序时只要写法错的不是很离谱就会通过,不会报错,容易产生漏洞
④开发周期长:C语言是面向过程的语言,所以当代码写到10万行时容易崩溃,出现错误
⑤可移植性不强:C程序在其他机器上不一定能运行,就算能运行,结果也可能不一样
⑥较难掌握,要求对程序设计更熟练一些
2、查阅相关资料,简述一下C语言/C++的编译过程。
①预处理:将所有的#include头文件以及宏定义替换成其真正的内容,预处理之后的文件会大很多,但仍可用文本编辑器打开
②编译:将经过预处理之后的程序转换成特定汇编代码
③汇编:将上一步的汇编代码转换成机器码,为每一个源文件产生一个目标文件
④链接:将多个目标文件以及所需的库文件链接成最终的可执行文件