c语言程序设计17第十七讲(第七章中).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文档。上传文档
查看更多
高级语言程序设计 主讲教师:贾彩燕 计算机与信息技术学院 计算机科学与技术系 cyjia@bjtu.edu.cn 第六章:数组 数组的概念、定义和使用 数组程序实例 数组作为函数参数 字符数组和字符串 两维和多维数组 编程实例 作业提示 Squeeze(char s1[], char s2[]),从字符串s1中删除所有出现在串s2中的字符。 自学6.6.4节(P208)统计C程序里的关键字,完成实现相关程序 如何得到输入? 如何取到关键字? 取到关键字后如何与关键字表进行对比统计? 魔幻方阵算法(从左下向右上放数) 先把1放在第一行的中间位置。 下一个数放在上一个数的右上方 若右上方已超出方阵的第一行,则下一个数放在该列的最后一行上。 若右上方已超出方阵的最后一列,则下一个数放在该行的第一列上。 若右上方已有数或右上方已超出方阵的第一行和最后一列,则下一个数放在上一个数的正下方。 第七章 指针 地址与指针 指针变量的定义和使用 指针与数组 指针数组 多维数组作为参数的通用函数 动态存储管理 定义类型 指向函数的指针 要点回顾 如何定义一个指针变量? 指针变量在使用时为什么一定要指定指向的数据类型? 指针变量在使用时为什么一定要初始化? 未经初始化的指针变量称为? 指针变量上的两种主要操作是什么? 变量的两种访问方式是什么? 指针变量做函数参数时传递的是什么? 通过使用指针变量做为函数参数可以返回多于一返回值 改变函数调用时的环境变量 空指针有什么用? 第七章 指针 地址与指针 指针变量的定义和使用 指针与数组 指针数组 多维数组作为参数的通用函数 动态存储管理 定义类型 指向函数的指针 字符指针作函数参数 字符指针作函数参数 字符指针变量与字符数组 char *cp; 与 char str[20]; str由若干元素组成,每个元素放一个字符;而cp中存放字符串首地址 char str[20]; str=“I love China!”; (?) char *cp; cp=“I love China!”; (?) str是地址常量;cp是地址变量 cp接受键入字符串时,必须先开辟存储空间 作业(要求用指针方式处理) 输入3个字符串,按由小到大的顺序输出。 输入10个整数,将其中最小的数与第一个数对换,把最大的数与最后一个数对换。要求写三个函数 输入10个数(用指针法) 进行处理(用指针操作) 输出10个数(用指针法) 从键盘输入若干(如10)个数,写一个函数对这组数从第begin(如3)个数到第end(如7)个数之间的数进行排序,要求形参用指针,实参用指针或数组。 有一个包含n个字符的字符串,写一个函数将这个字符串中从第m个字符开始的全部字符复制成为另一个特定的字符。并在主程序中调用该函数进行测试。 P261页第4题 数组名作函数参数,是地址传递 数组名作函数参数,实参与形参的对应关系 实参 形参 数组名 指针变量 数组名 指针变量 数组名 数组名 指针变量 指针变量 数组名作函数参数 i j 3 7 9 11 0 6 7 5 4 2 0 1 2 3 4 5 6 7 8 9 i j i j i j j i 11 7 6 0 5 9 4 7 2 3 实参与形参均用数组 void inv(int x[], int n) { int t, i, j, m = (n-1)/2; for (i = 0; i = m; i++) { j = n-1-i; t = x[i]; x[i] = x[j]; x[j] = t; } } int main() { int i, a[10] = {3,7,9,11,0,6,7,5,4,2}; inv(a, 10); printf(The array has been reverted:\n); for (i = 0; i 10; i++) printf(%d,, a[i]); printf(\n); return 0; } m=4 例5 将数组a中的n个整数按相反顺序存放(1) void inv(int *x, int n) { int t,*p,*i,*j, m = (n-1)/2; i = x; j = x+n-1; p = x+m; for(;i = p; i++, j--) { t = *i; *i = *j; *j = t; } } int main() {

文档评论(0)

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

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

1亿VIP精品文档

相关文档