课程咨询 :18087159764

  • 广州C++培训机构:C_C++试题

    发布:广州C++培训      来源:xstar      时间:2016-11-29

  • 广州C++培训机构:C_C++试题

    广州C++培训机构本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。

    笔试时间90分钟。请考生认真答题,切勿轻视。广州C++培训机构很想知道答案哦!

    一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)

    提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为:

    if ( n == 0 )

    if ( n != 0 )

    以此类推。

    请写出 BOOL flag 与“零值”比较的 if 语句:

    请写出 float x 与“零值”比较的 if 语句:

    请写出 char *p 与“零值”比较的 if 语句:

    二、以下为Windows NT下的32位C++程序,请计算sizeof的值(10分)

    1、

    char str[] = “Hello” ;

    char *p = str ;

    int n = 10;

    请计算

    sizeof (str ) =

    sizeof ( p ) =

    sizeof ( n ) =

    2、

    void Func ( char str[100] )

    {

    请计算

    sizeof( str ) =

    }

    3、

    void *p = malloc( 100 );

    请计算

    sizeof ( p ) =

    三、简答题(25分)

    1、头文件中的 ifndef/define/endif 干什么用?

    2、#include 和 #include “filename.h” 有什么区别?

    3、const 有什么用途?(请至少说明两种)

    4、在C++ 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”声明?

    5、请简述以下两个for循环的优缺点

    // 第一个

    for ( i=0; i

    {

    if (condition)

    DoSomething();

    else

    DoOtherthing();

    }

    // 第二个

    if ( condition )

    {

    for ( i=0; i

    DoSomething();

    }

    else

    {

    for ( i=0; i

    DoOtherthing();

    }

    四、有关内存的思考题(20分)

    void GetMemory( char *p )

    {

    p = (char *)malloc( 100 );

    }

    void Test(void)

    {

    char *str = NULL;

    GetMemory( str );

    strcpy( str, “hello world” );

    printf( str );

    }

    请问运行Test函数会有什么样的结果?

    答:

    char *GetMemory( void )

    {

    char p[] = “hello world”;

    return p;

    }

    void Test( void )

    {

    char *str = NULL;

    str = GetMemory();

    printf( str );

    }

    请问运行Test函数会有什么样的结果?

    答:

    void GetMemory2( char **p, int num )

    {

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

    }

    void Test(void)

    {

    char *str = NULL;

    GetMemory( &str, 100 );

    strcpy( str, “hello” );

    printf( str );

    }

    请问运行Test函数会有什么样的结果?

    答:

    void Test( void )

    {

    char *str = (char *) malloc(100);

    strcpy(str, “hello”);

    free(str);

    if ( str != NULL ) {

    strcpy(str, “world”);

    printf(str);

    }

    }

    请问运行Test函数会有什么样的结果?

    答:

    五、编写strcpy函数(10分)

    已知strcpy函数的原型是

    char *strcpy(char *strDest, const char *strSrc);

    其中strDest是目的字符串,strSrc是源字符串。

    (1)不调用C++/C的字符串库函数,请编写函数 strcpy

    (2)strcpy能把strSrc的内容复制到strDest,为什么还要char * 类型的返回值?

    六、编写类String的构造函数、析构函数和赋值函数(25分)

    已知类String的原型为:

    class String

    {

    public:

    String(const char *str = NULL); // 普通构造函数

    String(const String &other); // 拷贝构造函数

    ~ String(void); // 析构函数

    String & operate =(const String &other); // 赋值函数

    private:

    char *m_data; // 用于保存字符串

    };

    请编写String的上述4个函数。

    达内c语言周末班培训直播,2016火爆周末+全日制,从入门到精通,高级C/C++专家主讲,真实实战教学。广州C++培训官网:http://gz.c.tedu.cn/

上一篇:广州C++培训机构:斐波那契数列

下一篇:广州C++培训机构:gcc基本使用指南

最新开班日期  |  更多

c++--零基础周末班

c++--零基础周末班

开班日期:6月30日

c++--零基础全日制班

c++--零基础全日制班

开班日期:6月30日

c++--免费训练营

c++--免费训练营

开班日期:6月30日

c++--高薪就业班

c++--高薪就业班

开班日期:6月30日

  • 网址:http://gz.c.tedu.cn     地址:广州市天河北五山路 141 号尚德大厦 627
  • 课程培训电话:18087159764     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56