C语言习题集合指针.docxVIP

  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 a=2, *p=a, *q=p;,则以下非法的赋值语句是()。 A. p=q; B. *p=*q; C. a=*q; D. q=a; 若定义:int a=511, *b=a;,则 printf(%d\n, *b);的输出结果为: 无确定值 B. a 的地址 C. 512 D. 511 已有定义 int a=2, *p1=a, *p2=a; 下面不能正确执行的赋值语句是()。 A. a=*p1+*p2; B. p1=a; C. p1=p2; D. a=*p1*(*p2); 变量的指针,其含义是指该变量的()。 值 B. 地址 C. 名 D. 一个标志 若有说明语句:int a, b, c, *d=c;,则能正确从键盘读入三个整数分别赋给变量a、b、 c 的语句是()。 scanf(%d%d%d, a, b, d); scanf(%d%d%d, a, b, d); C. scanf(%d%d%d, a, b, d); D. scanf(%d%d%d, a, b,*d); 若已定义int a=5; 下面对(1)、(2)两个语句的正确解释是()。 (1) int *p=a; (2) *p=a; 语句(1)和(2)中的*p 含义相同,都表示给指针变量p 赋值。 (1)和(2)语句的执行结果,都是把变量a 的地址值赋给指针变量p。 (1)在对p 进行说明的同时进行初始化,使p 指向a; (2)变量 a 的值赋给指针变量p。 (1)在对p 进行说明的同时进行初始化,使p 指向a; (2)将变量a 的值赋予*p。 若有语句int *p, a=10; p=a; 下面均代表地址的一组选项是()。 A. a, p, *a B. *a, a, *p C. *p, *p, a D. a, *p, p 0.2345若需要建立如图所示的存储结构,且已有说明double *p, x=0.2345; 则正确的赋值语句是()。 0.2345 p x p=x; B. p=x; C. *p=x; D. *p=x; 若有说明:int *p, a=1, b; 以下正确的程序段是()。 p=b; B. scanf(%d, b); scanf(%d, p); *p=b; C. p=b; D. p=b; scanf(%d, *p); *p=a; 有如下语句:int m=6, n=9, *p, *q; p=m; q=n; 如图 1 所示,若要实现下图所示的存储结构,可选用的赋值语句是()。 p q p q m n m n A. *p=*q; B. p=*q; C. p=q; D. *p=q; 以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误的,其错误原因是()。 #include stdio.h main() { int *p, *q, a, b; p=a; printf(input a:); scanf(%d, *p); … } *p 表示的是指针变量 p 的地址 *p 表示的是变量 a 的值,而不是变量 a 的地址 *p 表示的是指针变量 p 的值 *p 只能用来说明 p 是一个指针变量 下面程序的功能是从输入的十个字符串中找出最长的那个串。请在 处填空。#include stdio.h #include string.h #define N 10 main() { char s[N][81], * t; int j; for (j=0; jN; j++) gets (s[j]); t= *s; for (j=1; jN; j++) if (strlen(t)strlen(s[j])) ; printf(the max length of ten strings is: %d, %s\n, strlen(t), t); } A. t=s[j] B. t=s[j] C. t= s++ D. t=s[j][0] 13.下面判断正确的是()。 A. char *s=girl; 等价于 char *s; *s=girl; B. char s[10]={girl}; 等价于 char s[10]; s[10]={girl}; C. char *s=girl; 等价于 char *s; s=girl; D. char s[4]= boy, t[4]= boy; 等价于 char s[4]=t[4]= boy 设 char *s=\ta\017bc;则指针变量 s 指向的字符串所占的字节数是()。 A. 9 B. 5 C. 6 D. 7 下面程序段中,for 循环的执行次数是()。 char *s=\ta\018bc; for (;*s!=\0;s++) printf(*); A. 9 B. 5 C. 6 D. 7 1

文档评论(0)

hao187 + 关注
官方认证
文档贡献者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档