实验简介

实验规模

截止目前,参与本实验的人员为本校学生约285人,校外人员约200人,社会人员约60人。

实验技术支持与服务群

技术支持热线电话:027-67868320

本实验主要分为三个部分,分别是基础实验、扩展实验以及理论测试

(1)基础实验

本部分系统会给出三种参数传递方式的具体使用示例。通过单步执行代码,用户可以了解参数传递过程中每一个变量的变化情况,初步掌握每种参数传递方式的运行过程及原理。

值传递:值传递是指在调用函数时将实际参数复制一份传递到函数中,这样在函数中如果对参数进行修改,将不会影响到实际参数。即调用一个函数时,调用处会将实参的值拷贝一份并赋值给对应的形参。由于形参有自己独立的存储空间,又作为函数的局部变量使用,因此在函数中对形参值的任何修改都不会改变实参变量的值。值传递的好处就是减少了函数之间的数据依赖,增强了函数自身的独立性。

引用传递:引用实际上是为原变量起了一个别名,它本身代表的仍然是原变量。为实现引用传递,被调函数的形参应声明为引用类型变量,原变量将作为引用的目标变量名。函数调用时,作为形参的引用变量并不分配新的内存空间,它将作为实参变量的别名与其共用内存。使用引用参数可以直接操作实参变量,从而能够实现通过修改形参的值而达到修改对应实参值的目的。通过设置多个引用参数,可以从函数中带回多个结果值。

指针传递:指针传递其实是值传递的一种,但它传递的是原始变量的地址。地址的传递必须用指针来接收,即被调函数的形参必须是指针。当调用函数时,主调函数将实参的地址传递过去,被调函数通过指针接受该地址,指针所指向的内容即原实参的值。在使用指针时,通过*变量名可以操作原实参的内容,如果不使用*符号,就会对指针所代表的地址进行操作。指针之间可以进行赋值操作,但在一般情况下不会进行算术运算操作。

(2)扩展实验

本部分系统提供一个可自定义编程的模块。系统会给出一版示例代码供用户修改,通过组合不同的参数传递方式,灵活地变换参数传递规则,进一步加深用户对于每一种参数传递方式的理解,熟练地掌握并运用不同参数传递方法。

(3)理论测试

本部分系统提供一个理论知识在线练习功能。针对C++中的参数传递方式,系统每次都会从题库中随机抽取部分相关问题供用户在线练习。在练习结束之后,系统会提供每道题的正确答案以便用户核对,对于没有掌握的问题,用户可以选择到基础实验部分或扩展实验部分从代码层面加深理解,也可以继续进行在线练习完善和巩固知识点。

Copyright © 2020-2030 版权所有:华中师范大学 鄂ICP备05003325号-9