首页 理论教育 C语言程序设计教程:指针与数组实训

C语言程序设计教程:指针与数组实训

时间:2023-10-27 理论教育 版权反馈
【摘要】:②表达式*p2+*p1的值应为两指针所指元素值的和。

C语言程序设计教程:指针与数组实训

一、实训目的

1.深入理解指针的概念,学习如何用指针操作数组

2.了解指针数组的定义与初始化。

二、实训内容

1.已知采用下标法输出a数组元素值的程序为:

下面是用指针法编写输出a数组元素值的程序,请填空。

参考程序:

提示与分析:

语句“p=a;”使p指向数组a的起始地址;p++使指针移动,将p指向数组a的下一个元素。

2.写出下面程序的运行结果,然后上机验证。

提示与分析:

①表达式p2-p1的值应为两指针所指元素之间的元素个数。

②表达式*p2+*p1的值应为两指针所指元素值的和。(www.xing528.com)

3.下面程序的功能是:输出数组中前3个元素的值。程序中没有语法错误,但输出结果不对。请将程序调试正确。

提示与分析:

语句“p=b;”使p指向数组b的起始地址,p++使指针指向数组b的下一个元素,执行完第1个循环后,p指向哪里?这时立即执行第2个循环,能输出前3个元素的值吗?如何处理?

4.下面程序的功能是利用指针变量实现一维数组直接插入排序。请填空并运行该程序。

提示与分析:

考虑指针p和数组a的联系及指针p的移动含义。

5.以下程序通过指针数组p和一维数组a构成如下图所示的矩形(二维数组元素值)的左下三角结构,然后输出。请填空。

6.设有5个学生,每个学生选修4门课程,以下程序能检查这些学生有无考试不及格的课程。若某一学生有一门或一门以上不及格课程就输出该学生的序号(序号从0开始)和其全部课程成绩。请填空。

提示与分析:

①(*p)[ ]为行指针。

整型变量flag为标识变量,其值为1时标识有不及格课程。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈