W3CHINA Blog首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
One blog (or more) a day, keep bad mood away, and make life wonderful!
-- by 小生

Blog正在逐步成长中,小生与您共享思维火花,畅想IT时代!

我的分类(专题)

日志更新

最新评论

留言板

链接

我的Blog:
CNBlog
Google Blog
MSN

友情Blog:
.Net的新生活
辉辉天地
彼岸


Blog信息
blog名称:小生杂谈
日志总数:166
评论数量:377
留言数量:1
访问次数:1012553
建立时间:2004年11月7日





[编程技术]C/C++试题(zz)
文章收藏,  软件技术

Wonderow 发表于 2004/11/19 16:06:52

呵呵,不知道对一些笔/面试是否有帮助 :) 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; // 输出什么? 2. 非C++内建型别 A 和 B,在哪几种情况下B能隐式转化为A?[C++中等] 答: 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& ); // 赋值操作,虽不是正宗的隐式类型转换,但也可以勉强算一个 3. 以下代码中的两个sizeof用法有问题吗?[C易] void UpperCase( char str[] ) // 将 str 中的小写字母转换成大写字母 {     for( size_t i=0; i&ltsizeof(str)/sizeof(str[0]); ++i )         if( 'a'<=str[i] && str[i]<='z' )             str[i] -= ('a'-'A' ); } char str[] = "aBcDe"; cout << "str字符长度为: " << sizeof(str)/sizeof(str[0]) << endl; UpperCase( str ); cout << str << endl; 4. 以下代码有什么问题?[C难] void char2Hex( char c ) // 将字符以16进制表示 {     char ch = c/0x10 + '0'; if( ch > '9' ) ch += ('A'-'9'-1);     char cl = c%0x10 + '0'; if( cl > '9' ) cl += ('A'-'9'-1);     cout << ch << cl << ' '; } char str[] = "I love 中国"; for( size_t i=0; i&ltstrlen(str); ++i )     char2Hex( str[i] ); cout << endl; 5. 以下代码有什么问题?[C++易] struct Test {     Test( int ) {}     Test() {}     void fun() {} }; void main( void ) {     Test a(1);     a.fun();     Test b();     b.fun(); } 6. 以下代码有什么问题?[C++易] cout << (true?1:"1") << endl; 7. 以下代码能够编译通过吗,为什么?[C++易] unsigned int const size1 = 2; char str1[ size1 ]; unsigned int temp = 0; cin >> temp; unsigned int const size2 = temp; char str2[ size2 ]; 8. 以下代码中的输出语句输出0吗,为什么?[C++易] struct CLS {     int m_i;     CLS( int i ) : m_i(i) {}     CLS()     {         CLS(0);     } }; CLS obj; cout << obj.m_i << endl; 9. C++中的空类,默认产生哪些类成员函数?[C++易] 答: class Empty { public:     Empty();                          // 缺省构造函数     Empty( const Empty& );            // 拷贝构造函数     ~Empty();                         // 析构函数     Empty& operator=( const Empty& ); // 赋值运算符     Empty* operator&();               // 取址运算符     const Empty* operator&() const;   // 取址运算符 const }; 10. 以下两条输出语句分别输出什么?[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; // 输出什么? 11. 以下反向遍历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; } 12. 以下代码有什么问题?[STL易] typedef vector IntArray;IntArray array;array.push_back( 1 );array.push_back( 2 );array.push_back( 2 );array.push_back( 3 );// 删除array数组中所有的2for( IntArray::iterator itor=array.begin(); itor!=array.end(); ++itor ){    if( 2 == *itor ) array.erase( itor );}13. 写一个函数,完成内存之间的拷贝。[考虑问题是否全面]答:void* mymemcpy( void *dest, const void *src, size_t count ){    char* pdest = static_cast&ltchar*>( dest );    const char* psrc = static_cast&ltconst char*>( src );    if( pdest>psrc && pdest&ltpsrc+cout ) 能考虑到这种情况就行了     {        for( size_t i=count-1; i!=-1; --i )                pdest[i] = psrc[i];    }    else    {        for( size_t i=0; i&ltcount; ++i )             pdest[i] = psrc[i];    }    return dest;}int main( void ){    char str[] = "0123456789";    mymemcpy( str+1, str+0, 9 );    cout << str << endl;    system( "Pause" );    return 0;}


阅读全文(3532) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.203 second(s), page refreshed 144758257 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号