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

  • 相关阅读:
    打开一个网页,以html代码保存于txt文件中
    用C查看系统任务管理器中运行的程序
    常见两种LINK错误
    怎么把下载的dll和def生成lib,以用于编程
    建立一个不能打开的文件(占坑)C语言高级API调用
    [转]软件版本命名格式
    回调函数编写和注重点
    ubuntu linux mysql 开发模式与连接编译
    创建一个进程和两个管道,实现与进程通信
    hdoj 1115 Lifting the Stone (求多边形重心)
  • 原文地址:https://www.cnblogs.com/hai5111/p/7436684.html
Copyright © 2011-2022 走看看