第八、九章课堂习题及答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八、九章课堂习题及答案

若正常执行了如下语句: int m[5]={9,8,4,5,6},*p1=m,*p2=m[3],n; n=p2-p1; 则n的值为(3 )。 2.若正常执行了如下语句: int m[]={1,2,3,4,5,6,7,8},*p1=m+3,*p2=m[6],*p3; p3=p1+3; coutendl*p1’ ‘*p2’ ‘*p3; 则程序的输出是( 4,7,7 )。 3.P为一指针变量,取p所指向单元的数据作为表达式的值,然后使p指向下一个单元的表达式是( *p++)。 4.P为一指针变量,取p所指向单元的数据作为表达式的值,然后使该单元的数据值增1的表达式是( (*p)++ )。 5.P为一指针变量,使p指向下一个单元,然后取该单元的数据作为表达式的值的表达式是(*++p )。 6.P1,p2都是字符指针,p1指向字符串“ABCDEFGIJKLMN”,p2-p1的差为9,则执行语句coutp2;时显示在屏幕上的是(KLMN )。 7.已知变量ld定义为:long ld;,现需要一个指向ld的指针p,但又禁止通过p修改ld,则p应定义为(coast long *p=ld )。 8.已知指针p为int型指针,且其指针值为5000,则p+3的指针值为(5000+3*sizeof(int) )。 11.(单选)下列说法正确的是(C )。 A.空指针也称为void指针,是一种不指向任何数据的指针。 B.空指针也称为无类型指针,是一种可指向任何类型数据的指针。 C.除了void指针外,任何非空指针都指向某种既定类型的数据。 D.void指针也称为无类型指针,是一种不指向任何数据的指针。 12.(单选)下列说法正确的是( B)。 在2000,2001,2002…2007这几个连续的地址单元中可存放8个数据。 在2000,2001,2002…2007这几个连续的地址单元中可存放8个字符。 在2000,2001,2002…2007这几个连续的地址单元中可存放字符串”ABCDEFGH”。 在2000,2001,2002…2007这几个连续的地址单元中可存放8个整数。 13.(单选)已知一运行正常的程序中有这样两个语句: int *p1,*p2=a; p1=b; 由此可知,变量a和b的类型分别是(C )。 int和int int *和int int和int* int*和int* 14.(多选)已知变量ld定义为:long ld;在下面关于指针p的定义中,不能通过p修改ld的有(D B)。 long *p=ld; long const *p=ld; long *const p=ld; const long *p=ld; 15.(单选)已知I,j都是整型变量,下列表达式中,与下标引用X[I][j]不等效的是(C )。 A.*(X[I]+j) B.*(X+I)[j] C.*(X+I+j) D.*(*(X+I)+j) 16.(单选)要使指针变量p指向2维数组A的第一个元素(0行0列元素),正确的赋值表达式是(B )。 p=A或p=A[0][0] p=A[0]或p=A[0][0] p=A[0]或p=A[0][0] p=A或p=A[0][0] 17.已知函数fa的原形是: int fa(int,char *);,pfa是指向fa的指针,则pfa的定义是(int(*p)(int,char*)=fa ) 18.已知函数fb的原形是:char *fb(const char *);,pfb是指向fb的指针,则pfb的定义是(char*(*p)(const char*)=fb )。 19.(单选)已知函数f1的原形是:void f1(int *a,char *b);,变量v1,v2的定义是:int v1;char v2[]=”ABCDW”;,把v1和v2分别作为第一参数和第二参数来调用函数f1,正确的调用语句是( b)。 f1(v1,v2); f1(v1,v2); f1(v1,v2); f1(v1,v2); 20.下列程序功能是:将字符串中的小写字母都改成对应的大写字母,其他字母不变。请更改程序中的错误。 #includestdio.h #includestring.h char *fun(char str ) { int i; for(i=0;str[i];i++) if((‘a’=str[i])||(str[i]=’z’)) str[i]+=32; return *str; } main() { char str[81]; printf(“\n Please enter a string:”); gets{str[81]}; printf(“\n The result string is:\n%s”,fun(s

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档