XI`AN TECHNOLOGICAL UNIVERSITY
实验报告
实验课程名称: C++对 C 的扩充(一)
专 业: 计算机科学与技术
班 级: 20060106
姓 名: 马一博
学 号: 2020032715
实验学时: 2
指导教师: 刘敏侠
成 绩:
2021 年 10 月 4 日
西安工业大学实验报告
专业
计算机科学与技
术
班级
20060106
姓名
马一博
学号
2020032715
实验课程
面向对象技术与
C++
指导教师
刘敏侠
实验日期
2021.10.4
同实验者
不填
实验项目
C++对 C 的扩充
一、实验目的
(1)了解在面向过程程序设计中 C++对 C 功能的扩充与增强,并善于在编写程序过程中应用这些新的功能。(2)熟悉在
所用的编译系统上编辑、编译、连接和运行 C++程序的方法。
(3)熟悉 C++程序的结构和编程方法。
二、实验内容、数据记录及处理
1.输入以下程序,进行编译,观察编译情况,如果有错误,请修改程序,再进行编译,直到
没有错误,然后进行连接和运行,分析运行结果。
实验分析:(每次出错窗口里显示的第一个
error
复制下来,分析原因;修改后重新调试运行,并再次记录第一个
出现的
Error
,分析原因,直到成功)
(1) 出错记录
运行上面的代码,出现如下错误:
Vscode 的报错:
PS C:\Users\30456\Desktop\cc++_date> cd "c:\Users\30456\Desktop\cc++_date\" ; if ($?)
{ g++ 11.cpp -o 11 } ; if ($?) { .\11 }
11.cpp: In function 'int main()': // complier 提示改为 int main()
11.cpp:6:5: error: 'c' was not declared in this scope
6 | c=add(a,b);
| ^ // complier 报错说变量 c 未声明在这个作用域(即在 main 函数的作用域)
11.cpp:6:7: error: 'add' was not declared in this scope
6 | c=add(a,b);
| ^~~ // complier 报错说 add 这个函数没有声明
11.cpp: In function 'int add(int, int)': // complier 提示增加 int add(int,int);
11.cpp:12:5: error: 'z' was not declared in this scope
12 | z=x+y;
// complier 报错说变量 z 未声明在 add 函数的作用域
(1)修改上述错误后,在 vscode 运行成功,在我的环境中,a 和 b 都为 0,(如果你的环境中有残留的垃圾变
量,则 a 和 b 的初始值不一定)
(2)修改上述错误后,在 vs 中运行,依旧失败,vs 的编译器提示 a,b 变量没有初始化
给 a,b 赋值后成功运行
(2) 修改成功后程序清单
习惯性加上了 return 0;
(3) #include <iostream>
(4) using namespace std;
(5)
(6) int add(int x,int y);
(7) int main(void){
(8) int a=1,b=2,c;
(9) c=add(a,b);
(10) cout<<"a+b="<<c<<endl;
(11) return 0;
(12) }
(13)
(14) int add(int x,int y){
(15) int z;
(16) z=x+y;
(17) return z;
(18) }
(19) 运行结果截图
2. 输入两个整数,将它们按由小到大的顺序输出。
1)使用指针方法。
2)#include <iostream>
3)using namespace std;
4)
5)void f(int *a,int *b);
6)
7)int main(void){
8) int x,y;
9) cin>>x>>y;
10) f(&x,&y);
11) cout<<"x="<<x<<" y="<<y<<endl;
12) return 0;
13)}
14)
15)void f(int *a,int *b){
16) if(*a>*b){
17) int temp;
18) temp=*b;
19) *b=*a;
20) *a=temp;
21) }
22)}
23)使用变量的引用。
24)#include <iostream>
25)using namespace std;
26)
27)void f(int &a,int &b);
28)
29)int main(void){
30) int x,y;
31) cin>>x>>y;
32) f(x,y);
33) cout<<"x="<<x<<" y="<<y<<endl;