C语言程序设计刘莹第6章节.pptVIP

  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文档。上传文档
查看更多
第6章 指 针 6.1 指针与指针变量 6.1 .1 指针与指针变量 6.1 指针与指针变量 6.1 指针与指针变量 6.1.2 指针变量 6.1 指针与指针变量 6.1 指针与指针变量 6.2 指针变量的定义和引用 【例6.1】指针变量定义与引用样例。 main( ) { int a; int *p; p=a; *p=100; printf(a=%d\n,a); } 6.2 指针变量的定义和引用 6.2.1指针变量的定义 6.2 指针变量的定义和引用 6.2.2 指针变量的引用 6.2 指针变量的定义和引用 :取址运算符。用于取得变量的地址。 使用方法如下: 6.2 指针变量的定义和引用 指针变量有了明确的指向后,就可以通过指针变量来访问其指向的变量了,换句话说就是除了使用变量名进行直接的访问外,还可以通过指针变量间接地访问。同样,C语言提供了间接访问的运算符-*。 6.2 指针变量的定义和引用 *: 取值运算符,用于取得指针变量所指单元中的值。 6.2 指针变量的定义和引用 6.2 指针变量的定义和引用 【例6.2】分析下面程序的运行结果(程序运行时,从键盘输入1)。 main( ) { char a=A, *p1=a; int b=66, *p2=b; float c, *p3=c; printf(Input c:); scanf(%f,p3); *p1=*p2; *p2=b+2; *p3=*p3+*p2; printf(%c,%d,%f\n,a,*p2,c); } 6.2 指针变量的定义和引用 【例6.3】编写程序,使用间接访问方式完成将两个数按从小到大的顺序依次输出的功能。 6.2 指针变量的定义和引用 编程要点: 若两个数分别放在变量m和n中。要使用间接访问方式就必须再定义两个指针变量p和q,将它们分别指向变量m和n。 再假设p指向两个数中的小者,q指向大者。如果mn,就需要将p指向n,q指向m。否则,不需要进行任何操作。最后依次输出p和q所指的变量,就达到了题目的要求。 6.2 指针变量的定义和引用 main( ) { int m,n,t,*p,*q; p=m; q=n; printf(Input m n:); scanf(%d%d,p,q); if(mn) { p=n; q=m; } printf(min=%d,max=%d,*p,*q); } 6.2 指针变量的定义和引用 6.2.3 对指针变量的运算 6.2 指针变量的定义和引用 6.2 指针变量的定义和引用 6.2 指针变量的定义和引用 指针的相减运算 6.2 指针变量的定义和引用 6.3 一维数组与指针变量 6.3.1通过指针变量访问一维数组 6.3 一维数组与指针变量 6.3 一维数组与指针变量 6.3.2 应用实例 6.3 一维数组与指针变量 main( ) { int a[30], i,*p ; for( p=a,i=0; p=a+29; p++,i++) { *p=(i+1)*2; printf(%4d,*p); if( (i+1)%10==0) /*利用i判断是否需要换行*/ printf(\n); } } 6.3 一维数组与指针变量 【例6.8】编写程序,输入10个整数放入数组a中,求其中的最小值及其下标并输出。要求用指针实现(算法参见【例5.7】)。 6.3 一维数组与指针变量 main( ) { int a[10], min , k , i ; int *p=a; printf(Input 10 numbers:\n); for(i=0; i=9; i++) scanf(%d, p+i); min=*p; k=0; for( i=1; i=9; i++) if( *(p+i)min ) { min=*(p+i); k=i; } printf( min=%d, k=%d\n, min, k); } 6.3 一维数组与指针变量 【例6.9】设一维整型数组a中存放了N个从小到大有序排列的整数,现从键盘输入另一整数x,要求将x插入数组a中,插入后a数组中的值依然有序。要求用指针实现(算法参见【例5.11】)。 6.3 一维数组与指针变量 编程要点: 为了进行插入,a数组的长度应定义为N+1。 根据x值的大小,确定插入的位置。具体的做法是:设置指针变量p,整型变量k(k用于记录p后移的次数) 将p指向a[0]。 *p与x进行比较,当*px时,指针p指向下一个元素,k加1。 反复执行直到*px。

文档评论(0)

精品课件 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档