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

面试题 相关文章推荐
简述synchronized和java.util.concurrent.locks.Lock的异同
Dec 08 面试题
什么造成了Java里面的异常
Apr 24 面试题
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
Sep 15 面试题
枚举和一组预处理的#define有什么不同
Sep 21 面试题
字符串str除首尾字符外的其他字符按升序排列
Mar 08 面试题
Net Remoting把服务器端激活两种模式
Jan 22 面试题
Linux如何为某个操作添加别名
Mar 01 面试题
Linux的主要特性
Sep 03 面试题
中间件分为哪几类
Mar 14 面试题
软件配置管理有什么好处
Apr 15 面试题
解决方案设计综合面试题
Aug 31 面试题
介绍一下XMLHttpRequest对象
Feb 12 面试题
写一个方法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的FTP学习(一)[转自奥索]
2006/10/09 PHP
PHP生成静态页面详解
2006/12/05 PHP
php实现文件下载简单示例(代码实现文件下载)
2014/03/10 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
IOS 开发之NSDictionary转换成JSON字符串
2017/08/14 PHP
javascript循环变量注册dom事件 之强大的闭包
2010/09/08 Javascript
js屏蔽鼠标键盘(右键/Ctrl+N/Shift+F10/F11/F5刷新/退格键)
2013/01/24 Javascript
使用js 设置url参数
2013/07/08 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
Jquery弹出层插件ThickBox的使用方法
2014/12/09 Javascript
jQuery DOM删除节点操作指南
2015/03/03 Javascript
学习JavaScript编程语言的8张思维导图分享
2015/03/27 Javascript
三分钟带你玩转jQuery.noConflict()
2016/02/15 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
zepto与jquery的区别及zepto的不同使用8条小结
2016/07/28 Javascript
JS实现仿百度文库评分功能
2017/01/12 Javascript
layui导航栏实现代码
2017/05/19 Javascript
原生js FileReader对象实现图片上传本地预览效果
2020/03/27 Javascript
react native 获取地理位置的方法示例
2018/08/28 Javascript
JS实现导航栏楼层特效
2020/01/01 Javascript
JavaScript 禁止用户保存图片的实现代码
2020/04/28 Javascript
[04:29]2014DOTA2国际邀请赛 主赛事第三日TOPPLAY
2014/07/21 DOTA
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
python分割列表(list)的方法示例
2017/05/07 Python
python生成二维码的实例详解
2017/10/29 Python
对numpy Array [: ,] 的取值方法详解
2018/07/02 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
总结30个CSS3选择器
2017/04/13 HTML / CSS
公司承诺书怎么写
2014/05/24 职场文书
小学优秀班干部事迹材料
2014/05/25 职场文书
房屋租赁授权委托书范本
2014/09/20 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
画展邀请函
2015/01/31 职场文书
通过T-SQL语句创建游标与实现数据库加解密功能
2022/03/16 SQL Server
动作冒险《Hell Is Us》将采用虚幻5 消灭怪物探索王国
2022/04/13 其他游戏