"C++"程序设计-学习笔记



文档说明:这是一篇关于自考"C++"程序设计的学习笔记
课程名称:辛运帏/机械工业2019年版"C++"程序设计
课程代码:04737
文档作者:Yohann Fang

第一章 > "C++"语言简介

第1节 > "C++"语言的发展简史

通常根据是否可以直接操纵计算机底层硬件,将程序语言分为低级语言 中级语言 高级语言
低级语言:机器语言、汇编语言,可以直接操纵计算机的寄存器和内存,能够直接被计算机识别
机器语言使用机器指令的二进制代码编写程序
汇编语言可以看作是添加了助记词的符号化机器语言
低级语言会因为机器底层指令系统的不同而不同,可读性和通用性都差
高级语言是面向用户的语言,语言形式上接近自然语言,使用高级语言编写的程序通用性强,易读性高,但是大部分不能直接和硬件打交道,也不能直接在计算机上运行,需要系统软件的支持
高级语言需要编译或者链接为机器指令后才能运行,第一代高级语言以Fortran语言和ALGOL60语言为代表
"C++"语言属于高级语言,也有说法为中级语言("C++"一定程度上可以直接操纵硬件)
"C++"语言诞生于贝尔实验室,"C++" 98 被认为是标准"C++"
"C++"是"C"语言的超集

第2节 > "C++"语言的特点

"C++"语言是编译式的,通用的,大小写敏感的编程语言
"C++"语言完全支持面向对象的开发模式
"C++"语言继承了"C"语言的优点,同时可以进行面向对象的程序设计
"C++"语言比"C"语言更安全,支持面向过程,面向对象,泛型编程的开发方式
"C++"可以运行的平台广泛,如:Windows、MacOS、Linux
因为"C++"加入了面向对象的概念,所以和"C"语言编写方式上有很大差别

2.1 > 基本的输入/输出

在"C"语言中,标准的键盘输入和屏幕输出分别使用 scanf() 和 printf() 两个函数实现,在"C++"中,类库提供了输入流类 istream 和输出流类 ostream
cin 和 cout 分别是输入/输出类的对象
在输入流中获取数据的操作被称为提取操作,向输出流中添加数据的操作被称为插入操作,运算符 ">>" 和 "<<" 是位移运算符,在"C++"类库提供的头文件中已经对位移运算符进行了重载,使之分别作为流提取运算符和流插入运算符,用来输入输出"C++"标准类型数据
语句 cin>>x 表示从键盘获取输入数据并赋值给变量x,使用 cin 可以获取多个来自键盘的输入值,cout 是标准输出流对象,使用流插入运算符向设备输出信息
当程序中使用 cin 或 cout 时,需要在程序中包含头文件
注意流提取和流插入符号中间不能有空格或其它符号
用户自定义类型的数据,不能直接使用流提取或流插入符号进行输入/输出,此时必须对符号进行运算符重载后才可以使用
cin 的一般格式

cin>>变量;

cout 的一般格式

cout<<表达式;

cin 中的变量可以是任何基本类型变量,cout 中的表达式可以是任何变量、常量、变量和常量的组合得到的正确表达式
当读取数据时,如果第一个字符是空格、Tap键、Enter键,会将其忽略并清除掉,继续读取下一个字符
输入输出实例

#include <iostream> //包含 cin 或 cout 符号定义的头文件
#include <string>

using namespace std;

int main() {
  int oneInt1,oneInt2;
  char strArray[20];
  string str;
  double oneDouble;
  char oneChar = 'a';

  cout<<"输入两个整数值、一个字符、一个字符串和一个小数";
  cout<<"用空格作分隔符";

  cin>>oneInt1>>oneInt2>>oneChar>>strArray>>oneDouble;
  str = strstrArray;
  cout<<"输入的数据是"<<endl; //endl的作用是换行
  cout<<"两个整数是\t"<<oneInt1<<"\t"<<oneInt2<<endl
  <<"字符是\t"<<oneChar<<"\n" // \n 是转义序列
  <<"字符串是\t"<<str<<endl
  <<"小数是\t"<<oneDouble<<endl;
  return 0;
}

程序说明
字符串既可以使用字符型数组表示也可以使用 string 类的对象来表示
注意 ">>" 和 "<<" 运算符的后面都只能跟一个项,不能多个项连用,如下写法是不正确的

cout<<a, b, c; //这种写法是错误的

正确写法如下所示

cout<<a<<b<<c; //这种写法是正确的

字符串太长时可以通过符号(反斜杠)进行分割换行书写,如下所示

cout<<"12345\
67890"<<endl

cout 可以混合输出多种类型的数据

2.2 > 头文件和命名空间

"C++"语言使用头文件保存程序中用到的声明,如函数声明、常量定义等,程序中用到了 #include 指令包含了头文件 iostream,iostream 是"C++"语言的标准输入/输出流
当使用 cin 或 cout 时,必须在程序前面包含这个流,如果还需要使用其它内容,则需要包含其它头文件,如 string 头文件
每个 #include 指令仅可以包含一个头文件,如果需要包含多个头文件,只能用多条 #include 指令
在"C++"语言中,头文件不再用 .h 结尾,所以以 .h 结尾的头文件是"C"语言中常用的头文件
常用的头文件如下所示
1:标准输入输出流 <iostream>
2:标准文件流 <fstream>
3:标准字符串处理函数 <string>
4:标准数学函数 <cmath>
除了可以使用系统提供的头文件,程序员还可以定义自己的头文件,并在程序中使用 #include 指令包含进来
通常使用尖括号括住系统提供的头文件,使用双引号括住程序员自己定义的头文件
使用尖括号,系统将在系统目录或指定目录下寻找头文件
使用双引号,系统将在当前目录或指定目录下寻找头文件
如下所示

#include "c:\mybook\a.h" //在指定目录下寻找头文件

"using namespace std;" 这段代码表示使用命名空间 std
命名空间的作用是为了消除不同模块下命名相同引发的争议
定义命名空间的语法格式如下

namespace 命名空间名 {
  命名空间内的各种声明 > 函数声明、类声明
}

命名空间也称为名字空间,"C++"标准程序库中所有标识符都定义在一个名为 std 的命名空间中
引用其它命名空间的标识符语法格式如下

命名空间名::标识符名

如输入输出示例中如果没有 "using namespace std;" 这段代码,则需要分别使用全称 std::cin, std::cout, std::string, std::endl 等指明来自命名空间 std
"C++"提供了 using 语句简化命名空间的写法,如下所示

using 命名空间名::标识符名;

2.3 > 强制类型转换运算符


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM