计算机程序设计基础(C++)
实验报告
专业班级 软件工程 2205 班
学 号 8209220516
姓 名 唐海涛
实验报告成绩:
实验
实验二
实验三
实验四
实验五
总评
成绩
批阅教师:
实验一、实验环境与简单程序设计
一、实验目的
1、 掌握集成开发环境,掌握 C++程序的基本要素以及完整的 C++程序开发过程。
2、 掌握基本数据类型、运算符和表达式的使用。理解隐式转换和强制转换,理解数据
超过该数据类型表示范围时的溢出。掌握不同数据之间的混合算术运算中数据类型的转
换。
3、 变量的定义与常量的使用。
4、 输入、输出的实现。
5、 编译信息的理解与错误的修改。
6、 简单程序的设计
二、实验内容
熟悉 C++编程环境,可以使用 Dev-C++或 VS;对已经能熟练掌握 C++开发
环境的同学,可以跳过本部分内容)
程序命名方法:
文件夹名:190xxx-姓名
C++源文件名:可根据实验内容取名
1、编辑输入下列程序,找出下面代码的错误并改正:
include<iostream>
using namespace std;
int Main()
{
int i=k+1;
cout<<i++<< endl;
int i=1;
cout<<i++<< endl;
cout<<”Welcome to C++!<<endl;
return 0
}
仔细观察屏幕下方的信息框中编译器与连接器所给出的错误信息,了解其含义及改正方
法。
2、求圆锥的体积:要求键盘输入圆锥底的半径、锥高,使用标识符常量定义圆周率。
(1) 创建一个控制台项目
(2) 在文件中输入程序内容,存盘
(3) 编译、连接、运行;观察结果
3、通过下面程序验证你所使用系统上运行的 C++编译器中每个基本数据类型的长度。
#include <iostream>
using namespace std;
int main()
{
cout << "char length:" << sizeof( char ) << endl;
cout << "int length:" << sizeof( int ) << endl;
xxx:实验号:如实验 2 的第 3 道题:203areareturn 0;
}
修改程序,验证 short,long,float,double,long double,wchar_t 的类型长度。
4、观察下面程序的执行结果。
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
unsigned int testUnint=65534;//0xfffe
cout << "output in unsigned int type:" << testUnint<< endl;//<<oct;
cout << "output in char type:" << static_cast<char>(testUnint)<< endl;
cout << "output in short type:" << static_cast<short>(testUnint)<< endl; //为什么结果为-2?
cout << "output in int type:" << static_cast<int> (testUnint)<< endl;
cout << "output in double type:"<< static_cast<double>(testUnint)<< endl;
cout << "output in double type:" <<setprecision(4)<< static_cast<double>(testUnint)<< endl;
cout << "output in Hex unsigned int type:" <<hex<< testUnint<< endl; //16 进 制 输 出
system("pause");
return 0;
}
自己编程测试一下将 testUnint 按 8 进制输出<<oct; 。将一个实数转换成 int,观察结
果。
5、编程,输入华氏温度,将其转换为摄氏温度后输出(保留两位小数)
三、实验步骤、算法与结果分析
1. #include<iostream>
using namespace std;
int main()
{
int k=0;
int i = k + 1;
cout << i++ << endl;
i = 1;
cout << i++ << endl;
cout << "Welcome to C++!" << endl;
return 0;
}
2. #include<iostream>
using namespace std;
int main()
{
const double Pi = 3.14;
int r(0), h(0);
cin >> r;
cin >> h;
double V = (Pi * r * r * h) / 3;
cout << "圆锥的体积是:" << V << endl;
return 0;
}
3. #include <iostream>
using namespace std;
int main()
{
cout << "short length:" << sizeof(short) << endl;
cout << "long length:" << sizeof(long) << endl;
cout << "float length:" << sizeof(float) << endl;
cout << "double length:" << sizeof(double) << endl;
cout << "long double length:" << sizeof(long double) << endl;
cout << "wchar_t length:" << sizeof(wchar_t) << endl;
return 0;
}
4. #include <iostream>
#include <iomanip>
using namespace std;
int main()
{
unsigned int testUnint = 65534;//0xfffe
cout << "output in unsigned int type:" << testUnint << endl;//<<oct;
cout << "output in char type:" << static_cast<char>(testUnint) << endl;
cout << "output in short type:" << static_cast<short>(testUnint) << endl; //为
什么结果为-2?
//short型上限32767,超过则从-32768开始重新计算
cout << "output in int type:" << static_cast<int> (testUnint) << endl;
cout << "output in double type:" << static_cast<double>(testUnint) << endl;
cout << "output in double type:" << setprecision(4) <<
static_cast<double>(testUnint) << endl;
cout << "output in Hex unsigned int type:" << hex << testUnint << endl; //16
进 制 输 出
cout << "output in Oct unsignde int type;" << oct << testUnint << endl; //8 进
制 输 出
double Pi = 3.14;
int i = Pi / 3;
//将一个实数转换为int,会降低精度,不利于精确计算
cout << i << endl;
system("pause");
return 0;
}
5. #include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double c = 0;
double f = 0;
cin >> f;
c = (f - 32) / 1.8;
cout.setf(ios::fixed);
cout << setprecision(2) << c << endl;
return 0;
}