- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第次课指针与字符串指针与函数
只怕有心人 教案 主要内容 字符串指针变量的定义 字符串指针变量和字符数组 字符串指针变量引用举例 字符串指针变量作函数参数 字符串指针变量作函数参数举例 字符数组与数值型数组的区别 举例 回顾 指针与函数 返回值为指针的函数 返回值为指针的函数举例 返回值为指针的函数举例 返回值为指针的函数的注意点 指向函数的指针变量 指向函数的指针变量应用举例 指向函数的指针变量注意点 本次课总结 本章小结 指针变量的运算 本章小结 下课 《C语言与数据结构》 第5次课-----顺序结构和条件结构 * 第6章 第5次课----指针与字符串、指针与函数 《C语言与数据结构》 世上无难事 1.字符串指针变量和字符数组 2.字符串指针变量作函数的参数 3.返回值为指针的函数 教学重点 1.字符串指针变量和字符数组的区别 2.指向函数的指针的用法 教学难点 通过本次课的学习,使学生掌握字符串指针变量的定义、字符串指针变量作函数参数的用法、以及指针与函数如何一起运用。 教学目标 指针与字符串、指针与函数 教学主题 指针与字符串 字符串指针变量的定义及引用 字符串指针变量作函数参数 指针与函数 返回值为指针的函数 指向函数的指针变量 字符串指针变量的定义与指向字符变量的指针变量的定义是相同的,只能按对指针变量的赋值不同来区别。 例如 char c, *p = c; /* 表示p是一个指向字符变量c的指针变量 */ char *s = C Program; /* 表示s是一个指向字符串的指针变量, 把字符串的首地址赋给了s。 */ char string[20] = C Program; 问:这行表示什么含义?与上一行的区别是什么? 字符数组和字符串指针变量的区别 (1)存放内容 字符串指针变量用于存放字符串的首地址; 字符数组可用来存放整个字符串。 (2)赋值方式 在定义的同时进行赋值: char *pstr = C Program ; char string[20] = C Program ; 定义完以后再赋值: char *pstr; pstr = C Program ; char string[20]; string = C Program; √ × √ √ 思考:哪些正确,哪些错误? 【例6-8】编写程序,输入一串字符,判断是否只有数字、字母和下划线。如果是,输出“YES”,否则输出“NO”。 流程图 源程序 运行程序(5_1) 看源程序(5_1) 将一个字符串从一个函数传递到另一个函数,可以用传地址的办法,即用字符数组名作参数或用指向字符串的指针变量作参数。 结果:在被调用的函数中可以改变字符串的内容,在主调函数中可以得到改变了的字符串。 【例6-9】编写主函数及子函数string_copy,要求进行字符串的复制,并且不能使用strcpy库函数。 流程图 源程序 运行程序(5_2) 看源程序(5_2) 数值型数组与存储字符串的字符型数组的区别 (1)存储字符串的字符型数组一般有表示结束的标志’\0’;而数值型数组则没有。 (2)存储字符串的字符型数组在输入和输出的时候可以用%c进行单个处理,还可以用%s进行整体处理;而数值型数组只能一个一个进行输入和输出。 (3)存储字符串的字符型数组在函数之间进行参数传递时,只需要传送数组首地址即可;而数值型数组作为函数参数时,传送数组首地址的同时,常常还需要传送数组元素的个数。 【例6-10】编写程序,完成一个学生的姓名和一组成绩的输入和输出(假定有10门课程)。 源程序 运行程序(5_3) 看源程序(5_3) 问:下面定义的三个变量分别是什么变量? int (*p2)[4]; int *p3[4]; 确定变量的方法 把在变量定义时使用的符号看作运算符,然后根据运算符的优先级和结合性来判断。规则是:“从里向外”,最先与变量名结合的那个运算符决定所定义的变量的性质。 p2是一个指针变量; p3是一个数组。 问:下面两行定义分别表示什么意思? int (*f1) ( ); int *f2( ); 用前面介绍过的方法来看f1和f2,可知: f1是一个指针变量,它指向的对象是一个函数,函数的返回值类型为整型。即f1是一个指向函数的指针变量。 f2则是一个函数,该函数的返回值类型为指向整型的指针。即f2是一个返回值为指针的函数。 说明:第1行是变量定
文档评论(0)