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 ...
随机推荐
- hive使用python脚本导致java.io.IOException: Broken pipe异常退出
反垃圾rd那边有一个hql,在执行过程中出现错误退出,报java.io.IOException: Broken pipe异常,hql中使用到了python脚本,hql和python脚本最近没有人改过, ...
- iOS 随机数获取
//获取一个32位随机数 static const char _randomStr[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuv ...
- 【转】最近很火的 Safe Area 到底是什么
iOS 7 之后苹果给 UIViewController 引入了 topLayoutGuide 和 bottomLayoutGuide 两个属性来描述不希望被透明的状态栏或者导航栏遮挡的最高位置(st ...
- Windows两个网卡配置路由规则 同时访问内网和外网
电脑上有两个网卡,一个有线一个无线,有线连局域网,无线连外网,虽然两个网都连着,但还是会出现访问不通的情况. 这就要求我们自己来配置路由规则,让内网的访问走内网的网卡,外网的访问走外网的网卡. 一.查 ...
- 在Centos7下安装nghttp2
如果是Ubuntu18.04, 系统本身已经带了nghttp2了, 直接apt安装就可以. 下载源代码 https://github.com/nghttp2/nghttp2 如果是在Ubuntu下编译 ...
- Atitit 项目版本管理gitflow 与 Forking的对比与使用
Atitit 项目版本管理gitflow 与 Forking的对比与使用 1.1. 版本管理的历史 csv>>svn >git 1 1.2. gitflow的核心是分版本管理,for ...
- js 性能优化利器:prepack
1. js 性能优化 js 本身是没有像 python 一样的预编译功能,更没有像 java 一样的编译功能,所以,这里所说的 js 代码预编译 只是通过工具实现的类似功能而已. 这就要提到 prep ...
- 隐马尔可夫模型:HMM
隐马尔可夫模型求解三大问题实例剖析 HMM 模型如图所示: 一.隐马尔可夫模型定义 隐马尔可夫模型由初始概率分布.状态转移概率分布以及观测概率分布确定. 设 Q(图中的q)是所有可能的状态的集合,V( ...
- Python 简单入门指北(一)
Python 简单入门指北(一) Python 是一门非常容易上手的语言,通过查阅资料和教程,也许一晚上就能写出一个简单的爬虫.但 Python 也是一门很难精通的语言,因为简洁的语法背后隐藏了许多黑 ...
- 如何添加使用echats地图悬浮显示内容
/初始化绘制全国地图配置 var option = { backgroundColor: '#000', title: { text: 'Echarts3 中国地图农村金融', subtext: '三 ...