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

面试题 相关文章推荐
weblogic面试题
Mar 07 面试题
C++如何引用一个已经定义过的全局变量
Aug 25 面试题
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
Jun 02 面试题
关联、聚合(Aggregation)以及组合(Composition)的区别
Feb 29 面试题
CLR与IL分别是什么含义
Aug 23 面试题
面向对象概念面试题(.NET)
Nov 04 面试题
接口的多继承会带来哪些问题
Aug 17 面试题
Linux操作面试题
May 16 面试题
Linux Interview Questions For software testers
Jun 02 面试题
如何利用XMLHTTP检测URL及探测服务器信息
Nov 10 面试题
请用Java实现列出某个目录下的所有文件
Sep 23 面试题
中软国际Java程序员笔试题
Jul 19 面试题
写一个方法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
第二节--PHP5 的对象模型
2006/11/16 PHP
php简单静态页生成过程
2008/03/27 PHP
php实现事件监听与触发的方法
2014/11/21 PHP
PHP中preg_match正则匹配中的/u、/i、/s含义
2015/04/17 PHP
PHP单例模式与工厂模式详解
2017/08/29 PHP
Yii 框架控制器创建使用及控制器响应操作示例
2019/10/14 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
实例化php类时传参的方法分析
2020/06/05 PHP
js简单实现HTML标签Select联动带跳转
2013/10/23 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
javascript显示中文日期的方法
2015/06/18 Javascript
基于jQuery Ajax实现上传文件
2016/03/24 Javascript
jquery的ajax提交form表单的两种方法小结(推荐)
2016/05/25 Javascript
JS实现访问DOM对象指定节点的方法示例
2018/04/04 Javascript
Vue页面骨架屏的实现方法
2018/05/22 Javascript
vue-router 起步步骤详解
2019/03/26 Javascript
使用RxJS更优雅地进行定时请求详析
2019/06/02 Javascript
jQuery实现每日秒杀商品倒计时功能
2019/09/06 jQuery
解决LayUI数据表格复选框不居中显示的问题
2019/09/25 Javascript
vue 实现input表单元素的disabled示例
2019/10/28 Javascript
Python 除法小技巧
2008/09/06 Python
Python读取网页内容的方法
2015/07/30 Python
Python爬取网易云音乐热门评论
2017/03/31 Python
使用python 3实现发送邮件功能
2018/06/15 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
如何以Winsows Service方式运行JupyterLab
2020/08/30 Python
Numpy数组的广播机制的实现
2020/11/03 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
天猫超市:阿里巴巴打造的网上超市
2016/11/02 全球购物
DHC美国官网:日本通信销售第一的化妆品品牌
2017/11/12 全球购物
家长给学校的建议书
2014/05/15 职场文书
新员工入职感想
2015/08/07 职场文书
2016班级元旦联欢会开幕词
2016/03/04 职场文书
创业计划书之水果店
2019/07/18 职场文书
python编程实现清理微信重复缓存文件
2021/11/01 Python
Python集合set()使用的方法详解
2022/03/18 Python