第1章 开始

1.1 编写一个简单的C++程序

每个C++程序都必须包含至少一个函数,其中一个必须命名为main,main函数的返回类型必须为int

一个函数的定义包括四个部分:返回类型、函数名、形参列表(可以为空)(前三个合起来称为函数头)和函数体(以左花括号{开始,右花括号结束}),return向函数的调用返回一个值,该返回值的类型必须与函数头的返回类型相同。main函数返回0表示运行成功,非0的返回值由系统定义,指明不同类型的错误。

1.2 初识输入输出

C++中使用iostream库来控制输入输出,i为input,o为output,stream为流,意为输入输出流。标准库中定义了4个IO对象

  • 标准输入cin
  • 标准输出cout
  • 标准错误cerr
  • 输出程序一般信息clog

#include <iostream> 表示调用iostream中的库,尖括号中的指头文件。#include指令必须和头文件的名字在同一行。#include指令必须出现在所有函数以外,一般放在源文件的开始位置。

向流中写入数据:

输出运算符 “<<” ,输出运算符接受两个对象,左侧的必须为一个ostream对象,右侧的为要打印的值。该运算符将给定的右侧值写入到给定的ostream对象中。计算结果就是写入给定值的那个ostream对象

endl是一个操纵符的特殊值,写入endl的效果是结束当前行,并将与设备关联的缓冲出中的内容刷到设备中。   //endl并不是必须的,有换行需要时才使用。

std ::cout 和std :: endl,前缀std::指出名字cout、endl是定义在名为std的命名空间(namespace)中的。标准库定义的所有名字都在命名空间std中(standard),通过作用域运算符(::)指出名字来源于某个命名空间

从流中读取数据:

输入运算符 “>>” ,输入运算符接受两个对象,左侧的必须为一个istream对象,右侧为要写入的值。右侧对象从给定的istream中读入数据,并存入给定的对象(自己定义的abcd等值)。返回其左侧对象作为运算结果。

 1.3注释简介

C++中有两种注释:单行注释界定符对注释

  • 单行注释以双斜线(//)开始,以换行符结束。双斜线右侧的所有内容都会被编译器忽略,这种注释可以包含任何文本,包括额外的双斜线。主要用于单行或半行注释。
  • 继承自C语言的两个界定符(/* 和 */),注释以 /* 开始,往后遇到第一个*/ 结束,可以包含除 */外的任意内容,包括换行符。编译器将 /* 和 */ 之间的所有内容都当做注释。主要用于多行注释,注释内的每一行最好都以 * 开头。注释界定符不能嵌套

控制流

1.4.1 while语句

while语句的形式为

while (condition)

  statement

先检测condition,符合则执行statement,再次检测condition,如此往复循环直至conditon为假。其中statement可以是单语句也可以是语句块。

1.4.2 for语句

for语句包含两个部分,循环头和循环体。循环头起控制作用,包括三个部分:一个初始化语句,一个循环条件,一个更新表达式。循环体为statement,statement可以是单语句也可以是语句块。

1.4.3读取数量不定的输入数据

利用while (std::cin >> parameter)。std::cin >> parameter返回其左侧对象,作为条件时,是用于检测流的状态。当遇到文件结束符(end-of-file),或者遇到一个无效输入时(例如parameter为整数,输入的却是字符),istream对象的状态变为无效,处于无效的istream对象会使条件变为假。Windows中输入文件结束符的方法是ctrl + z ,然后按住enter

1.4.4  if语句

1.5 类简介

C++中,定义一个类class 来定义自己的数据结构。用户自定义的类,能够像内置类型一样使用相应的类类型(class type)每个类实际上都定义了一个新的类型,其类型名就是类名。

自定义的类可以读、写,两个相同的类对象之间,可以赋值、相加、复合相加赋值等运算,其中的相加与算术加法概念不同,是两个类对象中,各个成员对应相加。

 例如自定义一个类Sales_item,需要在调用前#include “Sales_items.h”预先声明。来自标准库的头文件用尖括号(<>)包围头文件名;不属于标准库的头文件用双引号(" ")包围。将自定义的类写成头文件,添加include path途径或者放在cpp目录下。

1.5.2 初识成员函数

成员函数(member function)是定义在类内部的函数,有时也被称为方法(method)以一个类对象的名义加上点运算符(.)来调用成员函数。例如 Sales_item item1; item1.isbn()   先定义一个Sales_item类的对象item1,再调用成员函数isbn(),()内可以放置实参

点运算符(.),其左侧运算对象必须是一个类类型的对象,右侧运算对象必须是该类型的一个成员名,运算结果为右侧运算对象指定的成员。

缓冲区(buffer)一个存储区域,用于保存数据。IO设施通常将输入或输出数据保存在一个缓冲区中,读写缓冲区的动作与程序中的动作是无关的。通常情况下,读cin会刷新cout;程序非正常终止时也会刷新cout

字符串常量:零或多个字符组成的序列,用双引号包围。

:: 作用域运算符。用于访问命名空间中的名字。std::cin

 

posted @ 2021-11-07 16:47  海萌萌萌萌萌萌  阅读(23)  评论(0编辑  收藏  举报