c++试题和答案

c++试题和答案

ID:19908242

大小:92.00 KB

页数:15页

时间:2018-10-07

c++试题和答案_第1页
c++试题和答案_第2页
c++试题和答案_第3页
c++试题和答案_第4页
c++试题和答案_第5页
资源描述:

《c++试题和答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、、请填写BOOL,float,指针变量与“零值”比较的if语句。(10分)请写出BOOLflag与“零值”比较的if语句。(3分)标准答案:if(flag)if(!flag)如下写法均属不良风格,不得分。if(flag==TRUE)if(flag==1)if(flag==FALSE)if(flag==0)请写出floatx与“零值”比较的if语句。(4分)标准答案示例:constfloatEPSINON=0.00001;if((x>=-EPSINON)&&(x<=EPSINON)不可将浮点变量用“==”或

2、“!=”与数字比较,应该设法转化成“>=”或“<=”此类形式。如下是错误的写法,不得分。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(!)二、以下为WindowsNT下的32位C++程序,请计算sizeof的值(10分)charstr[]=“Hello”;char*p=str;intn=10;请计算sizeof(str)=6(2分

3、)sizeof(p)=4(2分)sizeof(n)=4(2分)voidFunc(charstr[100]){请计算sizeof(str)=4(2分)}void*p=malloc(100);请计算sizeof(p)=4(2分)for(i=0;i

4、);}优点:程序简洁缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。优点:循环的效率高缺点:程序不简洁请简述以下两个for循环的优缺点for(i=0;i

5、行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。优点:循环的效率高缺点:程序不简洁有关内存的思考题(每小题5分,共20分)voidGetMemory(char*p){p=(char*)malloc(100);}voidTest(void){char*str=NULL;GetMemory(str);strcpy(str,"helloworld");printf(str);}请问运行Test函数会有什么样的结果?答:程序崩溃。因为GetMemory并不能传递动

6、态内存,Test函数中的str一直都是NULL。strcpy(str,"helloworld");将使程序崩溃。char*GetMemory(void){charp[]="helloworld";returnp;}voidTest(void){char*str=NULL;str=GetMemory();printf(str);}请问运行Test函数会有什么样的结果?答:可能是乱码。因为GetMemory返回的是指向“栈内存”的指针,该指针的地址不是NULL,但其原现的内容已经被清除,新内容不可知。void

7、GetMemory2(char**p,intnum){*p=(char*)malloc(num);}voidTest(void){char*str=NULL;GetMemory(&str,100);strcpy(str,"hello");printf(str);}请问运行Test函数会有什么样的结果?答:(1)能够输出hello(2)内存泄漏voidTest(void){char*str=(char*)malloc(100);strcpy(str,“hello”);free(str);if(str!=NU

8、LL){strcpy(str,“world”);printf(str);}}请问运行Test函数会有什么样的结果?答:篡改动态内存区的内容,后果难以预料,非常危险。因为free(str);之后,str成为野指针,if(str!=NULL)语句不起作用。下面的代码输出是什么,为什么?voidfoo(void){unsignedinta=6;intb=-20;(a+b>6)?puts(">6"):puts("<=6");}答案:>

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。