zoukankan      html  css  js  c++  java
  • C语言面试笔记(8/26)

    在32位的机器环境下,char、short、int、float、double这样的内置数据类型sizeof值的大小分别为1,2,4,4,8;

    C++标模板库(standard Template Library,STL)里面提供了10种通用的容器类。vector(向量)中的元素是按照插入的顺序排列的;deque(队列)中的元素是按照进队列的顺序排列的;list中的元素是无序的;map中的元素是采用了平衡二叉树进行排列的,是为了具有更高的查询效率;

    在所有类说明中,内部定义的成员函数都是内联函数

    符号优先级比较:

    算数运算符>关系运算符>与(&&)>或(||)>赋值运算符

    a、C++中成员函数被重载的特征:

    (1)相同的范围(同一个类中);

    (2)函数名字相同;

    (3)参数不同(与参数类型无关,参数类型相同时不是重载);

    (4)virtual关键字可有可无;

    b、覆盖是指派生类的函数覆盖基类函数,规则如下:

    (1)函数名字相同;

    (2)参数相同;

    (3)基类函数必须有Virtual 关键字;

    c、“隐藏”是指派生类的函数屏蔽了与其同名的基类函数,规则如下:

    (1)如果派生类的成员函数与基类的成员函数同名,但是参数不同,此时,有无virtual关键字,基类的成员函数都会被隐藏;

    (2)如果派生类的函数与基类的函数同名,并且参数相同,但是基类的函数没有关键字“virtual”,此时,基类的成员函数被隐藏;

    以下程序输出值为多少?

    short i=65537;

    int j=i+1;

    printf("i=%d,j=%d ",i,j);

    输出为i=1;j=2;

    解析:

    因为short占俩个字节即16bit,这里i=65537转化为二进制则为1 0000 0000 0000 0001;溢出了,所以i的值为1;j=i+1=2;

    下面俩段代码中的for循环分别执行多少次?

    1、

    unsigned short i,j;

    for(i=0,j=2;i!=j;i+=5,j+=7){}

    2、unsigned short i,j;

    for(i=3,j=7;i!=j;i+=3,j+=7){}

    unsigned short型占16bit,最大值为65536;

    看成一个跑圈追人的问题;

    1、可以认为j比i落后65536-2=65534;j每次追赶2个,63334/2=32767;

    2、同理j比i落后65536-4=65532;j每次追赶4个,65532/4=16383

  • 相关阅读:
    北风设计模式课程---行为型模式总结
    北风设计模式课程---21、中介者模式
    kindeditor-网页文字编辑
    CSDN挑战编程——《金色十月线上编程比赛第二题:解密》
    Unreal Engine 4 创建Destructible Mesh(可破坏网格)
    android弹出时间选择框
    mac_Mac环境下怎样编写HTML代码?
    PL/SQL 游标的使用
    [cocos2dx笔记008]cocos2d 用luabridge手动绑定类
    Codeforces Round #274 (Div. 2)
  • 原文地址:https://www.cnblogs.com/hai5111/p/7436684.html
Copyright © 2011-2022 走看看