高级语言程序设计_第8章课件.ppt

  1. 1、本文档共106页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
高级语言程序设计_第8章课件

第八章;主要内容;问题:从键盘输入两个整数到变量a、b中,编写 子函数交换两个变量;用指针来实现;§8.1 指针是什么; 1.按变量地址存取变量值的方式称为“直接访问”方式 ;2. 通过间接访问来存取变量值;指针和指针变量的定义:;§8.2 指针变量;8.2.2 怎么定义指针变量;指针变量的赋值;在定义指针变量时要注意两点:;8.2.3 怎样引用指针变量;例8.1 通过指针变量访问整型变量;对“&”和“*”运算符说明:;对“&”和“*”运算符说明:;例8 . 2 输入a和b两个整数,按先大后小的顺序输出a和b。;交换前(a)和交换后(b)的情况;8.2.3 指针变量作为函数参数;指针变量作为函数参数;例8.5 输入a、b、c 3个整数,按大小顺序输出;§8.3 数组与指针;8.3.1 数组元素的指针;对该指针变量赋值:p=&a[0];(p=a;) 把a[0]元素的地址赋给指针变量p。;8.3.2 在引用数组元素时指针的运算;8.3.2 在引用数组元素时指针的运算;8.3.3通过指针引用数组元素;例8.6 输出数组中的全部元素 ;(2) 通过数组名计算数组元素地址,找出元素的值。;(3) 用指针变量指向数组元素。; 注意:;例8.7 通过指针变量输出a数组的10个元素。 ;注意(续):;作业:;作业:;8.3.4 用数组名作函数参数;例8.8 将数组a中n个整数按相反顺序存放;;void inv(int x[ ],int n) /*形参x是数组名*/;对这个程序可以作一些改动。将函数inv中的形参x改成指针变量。 ;说明:;例10.9 用选择法对10个整数按由大到小顺序排序 ;void sort(int x[ ],int n);8.3.5 通过指针引用多维数组;1.多维数组元素的地址;表 示 形 式;例8.11 输出二维数组有关的值 ;2 . 指向多维数组元素的指针变量 (1) 指向数组元素的指针变量;(2) 指向由m个元素组成的一维数组的指针变量;3. 用指向数组的指针作函数参数;C程序实现:;{ float*p_end; float sum=0,aver; p_end=p+n-1; for(;p<=p_end;p++) sum=sum+(*p); aver=sum/n; printf(″average=%5.2f\n″,aver); };void search(float (*p)[4],int n) / * p是指向具有4个元素的一维数组的指针 */;例8.15 在上题基础上,查找有一门以上课程不 及格的学生,打印出他们的全部课程的成绩。 ;{int i,j,flag; for(j=0;j<n;j++) {flag=0; for(i=0;i<4;i++) if(*(*(p+j)+i)<60) flag=1; if(flag==1) { printf(No.%d fails,his scores are:\n,j+1);    for(i=0;i<4;i++) printf(″%5.1f″,*(*(p+j)+i));    printf(″\n″);    } } } ;说明:;§8.4 字符串与指针 8.4.1字符串的表示形式 ;(2) 用字符指针指向一个字符串;例8.18 将字符串a复制为字符串b ;例8.19 用指针变量来处理例8.18问题。;8.4.2 字符指针作函数参数 ;void copy_string(char from[ ], char to[]) { int i=0; while(from[i]!=′\0′)   {to[i]=from[i];i++;}  to[i]=′\0′; } ;(2)用字符指针变量作实参;(3)用字符指针变量作形参和实参;void copy_string(char *from,char *to) { for(;*from!=′\0′;from++,to++)    *to=*from;   *to=′\0′; };8.4.3 对使用字符指针变量和字符数组的比较;(3)对字符指针变量赋初值:;(4)指针变量要先赋值,再引用;(5) 指针变量的值是可以改变的;(6)字符指针变量指向的字符串常量中的内容不可以被取代;;作业:;作业:;作业:; 8.5 指向函数的指针;可以用一个指针变量指向某个函数,然后通过该指针变 量调用此函数。 ;例8.22 求a和b中的大者。先列出按一般

文档评论(0)

baa89089 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档