第一章 C++初步知识
1.1从C到C++
为什么要叫C++,就是在C语言的基础上自加得到的。自加来自两方面:1.在面向过程的机制上对C语言的功能做了扩充。2.增加了面向对象的机制。
1.2最简单的C++程序
例1.1
#include <iostream> //头文件,区别C语言:头文件没有.h后缀名
using namespace std; //命名空间,区别C语言:C语言没有这个东东
int main() //主函数定义,区别C语言:主函数有了返回值
{
cout<<"This is a C++ program!"<<endl; //输入内容,区别C语言:没有用printf
return 0; //返回值。
}
cout读作see out,表示输出流,<<为插入运算符,意思是将内容插入到输入流中,用于显示。其中endl表示end line,即结束,显示为换行相当于'\n'
例1.2
#include <iostream>
using namespace std;
int main()
{
int a,b,sum;
cin>>a>>b; //输入数据,区别C语言没有用scanf
sum = a + b;
cout<<"a + b = "<<sum<<endl; //endl表示end line,相当于'\n'表示换行。
return 0;
}
cin读作see in,表示输入流,>>为提取运算符,意思是将内容赋值到变量。cin不接收空白字符(空格、制表符、换行等),所以以空白字符作为分割,若采用其他符号分割,则出现异常现象。
例1.3
#include <iostream>
using namespace std;
int max(int x, int y)//定义函数
{
int z;
if(x > y) z = x;//此处语句短,可分辨逻辑,如果满足if条件需要执行的语句很多,则需要采用{}
else z= y;
return(z);//return后也可以不带括号
}
int main()
{
int a,b,m;
cin>>a>>b;
m=max(a,b);
cout<<"max="<<m<<endl;
return 0;
}
以上为先定义max函数,再在主函数调用,也可以先声明,再调用,最后再定义。
#include <iostream>
using namespace std;
int main()
{
int max(int x, int y);//声明函数
int a,b,m;
cin>>a>>b;
m=max(a,b);
cout<<"max="<<m<<endl;
return 0;
}
int max(int x, int y)//定义函数
{
int z;
if(x > y)
{
z = x;
}
else
{
z= y;
}
return z;
}
声明函数和定义函数的函数头相同,只是多了个;而且没有函数体。
#include <iostream>
using namespace std;
class Student//定义了一个学生类
{
private:
int num;//学生有属性:学号
int score;//学生有属性:成绩
public:
void set_data()//学生可以完成属性的设定
{
cin>>num;
cin>>score;
}
void display()//学生可以完成属性的显示
{
cout<<"num="<<num<<endl;
cout<<"score="<<score<<endl;
}
};
Student stu1,stu2;//定义全局变量,定义具体的2个学生stu1和stu2
int main()
{
stu1.set_data();//对学生stu1进行属性的设定
stu2.set_data();//对学生stu1进行属性的显示
stu1.display();//对学生stu2进行属性的设定
stu2.display();//对学生stu2进行属性的显示
return 0;
}
类是一种抽象,比如把学生归为一类,类包括两部分属性和动作,即数据成员和成员函数。对象为类的具体,比如学生类具体了2个对象stu1和stu2。
关键字private表示私有的,即只有当前对象可以进行使用,public表示共有,即当前对象外的也可以使用。
1.3C++程序的构成和书写形式
1.预编译
2.全局变量声明
3.函数:a.函数首部,b.函数体
1.4C++程序的编写和实现
1.编码——用C++进行程序编写,这包括结构设计、算法设计、对象分析等
2.编译——对源码进行编译,生成目标文件
3.链接——将目标文件和一些体统提供的库文件进行链接,生成可执行文件(exe)
4.运行——运行可执行文件,生成结果
5.分析——根据结果判断程序是否正确,有无异常。如有异常则修改再进行以上步骤,直到程序正确。
习题1
答:继承了C语言的特点,又做了功能的扩充,增加了类的概念。
习题2
答:一个程序有多个单元文件组成
习题3
答:5个步骤,编码、编译、链接、运行、分析
习题4
答:略
习题5
答:输出:ThisisaC++program.输出流遇到endl才会进行输出。
习题6
答:输出:a + b = 33
习题7
答:输出最小值
习题8
答:a,b没有初始化.是一个未知值。
习题9
答:a,b没有初始化.是一个未知值。
习题10
答:从小到大输出。最后一组使用逗号分隔,而cin提取到变量时int型,所以失败。