亚洲AV日韩AⅤ综合手机在线观看,激情婷婷久久综合色,欧美色五月婷婷久久,久久国产精品99久久人人澡

  • <abbr id="uk6uq"><abbr id="uk6uq"></abbr></abbr>
  • <tbody id="uk6uq"></tbody>
  • 華為招聘-C語言筆試試題

    時間:2023-03-31 22:35:05 筆試題目 我要投稿
    • 相關(guān)推薦

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

    一、判斷題(對的寫T,錯的寫F并說明原因,每小題4分,共20分)
    1、有數(shù)組定義int a[2][2]={{1},{2,3}};則a[0][1]的值為0。(     )
    2、int (*ptr) (),則ptr是一維數(shù)組的名字。(     )
    3、指針在任何情況下都可進(jìn)行>,<,>=,<=,==運算。(     )
    4、switch(c) 語句中c可以是int ,long,char ,float ,unsigned int 類型。(   )
    5、#define print(x)  printf("the no, "#x",is ")
     
    二、填空題(共30分)
    1、在windows下,寫出運行結(jié)果,每空2分,共10分。
    char str[ ]= "Hello";
    char *p=str;
    int n=10;
    sizeof(str)=(      )
    sizeof(p)=(       )
    sizeof(n)=(       )
    void func(char str[100])
    {    }
    sizeof(str)=(     )
     
    2、void setmemory(char **p, int num)
    { *p=(char *) malloc(num);}
    void test(void)
    {  char *str=NULL;
       getmemory(&str,100);
       strcpy(str,"hello");
       printf(str);
    }
    運行test函數(shù)有什么結(jié)果?(                                )10分
     
    3、設(shè)int arr[]={6,7,8,9,10};
         int *ptr=arr;
       *(ptr++)+=123;
     printf("%d,%d",*ptr,*(++ptr));
    (                                   ) 10分
     
    二、編程題(第一小題20,第二小題30分)
    1、  不使用庫函數(shù),編寫函數(shù)int strcmp(char  *source, char *dest)
    相等返回0,不等返回-1;
     2、  寫一函數(shù)int fun(char *p)判斷一字符串是否為回文,是返回1,不是返回0,出錯返回-1
    五、 閱讀程序題(每個小題5分,共20分)
    1.閱讀以下程序,概括地寫出程序的功能。
    #i nclude
    double Exp(double x)
    { double sum=1.0;
    double term=x;
    double i=1 ;
    while (term>=1.0E-8)
    { sum+=term ;
    i++;
    term=term*x/i ;
    }
    return sum ;
    }
    void main()
    { double s;
    s=Exp(1.0)+Exp(2.0);
    cout.precision(8);
    cout<<"s="<<
    }
    2. 閱讀程序,寫出程序執(zhí)行時輸出結(jié)果。
    #i nclude
    const int SIZE=10;
    class stack
    { char stck[SIZE];
    int top;
    public:
    void init();
    void push(char ch);
    char pop();
    };
    void stack::init()
    { top=0; }
    void stack::push(char ch)
    { if(top==SIZE)
     { cout<<"Stack is full.\n";
    return ;
     }
    stck[top++]=ch;
    }
    char stack::pop()
    { if(top==0)
       { cout<<"Stack is empty.\n";
       return 0;
    }
    return stck[--top];
    }
    void main()
    { stack s1, s2;
     s1.init();
     s2.init();
     s1.push('a');
     s1.push('b');
     s1.push('c');
     s2.push('x');
     s2.push('y');
     s2.push('z');
     for(int i=0; i<3; i++)
    cout<<"Pop s1:"<<
     for(i=0; i<3; i++)
    cout<<"Pop s2:"<<
    }
    程序結(jié)果:
    3.閱讀程序,寫出程序運行時輸出結(jié)果。
    #i nclude
    class Tdate
    { public:
    Tdate();
    Tdate(int d);
    Tdate(int m, int d);
    Tdate(int m, int d, int y);
    protected:
    int month;
    int day;
    int year;
    };
    Tdate::Tdate()
    { month=4;
       day=15;
       year=1995;
    cout<<<"/" <<<"/" <<
    }
    Tdate::Tdate(int d)
    { month=4;
       day=d;
      year=1996;
    cout<<<"/" <<<"/" <<
    }
    Tdate::Tdate(int m, int d)
    { month=m;
       day=d;
       year=1997;
    cout<<<"/" <<<"/" <<
    }
    Tdate::Tdate(int m, int d, int y)
    { month=m;
       day=d;
       year=y;
    cout<<<"/" <<<"/" <<
    }
    void main()
    { Tdate aday;
    Tdate bday(10);
    Tdate cday(2,12);
    Tdate dday(1,2,1998);
    }
    運行結(jié)果:
    4.閱讀程序,寫出程序運行時輸出結(jié)果。
    #i nclude
    #i nclude
    class shape
    { public:
    shape(double x, double y):xCoord(x), yCoord(y){}
    virtual double Area()const {return 0.0; }
    protected:
    double xCoord, yCoord;
    };
    class AA :public shape
    { public:
    AA(double x, double y, double r): shape(x,y), rad(r){}
    virtual double Area()const { return 3.0 * rad * rad; }
    protected:
    double rad;
    };
    class BB :public shape
    { public:
    BB(double x1, double y1, double x2, double y2)
    :shape(x1, y1), x2Coord(x2), y2Coord(y2){ }
    virtual double Area()const;
    protected:
    double x2Coord, y2Coord;
    };
    double BB:Area()const
    { return fabs((xCoord-x2Coord)* (yCoord - y2Coord));
    //庫函數(shù)fabs(double t)求得t的絕對值
    }
    void fun(const shape& sp)
    { cout<<
    }
    void main()
    { AA aa(2.0, 5.0, 4.0);
    fun(aa);
    BB bb(2.0, 8.0, 12.0, 17.0);
    fun(bb);
    }
    運行結(jié)果:
    六、 編寫程序題(每小題10分,共20分)
    1.編寫一個函數(shù)int Judge(int *pArray, int n),判斷一個n×n二維整數(shù)數(shù)組pArray 是否為“魔方陣”,若是返回1,否則返回0。所謂魔方陣就是將1到n2的各個數(shù)字組成的方陣,它的每一行、每一列以及兩個對角線上數(shù)字之和均相等。例如,3×3的中,A是魔方陣,而B不是魔方陣。然后在主程序中調(diào)用Judge函數(shù)判斷數(shù)組A是否為魔方陣。
    參考程序
    #i nclude
    int Judge(int *pArray, int n)
    { int s1, s2, s3,s4,sum=0;
    int *p=pArray;
    for(int i=1; i<= n*n; i++)
    { int Found=0; //為0,不在方陣中;
    for(int j=0; j
    if(p[j]==i)
    { Found=1; //為1,在方陣中
    break;
    }
    if(Found==0) return 0; // 值為 i 的元素不在數(shù)組中,顯然不是魔方陣
    }
    for( i=1; i<=n*n; i++)
    sum=sum+i;
    sum=sum / n; // 各行、各列、對角線元素應(yīng)當(dāng)?shù)玫降暮?
    s3=0;
    s4=0;
    for( i=0; i
    { s1=0, s2=0;
    p=pArray;
    for(int j=0; j
    { s1=s1+p[i*n+j]; //第i行的元素和
     s2=s2+p[j*n+i]; //第i列的元素和
    }
    if ( s1!=sum)
    return 0;
    if ( s2!=sum)
    return 0;
    s3=s3+pArray[i*n+i];     // 對角線一元素和
    s4=s4+pArray[i*n+(n-1-i)]; // 對角線二元素和
    }
    if(s3!=sum)
    return 0;
    if(s4 != sum)
    return 0;
    return 1;
    }
    void main()
    { int Array[3][3]={{ 8, 1, 6},{ 3, 5, 7},{ 4, 9, 2}};
    當(dāng) x 輸入值為9999時,函數(shù)返回值為多少?
    int fun ( unsigned int x )
    { int count = 0;
    while(x)
    {
    x = x & (x-1);
    count++;
    }
    return count;
    }
    答案:此函數(shù)是在計算 x 中含有1的個數(shù),所以返回值為8。
    if(Judge((int*)Array, 3))
    cout<<"Yes, it's a magic array"<
    else
    cout<<"No, it isn't a magic array"<
    }
    /*********************************
    * 兩個超大數(shù)相乘算法
    *********************************/
    #i nclude
    void main()
    {
    int a[30],b[30],c[60];
    int i,j;
    /* 給乘數(shù)和被乘數(shù)賦值,并把結(jié)果賦零 */
    for (i=0;i<30;i++)
    {
    a[i]=i%10;
    b[i]=i%10;
    c[2*i]=0;
    c[2*i+1]=0;
    }
    /* 給每位結(jié)果賦值,這里應(yīng)該考慮清楚為什么這么寫
    還有這里的位的值的最大限度應(yīng)該是-128 -- +127
    所以就算是10*10也可以滿足存進(jìn)去一個char類型里 */
    for(i=0;i<30;i++)
    for(j=0;j<30;j++)
    c[i+j]+=a[i]*b[j];
    /* 這里把每個位>10的數(shù)進(jìn)位和把余數(shù)重新賦值給這一位 */
    for(i=0;i<59;i++)
    {
    c[i+1]+=c[i]/10;
    c[i]=c[i]%10;
    }
    /* 打印出來 */
    for(i=0;i<30;i++)
    printf("%d",a[30-i-1]);
    printf("\n");
    for(i=0;i<30;i++)
    printf("%d",b[30-i-1]);
    printf("\n");
    for(i=0;i<60;i++)
    printf("%d",c[60-i-1]);
    printf("\n");
    }

    【華為招聘-C語言筆試試題】相關(guān)文章:

    華為C語言筆試題12-12

    華為筆試題(C語言)12-10

    華為筆試題及分析目(C語言篇)11-06

    華為技術(shù)招聘筆試題總結(jié)03-25

    華為技術(shù)招聘筆試題總結(jié)07-31

    yahoo在線筆試題(c語言)12-12

    C語言筆試試題及答案07-31

    c語言筆試題目及答案08-17

    基礎(chǔ)C++/C語言筆試題分享11-21

    2015C語言筆試題及答案08-08