欢迎来到天天文库
浏览记录
ID:37709305
大小:47.50 KB
页数:6页
时间:2019-05-29
《C++作业5-指针》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、课后作业-5-指针一、判断题(每小题3分,共48分)1.函数的返回值不能是指针。答案:F2.变量的指针,其含义是指该变量的值。答案:F3.指针前用*来取出变量的内存地址。答案:F4.指针加减一个整数时,不能使指针指向未知区域。答案:T5.指针变量可以加上一个非整型量。答案:F6.两个同类型的指针可以相加。答案:F7.指针变量不能作为函数的参数。答案:F8.对指针只要赋给一个地址值就可以了。答案:F9.指针是地址变量。答案:T10.char*str=”good!”;是正确的语句。答案:T11.指针的类型必须与其指向的变量的类型必须相同。答案:T12.用new所开辟的动态存储空间,释放
2、时必须使用delete。答案:T13.动态分配的内存空间不能被初始化。答案:F14.*p出现在赋值运算符的左边,它的作用是改变所指对象的值,出现在其他场合都是用来取出他所指对象的值。答案:T15.指针变量不能作为函数的参数。答案:F16.指针变量能加上一个非整型变量,如:p+=1.2是合法的。答案:F17.一般情况下,一个指针如果指向了一个变量,*p就是这个变量,它相当于这个变量的替身。答案:T18.两个相同类型的指针变量可以相减,它们的差表示两个指针变量之间相差的变量的个数。答案:F二、选择题(每题3分,共36分)1.在整型指针变量p1、p2的定义中,错误的是()。A.intx,
3、*p1,p2;B.int*p1,x,*p2;C.intx,*p1=&x,*p2;D.int*p1,x,*p2=&x;答案:A2.在基本数据类型相同的两个指针变量之间,不能进行的运算是()。A.4、的叙述中,错误的说法是()。A.由new分配的内存空间是连续的B.如果当前内存无足够的空间可分配,则new运算符返回NULLC.由new运算符分配的内存空间,当函数执行结束时系统会自动收回D.对于程序中的静态数组占用的存储空间不能用delete来释放答案:C6.若有intk=1,a[10]={10,20,30,40};int*p1=a,*p2=&a[2];则下列不能正确执行的语句是()。A.k=*p1+*p2;B.p2=k;C.p1=p2;D.k=p2-p1;答案:B7.阅读下面程序,执行后的结果为()#includeusingnamespacestd;void5、fun(int*a,int*b){intk=5;*a=k;*b=*a+k;}intmain(){int*a,*b,x=10,y=15;a=&x;b=&y;fun(a,b);cout<<*a<<”,”<<*b<6、+1B.++pC.a+1D.a++答案:D10.以下程序的运行结果是()point(char*p){p+=3;}intmain(){charb[4]={‘a’,‘b’,‘c’,‘d’},*p=b;point(p);cout<<*p<7、cpy(p=&a[1],st+2);答案:B12.以下程序段的运行结果是()char*p1,*p2,str[50]="ABCDEFG";p1="abcd";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);cout<
4、的叙述中,错误的说法是()。A.由new分配的内存空间是连续的B.如果当前内存无足够的空间可分配,则new运算符返回NULLC.由new运算符分配的内存空间,当函数执行结束时系统会自动收回D.对于程序中的静态数组占用的存储空间不能用delete来释放答案:C6.若有intk=1,a[10]={10,20,30,40};int*p1=a,*p2=&a[2];则下列不能正确执行的语句是()。A.k=*p1+*p2;B.p2=k;C.p1=p2;D.k=p2-p1;答案:B7.阅读下面程序,执行后的结果为()#includeusingnamespacestd;void
5、fun(int*a,int*b){intk=5;*a=k;*b=*a+k;}intmain(){int*a,*b,x=10,y=15;a=&x;b=&y;fun(a,b);cout<<*a<<”,”<<*b<6、+1B.++pC.a+1D.a++答案:D10.以下程序的运行结果是()point(char*p){p+=3;}intmain(){charb[4]={‘a’,‘b’,‘c’,‘d’},*p=b;point(p);cout<<*p<7、cpy(p=&a[1],st+2);答案:B12.以下程序段的运行结果是()char*p1,*p2,str[50]="ABCDEFG";p1="abcd";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);cout<
6、+1B.++pC.a+1D.a++答案:D10.以下程序的运行结果是()point(char*p){p+=3;}intmain(){charb[4]={‘a’,‘b’,‘c’,‘d’},*p=b;point(p);cout<<*p<7、cpy(p=&a[1],st+2);答案:B12.以下程序段的运行结果是()char*p1,*p2,str[50]="ABCDEFG";p1="abcd";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);cout<
7、cpy(p=&a[1],st+2);答案:B12.以下程序段的运行结果是()char*p1,*p2,str[50]="ABCDEFG";p1="abcd";p2="efgh";strcpy(str+1,p2+1);strcpy(str+3,p1+3);cout<
此文档下载收益归作者所有