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

面试题 相关文章推荐
在C语言中实现抽象数据类型什么方法最好
Jun 26 面试题
JAVA和C++的区别
Oct 06 面试题
为数据库创建索引都需要注意些什么
Jul 17 面试题
Sql面试题
Mar 20 面试题
程序员机试试题汇总
Mar 07 面试题
介绍一下grep命令的使用
Jun 28 面试题
Linux如何命名文件--使用文件名时应注意
May 29 面试题
Why do we need Unit test
Jan 03 面试题
What is EJB
Jul 22 面试题
Python中如何定义一个函数
Sep 06 面试题
sleep()方法和wait()方法的区别是什么
Nov 17 面试题
Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型
Oct 30 面试题
写一个方法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简单系统查询模块代码打包下载
2008/06/07 PHP
php表单转换textarea换行符的方法
2010/09/10 PHP
深入PHP curl参数的详解
2013/06/17 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
2020/04/05 PHP
php使用smtp发送支持附件的邮件示例
2014/04/13 PHP
JavaScript flash复制库类 Zero Clipboard
2011/01/17 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
jQuery制作仿腾讯web qq用户体验桌面
2013/08/20 Javascript
Javascript 拖拽的一些简单的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
javaScript的函数对象的声明详解
2015/02/06 Javascript
jQuery获取页面及个元素高度、宽度的总结——超实用
2015/07/28 Javascript
在AngularJS中使用jQuery的zTree插件的方法
2016/04/21 Javascript
微信小程序与公众号卡券/会员打通的问题
2019/07/25 Javascript
js实现数字滚动特效
2019/12/16 Javascript
在 Vue 中使用 JSX 及使用它的原因浅析
2020/02/10 Javascript
Python中集合类型(set)学习小结
2015/01/28 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
Python 使用多属性来进行排序
2019/09/01 Python
Python 复平面绘图实例
2019/11/21 Python
python turtle 绘制太极图的实例
2019/12/18 Python
python torch.utils.data.DataLoader使用方法
2020/04/02 Python
python实现梯度下降算法的实例详解
2020/08/17 Python
简单了解python关键字global nonlocal区别
2020/09/21 Python
夏洛特和乔治婴儿和儿童时装精品店:Charlotte and George
2018/06/06 全球购物
澳大利亚在线家具店:Luxo Living
2019/03/24 全球购物
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
俄罗斯家居用品购物网站:Евродом
2020/11/21 全球购物
控制工程专业个人求职信
2013/09/25 职场文书
好家长事迹材料
2014/01/23 职场文书
个人课题方案
2014/05/08 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
幼儿园教师节活动总结
2015/03/23 职场文书
《将心比心》教学反思
2016/02/23 职场文书
导游词之韩国济州岛
2019/10/28 职场文书
vue如何批量引入组件、注册和使用详解
2021/05/12 Vue.js
python高温预警数据获取实例
2022/07/23 Python