365文库
登录
注册
2

c++笔试题及答案

244阅读 | 8收藏 | 9页 | 打印 | 举报 | 认领 | 下载提示 | 分享:
2
c++笔试题及答案第1页
c++笔试题及答案第2页
c++笔试题及答案第3页
c++笔试题及答案第4页
c++笔试题及答案第5页
c++笔试题及答案第6页
c++笔试题及答案第7页
c++笔试题及答案第8页
c++笔试题及答案第9页
福利来袭,限时免费在线编辑
转Pdf
right
1/9
right
下载我编辑的
下载原始文档
收藏 收藏
搜索
下载二维码
App功能展示
海量免费资源 海量免费资源
文档在线修改 文档在线修改
图片转文字 图片转文字
限时免广告 限时免广告
多端同步存储 多端同步存储
格式轻松转换 格式轻松转换
用户头像
刘如花如花哥 上传于:2024-05-20
 一、请填写   BOOL,float,指针变量   与“零值”比较的   if   语句。         提示:这里“零值”可以是   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   的值         char   str[]="Hello"     char   *p=str     int   n=10;           请计算:     sizeof(str)=_____     sizeof(   p   )=_____     sizeof(   n   )=_____         void   func   (char   str[100])   请计算   sizeof(str)=_____     void   *p=malloc(100)     请计算   sizeof(   p   )=_____             三、简答题         1、头文件的   ifndef   /   define   /   endif   干什么用?         2、#include   和   #include"filename.h"   有什么区别?         3、const   有什么用途?(请至少说明两种)         4、在   C++   程序中调用被   C   编译器编译后的函数,为什么要加   extern   “C”申明?             四、有关内存的思考题         void   GetMemory(char   *p)     {             p=(char   *)malloc(100);     }     void   Test(void)     {             char   *str=null;             GetMemory(str);             strcpy(str,"hello   world");               printf(str);     }     请问运行   Test   函数会有什么结果?   答:__________________________         void   GetMemory(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   函数         已知   strcpy   函数的原形是:char   *strcpy(char   *strDest,const   char   *strSrc);     其中   strDest   是目的字符串,strSrc   是源字符串。         (1)不调用   C++/C   的字符串库函数,请编写汉书   strcpy                     (2)strcpy   能把   strSrc   的内容复制到   strDest   ,为什么还要   char   *   类型的返回值?             六、编写类   String   的构造函数、析构函数和赋值函数         已知类   String     的原形为:     class   String     {             public:                           string(const   char   *str=NULL);   //普通构造函数           string(const   String   &other);     //拷贝构造函数           ~String(void);   //析构函数           String   &   operate=(const   String   &other);   //赋值函数             pravite:                           char   *m_data;   //用于保存字符串     };     请编写   String   的上述   4   个函数。   答案: 请写出 BOOL  flag 与“零值”比较的 if 语句。(3分) 标准答案:     if ( flag )     if ( !flag ) 如下写法均属不良风格,不得分。     if (flag == TRUE)       if (flag == 1 )         if (flag == FALSE)           if (flag == 0)       请写出 float  x 与“零值”比较的 if 语句。(4分) 标准答案示例: const float EPSINON = 0.00001; if ((x >= - EPSINON) && (x <= EPSINON) 不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。    如下是错误的写法,不得分。     if (x == 0.0)       if (x != 0.0)            请写出 char  *p 与“零值”比较的 if 语句。(3分) 标准答案:     if (p == NULL)     if (p != NULL) 如下写法均属不良风格,不得分。     if (p == 0)     if (p != 0)         if (p)           if (!)       二、以下为Windows NT下的32位C 程序,请计算sizeof的值(10分)        char  str[] = “Hello” ;        char   *p = str ; int     n = 10; 请计算 sizeof (str ) =  6   (2分)          sizeof ( p ) =   4   (2分)            sizeof ( n ) =   4   (2分) void Func ( char str[100]) { 请计算 sizeof( str ) =   4     (2分) } void *p = malloc( 100 ); 请计算 sizeof ( p ) =  4      (2分) 三、简答题(25分) 1、头文件中的 ifndef/define/endif 干什么用?(5分) 答:防止该头文件被重复引用。 2、#include     和  #include  “filename.h” 有什么区别?(5分) 答:对于#include   ,编译器从标准库路径开始搜索 filename.h     对于#include  “filename.h” ,编译器从用户的工作路径开始搜索 filename.h 3、const 有什么用途?(请至少说明两种)(5分) 答:(1)可以定义 const 常量 (2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。 4、在C 程序中调用被 C编译器编译后的函数,为什么要加 extern “C”? (5分) 答:C 语言支持函数重载,C语言不支持函数重载。函数被C 编译后在库中的名字与C语言的不同。假设某个函数的原型为: void foo(int x, int y); 该函数被C编译器编译后在库中的名字为_foo,而C 编译器则会产生像_foo_int_int之类的名字。 C 提供了C连接交换指定符号extern“C”来解决名字匹配问题。 5、请简述以下两个for循环的优缺点(5分) for (i=0; i
下载二维码
网站备案:鄂ICP备2021004464号 网络文化经营许可证:鄂网文[2024]95956-12号
© 2009-2023 www.365docx.com All rights reserved 版本号:1.2.1.154
开发者:武汉妙游互动信息技术有限公司 免责声明:本站文档为网友上传,如有侵权,请联系删除
地址:武汉东湖新技术开发区凌家山南路1号武汉光谷企业天地4号楼12层03室(自贸区武汉片区)
服务条款 免责声明 隐私政策 侵权处理
下载二维码
tj