C语言概述教学课件汇总全书电子教案.ppt

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

指针变量作函数参数 void main() /*例8.2 */ { int x,y; printf(\n input 2 integers:); scanf(%d%d, x, y); printf(\n before swap:x=%d,y=%d,x,y); swap(x, y); printf(\n after swap:x=%d,y=%d,x,y); } //分析调用过程与参数传递【next page】 调用过程中参数的对应关系: main(): swap(): x ? *p , y ? *q x y p q x y 函数调用: swap(x, y); 函数定义: void swap(int *p, int *q) {int t; t=*p; *p=*q;*q=t; } 因此,在swap( )函数中通过指针变量p、q就可以间接访问main函数中的变量x、y了。 由此可以实现函数之间的多个“数据传递”(得到多个结果)。 练一练: 1.若有定义int a=5; 则下面对(1)和(2)两个语句的正确解释是()。 (1) int *p=a; (2) *p=a; A.两个语句中的*p含义相同,都表示给指针变量p赋值 B.两个语句的执行结果相同,都是把变量a的地址赋给指针变量p C.(1)在对p说明的同时进行了初始化,使p指向a, (2)将变量a的值赋给指针变量p D. (1)在对p说明的同时进行了初始化,使p指向a, (2)将变量a的值赋给*p 练一练: 2.若有定义: int x=5, *p,则: 使p指向x的赋值表达式是()。 A.p=x B.p=x C.*p=x D.*p=x 练一练: 3.写运行结果: void main() { int x=30,y=40; int *px=x,*py=y; *px=*px+3; *py=*px-3; printf(\nx=%d,y=%d,x,y); } 练一练: 4.编写函数fun(),求整型数组中的最大值和最小值。在main()函数中输入10个整数,调用函数并输出结果。 【重点:分析fun()函数的参数和调用格式,课下完成编码】 函数体算法: (1)设第一个元素array[0]为最大、最小值变量的初值, (2)然后循环将每一个元素与最大、最小值比较即可, (3)最后将最大、最小值分别赋给max、min指向的变量。 void max_min_value(int array[ ],int n, int *max, int *min) 8.3 指针与数组 通过指针访问数组元素。 一、 指针与一维数组 int a[6], *pa, k; a: a[0] a[1] …… a[5] After execute: pa=a; a[0] a[1] …… a[5] a: pa pa+1 pa+2 例8. 3 分别用下标法和指针法访问一维数组。 程序(1):下标法 void main() { int a [5]={1,2,3,5,7}, i; for(i=0; i5; i++) printf(%4d, a[i]); } 程序(3):地址法 void main() { int a[5]={1,2,3,5,7}, i; for(i=0; i5; i++) printf(%5d,*(a+i)); } 程序(2):指针法 void main() { int a[5]={1,2,3,5,7}, *p; for(p=a; pa+5; p++) printf(%5d, *p); } 指针运算 除赋值、取地址、间接访问运算* 外,对指针变量还可以进行加、减、比较运算. 若定义int a[10], *p; 且有 p=a; 或 p=a[0]; 则p指向数组中的元素a[0],对指针p还可以进行以下运算: p++: 指针变量p增1,使 p指向下一个元素; p+k: 指向p后面的第k个元素; p-k: 指向p前面的第k个元素 ; 例如:设定义 int data[20], *p,*q;

文档评论(0)

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

教师资格证持证人

全网 内容最全课件 价格最低 质量最高 不是之一,是唯一。 每个人使用的办公软件版本不一样,如有个别显示不出的文件,建议使用最新版。

版权声明书
用户编号:8070063100000015
领域认证该用户于2023年03月20日上传了教师资格证

1亿VIP精品文档

相关文档