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\n",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
C语言面试笔记(8/26)的更多相关文章
- Haskell语言学习笔记(26)Identity, IdentityT
Identity Monad newtype Identity a = Identity { runIdentity :: a } instance Functor Identity where fm ...
- C语言经典面试题 与 C语言面试宝典
1 预处理 问题1:什么是预编译?何时需要预编译? 答: 预编译又称预处理,是整个编译过程最先做的工作,即程序执行前的一些预处理工作.主要处理#开头的指令.如拷贝#include包含的文件代码.替换# ...
- c语言面试宝典(经典,超详细)
c语言面试宝典(经典,超详细) 2018年08月25日 09:32:19 chengxuyuan997 阅读数:7799 摘自:https://blog.csdn.net/chengxuyuan9 ...
- HTML语言学习笔记(会更新)
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...
- JavaScript语言精粹笔记
JavaScript语言精粹笔记 掌握语言的每个特性可以让你出风头,但是并不推荐,因为一部分的特性带来的麻烦可能远超本身的价值.正如书中所言,坏的材料并不能雕刻出好的作品,要成为一名更好的程序员,要取 ...
- 10个经典的C语言面试基础算法及代码
10个经典的C语言面试基础算法及代码作者:码农网 – 小峰 原文地址:http://www.codeceo.com/article/10-c-interview-algorithm.html 算法是一 ...
- c语言的笔记
下面把我这半年来记的一些C语言的笔记贴出来. 1 C语言中函数参数传递是按照“值传递”进行的,即单向传递. 2 函数原型:函数类型 函数名(参数类型,参数类型……),可以不必加参数名,因为操作系统 ...
- C语言盲点笔记1
寥寥数笔,记录我的C语言盲点笔记,仅仅为以前经历过,亦有误,可交流. 1.int* a和int *a有差别吗? 没有不论什么差别,都表示a是int指针 建议这么写int *a;这样明显一点 理由例如以 ...
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...
随机推荐
- Java高并发和多线程系列 - 1. 线程基本概念
1. 什么是线程? 线程和进程的区别 在了解线程的概念前,我们应该先知道什么是进程? 进程是操作系统的基本概念之一, 它是正在执行的程序实例. * 下面的一些进程的基本概念你可以了解下 ------- ...
- Oracle 之 树查询 START WITH ... CONNECT BY ...子句
START WITH ... CONNECT BY ...子句是结构化查询中用到的,其基本语法是: select … from tablename start with 条件1 connect by ...
- Foxmail中配置O365邮箱和Hotmail邮箱
一.简述 平时我们经常使用第三方的邮箱工具来管理邮箱.可能性能比Outlook好很多,比如Foxmail,而且也能和Skype会议关联的很好.本文就讲如何在Outlook中关联Office365邮箱和 ...
- Web Workers 简介
web worker 介绍:https://developer.mozilla.org/zh-CN/docs/Web/API/Web_Workers_API/Using_web_workers web ...
- Netty实现的一个异步Socket代码
本人写的一个使用Netty实现的一个异步Socket代码 package test.core.nio; import com.google.common.util.concurrent.ThreadF ...
- 使用 Docker 镜像构建 GO 语言环境
1. 安装 Docker 我当前使用的系统环境是 CentOS7 ,安装 Docker 使用的命令是 yum install docker*.至于其它系统,可以到百度查找其对应的安装方式. 2. 配置 ...
- --defaults-file 不能用?
今天在测试mysql多实例时发现mysqld_safe --user --defaults-file 怎么都无法启动,后来发现是必须按顺序,先写--defaults-file才可以. mysqld_s ...
- 树莓派进阶之路 (038) - P2P 文件下载机
硬件要求: 树莓派开发板 USB外接硬盘 一. Together 1. 更新安装程序 sudo apt-get update sudo apt-get upgrade sudo apt-get ins ...
- 一次python 内存泄漏解决过程
最近工作中慢慢开始用python协程相关的东西,所以用到了一些相关模块,如aiohttp, aiomysql, aioredis等,用的过程中也碰到的很多问题,这里整理了一次内存泄漏的问题 通常我们写 ...
- 让Elasticsearch集群冷热分离、读写分离【转】
转自:https://blog.csdn.net/jiao_fuyou/article/details/50511255 根据Elasticsearch中文社区<ES冷热分离(读写分离) hot ...