• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            旅途

            如果想飛得高,就該把地平線忘掉

            CC++筆試經(jīng)典題目 1

            1. 以下三條輸出語(yǔ)句分別輸出什么?
            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都是字符數(shù)組,每個(gè)都有其自己的存儲(chǔ)區(qū),它們的值則是各存儲(chǔ)區(qū)首地址,不等;str3和str4同上,只是按const語(yǔ)義,它們所指向的數(shù)據(jù)區(qū)不能修改。str5和str6并非數(shù)組而是字符指針,并不分配存儲(chǔ)區(qū),其后的“abc”以常量形式存于靜態(tài)數(shù)據(jù)區(qū),而它們自己僅是指向該區(qū)首地址的指針,相等。


            2. 以下代碼中的兩個(gè)sizeof用法有問(wèn)題嗎?
            void UpperCase( char str[] ) // 將 str 中的小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母
            {
            for( size_t i=0; i<sizeof(str)/sizeof(str[0]); ++i )
            if( 'a'<=str[i] && str[i]<='z' )
            str[i] -= ('a'-'A' );
            }
            char str[] = "aBcDe";
            cout << "str字符長(zhǎng)度為: " << sizeof(str)/sizeof(str[0]) << endl;
            UpperCase( str );
            cout << str << endl;

            答:函數(shù)內(nèi)的sizeof有問(wèn)題。根據(jù)語(yǔ)法,sizeof如用于數(shù)組,只能測(cè)出靜態(tài)數(shù)組的大小,無(wú)法檢測(cè)動(dòng)態(tài)分配的或外部數(shù)組大小。函數(shù)外的str是一個(gè)靜態(tài)定義的數(shù)組,因此其大小為6,函數(shù)內(nèi)的str實(shí)際只是一個(gè)指向字符串的指針,沒(méi)有任何額外的與數(shù)組相關(guān)的信息,因此sizeof作用于上只將其當(dāng)指針看,一個(gè)指針為4個(gè)字節(jié),因此返回4。


            3. 非C++內(nèi)建型別 A 和 B,在哪幾種情況下B能隱式轉(zhuǎn)化為A?
            答:
            a. class B : public A { ……} // B公有繼承自A,可以是間接繼承的
            b. class B { operator A( ); } // B實(shí)現(xiàn)了隱式轉(zhuǎn)化為A的轉(zhuǎn)化
            c. class A { A( const B& ); } // A實(shí)現(xiàn)了non-explicit的參數(shù)為B(可以有其他帶默認(rèn)值的參數(shù))構(gòu)造函數(shù)
            d. A& operator= ( const A& ); // 賦值操作,雖不是正宗的隱式類型轉(zhuǎn)換,但也可以勉強(qiáng)算一個(gè)


            4. 以下代碼有什么問(wèn)題?
            struct Test
            {
            Test( int ) {}
            Test() {}
            void fun() {}
            };
            void main( void )
            {
            Test a(1);
            a.fun();
            Test b();
            b.fun();
            }

            答:變量b定義出錯(cuò)。按默認(rèn)構(gòu)造函數(shù)定義對(duì)象,不需要加括號(hào)。


            5. 以下代碼有什么問(wèn)題?
            cout << (true?1:"1") << endl;
            答:三元表達(dá)式“?:”問(wèn)號(hào)后面的兩個(gè)操作數(shù)必須為同一類型。


            6. 以下代碼能夠編譯通過(guò)嗎,為什么?
            unsigned int const size1 = 2;
            char str1[ size1 ];
            unsigned int temp = 0;
            cin >> temp;
            unsigned int const size2 = temp;
            char str2[ size2 ];
            答:str2定義出錯(cuò),size2非編譯器期間常量,而數(shù)組定義要求長(zhǎng)度必須為編譯期常量。

            posted on 2007-09-04 00:43 旅途 閱讀(958) 評(píng)論(3)  編輯 收藏 引用 所屬分類: C/C++

            Feedback

            # re: CC++筆試經(jīng)典題目 1 2009-01-30 15:51 http://www.ok2002.com/

            //指針的方法實(shí)現(xiàn)大寫(xiě)轉(zhuǎn)小寫(xiě)
            char *A_a(char *s)
            {
            if(NULL==s)
            throw "invalid argument";
            char *p=s;
            char temp='a'-'A';
            while(*s)
            {
            if(*s>='A' && *s<='Z')
            *s=*s+temp;
            ++s;
            }
            return p;
            }  回復(fù)  更多評(píng)論   

            # re: CC++筆試經(jīng)典題目 1 2009-01-30 15:52 http://www.ok2002.com/

            //數(shù)組的方法實(shí)現(xiàn)
            char *A_a(char *s,int size)
            {
            if(NULL==s)
            throw "invalid argument";
            char *p=s;
            char temp='a'-'A';
            int i;
            for(i=0;i<size;i++)
            {
            if(s[i]>='A' && s[i]<='Z')
            s[i]=s[i]+temp;
            }
            return p;
            }  回復(fù)  更多評(píng)論   

            # re: CC++筆試經(jīng)典題目 1 2009-01-30 16:25 http://www.ok2002.com/

            //C++ 三元表達(dá)式“?:”問(wèn)號(hào)后面的兩個(gè)操作數(shù)必須為同一類型
            #include<iostream>
            using namespace std;

            void main(void)
            {
            cout<<(2>1?"yes":"no")<<endl;//yes

            cout<<(1>2?true:false)<<endl;//0

            int a=0;
            (1+2==3)?a=100:a=200;
            cout<<a<<endl;//100

            char s1[20];
            'a'=='A'?strcpy(s1,"hello"):strcpy(s1,"happy");
            cout<<s1<<endl;//happy

            //... ...
            }

            /*--
            yes
            0
            100
            happy
            Press any key to continue
            --*/
              回復(fù)  更多評(píng)論   

            久久久噜噜噜久久中文福利| 狠狠狠色丁香婷婷综合久久五月| 青青草国产成人久久91网| 国产精品久久久天天影视| 99久久婷婷国产综合精品草原| 国产高清国内精品福利99久久| 日韩欧美亚洲国产精品字幕久久久| 日本亚洲色大成网站WWW久久 | 久久99热只有频精品8| 久久午夜伦鲁片免费无码| 精品无码久久久久久国产| 国内高清久久久久久| 国产成人久久精品二区三区| 伊人久久大香线蕉综合Av| 久久影视综合亚洲| 久久免费视频网站| 久久人人爽人人爽人人片AV不| 久久伊人亚洲AV无码网站| 久久精品www| 久久男人Av资源网站无码软件| 久久精品国产精品亚洲下载| 国产精品久久一区二区三区| 精品国产99久久久久久麻豆| 久久久91人妻无码精品蜜桃HD| 国产亚洲美女精品久久久久狼| 久久久久亚洲精品日久生情| 青青草国产97免久久费观看| 99久久国产主播综合精品| 久久99精品久久久久久hb无码| 久久无码高潮喷水| 日本五月天婷久久网站| 久久五月精品中文字幕| 狠狠色丁香婷婷综合久久来来去| 激情伊人五月天久久综合| 久久久一本精品99久久精品88| 大香伊人久久精品一区二区| 久久精品中文字幕大胸| 精品国产99久久久久久麻豆 | 亚洲?V乱码久久精品蜜桃| 国产福利电影一区二区三区久久老子无码午夜伦不 | 精品久久久久久国产潘金莲|