网站大量收购闲置独家精品文档,联系QQ:2885784924

算法语言与程序设计Ⅱ-教材例题与习题下.docVIP

算法语言与程序设计Ⅱ-教材例题与习题下.doc

  1. 1、本文档共91页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《C++程序设计》例题与习题(下) 第7章 指针 【例7.1】定义指针变量。 int m,n,*p1,*p2; //定义了2个整型变量i和j,两个整型指针变量p1和p2 float x1,*p3; //定义了实型变量x1和实型指针变量p3 char c,*p4; //定义了字符型变量c和字符型指针p4 【例7.2】定义指针变量并初始化。 int i=5,*p=i; 定义了指针变量p,并初始化使其指向变量i,如图7-2所示。 p i 3000H 2000H 图7.2 指针变量 【例7.3】定义指针变量,使其指向另一个变量。 int i,*p; //指针p的值是随机的、不确定的 p=i; //指针赋值,使其指向变量i 此例先定义指针变量p,然后使其指向变量i。 【例7.4】定义指向结构体变量的指针。 struct student{ int num; char name[20]; }stu,*ps=stu; 此例中定义了结构体类型指针ps,它指向结构体类型变量stu。 【例7.5】通过指针变量,输入/输出数据。 #includeiostream.h void main(void) { int a,b,*p1,*p2; p1=a; p2=b; //指针p1指向a,p2指向b cin*p1*p2; //通过指针为变量a、b输入 couta\tbendl; //直接输出a、b cout*p1\t*p2endl; //通过指针输出a、b } 这里指针定义“int a,b,*p1,*p2;”中的“*”号和输入语句“cin*p1*p2;”中的“*”号含义不同,前者是一个标记,说明后面的变量(例中是p1和p2)是指针变量;后者称为“指向”运算符,*p1表示p1所指向的变量(例中是a)。假设输入的是5和10,则*p1(就是a)为5,*p2(就是b)为10,而p1与p2的值为形如0x0012FF7C的地址。 【例7.6】指针必须指向某变量后才能正确引用。 void main(void) { int x,y; int *p1,*p2; *p1=5; *p2=10; //错误!p1和p2未指向任何变量 coutx’\t’yendl; cout*p1‘\t’*p2endl; } 本例在编译时并不出现错误提示,而是给出了许多警告,警告p1、p2未指向任何变量就被引用。在运行时出现错误而终止运行。 【例7.7】通过指针交换变量。输入a, b两个整数,按大小输出这两个数。 void main(void) { int *p1,*p2,*p,a,b; cinab; //输入a、b p1=a;p2=b; //p1、p2分别指向a、b if(ab) { p=p1; p1=p2; p2=p;}//交换指针p1与p2的指向,即p1指向b,p2指向a couta‘\t’bendl; cout*p1‘\t’*p2endl; } 程序中指针变量的变化情况如图7.3所示。 初始情况:p1 a 交换后:p1 a p2 b p2 b 图7.3指针变量交换 【例7.8】定义二级指针变量。 int i,*p,**pp; //定义整型变量i,一级指针变量p和二级指针变量pp *p=i,**pp=p; //一级指针p指向i、二级指针pp指向一级指针p 【例7.9】定义一维数组和指针变量,使指针指向该数组。 int a[10],*p,*p1; p=a[0]; //指针p指向数组a的元素a[0],就是指向数组a p1=a; //指针p1指向数组a,数组名a就是一个指针(地址) 【例7.10】定义指针变量指向一维数组,引用指针为数组元素赋值。 int a[10], *p; p=a[4]; //指针p指向数组a的元素a[4],也是指向数组a *p=4; //*p=4等同于a[4]=4 【例7.11】数组名与指针。 int a[10]; a++; //A 错误,数组名不能赋值 因为数组名为一常指针(指针常量),不能对指针常量进行赋值。所以A行错误。 【例7.12】定义指针指向一维数组,通过指针输出数组元素。 void main(void){ int a[10], i; int *p; for(i=0;i10;i++) cina[i]; for(p=a;p=a+9;p++) cout*p‘\t

文档评论(0)

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

文档有任何问题,请私信留言,会第一时间解决。

版权声明书
用户编号:7043023136000000

1亿VIP精品文档

相关文档