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语言有哪些不便之处。

  • 相关阅读:
    前端JavaScript(2) --常用内置对象,函数,伪数组 arguments,关于DOM的事件操作,DOM介绍
    前端JavaScript(3)-关于DOM操作的相关案例,JS中的面向对象、定时器、BOM、位置信息
    前端JavaScript(1) --Javascript简介,第一个JavaScript代码,数据类型,运算符,数据类型转换,流程控制,百度换肤,显示隐藏
    前端CSS(3)
    CSS标签大全
    前端CSS(2)
    前端CSS(1)
    前端HTML(二/三)
    前端基础(1)
    第一个自定义HTML网页
  • 原文地址:https://www.cnblogs.com/littleseasalt/p/12236270.html
Copyright © 2011-2022 走看看