• <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>

            HUUYUU

            #

            華為筆試題

            2005年華為招聘--C語言筆試試題

            一、判斷題(對的寫T,錯的寫F并說明原因,每小題4分,共20分)

            1、有數組定義int a[2][2]={{1},{2,3}};則a[0][1]的值為0。(???T? )

            2、int (*ptr) (),則ptr是一維數組的名字。(???F, ptr為一個函數指針? )

            3、指針在任何情況下都可進行>,<,>=,<=,==運算。(?F,指針比較大小沒有任何意義,但是可以比較==與!=??? )

            4、switch(c) 語句中c可以是int ,long,char ,float ,unsigned int 類型。(?F,不可以為float? )

            5、#define print(x)? printf("the no, "#x",is ") (T)

            ?

            二、填空題(共30分)

            1、在windows下,寫出運行結果,每空2分,共10分。

            char str[ ]= "Hello";

            char *p=str;

            int n=10;

            sizeof(str)=(?? 6?? )

            sizeof(p)=(? 4???? )

            sizeof(n)=(? 4???? )

            ?

            void func(char str[100])

            {??? }

            sizeof(str)=(? 4?? )

            ?

            2、void setmemory(char **p, int num)

            { *p=(char *) malloc(num);}

            void test(void)

            {? char *str=NULL;

            ?? setmemory(&str,100);

            ?? strcpy(str,"hello");

            ?? printf(str);

            }

            運行test函數有什么結果?(????? hello????????????????????????? )10分

            ?

            3、設int arr[]={6,7,8,9,10};

            ???? int *ptr=arr;

            ?? *(ptr++)+=123;

            ?printf("%d,%d",*ptr,*(++ptr));

            (?????? 8, 8??????????????????????????? ) 10分

            ?

            二、編程題(第一小題20,第二小題30分)
            1、不使用庫函數,編寫函數int strcmp(char? *source, char *dest) 相等返回0,不等返回-1;
            #i nclude <stdio.h>
            #i nclude <stdlib.h>

            int mystrcmp(char *source, char *dest)
            {
            ?while(*source == *dest && *source != '\0' && *dest != '\0')
            ?{
            ??source++;
            ??dest++;
            ?}
            ?if (*source =='\0' && *dest == '\0')
            ??return 0;
            ?else
            ??return -1;
            ?
            ?
            }
            int main()
            {
            ?char *str1 = "abcde";
            ?char *str2 = "abcd";

            ?printf("ret = %d", mystrcmp(str1, str2));
            ?
            ?return 0;
            }
            2、寫一函數int fun(char *p)判斷一字符串是否為回文,是返回1,不是返回0,出錯返回-1
            #i nclude <stdio.h>
            #i nclude <stdlib.h>

            int rollback(char *str)
            {
            ?char *p = str;
            ?while(*(str++))
            ??;
            ?str-=2;
            ?while(*(p++) == *(str--) && *p != '\0')
            ??;
            ?if (*p == '\0')
            ??return 0;
            ?else
            ??return -1;
            }
            int main()
            {
            ?char *str1 = "abaaba";
            ?
            ?printf("ret = %d", rollback(str1));
            ?
            ?return 0;
            }

            3.請問C++的類和C里面的struct有什么區別?
            答:struct的成員的默認訪問說明符為Public,而class的成員的默認訪問說明符為Private。其他沒有區別
            4.請講一講析構函數和虛函數的用法和作用。
            答:析構函數是在對象生存期結束時自動調用的函數,用來釋放在構造函數分配的內存。
            虛函數是指被關鍵字virtual說明的函數,作用是使用C++語言的多態特性
            5.全局變量和局部變量有什么區別?是怎么實現的?操作系統和編譯器是怎么知道的?
            答:一些變量在整個程序中都是可見的,它們稱為全局變量。一些變量只能在一個函數中可知,稱為局部變量。這就是他們的區別。
            在任何函數外面定義的變量就是全局變量,在函數內部定義的變量是局部變量,這是它們在程序中的實現過程。
            操作系統和編譯器是根據程序運行的內存區域知道他們的,程序的全局數據放在所分配內存的全局數據區,程序的局部數據放在棧區。
            6。有1,2,3,4,,,,n個數放在一個數組里,按大小排序,輸出。 dYtf#q9v B

            7。寫一個算法,將一個數按高位到低位逆轉,例如,用戶輸入123,則輸出321。v_k0^X+Mf
            初始的數據放入n,結果放入m
            m=0;/oKfv9B
            while(n>0)3o4Fk)W%w6]^Va+B
            {
            m=m*10+(n mod 10);
            n=n\10;//整除/M'\;F7AR(V
            }/|+.Lg.} a8EZ'c
            8。抽象類和接口的區別是什么?
            (1)接口可以被多重implements,抽象類只能被單一extends
            (2)接口只有定義,抽象類可以有定義和實現
            (3)接口的字段定義默認為:public static final, 抽象類字段默認是"friendly"

            posted @ 2006-07-28 13:00 HUYU 閱讀(3066) | 評論 (0)編輯 收藏

            CString Class Programming!

            1?class?String
            ?2?{
            ?3?public:
            ?4?????String(const?char?*str?=?NULL);????//?普通構造函數
            ?5?????String(const?String?&other);????????//?拷貝構造函數
            ?6?????~String(void);????????????????????????//?析構函數
            ?7?????String?&?operator?=(const?String?&other);????//?賦值函數
            ?8?????const?char*?operator()(void)?const;
            ?9?private:
            10?????char??????*m_data;????????????????//?用于保存字符串
            11?};
            12?
            13?
            14?String::~String(void)
            15?{
            16?????delete[]?m_data;
            17?}
            18?
            19?String::String(const?char*?str)
            20?{
            21?????if(NULL?==?str)
            22?????{
            23?????????//?不能讓新對象的m_data為NULL
            24?????????m_data?=?new?char[1];
            25?????????*m_data?=?'\0';
            26?????}????
            27?????else
            28?????{
            29?????????int?length?=?strlen(str);
            30?????????m_data?=?new?char[length?+?1];
            31?????????strcpy(m_data,?str);
            32?????}
            33?}
            34?
            35?String::String(const?String&?other)?/*?因為是新構造一個對象,所以不需要像operator=一樣判斷自賦值及釋放原來的內存?*/
            36?{
            37?????int?length?=?strlen(other.m_data);
            38?????m_data?=?new?char[length?+?1];
            39?????strcpy(m_data,?other.m_data);
            40?}
            41?
            42?String&?String::operator?=(const?String&?other)
            43?{
            44?????//?判斷自賦值
            45?????if(this?==?&other)
            46?????????return?*this;
            47?????//?釋放原來的內存
            48?????delete?[]?m_data;
            49?
            50?????int?length?=?strlen(other.m_data);?/*?雖然m_data是private,但因為是在String的成員函數里,故沒問題?*/
            51?????m_data?=?new?char[length?+?1];
            52?????strcpy(m_data,?other.m_data);
            53?
            54?????return?*this;
            55?
            56?}
            57?
            58?const?char?*?String::operator()()?const
            59?{
            60?????return?(const?char*)m_data;
            61?}
            62
            63?int?_tmain(int?argc,?_TCHAR*?argv[])
            64?{
            65?????String?str("hello");
            66?????String?str1?=?str;?/*?這兒調用的是copy?constructor,非?operator=,?why??*/
            67?????printf("%s\n",?str1);
            68?
            69?????const?char*?str2?=?str();
            70?????printf("%s\n",?str2);
            71?
            72?????return?0;
            73?}

            posted @ 2006-07-28 12:56 HUYU 閱讀(217) | 評論 (0)編輯 收藏

            正則表達式的使用

            # 0000 ?#include? < iostream.h >
            #
            0001 ? class ?CMyWinApp?:?CWinApp
            #
            0002 ?{
            #
            0003 ?? public :
            怎么把前面的#0001去掉呢?正則表達式派上用場了。
            按下ctrl+F ,選中使用正則表達式,把查找內容設為:\#[0-9][0-9][0-9][0-9], 替換為:這個地方就空著。
            呵呵,爽了!

            posted @ 2006-07-23 20:30 HUYU 閱讀(147) | 評論 (0)編輯 收藏

            Web Address for C Code Optimization

            http://www.codeproject.com/cpp/C___Code_Optimization.asp

            posted @ 2006-07-23 00:13 HUYU 閱讀(141) | 評論 (0)編輯 收藏

            僅列出標題
            共4頁: 1 2 3 4 
            国内精品久久九九国产精品| 久久人人爽人人精品视频| 97久久婷婷五月综合色d啪蜜芽| 久久精品桃花综合| 久久久亚洲欧洲日产国码aⅴ| 色噜噜狠狠先锋影音久久| 久久99国产一区二区三区| 波多野结衣久久精品| 久久亚洲国产精品一区二区| 久久精品免费全国观看国产| 国产Av激情久久无码天堂| 国产综合成人久久大片91| 蜜桃麻豆WWW久久囤产精品| 亚洲国产精品热久久| 77777亚洲午夜久久多喷| 国产精品美女久久久久av爽 | 久久国产精品无码HDAV| 久久国产香蕉视频| 国产99精品久久| 久久人人爽人人爽人人av东京热| 午夜不卡888久久| 久久er99热精品一区二区| 久久经典免费视频| 久久久久97国产精华液好用吗| 国产亚洲精久久久久久无码| 久久青青草视频| 久久99精品久久久久久水蜜桃| 久久久久AV综合网成人| 久久人人爽人人爽人人片AV不 | 亚洲精品第一综合99久久| 伊人久久综在合线亚洲2019| AV色综合久久天堂AV色综合在| 伊人久久大香线焦AV综合影院| 一本色道久久综合狠狠躁篇| 久久久久国色AV免费看图片| 国产精品热久久无码av| 久久91精品久久91综合| 国产精品一区二区久久精品| 久久国产精品99久久久久久老狼| 久久国产精品一区二区| 久久精品一区二区三区不卡|