C++程序设计(第2版)
6.5.2用指向函数的指针作函数参数
6.6返回指针值的函数
6.7指针数组和指向指针的指针
6.7.1指针数组
图6.16
图6.17
6.7.2指向指针的指针
图6.18
C++程序设计(第2版)
6.8const指针
1. 指向常量的指针变量2. 常指针
3. 指向常量的常指针
图6.19
C++程序设计(第2版)
6.9void指针类型
6.10有关指针的数据类型和指针运算的小结
6.10.1有关指针的数据类型的小结
C++程序设计(第2版)
6.10.2指针运算小结
图6.20
6.11引用
6.11.1什么是变量的引用
图6.21
6.11.2引用的简单使用 6.11.3引用作为函数参数
图6.23
C++程序设计(第2版)
图6.24
习题
本章习题要求用指针或引用方法处理。
1. 输入3个整数,按由小到大的顺序输出。 2. 输入3个字符串,按由小到大的顺序输出。
图6.25
3. 输入10个整数,将其中最小的数与第1个数对换,把最大的数与最后一个数对换。写3个函数: ①输入10个数; ②进行处理; ③输出10个数。
4. 有n个整数,使前面各数顺序向后移m个位置,最后m个数变成最前面m个数,见图6.25。写一函数实现以上功能,在主函数中输入n个整数,并输出调整后的n个数。 5. 有n个人围成一圈,顺序排号。从第1个人开始报数(从1~3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。
6. 写一函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度。
7. 有一字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串。
8. 输入一行文字,找出其中大写字母、小写字母、空格、数字以及其他字符各有多少。 9. 写一函数,将一个3×3的整型矩阵转置。
10. 将一个5×5的矩阵中最大的元素放在中心,4个角分别放4个最小的元素(按从左到右、从上到下顺序依次从小到大存放),写一函数实现。用main函数调用。
11. 在主函数中输入10个等长的字符串。用另一函数对它们排序。然后在主函数输出这10个已排好序的字符串。
12. 用指针数组处理第11题,字符串不等长。 13. 写一个用矩形法求定积分的通用函数,分别求
(说明:
sin,cos,exp已在系统的数学函数库中,程序开头要用#include
15. 有一个班4个学生,5门课。①求第1门课的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩和平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生。分别编3个函数实现以上3个要求。 16. 输入一个字符串,内有数字和非数字字符,如
C++程序设计(第2版)
将其中连续的数字作为一个整数,依次存放到一数组a中。例如,123放在a\\[0\\],456放在a\\[1\\]……统计共有多少个整数,并输出这些数。
17. 写一函数,实现两个字符串的比较。即自己写一个strcmp函数,函数原型为
设p1指向字符串s1,p2指向字符串s2。要求当s1=s2时,返回值为0,若s1≠s2,返回它们二者第1个不同字符的ASCII码差值(如\与\,第2个字母不同,\与\之差为79-65=14)。如果s1>s2,则输出正值,如s1 18. 编写一程序,输入月份号,输出该月的英文月名。例如,输入3,则输出March,要求用指针数组处理。 19. 用指向指针的指针的方法对5个字符串排序并输出。 20. 用指向指针的指针的方法对n个整数排序并输出。要求将排序单独写成一个函数。整数和n在主函数中输入。最后在主函数中输出。