zoukankan      html  css  js  c++  java
  • 2020年面向对象程序设计寒假作业1_问答题

    问答题:

    1.如果你不了解C++请回答以下问题:你认为C语言有什么缺陷(你觉得哪里用的不顺手)。

    (1) 运算符众多,且分为若干优先级,不易记忆,很容易因为混淆而导致出现错误;
    (2) 使用数组时常常要考虑是否越界的问题,如果不考虑,就容易越界导致出错;
    (3) 存在一些语法限制,如switch语句由case结构组成,每个case结束之后都要使用一个break来跳出case结构,否则将会继续执行下面的case,这样就会造成错误;
    (4) 一些错误不易发现,如“=”和“==”,两者都是合法运算符,有时候手误打错,但编译并不会出错,导致找不到这个错误,耗大量时间一行行去看才能纠正。

    2.查阅相关资料,简述一下C语言/C++的编译过程。

    C/C++程序编译流程: 预处理->编译->汇编->链接

    具体的就是: 源代码(source coprede)→预处理器(processor)→编译器(compiler)→汇编程序(assembler)→目标程序(object code)→链接器
    (Linker)→可执行程序(executables)

    1. 预处理
    预处理相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的文件无异,只是内容上有所不同。

    (1)读取C/C++源程序,对其中的伪指令(以#开头的指令)进行处理;
    (2)删除所有的注释;
    (3)添加行号和文件名标识;
    (4)保留所有的#pragma编译器指令。

    2. 编译
    将预处理完的文件进行一系列词法分析、语法分析、语义分析及优化后,产生相应的汇编代码文件。

    3. 汇编
    将编译完的汇编代码文件翻译成机器指令,并生成可重定位目标程序的.o文件,该文件为二进制文件,字节编码是机器指令。

    4. 链接
    通过链接器将一个个目标文件(或许还会有库文件)链接在一起生成一个完整的可执行程序。

    思考过程

    复习了一遍自己上学期的笔记,根据一些手写代码和注释,从中思考C语言有哪些不便之处。

  • 相关阅读:
    OFBiz:初始RequestHandler
    OFBiz:添加样式【转】
    OFBiz:配置过程
    OFBiz:component-load.xml
    OFBiz:组件装入位置
    OFBiz:添加实体栏位
    OFBiz:扩展controller.xml
    Adminer
    定制ADempiere(1)- 会议记录
    OpenResty 通过二级域名做跳转
  • 原文地址:https://www.cnblogs.com/littleseasalt/p/12236270.html
Copyright © 2011-2022 走看看