C语言程序设计第5章“使用指针参数交换两个变量值 ”案例
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C主讲教师崔玲玲5.1 “交换两个变量值”案例【案例说明】用函数实现两个变量值的交换使其在主调函数和被调函数中的值一致。要求用指针变量作为函数参数。程序运行结果如图5.1所示。图5.1 交换两个变量值【案例目的】1 熟悉如何定义指针变量掌握将指针变量作为函数参数的方法。2 掌握通过指针参数由被调函数向主调函数传递多个值的方法。【技术要点】由于变量的值始终存放在内存单元中因此要交换两个变量的值只需交换这两
个变量对应的存储单元的值即可这就需要知道两个变量的
地址。也就是说需要保证主调函数与被调函数中所要交换的两个数的内存单元是同一内存单元即传递的参数是内存单
元的地址而不是内存单元中的值。【相关知识及注意事项】1. 指针和地址2. 指针变量的定义及初始化3. 指针变量的赋值4. 指针变量的引用5. 指针作为函数参数5.2 “有序数列的插入”案例【案例说明】用指针法编程插入一个数到有序数列中。程序运行结果如图5.7所示。图5.7 有序数列的插入【案例目的】1 熟悉如何定义指针变量掌握将指针变量指向一维数组元素的方法。2 掌握如何在一个有序的数列中查找合适的位置。3 掌握如何将一个数插入到一个有序数列中。【技术要点】1 有序数组中插入一个数的关键是找到该数据插入的位置然后将插入位置及其后的所有元素均后移一位
在空出的位置放入待插入的数据。例如在13、27、38、49、
65、76、97这列有序数据中插入53这个数成为新的有序数列13、27、38、49、53、65、76、97。2 定义数组时必须多开辟一个存储单元用于存放待插入的数据。【相关知识及注意事项】1. 指针变量的运算2. 指针与一维数组5.3 “两个字符串首尾连接”案例【案例说明】编写程序将两个字符串首尾连接起来。要求用字符指针变量处理。程序运行结果如图5.9所示。图5.9 两个字符串首尾连接【案例目的】1 学会定义基类型为字符型的指针变量并将指针变量指向串首的操作。
2 掌握通过指针判断字符串结束的方法。
3 掌握两个字符串首尾连接的基本操作。【技术要点】1 定义指针变量p和q 将指针p指向str1串串首将指针q指向str2串串首。注意存放str1串的数组要足够大要能够存放链接后的字符串。2 通过指针p找到str1字符串串尾。3 将q所指字符串接到p所指字符串之后。
4 为p所指字符串赋串结束标志。【相关知识及注意事项】1. 定义字符指针并使其指向一个字符串2. 通过字符指针输入输出一个字符串3. 字符指针作为函数参数4. 用字符数组和字符指针处理字符串的区别5.4 “学生成绩查询”案例【案例说明】有一个班内有5个学生每个学生有4门功课的成绩。编写程序查找并输出某学生的成绩。设被查学生的序号为0l234。要求以指向数组的指针作为函数参数。程序运行结果如图5.12所示。图5.12 学生成绩查询【案例目的】1 学会定义一个指向一维数组的指针变量掌握使其
指向二维数组中某一行元素的方法。2 掌握以指向数组的指针作为函数参数的方法。【技术要点】1 在main函数中定义一个int型二维数组score54用于存放5个学生的4门功课的成绩。2 在search函数中设置两个形参。参数pa是一个指向一维数组的指针它所指向的一维数组有4个int型元素用来存放被查学生的4门功课的成绩参数n是int型变量用来存放被查学生的序号。该函数的功能是将被查学生的4门功课成绩显示在屏幕上。【相关知识及注意事项】1. 二维数组元素的指针访问方式2. 指向一维数组的指针5.5 “字符串排序”案例【案例说明】设计一个程序将若干字符串按字母顺序由小到大输出。要求使用字符指针数组实现。程序运行结果如图5.15所示。图5.15 字符串排序【案例目的】1 熟悉定义字符指针数组掌握通过指针数组处理字符串的方法。2 掌握比较两个字符串大小的方法。【技术要点】1 使用指针数组中的元素指向各个字符串。对多个字符串进行排序不改动字符串的存储位置而是改动字符指针数组中各元素的指向。这样各字符串的长度可以不同而且交换两个指针变量的值要比交换两个字符串所花的时间少得多。2 调用strcmp函数可以比较两个字符串的大小。函数strcmp的两个参数可以是存放字符串的字符数组也可以是指向字符串的字符指针。该程序中所用的是指向字符串的字符指针。【相关知识及注意事项】1. 指针数组的定义2. 指针数组与指向一维数组指
针的区别3. 使用字符指针数组存取字符串的方法5.6 “契比雪夫多项式求值”案例【案例说明】已知契比雪夫多项式的定义如下所示xn12 x x-1n24 x x x-3 xn38 xxxx-8 x x1n4设计一个程序从键盘输入整数n和浮点数x并计算多项式的值。程序运行结果如图5.18所示。图5.18 契比雪夫多项式求值【案例目的】1 熟悉定义指针函数的指针变量掌握将指针变量指向函数的方法。2 掌握通过指向函数的指针调用函数的方法。【技术要点】1 分别定义4个函数实现对契比雪夫多项式的求值。2 定义一个指向函数的指针可以指向实现契比雪夫多项式求值的函数。3 通过一个switch语句确定函数指针应该指向哪一个函数。【相关知识及注意事项】1. 返回指针值的函数2. 指向函数的指针