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 ...
随机推荐
- MySQL之You can't specify target table for update in FROM clause解决办法
这篇文章主要介绍了mysql中You can't specify target table for update in FROM clause错误解决方法,需要的朋友可以参考下 MySQL中You c ...
- Sandcastle Help File Builder(.NET帮助文档工具)的版本选择心得——支持VS2010至VS2015,高版本项目文件问题
作者: zyl910 一.缘由 "Sandcastle Help File Builder"(简称SHFB)是一个很好用.NET 帮助文档生成工具. 但它的每个版本支持的VS版本范 ...
- [转]numpy 100道练习题
100 numpy exercise 翻译:YingJoy 网址: https://www.yingjoy.cn/ 来源:https://github.com/rougier/numpy-100 Nu ...
- Delphi提取PDF文本
生成PDF的控件很多,但解析的不是太多,pdf Toolkit可以,但测试的第一个复杂的pdf就报告错误,并且汉字乱码,可能使用的版本或使用方法不对. 想起之前使用java调用的Apache名下的pd ...
- 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境
在Linux下没有像keli那样好用的IDE来开发51单片机,开发环境只能自己搭建了. 第一步:安装交叉编译工具 a) 安装SDCC sudo apt-get install sdcc b)测试SDC ...
- class<T>和 class<?>类型
? 表示不确定的java类型. T 表示java类型 Class<T>在实例化的时候,T要替换成具体类Class<?>它是个通配泛型,?可以代表任何类型<? extend ...
- C#跑马灯,图片滚动,后台获取图片地址。动态绑定图片,imag显示文字
下面附下载地址. http://download.csdn.net/download/njxiaogui/10002058 1.跑马灯效果,图片连续循环滚动,图片下面并可附文字描述,图片是从数据库中获 ...
- linux 查找并kill进程
以php以关键字查找进程 $ ps aux | grep php root 32957 0.0 0.1 2470904 8908 s002 S+ 4:53下 ...
- 字符集之在UTF-8中,一个汉字为什么需要三个字节?
(一)在UTF-8中,一个汉字为什么需要三个字节? UNICODE是万能编码,包含了所有符号的编码,它规定了所有符号在计算机底层的二进制的表示顺序.有关Unicode为什么会出现就不叙述了,Unico ...
- C语言——数组名、取数组首地址的区别(一)
目录: 1. 开篇 2. 论数组名array.&array的区别 3. array.&array的区别表现在什么地方 4. 讨论 5. 参考 1.开篇 很多博客和贴吧都有讨论这个话题, ...