一套带答案的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...

面试题 相关文章推荐
为什么使用接口?
Aug 13 面试题
String是最基本的数据类型吗?
Jun 13 面试题
Tomcat中怎么使用log4j输出所有的log
Jul 07 面试题
阿尔卡特(中国)的面试题目
Aug 20 面试题
存储过程的优缺点是什么
Jan 10 面试题
上海某公司.net方向笔试题
Sep 14 面试题
CSMA/CD介质访问控制协议
Nov 17 面试题
四川internet信息高速公路(C#)笔试题
Feb 29 面试题
设计模式的基本要素是什么
Apr 21 面试题
下面代码从性能上考虑,有什么问题
Apr 03 面试题
Weblogic和WebSphere不同特点
May 09 面试题
同步和异步有何异同,在什么情况下分别使用他们
Apr 09 面试题
写一个方法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
php 上一篇,下一篇文章实现代码与原理说明
2010/05/09 PHP
PHP字符过滤函数去除字符串最后一个逗号(rtrim)
2013/03/26 PHP
PHP中通过fopen()函数访问远程文件示例
2014/11/18 PHP
PHP实现下载远程图片保存到本地的方法
2017/06/19 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
TP5框架实现自定义分页样式的方法示例
2020/04/05 PHP
菜单效果
2006/10/14 Javascript
jquery 判断滚动条到达了底部和顶端的方法
2014/04/02 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
在JavaScript中操作时间之getUTCDate()方法的使用
2015/06/10 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
在JS中a标签加入单击事件屏蔽href跳转页面
2016/12/16 Javascript
JavaScript字符集编码与解码详谈
2017/02/02 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
[js高手之路]图解javascript的原型(prototype)对象,原型链实例
2017/08/28 Javascript
webpack写jquery插件的环境配置
2017/12/21 jQuery
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
2018/01/07 Javascript
JS实现获取毫秒值及转换成年月日时分秒的方法
2018/08/15 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
深入分析element ScrollBar滚动组件源码
2019/01/22 Javascript
[01:46]新英雄登场
2019/09/10 DOTA
Python实现的检测网站挂马程序
2014/11/30 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
关于Python中的向量相加和numpy中的向量相加效率对比
2019/08/26 Python
Python jieba库用法及实例解析
2019/11/04 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
大专自我鉴定范文
2013/10/01 职场文书
五年级科学教学反思
2014/02/05 职场文书
门前三包责任书
2014/04/15 职场文书
个人委托书范文
2015/01/28 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
html+css实现分层金字塔的实例
2021/06/02 HTML / CSS
js 实现验证码输入框示例详解
2022/09/23 Javascript