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

面试题 相关文章推荐
线程的基本概念、线程的基本状态以及状态之间的关系
Oct 26 面试题
Weblogic的布署方式
Aug 23 面试题
是什么让J2EE适合用来开发多层的分布式的应用
Jan 16 面试题
构造方法和其他方法的区别?怎么调用父类的构造方法
Sep 22 面试题
某个公司的Java笔面试题
Mar 11 面试题
几个SQL的面试题
Mar 08 面试题
一道SQL面试题
Dec 31 面试题
数据库测试通常都包括哪些方面
Nov 30 面试题
AJAX的优缺点都有什么
Aug 18 面试题
Servlet方面面试题
Sep 28 面试题
什么是ESB?请介绍一下ESB?
May 27 面试题
JAVA软件工程师测试题
Jul 25 面试题
写一个方法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
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
php 表单提交大量数据发生丢失的解决方法
2014/03/03 PHP
PHP IDE PHPStorm配置支持友好Laravel代码提示方法
2015/05/12 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
jquery.cvtooltip.js 基于jquery的气泡提示插件
2010/11/19 Javascript
JS页面延迟执行一些方法(整理)
2013/11/11 Javascript
JS中实现简单Formatter函数示例代码
2014/08/19 Javascript
JavaScript中的分号插入机制详细介绍
2015/02/11 Javascript
JS实现简易图片轮播效果的方法
2015/03/25 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
2016/02/14 Javascript
JS中的数组方法笔记整理
2016/07/26 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
使用原生的javascript来实现轮播图
2017/02/24 Javascript
微信小程序实现流程进度的图样式功能
2018/01/16 Javascript
微信小程序自定义组件实现环形进度条
2020/11/17 Javascript
jquery实现直播弹幕效果
2019/11/28 jQuery
2020京东618叠蛋糕js脚本(亲测好用)
2020/06/02 Javascript
three.js如何实现3D动态文字效果
2021/03/03 Javascript
浅析python中的分片与截断序列
2016/08/09 Python
Mac 上切换Python多版本
2017/06/17 Python
python中Switch/Case实现的示例代码
2017/11/09 Python
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
Python3 max()函数基础用法
2019/02/19 Python
python实现移位加密和解密
2019/03/22 Python
Python+OpenCV实现实时眼动追踪的示例代码
2019/11/11 Python
keras获得model中某一层的某一个Tensor的输出维度教程
2020/01/24 Python
Python类成员继承重写的实现
2020/09/16 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
《我为你骄傲》教学反思
2014/02/20 职场文书
消防安全责任书
2014/04/14 职场文书
余世维讲座观后感
2015/06/11 职场文书
离婚财产分割协议书
2015/08/11 职场文书
使用pytorch实现线性回归
2021/04/11 Python
Python OpenCV 图像平移的实现示例
2021/06/04 Python
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript