天天看点

2013级C++第16周项目——初识指针

第一部分 程序分析

  阅读下面的程序,先写出其运行结果,再运行对比。

  读不懂怎么办?支招1:按课堂上老师讲课的方式,将变量对应内存的“框子”画出来,用大脑当cpu,写出变量的变化过程;支招2:单步执行程序,在监视(watch)窗口中观察变量的动态变化,从而掌握程序的运行机理。

(1)

(2)

(3)

(4)

第二部分 上机任务

【项目1-打入“内部”寻“内幕”】下面是一段使用了指针的程序。请利用“单步”执行的方式运行程序,深刻理解“指针变量存储的是地址值”、“通过指针变量间接访问”等概念。将在执行过程中留下深刻映像的界面截屏下来(不限一个),并加以点评。

  通过这个项目,再次强调学会单步调试。挖掘机就在面前,却就要用铁锹一锹一锹挖,这怎么能让人说你勤奋?!单步调试这台挖掘机,只要上手,就能会开,遇到困难,有各种途径。

  下面是单步运行中的一张图片,供参考:

  

2013级C++第16周项目——初识指针

【项目2-指来指去】设计一个程序,利用指针完成下面的工作

(1)下面的程序,输入10 100和100 10,均可以输出max=100 min=10,请补充完整程序

(2)下面的程序将调用函数进行变量的交换,请设计出交换的函数

【项目3-填空学指针】采用指针访问方式从键盘给数组a[n]输入数据,然后对元素值重新按逆序存放并输出。请补充完整下面的程序。

【项目4-有相同数字?】编写程序,要判断两个有序数组中是否存在相同的数字

参考代码:

【项目5-奇数因子】编写函数 int fun(int x, int *pp)。其功能是,求出x的所有奇数因子,并按照从小到大的顺序放在pp指向的内存中,函数返回值为这些整数的个数。若x的值为30,数组中的数为1,3,5,15,函数返回4。

  下面是该程序main()函数的部分代码作为参考。

==================== 迂者 贺利坚 csdn博客专栏=================

======== 为it菜鸟起飞铺跑道,和学生一起享受快乐和激情的大学 =======

继续阅读