- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C作业5-指针
课后作业-5-指针
一、判断题(每小题3分,共48分)
1. 函数的返回值不能是指针。
答案:F
2. 变量的指针,其含义是指该变量的值。
答案:F
3. 指针前用*来取出变量的内存地址。
答案:F
4. 指针加减一个整数时,不能使指针指向未知区域。
答案:T
5. 指针变量可以加上一个非整型量。
答案:F
6. 两个同类型的指针可以相加。
答案:F
7. 指针变量不能作为函数的参数。
答案:F
8.对指针只要赋给一个地址值就可以了。
答案:F
9. 指针是地址变量。
答案:T
10.char *str=”good!”;是正确的语句。
答案:T
11. 指针的类型必须与其指向的变量的类型必须相同。
答案:T
12.用new所开辟的动态存储空间,释放时必须使用delete。
答案:T
13.动态分配的内存空间不能被初始化。
答案:F
14. *p出现在赋值运算符的左边,它的作用是改变所指对象的值,出现在其他场合都是用来取出他所指对象的值。
答案:T
15.指针变量不能作为函数的参数。
答案:F
16.指针变量能加上一个非整型变量,如:p+=1.2是合法的。
答案:F
17. 一般情况下,一个指针如果指向了一个变量,*p就是这个变量,它相当于这个变量的替身。
答案:T
18. 两个相同类型的指针变量可以相减,它们的差表示两个指针变量之间相差的变量的个数。
答案:F
二、选择题 (每题3分,共36分)
1. 在整型指针变量p1、p2的定义中,错误的是( )。
A. int x, *p1, p2;
B. int *p1, x, *p2;
C. int x, *p1=x, *p2;
D. int *p1, x, *p2=x;
答案:A
2. 在基本数据类型相同的两个指针变量之间,不能进行的运算是( )。
A.
B. =
C. +
D. –
答案:C
3. 在说明语句“int *f( );” 中,标识符 f代表是( )。
A. 一个用于指向整型数据的指针变量
B. 一个用于指向一维数组的行指针
C. 一个用于指向函数的指针变量
D. 一个返回值为指针型的函数名
答案:D
4. 若有定义“int c[5], *p=c;”,则以下对数组c元素地址的正确引用是( )。
A. p+5
B. c++
C. c+1
D. c[0]
答案:D
5. 下面关于new和delete运算符的叙述中,错误的说法是( )。
A. 由new分配的内存空间是连续的
B. 如果当前内存无足够的空间可分配,则new运算符返回NULL
C. 由new运算符分配的内存空间,当函数执行结束时系统会自动收回
D. 对于程序中的静态数组占用的存储空间不能用delete来释放
答案:C
6. 若有int k=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;
答案:B
7.阅读下面程序,执行后的结果为( )
# includeiostream
using namespace std;
void fun ( int *a , int *b )
{ int k=5;
*a = k ; *b = *a + k ;
}
int main( )
{ int *a , *b, x = 10 , y = 15 ;
a= x ; b = y ;
fun ( a , b );
cout*a”,”*bendl;
return 0;
}
A. 10,15
B. 5,15
C. 5,10
D. 15,10
答案:C
8.以下选项中,不能正确赋值的是( )
A. char s[ ] = “china” ;
B. char s[10 ] ; s1[ ]= “china” ;
C. char *s = “china” ;
D. char *s[4] = “china\n” ;
答案:B
9.已知: int a[6], *p = a ; 则下列不能表示a[1]地址的表达式是( )
A. p+1
B. ++p
C. a+1
D. a++
答案:D
10.以下程序的运行结果是( )
point ( char * p ) { p+=3;}
int main ( )
{ char b [ 4 ] = { ‘a’ , ‘b’ , ‘c’ , ‘d’ } , *p = b ;
point ( p ) ;
cout*pendl ;
return 0;
}
A. a
B. b
C. c
D. d
答案:A
11.设已有定义: char *st = “ how
文档评论(0)