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

面试题 相关文章推荐
一个C/C++编程面试题
Nov 10 面试题
数据库的约束含义
Sep 09 面试题
维德科技C#面试题笔试题
Dec 09 面试题
某公司C#程序员面试题笔试题
May 26 面试题
东方红海科技面试题软件测试方面
Feb 08 面试题
施惠特软件测试面试题以及笔试题
May 13 面试题
为什么需要版本控制?
Aug 08 面试题
Python面试题集
Mar 08 面试题
腾讯公司的一个sql题
Jan 22 面试题
Java如何调用外部Exe程序
Jul 04 面试题
J2EE面试题集锦(附答案)
Aug 16 面试题
为什么说Ruby是一种真正的面向对象程序设计语言
Oct 30 面试题
写一个方法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
PHP用GD库生成高质量的缩略图片
2011/03/09 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
2015/03/19 PHP
详解WordPress开发中过滤属性以及Sql语句的函数使用
2015/12/25 PHP
老生常谈php中传统验证与thinkphp框架(必看篇)
2017/06/10 PHP
javascript div 遮罩层封锁整个页面
2009/07/10 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
jQuery的.live()和.die() 使用介绍
2011/09/10 Javascript
html5+javascript制作简易画板附图
2014/04/25 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
酷炫jQuery全屏3D焦点图动画效果
2016/03/22 Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
2016/11/29 Javascript
js实现仿购物车加减效果
2017/03/01 Javascript
js编写简单的聊天室功能
2017/08/17 Javascript
vue实现打印功能的两种方法
2018/09/07 Javascript
JavaScript数据结构与算法之二叉树遍历算法详解【先序、中序、后序】
2019/02/21 Javascript
vue中axios防止多次触发终止多次请求的示例代码(防抖)
2020/02/16 Javascript
Python itertools模块详解
2015/05/09 Python
Python访问纯真IP数据库脚本分享
2015/06/29 Python
详解Python中 __get__和__getattr__和__getattribute__的区别
2016/06/16 Python
详解Python的collections模块中的deque双端队列结构
2016/07/07 Python
PyQt5根据控件Id获取控件对象的方法
2019/06/25 Python
python中watchdog文件监控与检测上传功能
2020/10/30 Python
python中pyplot基础图标函数整理
2020/11/10 Python
小程序瀑布流解决左右两边高度差距过大的问题
2019/02/20 HTML / CSS
UNIX文件类型
2013/08/29 面试题
优秀交警事迹材料
2014/01/26 职场文书
公司市场专员岗位职责
2014/06/29 职场文书
县委党的群众路线教育实践活动工作情况报告
2014/10/25 职场文书
教师自荐信范文
2015/03/06 职场文书
搭讪开场白台词大全
2015/05/28 职场文书
创业计划书之网络外卖
2019/10/31 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android
Java实现HTML转为Word的示例代码
2022/06/28 Java/Android