• 100条经典C++语言笔试题目1-16


    1、C和C++中struct有什么区别?

    ---------- protection行为 能否定义函数
    C 否,但可以有函数指针
    c++ 有,默认是public 可以

    2、C++中的struct和class有什么区别?
    struct拥有class所有功能。
    (1)默认继承权限。class-》private,struct-》public
    (2)成员的默认访问权限。class-》private,struct-》public

    3、如何判断一段程序是由C编译程序还是由C++编译程序编译的?

    #ifdef __cplusplus
            cout<<"c++";
    #else
            cout<<"c";
    #endif
    

    4、C和C++有什么不同?
    从机制上:C是面向过程的;C++是面向对象的,提供了类。
    C语言是结构化编程语言,C++是面向对象编程语言。
    C++侧重于对象而不是过程,侧重于类的设计而不是逻辑的设计。

    5、“引用”和指针的区别是什么?
    指针通过某个指针变量指向一个对象后,对它所指向的变量间接操作。程序中使用指针,程序的可读性差;而引用本身就是目标变量的别名,对引用的操作就是对目标变量的操作。

    7、int id[sizeof(unsigned long)];这个对吗?为什么?
    正确
    这个sizeof是编译时运算符,编译时就确定了,可以看成和机器有关的常量。

    8、某文件中定义的静态全局变量(或称静态外部变量)其作用域是()?
    A。只限某个函数 B。本文件
    C。跨文件 D。不限制作用域
    答案:B。静态全局变量限制了其作用域在定义该变量的源文件内有效。

    9、C++函数中值的传递方式有哪几种?
    C++函数的三种传递方式为:值传递,指针传递和引用传递

    10、对于一个频繁使用的短小函数,在C语言应用什么实现,在C++中应用什么实现?
    C语言用宏定义,C++用inline

    11、引用和指针有什么区别?
    1)引用必须初始化,指针不用。
    2)引用初始化以后不能被改变,指针可以改变所指的对象。
    3)不存在指向空值的引用,但是存在指向空值的指针。

    12、C++中virtual与inline的含义分别是什么?
    virtual虚函数。
    inline内联函数
    虚函数的特点:如果希望派生类能够重新定义基类的方法,则在基类中将该方法定义为虚函数,这样可以启用动态联编。
    内联函数的特点:使用内联函数的目的是为了提高函数的运行效率。内联函数体的代码不能过长,因为内联函数省去调用函数的时间是以代码膨胀为代价的。内联函数不能包含循环语句。

    13、VC中,编译工具条内的Debug和Release选项是什么含义?
    Debug通常称为调试版本,它包含调试信息,并且不作任何优化,以便程序员调试程序。Release称为发布版本,它往往是进行了各种优化,使得程序在代码大小和运行速度上都是最优的。

    14、函数assert的用法?
    断言assert是仅在debug版本起作用的宏,用于检查“不应该”发生的情况。程序员可以把assert看成一个在任何系统状态下都可以安全使用的无害测试手段。

    15、const与#define的比较,const有什么优点?
    1)const常量有数据类型,而宏常量没有数据类型。编译器可以对前者进行类型安全检查。而对后者只进行字符替换,没有类型安全检查,并且在字符替换可能会产生意料不到的错误(边际效应)
    2)有些集成化的调试工具可以对const常量进行调试,但是不能对宏常量进行调试。

    16、请你谈谈引用和指针的区别
    1)引用被创建的同时必须初始化
    2)不能有null引用,引用必须与合法的存储单元连接
    3)一旦引用被初始化,就不能改变引用的关系。(指针则可以随时改变所指的对象)

  • 相关阅读:
    Android 禁止软键盘自动弹出
    Android之Adapter用法总结
    如何成为android高手
    最强大的文案策略
    外贸电商的ERP有很多
    ERP行业销售如何挖掘潜在客户?
    新制造
    C#实现字符串相似度算法
    cmd
    对于大型公司项目平台选择j2ee的几层认识
  • 原文地址:https://www.cnblogs.com/Blackmanba-xzl/p/5325569.html
Copyright © 2020-2023  润新知