- 1
- 0
- 约5.13万字
- 约 51页
- 2018-11-29 发布于天津
- 举报
发信人jellywang(飞火流星~),信区job
发信人: jellywang (飞火流星~), 信区: job 标 ?题: 【笔试】C\C++数据结构笔试题汇总 发信站: BBS雁塔晨钟站 (Sat Oct 28 18:51:08 2006), 本站() 1. 以下三条输出语句分别输出什么?[C易] char str1[] ??????= abc; char str2[] ??????= abc; const char str3[] = abc; const char str4[] = abc; const char* str5 ?= abc; const char* str6 ?= abc; cout boolalpha ( str1==str2 ) endl; // 输出什么? cout boolalpha ( str3==str4 ) endl; // 输出什么? cout boolalpha ( str5==str6 ) endl; // 输出什么? 答:分别输出false,false,true。str1和str2都是字符数组,每个都有其自己的存储区,它们的值则是各存储区首地址,不等;str3和str4同上,只是按const语义,它们所指向的数据区不能修改。str5和str6并非数组而是字符指针,并不分配存储区,其后的“abc”以常量形式存于静态数据区,而它们自己仅是指向该区首地址的指针,相等。 2. 以下反向遍历array数组的方法有什么错误?[STL易] vector array; array.push_back( 1 ); array.push_back( 2 ); array.push_back( 3 ); for( vector::size_type i=array.size()-1; i=0; --i ) // 反向遍历array数组 { ???cout array[i] endl; } 答:首先数组定义有误,应加上类型参数:vectorint array。其次vector::size_type被定义为unsigned int,即无符号数,这样做为循环变量的i为0时再减1就会变成最大的整数,导致循环失去控制。 3. 以下两条输出语句分别输出什么?[C++难] float a = 1.0f; cout (int)a endl; cout (int)a endl; cout boolalpha ( (int)a == (int)a ) endl; // 输出什么? float b = 0.0f; cout (int)b endl; cout (int)b endl; cout boolalpha ( (int)b == (int)b ) endl; // 输出什么? 答:分别输出false和true。注意转换的应用。(int)a实际上是以浮点数a为参数构造了一个整型数,该整数的值是1,(int)a则是告诉编译器将a当作整数看(并没有做任何实质上的转换)。因为1以整数形式存放和以浮点形式存放其内存数据是不一样的,因此两者不等。对b的两种转换意义同上,但是0的整数形式和浮点形式其内存数据是一样的,因此在这种特殊情形下,两者相等(仅仅在数值意义上)。 注意,程序的输出会显示(int)a=1065353216,这个值是怎么来的呢?前面已经说了,1以浮点数形式存放在内存中,按ieee754规定,其内容为0x0000803F(已考虑字节反序)。这也就是a这个变量所占据的内存单元的值。当(int)a出现时,它相当于告诉它的上下文:“把这块地址当做整数看待!不要管它原来是什么。”这样,内容0x0000803F按整数解释,其值正好就是1065353216(十进制数)。 通过查看汇编代码可以证实“(int)a相当于重新构造了一个值等于a的整型数”之说,而(int)的作用则仅仅是表达了一个类型信息,意义在于为cout及==选择正确的重载版本。 4. 以下代码有什么问题?[C++易] struct Test { ???Test( int ) {} ???Test() {} ???void fun() {} }; void main( void ) { ???Test a(1); ???a.fun(); ???Test b(); ???b.fun(); } 答:变量b定义出错。按默认构造函数定义对象,不需要加括号。 5. 以下代码有什么问题?[C++易] cout (true?1:1) endl; 答:三元表达式“?:”问号后面的两个操作数必须为同一类型。 6. 以下代码有什么问题?[STL易] typedef
您可能关注的文档
最近下载
- 2026年春季教科版三年级科学下册教学计划及进度表(新版本).docx VIP
- 14.赵海林-北斗云高精度打桩导航定位的副本-20201012-2[1].pptx VIP
- (2026 春新版)二年级科学下册教学计划及进度表.docx VIP
- 重症患者的早期康复课件.pptx VIP
- 2022年新高考全国Ⅱ卷英语真题(原卷版).pdf VIP
- 2026春新版大象版科学三年级下册教学计划.pdf VIP
- 2024年江苏省中考地理试题卷(含答案解析).docx
- 小学数学六年级上册思维拓展精选练习题.docx VIP
- 北斗云 DZ502 打桩放线导航仪 快速操作安装手册说明书.pdf VIP
- 美国机械学会标准ASME B16.51-2013 Copper and Copper Alloy Press-Connect Pressure Fittings.pdf VIP
原创力文档

文档评论(0)