欢迎来到天天文库
浏览记录
ID:43445394
大小:106.55 KB
页数:50页
时间:2019-10-02
《C、c笔试面试题》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、1.以下三条输出语句分别输岀什么?[C易]charstrl[]="abc";charstr2[]="abc";constcharstr3[]="abc";constcharstr4[]="abc";constchar*str5="abc";constchar*str6="abc";cout<2、ezfalse,trueostrl和st「2都是字符数组,每个都有其自己的存储区,它们的值则是各存储区首地址,不等;st「3和st「4同上,只是按const语义,它们所指向的数据区不能修改。st「5和st「6并非数组而是字符指针,并不分配存储区,其后的''abc〃以常量形式存于静态数据区,而它们自己仅是指向该区首地址的指针,相等。2.以下反向遍历array数组的方法有什么错误?[STL易]vectorarray;array.push_back(1);array.push_back(2);array.push_back(3);for(vector::siz3、e_typei=array.size()-l;i>=0;—i)//反向遍历array数组{cout<arrayo其次vector::size_type被定义为unsignedint,即无符号数,这样做为循环变量的i为0时再减1就会变成最大的整数,导致循环失去控制。3.以卜•两条输出语句分别输出什么?[C++难]floata=l.Of;cout<<(int)a<4、(int&)a)<5、存数据是一样的,因此在这种特殊情形下,两者相等(仅仅在数值意义上)。注意,程序的输出会显示(int&)a=1065353216,这个值是怎么来的呢?前面己经说了,1以浮点数形式存放在内存屮,按ieee754规定,其内容为0X0000803F(己考虑字节反序)。这也就是a这个变量所占据的内存单元的值。当(int&)a出现时,它相当于告诉它的上下文:''把这块地址当做整数看待!不要管它原来是什么。〃这样,内容0X0000803F按整数解释,其值正好就是1065353216(十进制数)。通过查看汇编代码可以证实''(int)a相当于重新构造了一个值等于a的整型6、数"之说,而(int&)的作用则仅仅是表达了一个类型信息,意义在于为cout7、L易]typedefvectorIntArray;IntArrayarray;array.push_back(1);array.push_back(2);array.push_back(2);array・push_back(3);//删除array数组中所有的2for(IntArray::iteratoritor=array.begin();itor!=array.end();++itor){if(2==*itor)array.erase(itor);}答:同样冇缺少类型参数的问题。另外,每次调用''array.erase(itor);",被删除元素之后8、的内容会自动往前移,导致迭代漏项,应在删除一项后使itor-,使之从己经前移的下
2、ezfalse,trueostrl和st「2都是字符数组,每个都有其自己的存储区,它们的值则是各存储区首地址,不等;st「3和st「4同上,只是按const语义,它们所指向的数据区不能修改。st「5和st「6并非数组而是字符指针,并不分配存储区,其后的''abc〃以常量形式存于静态数据区,而它们自己仅是指向该区首地址的指针,相等。2.以下反向遍历array数组的方法有什么错误?[STL易]vectorarray;array.push_back(1);array.push_back(2);array.push_back(3);for(vector::siz
3、e_typei=array.size()-l;i>=0;—i)//反向遍历array数组{cout<arrayo其次vector::size_type被定义为unsignedint,即无符号数,这样做为循环变量的i为0时再减1就会变成最大的整数,导致循环失去控制。3.以卜•两条输出语句分别输出什么?[C++难]floata=l.Of;cout<<(int)a<4、(int&)a)<5、存数据是一样的,因此在这种特殊情形下,两者相等(仅仅在数值意义上)。注意,程序的输出会显示(int&)a=1065353216,这个值是怎么来的呢?前面己经说了,1以浮点数形式存放在内存屮,按ieee754规定,其内容为0X0000803F(己考虑字节反序)。这也就是a这个变量所占据的内存单元的值。当(int&)a出现时,它相当于告诉它的上下文:''把这块地址当做整数看待!不要管它原来是什么。〃这样,内容0X0000803F按整数解释,其值正好就是1065353216(十进制数)。通过查看汇编代码可以证实''(int)a相当于重新构造了一个值等于a的整型6、数"之说,而(int&)的作用则仅仅是表达了一个类型信息,意义在于为cout7、L易]typedefvectorIntArray;IntArrayarray;array.push_back(1);array.push_back(2);array.push_back(2);array・push_back(3);//删除array数组中所有的2for(IntArray::iteratoritor=array.begin();itor!=array.end();++itor){if(2==*itor)array.erase(itor);}答:同样冇缺少类型参数的问题。另外,每次调用''array.erase(itor);",被删除元素之后8、的内容会自动往前移,导致迭代漏项,应在删除一项后使itor-,使之从己经前移的下
4、(int&)a)<5、存数据是一样的,因此在这种特殊情形下,两者相等(仅仅在数值意义上)。注意,程序的输出会显示(int&)a=1065353216,这个值是怎么来的呢?前面己经说了,1以浮点数形式存放在内存屮,按ieee754规定,其内容为0X0000803F(己考虑字节反序)。这也就是a这个变量所占据的内存单元的值。当(int&)a出现时,它相当于告诉它的上下文:''把这块地址当做整数看待!不要管它原来是什么。〃这样,内容0X0000803F按整数解释,其值正好就是1065353216(十进制数)。通过查看汇编代码可以证实''(int)a相当于重新构造了一个值等于a的整型6、数"之说,而(int&)的作用则仅仅是表达了一个类型信息,意义在于为cout7、L易]typedefvectorIntArray;IntArrayarray;array.push_back(1);array.push_back(2);array.push_back(2);array・push_back(3);//删除array数组中所有的2for(IntArray::iteratoritor=array.begin();itor!=array.end();++itor){if(2==*itor)array.erase(itor);}答:同样冇缺少类型参数的问题。另外,每次调用''array.erase(itor);",被删除元素之后8、的内容会自动往前移,导致迭代漏项,应在删除一项后使itor-,使之从己经前移的下
5、存数据是一样的,因此在这种特殊情形下,两者相等(仅仅在数值意义上)。注意,程序的输出会显示(int&)a=1065353216,这个值是怎么来的呢?前面己经说了,1以浮点数形式存放在内存屮,按ieee754规定,其内容为0X0000803F(己考虑字节反序)。这也就是a这个变量所占据的内存单元的值。当(int&)a出现时,它相当于告诉它的上下文:''把这块地址当做整数看待!不要管它原来是什么。〃这样,内容0X0000803F按整数解释,其值正好就是1065353216(十进制数)。通过查看汇编代码可以证实''(int)a相当于重新构造了一个值等于a的整型
6、数"之说,而(int&)的作用则仅仅是表达了一个类型信息,意义在于为cout7、L易]typedefvectorIntArray;IntArrayarray;array.push_back(1);array.push_back(2);array.push_back(2);array・push_back(3);//删除array数组中所有的2for(IntArray::iteratoritor=array.begin();itor!=array.end();++itor){if(2==*itor)array.erase(itor);}答:同样冇缺少类型参数的问题。另外,每次调用''array.erase(itor);",被删除元素之后8、的内容会自动往前移,导致迭代漏项,应在删除一项后使itor-,使之从己经前移的下
7、L易]typedefvectorIntArray;IntArrayarray;array.push_back(1);array.push_back(2);array.push_back(2);array・push_back(3);//删除array数组中所有的2for(IntArray::iteratoritor=array.begin();itor!=array.end();++itor){if(2==*itor)array.erase(itor);}答:同样冇缺少类型参数的问题。另外,每次调用''array.erase(itor);",被删除元素之后
8、的内容会自动往前移,导致迭代漏项,应在删除一项后使itor-,使之从己经前移的下
此文档下载收益归作者所有