一套带答案的C++笔试题


Posted in 面试题 onJanuary 10, 2014
188、以下三条输出语句分别输出什么?【基础】
char str1[] = “abc”;
char str2[] = “abc”;
const char str3[] = “abc”;
const char str4[] = “abc”;
const char* str5 = “abc”;
const char* str6 = “abc”;
第53 页共59 页
cout cout cout 答:输出为:false、false、true。
189、以下反向遍历array 数组的方法有什么错误?【基础】
vector array;
array.push_back(1);
array.push_back(2);
array.push_back(3);
//反向遍历array 数组:
for(vector::size_type i=array.size()-1; i>=0; –i){
cout }
答:for 循环中的变量i 的类型不应定义为vector::size_type,
因为该类型为无符号数值类型,故循环条件将恒成立,为死循环,应将其类型定
义为有符号的int 类型。
190、以下代码有什么问题?【基础】
cout 答:运算符中两个可选值的类型不同。
191、以下代码有什么问题?【基础】
typedef vector IntArray;
IntArray array;
array.push_back(1);
array.push_back(2);
array.push_back(2);
array.push_back(3);
//删除array 数组中所有的2
for(IntArray::iterator itor=array.begin(); itor!=array.end();
++itor){
if(2==*itor) {
array.erase(itor);
}
}
答:for 循环中的if 语句后的array.erase(itor)语句,它将迭代器itor 所指
向的元素删除后会自动下移一位,故应在其后加上语句:itor–;
192、以下代码中的两个sizeof 用法有问题吗?【基础】
void upperCase(char str[]){ //将str 中的小写字母转换成大写字母
for(int i=0; i if(‘a’ str[i] -= (‘a’-A’);
}
第54 页共59 页
}
int main(){
char str[] = “aBcDe”;
cout cout upperCase(str);
cout return 0;
}
答:在upperCase 方法中,for 循环的sizeof(str)的值将总是4,所以该方法
只能将参数中的字符串的前四个字符转换成大写字母。
193、以下代码能够编译通过吗?为什么?【基础】
unsigned int const size1 = 2;
char str1[size1];
unsigned int temp = 0;
cin >> temp;
unsigned int const size2 = temp;
char str2[size2];
答:能;
194、以下代码有什么问题?【基础】
struct Test{
Test(int){}
Test(){}
void fun(){}
};
void main(void){
Test a(1);
a.fun();
Test b();
b.fun();
}
答:main 函数的返回类型应为int;不能对b 调用fun()方法。
195、以下代码中的输出语句输出0 吗?为什么?【基础】
struct CLS{
int m_i;
CLS(int i):m_i(i){ }
CLS(){ CLS(0);}
};
int main(){
CLS obj;
cout 第55 页共59 页
}
答:输出不是0;
196、C++中的空类,默认产生哪些类成员函数?【基础】
答:空类中默认包含的成员函数如下:
class Empty{
public:
Empty(); //缺省构造函数
Empty( const Empty& ); //拷贝构造函数
~Empty(); //析构函数
Empty& operator=( const Empty& ); //赋值运算符
Empty* operator&(); //取址运算符
const Empty* operator&() const; //取址运算符const
};
197、统计一篇文章中单词个数。【基础】
答:代码如下:
include
#include
using namespace std;
int main(){
ifstream fin(“t.txt”);
if(!fin){
cout return -1;
}
int count = 0;
char buf[256];
memset(buf, 0, 256);
while(1){
fin2>>buf;
if(fin2.eof())
break;
count++;
}
cout fin2.close();
return 0;
}
198、写一个函数,完成内存之间的拷贝。【中等难度】
答:代码如下:
void* mymemcpy(void* dest, const void* src, size_t count){
char* pdest = static_cast(dest);
const char* psrc = static_cast(src);
第56 页共59 页
if(pdest>psrc && pdest for(size_t i=count-1; i!=-1; –i){
pdest[i] = psrc[i];
}
}else{
for(size_t i=0; i pdest[i] = psrc[i];
}
}
return dest;
}
int main(){
char str[] = “0123456789″;
mymemcpy(str+1, str+0, 9);
cout return 0;
}
199、非C++内建类型A 和B,在哪几种情况下B 能隐式转化为A?【较难】
答:a)class B : public A{……}//B 公有继承自A,可以是间接继承的
b)class B{operator A();}//B 实现了隐式转化为A 的转化
c)class A{ A(const B&);}//A 实现了non-explicit 的参数为B 构造函数
(可以有其他带带默认值的参数)
d)A& operator= (const A&);//赋值操作,虽不是正宗的隐式类型转换,
但也可以勉强算一个
200、以下代码有什么问题?【较难】
void char2Hex(char c){ //将字符以16 进制显示
char ch = c/0×10 + ’0′;
if(ch>’9′) ch += (‘A’-’9′-1);
char cl = c%0×10 + ’0′;
if(cl>’9′) cl += (‘A’-’9′-1);
cout }
int main(){
char str[] = “I love 中国”;
for(size_t i=0; i char2Hex(str[i]);
cout return 0;
}
答:
201、以下两条输出语句分别输出什么?【较难】
float a = 1.0f;
第57 页共59 页
cout cout cout float b = 0.0f;
cout cout cout 答:第一处输出false,第二处输出true。

Tags in this post...

面试题 相关文章推荐
一些PHP的面试题
May 06 面试题
SQL语言面试题
Aug 27 面试题
第一范式(1NF)、第二范式(2NF)和第三范式(3NF)之间的区别是什么?
Apr 28 面试题
西安众合通用.net笔试题
Mar 18 面试题
介绍一下ICMP(Internet Control Message Protocol)Internet控制信息协议
Nov 26 面试题
使用C#编写创建一个线程的代码
Jan 22 面试题
Linux如何命名文件--使用文件名时应注意
Jan 22 面试题
如何开启linux的ssh服务
Feb 14 面试题
ajax是什么及其工作原理
Feb 08 面试题
Java程序开发中如何应用线程
Mar 03 面试题
介绍JAVA 中的Collection FrameWork(及如何写自己的数据结构)
Oct 31 面试题
当x.equals(y)等于true时,x.hashCode()与y.hashCode()可以不相等,这句话对不对
May 02 面试题
写一个方法1000的阶乘
Nov 21 #面试题
一套VC试题
Jan 23 #面试题
C语言50道问题
Oct 23 #面试题
普天C++笔试题
Mar 20 #面试题
华美博弈C/VC工程师笔试试题
Jul 16 #面试题
联想C++笔试题
Jun 13 #面试题
C语言面试题
Oct 30 #面试题
You might like
全国FM电台频率大全 - 3 河北省
2020/03/11 无线电
php SQL防注入代码集合
2008/04/25 PHP
PHP微信模板消息操作示例
2017/06/29 PHP
PHP实现基于状态的责任链审批模式详解
2019/05/31 PHP
php 自定义函数实现将数据 以excel 表格形式导出示例
2019/11/13 PHP
javascript 多级checkbox选择效果
2009/08/20 Javascript
js隐藏与显示回到顶部按钮及window.onscroll事件应用
2013/01/25 Javascript
JavaScript事件委托实例分析
2015/05/26 Javascript
Node.js + Redis Sorted Set实现任务队列
2016/09/19 Javascript
原生JS实现幻灯片
2017/02/22 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
vue中各组件之间传递数据的方法示例
2017/07/27 Javascript
vue-cli3.0 脚手架搭建项目的过程详解
2018/10/19 Javascript
JavaScript常见鼠标事件与用法分析
2019/01/03 Javascript
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
2019/04/01 Javascript
微信小程序全局变量GLOBALDATA的定义和调用过程解析
2019/09/23 Javascript
Python 字符串定义
2009/09/25 Python
python3简单实现微信爬虫
2015/04/09 Python
Python过滤列表用法实例分析
2016/04/29 Python
Python实现读取json文件到excel表
2017/11/18 Python
利用Python将文本中的中英文分离方法
2018/10/31 Python
CentOS 7 安装python3.7.1的方法及注意事项
2018/11/01 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
pandas实现DataFrame显示最大行列,不省略显示实例
2019/12/26 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
韩国女装NO.1网店:STYLENANDA
2016/09/16 全球购物
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
工艺工程师工作职责
2013/11/23 职场文书
幼儿园安全责任书
2014/04/14 职场文书
建材投资建议书
2014/05/16 职场文书
组工干部对照检查材料
2014/08/25 职场文书
2019运动会广播加油稿汇总
2019/08/21 职场文书
漫画「日和酱的要求是绝对的」第3卷封面公开
2022/03/21 日漫
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏
使用python绘制分组对比柱状图
2022/04/21 Python