实验目的和要求
1.熟悉Code::Blocks 16.01编译系统的常用功能。
2.学会使用Code::Blocks 16.01编译系统实现简单的C++程序。
3.熟悉C++程序的基本结构,学会使用简单的输入/输出操作。
实验内容
1.编译下列程序,改正所出现的错误信息,并写出输出结果。
(1)//sy1_1.cpp
main()
{
cout<<"This is a program."
}
程序运行结果如下:
程序修改如下:
#include<iostream>
using namespace std;
int main(void)
{
cout<<"This is a program.";
return 0;
}
正确程序运行结果如下:
(2)
(2)//sy1_2.cpp
#include<iostream>
using namespace std;
int main()
{
cin>>x;
int y=x*x;
cout<<"y=<<y<<\n";
return 0;
}
运行结果如下:程序修改如下:
//(2)sy1_2.cpp
#include<iostream>
using namespace std;
int main( )
{
int x;
cin>>x;
int y=x*x;
cout<<"y="<<y<<endl;
return 0;
}
正确程序运行结果如下:
(3)
//sy1_3.cpp
# include< iostream>
using namespace std;
int main( )
{
int a,b;
a= 7;
int s = a + b;
cout<<"a+ b= "<<s<<endl;
return 0 ;
}
运行结果如下图所示://(3)sy1_3.cpp
#include<iostream>
using namespace std;
int main( )
{
int a,b;
a=7;
cin>>b;
int s=a+b;
cout<<"a+b="<<a+b<<endl;
return 0 ;
}
正确程序运行结果如下:
2.写出一个完整的C++程序,从键盘输入值来赋给int类型的变量the_number,并在输入语句前添加一个提示语,提示用户输入一个整数。(sy1_4.cpp)
程序编写如下:
//sy1_4.cpp
#include<iostream>
using namespace std;
int main(void)
{
int the_number;
cout<<"please input an integer:"<<endl;
cin>>the_number;
cout<<"the_number="<<the_number<<endl;
return 0;
}
运行的结果如下:
分析与讨论
1.C++程序的基本结构。
答:一般情况下,用C++语言编写的程序是由函数加上类型组成的。在这种结构中,C++语言中有一个特殊的函数称为主函数。每一段程序都从主函数开始执行,由主函数去激活一个对象的行为,通过这个对象的行为又去激活其他对象的行为,程序中的众多对象共同协作完成某一任务。
此外,C++程序的基本结构还有如下两种退化的情形。一种退化情形是程序中仅有类而没有函数(包括主函数)。这些程序通常不是为了直接运行,而是用来构造C++程序库,供编写其他程序是使用。另一种退化情形是程序中仅有函数而没有类。除主函数外,还可能有一些游离的函数,这些游离的函数不属于任何类。这时的C++程序不具有面向对象的特征,但它包含了C++程序基本组成。
2.从对实验内容第1题中出现错误的修改,总结出编程时应注意哪些问题。
答:(1)在编程时首先要注意是否有头文件,即#include指令,它的作用是将某一个源文件的代码并入当前源程序。
(2)在编程时还要注意在include指令之后需要加入using namespace std,这是一条针对名字空间的指令,是为了告诉编译程序此程序中所有的标识符都在std名字空间中,标识符都可以直接使用而不会发生命名的冲突。
(3)在编程时在主函数前面要有类型,并且在最后要有返回值。在第1题中函数名之前的int表示函数需要一个整型返回值,return 0则便是程序正常结束。
(4)在编程时cout后面输出的字符串要用双引号括起来,并且在语句结束时的分号不能忘。
3.C++程序中所出现的变量是否都必须先说明后使用?说明变量时是否都应放在函数体的开头。
答:不是。在使用之前的语句中定义说明即可。
4.使用cout与运算符“<<”输出字符串时应该注意些什么?
答:使用cout与运算符“<<”输出字符串时字符串应为位于“”里面。并且在输出时若要实现换行,可以使用endl,也可以使用转义符“/n”
5.程序中说明了的变量,但没有赋值,这时能否使用?
答:能。
6.一个程序通过编译并运行后得到了输出结果,这一结果是否一定正确?
答:不一定。因为可能运行的方式不符合该程序本身的意义。
实验小结
通过本次实验我初步了解了面向对象程序设计,学会了cin和cout的使用方式,且同时也知道cin和cout与scanf和printf两种语句的使用区别;