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

面试题 相关文章推荐
比较基础的php面试题及答案-填空题
Apr 26 面试题
介绍一下Java的安全机制
Jun 28 面试题
Java中compareTo和compare的区别
Apr 12 面试题
我想声明一个指针并为它分配一些空间, 但却不行。这些代码有什么 问题?char *p; *p = malloc(10);
Oct 06 面试题
怎样在程序里获得一个空指针
Jan 24 面试题
如果NULL定义成#define NULL((char *)0)难道不就可以向函数传入不加转换的NULL了吗
Feb 15 面试题
北京华建集团SQL面试题
Jun 03 面试题
如何为DataGridView添加一个定制的Column Type
Jan 21 面试题
介绍一下write命令
Aug 10 面试题
数字天堂软件测试面试题
Dec 23 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
Aug 18 面试题
Unix里面如何在后台运行程序
Oct 14 面试题
写一个方法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编程开发“虚拟域名”系统
2006/10/09 PHP
什么是MVC,好东西啊
2007/05/03 PHP
配置php.ini实现PHP文件上传功能
2014/11/27 PHP
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
php实现遍历多维数组的方法
2015/11/25 PHP
php array_merge_recursive 数组合并
2016/10/26 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
js之WEB开发调试利器:Firebug 下载
2007/01/13 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
如何让easyui gridview 宽度自适应窗口改变及fitColumns应用
2013/01/25 Javascript
jquery 使用简明教程
2014/03/05 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
微信小程序 定义全局数据、函数复用、模版等详细介绍
2016/10/27 Javascript
利用Node.js检测端口是否被占用的方法
2017/12/07 Javascript
JS获取url参数,JS发送json格式的POST请求方法
2018/03/29 Javascript
原生js实现form表单序列化的方法
2018/08/02 Javascript
JavaScript中arguments和this对象用法分析
2018/08/08 Javascript
JS数组求和的常用方法实例小结
2019/01/07 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
js实现验证码功能
2020/07/24 Javascript
[06:44]2014DOTA2国际邀请赛-钥匙体育馆开战 开幕式振奋人心
2014/07/19 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
2018/12/04 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
Django nginx配置实现过程详解
2020/09/10 Python
python 实现IP子网计算
2021/02/18 Python
全球知名巧克力品牌:Godiva
2016/07/22 全球购物
世界上最大的在线学习和教学市场:Udemy
2017/11/08 全球购物
英国健身超市:Fitness Superstore
2019/06/17 全球购物
解释下面关于J2EE的名词
2013/11/15 面试题
财产公证书样本
2014/04/04 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
人大代表选举标语
2014/10/07 职场文书
上帝为你开了一扇窗之Tkinter常用函数详解
2021/06/02 Python