码迷,mamicode.com
首页 > 编程语言 > 详细

C++面向对象程序设计之C++的初步知识

时间:2019-03-06 15:01:25      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:this   内容   代码分析   文件io   pause   个人总结   sys   操作系统   运行时   

本节内容为谭浩强老师编写的《C++面向对象程序设计》的第1章  C++的初步知识  的个人总结。

在正文开始之前,首先声明,我是Python程序员。

1.2.最简单的C++程序

例1.1 输出一行字符:"This is a C++ program"

1 #include <iostream>           //用count输出时需要用此头文件
2 using namespace std;          //使用命名空间std
3 int main()
4 { cout <<"This is a C++ program. \n";    //用C++的方法输出一行
5    return 0;
6 }

程序分析:

  1. main函数必须声明为int型,即此主函数返回一个整型的函数值。
  2. 单行注释:"//注释的内容";多行注释:"/*多行注释内容*/"。
  3. 在C++中一般用cout进行输出,cout实际上是C++系统定义的对象名,称为输出流对象。"<<"是“插入运算符”,与cout配合使用,在本例中的作用是将字符串插入到输出的队列cout中。
  4. 使用cout需要用到头文件iostream,i表示input,o表示output,stream表示“流”,iostream表示“输入输出流”。
  5. 程序的第二行"using namespace std;"的意思是“使用命名空间std”。如果程序有输入输出时,必须使用“#include <iostream>” 指令以提供必要的信息,同时要用“using namespace std;”语句使程序能够使用这些信息,否则程序编译时将出错。

例1.2 求a和b两个数之和

#include<iostream>
using namespace std;
int main()                        //主函数首部
{
    int a,b,sum;                  //定义变量
    cin>>a>>b;                    //输入语句,输入流对象,提取运算符,从键盘提取a和b
    sum = a+b;                    //赋值语句
    cout<<"a+b="<<sum<<endl;     //输出语句
    return 0;                     //如果程序正常结束,向操作系统返回一个零值
}

程序分析:

  1. endl是end line的缩写,表示本行结束,与"\n"作用相同。
  2. cin和>>组合,cin是输入流对象,>>是提取运算符,可以理解为从键盘提取a和b。
  3. 当运行时,输入数字时应注意,两个数字间应加一个空格。

例1.3 从键盘输入两个数a和b,求两数中的大者

 1 #include<iostream>
 2 using namespace std;
 3 int main()                        //主函数首部
 4 {
 5     int max(int x, int y);        //对max函数做声明
 6     int a,b,c;
 7     cin>>a>>b;
 8     c = max(a,b);                //调用max函数
 9     cout <<"max="<<c<<endl;
10     return 0;
11 }
12 
13 int max(int x, int y)            //定义max函数
14 {
15     int z;
16     if(x>y) z=x;
17     else z = y;
18     return(z);
19 }
程序分析:
  1. 学会C++中的声明函数,调用函数,定义函数思想。
  2. 学会比较并赋值的思想:if(x>y) z=x;else z = y;   如果x>y,则将大的值x赋值给Z,否则将大的值y赋值给z。

例1.4 包含类的C++程序

 1 #include <iostream>
 2 using namespace std;
 3 class Student                    //声明一个类,类名为Student
 4 {
 5 private:                        //以下为类中的私有部分
 6     int num;                    //私有变量num
 7     int score;                    //私有变量score
 8 public:                            //以下为类中的公用部分
 9     void setdata()                //定义公用函数stedata
10     {
11         cin>>num;
12         cin>>score;
13     }
14 void dispaly()                    //定义公用函数display
15 {
16     cout<<"num="<<num<<endl;
17     cout<<"score="<<score<<endl;
18 }
19 };                                //类的声明结束
20 Student stud1,stud2;            //定义stud1和stud2为Student类的变量,称为对象
21 
22 int main()
23 {
24     stud1.setdata();                    //调用对象stud1的setdata函数
25     stud2.setdata();                    //调用对象stud2的setdata函数
26     stud1.dispaly();                    //调用对象stud1的dispaly函数
27     stud2.dispaly();                    //调用对象stud2的dispaly函数
28     return 0;
29 }

程序分析:

  1. 可以类比python中的类,声明类-->定义类,定义类的变量-->用对象调用类的方法,调用对象的函数-->调用对象的函数
  2. 掌握定义类和类的方法,定义类的变量即对象,学会调用对象的方法。
  3. class是声明“类”类型时必须使用的关键字,一个类是由一批数据以及对其操作的函数组成的。
  4. 凡是被指定为公用的数据或函数,既可以被本类的成员函数调用,也可以被类外的语句所调用。被指定为私有的成员(函数或数据)只能被本类中的成员函数所调用,而不能被类以外调用(以后介绍的友元“类成员”以外)。
  5. Student stud1,stud2;是一个定义语句,它的作用是将stud1和stud2定义为Student类型的变量。
  6. 对象是占实际存储空间的,而类型并不占实际存储空间。
  7. 用了带后缀的“.h”的头文件时不必用“using namespace std;”做声明。

 

1.3 C++对C的扩充

1.3.1 C++的输入输出

C++预定义的标准流对象
流名 含义 隐含设备
cin 标准输入 键盘
cout 标准输出 屏幕
ceer 标准出错输出 屏幕
clog ceer的缓冲形式 屏幕

如果要指定输出所占列数,可以用控制符setw进行设置,如setw(5)的作用是为其后面一个输出项预留5列的空间,如果输出数据项的长度不足5列,则数据向右对齐,若超过5列则按实际长度输出。如下所示:

 1 #include<iomanip>
 2 #include<iostream>
 3 using namespace std;
 4 int main()
 5 {
 6 float a=3.45;
 7 int b=5;
 8 char c=A;
 9 //cout << "a="<<a<<","<< "b="<<b<<","<< "c="<<c<<endl;
10 //cout << "a="<<setw(6)<<a<<","<< "b="<<setw(6)<<b<<","<< "c="<<setw(6)<<c<<endl;
11 cout << "a="<<a<<endl;
12 cout << "b="<<b<<endl;
13 cout << "c="<<c<<endl;
14 cout << "a="<<setw(6)<<a<<endl;
15 cout << "b="<<setw(6)<<b<<endl;
16 cout << "c="<<setw(6)<<c<<endl;
17 system("pause");
18 return 0;
19 }

运行结果:

技术图片

代码分析:

  1. 若使用setw,应当在程序的开头包含头文件iomanip(或iomanip.h)。
  2. 如果执行窗口总是执行下就消失,可以在开头加上using namespace std;在return之前加上system("pause");就可解决。

 

 

 

 

  

C++面向对象程序设计之C++的初步知识

标签:this   内容   代码分析   文件io   pause   个人总结   sys   操作系统   运行时   

原文地址:https://www.cnblogs.com/yfchan/p/cpp-1-1.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!