C++ primer 第五版个人笔记 第一章 开始

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

用visual studio 2019运行的,直接打开官方的文件夹中main_only.cpp会提示选择合适的启动项,这里是因为VS2019开始一个程序的调试做了很多的准备,所以要新建一个项目/解决方案,在源文件里添加新CPP文件(或者已有的文件比如main_only.cpp),然后就可以愉快的运行文件了。

源文件里含有main函数的文件只能有一个,多余的从项目中移除,否则无法正常运行,因为有多个main()函数冲突。

1.2 初识输入输出

输出运算符<<返回的是其左侧的运算对象(如cout),因此可以连用cout<<a<<b; 

输入运算符同理

1.3 注释简介

使用C语言的界定符(/*和*/)注释多行语句时,最好在被注释的每一行以星号*开头,使代码更加工整美观:

#include <iostream>
/*
 * comment line1
 * comment line2
 */

但是多层注释界定符不能嵌套,最好还是用单行注释方式注释掉代码段的每一行

// /*
// * 单行注释的任何内容都会被忽略
// * 包括嵌套的注释也一样会被忽略
// */

练习1.7

#include <iostream>

int main()
{
	/*
	 * 注释对/* */不能嵌套 
	 */

	return 0;
}

报错内容

 

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

std::cin>>value

由于>>返回的是左值中的istream对象(cin),它的效果是检测流的状态。如果流是有效的,即为遇到错误则检测成功。当遇到文件结束符(windows里是ctrl+z)或一个无效的输入(如输入的不是一个整数),istream对象的状态会变为无效。处于无效状态的istream对象会使条件为假。

这个地方正好对应了牛客网的不定数据输入。

 

编译器常见的可以检查的错误: 语法错误(syntax error), 类型错误(type error), 声明错误(declaration error);

 

1.5 类简介

#include 用来包含标准库的头文件时使用尖括号(<>)包围投文件名。对于不属于标准库的头文件,用双引号包围("")

 

1.6 书店程序

由于官方文件里有一个book_sales文件,做这节的练习1.25时这里顺带复习一下文件输入输出,头文件<fstream>, ifstream和ofstream都是命名空间std下的,因此在一开始没有使用using namespace std时要注意加上std::否则会报错“未定义标识符”。

代码如下,注意在最后要有fin.close()

#include <iostream>
#include <fstream>
#include <string>
#include "Sales_item.h"
using namespace std;

int main()
{
	Sales_item total;
	string str;
	ifstream fin("book_sales.txt");
	if (fin >> total)
	{
		Sales_item trans;
		while (fin >> trans)
		{
			if (total.isbn() == trans.isbn()) total += trans;
			else
			{
				cout << total << endl;
				total = trans;
			}
		}
		cout << total << endl;
	}
	else
	{
		cerr << "no data?" << endl;
		return -1;
	}
	fin.close();

	return 0;
	
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值