- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
项目一 利用指针灵活处理程序任务24 按大小顺序输出数值——指针和指针变量任务25 逆序输出——指针与数组任务26 使用函数顺序输出——指针与函数任务24 按大小顺序输出数值——指针和指针变量任务描述:输入a和b两个整数,要求使用指针按由大到小的顺序输出a和b。任务24 按大小顺序输出数值——指针和指针变量案例分析:用指针方法来处理这个问题。不交换整型变量的值,而是交换两个指针变量的值。知识准备:8.1指针和指针变量指针和指针变量的概念指针:存储空间的首地址也就是变量的地址形象化地称为“指针”。指针变量:专门用来存放指针的变量,称为“指针变量”任务24 按大小顺序输出数值——指针和指针变量2. 定义指针变量定义指针变量的一般形式为:类型名 *指针变量名;如:int *pa;char *pb;3. 指针变量的操作(1)指针操作的运算符取地址运算符“”取值运算符“*”(或称“间接访问”运算符)任务24 按大小顺序输出数值——指针和指针变量(2)指针变量的引用给指针变量赋值,如:p=a; //把a的地址赋给指针变量p引用指针变量指向的变量。如果已执行“p=a;”,即指针变量p指向了整型变量a,则printf(%d,*p);引用指针变量的值,如:printf(%o,p);任务24 按大小顺序输出数值——指针和指针变量(3)指针的运算赋值运算通过赋值表达式,将同类型的变量地址赋给指针,如:int k, *r, *s=k;r=s;/*指针r、, s同时指向变量k*/算术运算(加减运算)指针的运算包括增/减量运算,通常用于指向数组元素的指针变量。指针运算的增/减量的单位是1。关系运算与普通变量一样,指针可以进行关系运算,指向同一数组的两个指针变量进行关系运算时可表明它们所指数组元素之间的关系。任务24 按大小顺序输出数值——指针和指针变量任务实施:#includestdio.hmain(){ int *p1,*p2,*p,a,b; printf(请输入两个整数:); scanf(%d %d,a,b); p1=a; p2=b; if(ab) {p=p1;p1=p2;p2=p; } printf(a=%d,b=%d\n,a,b); printf(max=%d,min=%d\n,*p1,*p2); }任务24 按大小顺序输出数值——指针和指针变量运行结果:任务24 按大小顺序输出数值——指针和指针变量任务总结:a和b的值并未交换,它们仍保持原值,但p1和p2的值改变了。p1的值原为a,后来变成b,p2原值为b,后来变成a。这样在输出*pl和*p2时,实际上是输出变量b和a的值,所以先输出9,然后输出5。任务24 按大小顺序输出数值——指针和指针变量任务拓展:以下程序运行后的输出结果是什么?#includestdio.hmain(){ int m=1,n=2; int *p=m,*q=n,*r; r=p;p=q;q=r; printf(%d,%d,%d,%d\n,m,n,*p,*q); }任务25 逆序输出——指针与数组任务描述:从键盘输入10个整数,要求使用指针将10个元素逆序输出。任务25 逆序输出——指针与数组案例分析:使用数组a[10]存放输入的10个整数指针变量p输出数组元素时,先将指针p指向数组的最后一个元素在循环中用p—实现指针从数组的最后一个元素逐步移动到第一个元素实现数组元素的逆序输出。任务25 逆序输出——指针与数组知识准备:8.2 指针与数组1.指向一维数组的指针指针变量可以指向数组或数组元素,即把数组的起始地址或某个元素的地址存放到一个指针变量中。2.指向二维数组的指针C语言并没有真正意义上的二维数组,在C语言中,二维数组的实现,只是简单地通过“线性扩展”的方式进行的任务25 逆序输出——指针与数组3. 指向字符串的指针在C语言中,字符串是用字符数组来存放的。因此在对字符串操作时,可以定义字符数组,也可以定义字符指针(指向字符型数据的指针)来存取所需字符任务25 逆序输出——指针与数组任务实施:#includestdio.hmain(){ int a[10],i,*p; printf(请输入10个整数:); for(i=0;i=9;i++) scanf(%d,a+i); printf(逆序输出这10个数:); for(p=a+9;p=a;p--) printf(%d ,*p); printf(\n); }任务25 逆序输出——指针与数组运行结果:任务25 逆序输出——指针与数组任务总结:使用指针变量p来指向元素,用p++使p的值不断改变从而指向不同的元素,这种有规律地改变地址值(p++)能大大提高执行效率。p++表示p所指向的元素值加1。任务拓展:编写程序输出以下图形。123452345345455任务26使用函数顺
您可能关注的文档
- 边做边学——Illustrator平面设计案例教程PPT课件(共10章)01初识Illustrator.pptx
- 边做边学——Illustrator平面设计案例教程PPT课件(共10章)03图标设计.pptx
- 边做边学——Illustrator平面设计案例教程PPT课件(共10章)05海报设计.pptx
- 边做边学——Illustrator平面设计案例教程PPT课件(共10章)07书籍装帧设计.pptx
- 边做边学——Illustrator平面设计案例教程PPT课件(共10章)10综合设计实训.pptx
- 编程基础——C语言PPT课件(共10章)项目二 算法与流程图.pptx
- 编程基础——C语言PPT课件(共10章)项目九-使用结构体与共用体打包处理数据.pptx
- 编程基础——C语言PPT课件(共10章)项目六-利用数组处理批量数据.pptx
- 编程基础——C语言PPT课件(共10章)项目七 用函数实现模块化程序设计.pptx
- 编程基础——C语言PPT课件(共10章)项目三 基本数据类型与顺序结构.pptx
- 2023-2024学年江苏省镇江市丹阳三中九年级(上)第一次调研化学试卷..docx
- 人教版九年级英语Unit 1How can we become good learners基础知识梳理.docx
- 2023-2024学年广东省佛山市九年级(上)第一次月考化学试卷..pdf
- 2023-2024学年广东省惠州市惠城区惠南学校学校九年级(上)月考化学试卷(10月份).doc
- 2023-2024学年江苏省扬州市江都区邵樊片九年级(上)第一次月考化学试卷.doc
- 2023-2024学年安徽省安庆市九年级(上)月考化学试卷(10月份)..docx
- 2023-2024学年山东省威海市文登区重点中学联考九年级(上)月考化学试卷(10月份).doc
- 动火监护人4附有答案.docx
- Unit 4知识梳理-九年级英语全一册(人教版).docx
- 人教版九年级全一册英语unit2 语法精讲-宾语从句.docx
最近下载
- (新课标新教材)新人教版初中英语七年级上册Starter Unit 1 Hello第1课时Listening and Speaking《Section A How do you greet people 1a-2d》说课稿.doc
- 苏教版数学一年级上册期中调研.doc VIP
- 《四川省玻璃幕墙工程技术标准》编制浅析.pdf VIP
- 深圳市学生视力的调查与对策研究.doc
- ESG概论完整版本.pptx VIP
- 推动中医药文化传承发展实施方案.docx VIP
- 团队合作ppt模版.pptx
- S145水表井标准图集.pdf
- 炼油厂厂房封闭工程施工组织设计方案.doc VIP
- 美的MDV8多联机中央空调说明书.pdf
文档评论(0)