Linux下编写C++实例程序(一)
2013-06-15 15:20
239 查看
下周考C++了,敲程序熟悉一下子,记下来,用惯了linux,不想在windows中用VC6.0了,直接使用vim编写,利用g++编译连接。源程序直接放到VC6.0中也能用!
实例1
设某次体育比赛的结果有4中可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这4中情况。
知识点:主要是练习枚举类型enum的使用
编译运行结果
实例2
将两个整数交换次序后输出。
知识点:值传递是指当发生函数调用时,给形参来分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参)。这一过程是参数值的单向传递关系,一旦形参获得了值便与实参脱离关系,此后无论形参发生了什么样的改变,都不会影响到实参。
编译运行结果
分析:从上面的运行结果可以看出,并没有达到交换的目的。这是因为,采用的是值传递,函数调用时传递的是实参的值,是单向传递过程。形参值的改变对实参值不起作用。
实例3
利用引用传递完成实例2功能
知识点:① 声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。② 一旦一个引用被初始化后,就不能改为指向其他对象。③ 用引用作为形参,在函数调用时发生的参数传递,称为引用传递。
编译运行结果
可见,通过引用传递实现了数据交换的功能。
实例4
值传递与引用传递的比较。
分析:子函数 fiddle 的第一个参数 in1 是普通的 int型,被调用时传递的是实参v1的值,第二个参数in2是引用,被调用时由实参v2初始化后称为v2的一个别名。于是在子函数中对参数 in1 的改变不影响实参,而对形参in2的改变实质上就是对主函数中变量 v2的改变。因而返回主函数后,v1值没有变化,v2值发生了变化。
编译运行结果
实例1
设某次体育比赛的结果有4中可能:胜(WIN)、负(LOSE)、平局(TIE)、比赛取消(CANCEL),编写程序顺序输出这4中情况。
知识点:主要是练习枚举类型enum的使用
编译运行结果
实例2
将两个整数交换次序后输出。
知识点:值传递是指当发生函数调用时,给形参来分配内存空间,并用实参来初始化形参(直接将实参的值传递给形参)。这一过程是参数值的单向传递关系,一旦形参获得了值便与实参脱离关系,此后无论形参发生了什么样的改变,都不会影响到实参。
编译运行结果
分析:从上面的运行结果可以看出,并没有达到交换的目的。这是因为,采用的是值传递,函数调用时传递的是实参的值,是单向传递过程。形参值的改变对实参值不起作用。
实例3
利用引用传递完成实例2功能
知识点:① 声明一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。② 一旦一个引用被初始化后,就不能改为指向其他对象。③ 用引用作为形参,在函数调用时发生的参数传递,称为引用传递。
编译运行结果
可见,通过引用传递实现了数据交换的功能。
实例4
值传递与引用传递的比较。
分析:子函数 fiddle 的第一个参数 in1 是普通的 int型,被调用时传递的是实参v1的值,第二个参数in2是引用,被调用时由实参v2初始化后称为v2的一个别名。于是在子函数中对参数 in1 的改变不影响实参,而对形参in2的改变实质上就是对主函数中变量 v2的改变。因而返回主函数后,v1值没有变化,v2值发生了变化。
编译运行结果
相关文章推荐
- Linux下编写C++实例程序(一)
- Linux下编写C++实例程序(二)
- Linux下编写C++实例程序(四)
- Linux下编写C++实例程序(三)
- [编程实例]Dev-C++编写动态调用dll杀进程的程序
- 编写Linux C++程序如何影响VIRT(虚存)和RES(实存/常驻内存)
- 在Linux下编写C++程序 简单的小程序
- 编写Linux C++程序如何影响VIRT(虚存)和RES(实存/常驻内存)
- 编写Linux C++程序如何影响VIRT(虚存)和RES(实存/常驻内存)
- 基于Linux编写C++程序
- linux c/c++多线程程序的编写-转
- Linux下编写C++程序连接mysql数据库编译时指定头、库
- linux下c/c++实例之十一简单的计算器程序
- Linux下,使用C/C++编写一个简单的消息处理程序
- linux下如何编写python与c++程序
- 将Python代码嵌入C++程序进行编写的实例
- linux C++ 程序实例分析
- linux下c/c++实例之三只允许单个程序运行
- Linux 编写c++程序之openssl
- 用vs编写和调试linux C++程序