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

面试题 相关文章推荐
说出一些常用的类,包,接口
Sep 22 面试题
一套C++笔试题面试题
Jun 06 面试题
当我正在为表建立索引的时候,SQL Server 会禁止对表的访问吗
Apr 28 面试题
string = null 和string = ''的区别
Apr 28 面试题
如何利用find命令查找文件
Feb 07 面试题
Linux中如何用命令创建目录
Jan 12 面试题
北京麒麟网信息技术有限公司网络游戏测试面试题
Sep 28 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
Dec 04 面试题
异步传递消息系统的作用
May 01 面试题
AJAX的全称是什么
Nov 06 面试题
Java如何支持I18N?
Oct 31 面试题
写一个方法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防止站外远程提交表单的方法
2014/10/20 PHP
由php中字符offset特征造成的绕过漏洞详解
2017/07/07 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
php unlink()函数使用教程
2018/07/12 PHP
javascript parseInt 函数分析(转)
2009/03/21 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
jquery ajax 局部刷新小案例
2014/02/08 Javascript
JS获取文件大小方法小结
2015/12/08 Javascript
js 获取经纬度的实现方法
2016/06/20 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
jquery.masonry瀑布流效果
2017/05/25 jQuery
使用mint-ui开发项目的一些心得(分享)
2017/09/07 Javascript
vue轮播图插件vue-awesome-swiper
2017/11/27 Javascript
详解javascript设计模式三:代理模式
2019/03/25 Javascript
vue使用recorder.js实现录音功能
2019/11/22 Javascript
[01:00:04]DOTA2上海特级锦标赛B组小组赛#1 Alliance VS Spirit第二局
2016/02/26 DOTA
Python的爬虫程序编写框架Scrapy入门学习教程
2016/07/02 Python
通过Python实现自动填写调查问卷
2017/09/06 Python
Python探索之爬取电商售卖信息代码示例
2017/10/27 Python
python爬虫基本知识
2018/03/05 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
Python 保存矩阵为Excel的实现方法
2019/01/28 Python
Python操作列表常用方法实例小结【创建、遍历、统计、切片等】
2019/10/25 Python
学生发电厂实习自我鉴定
2013/09/22 职场文书
个人素质的自我评价分享
2013/12/16 职场文书
学生自我鉴定
2013/12/18 职场文书
小学生获奖感言范文
2014/02/02 职场文书
运动会演讲稿
2014/05/07 职场文书
生物工程专业求职信
2014/09/03 职场文书
2015年创先争优活动总结
2015/03/27 职场文书
2016年会开场白台词
2015/06/01 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
新教师教学工作总结
2015/08/12 职场文书
python中的被动信息搜集
2021/04/29 Python
Go语言 go程释放操作(退出/销毁)
2021/04/30 Golang
Mysql中@和@@符号的详细使用指南
2022/06/05 MySQL