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;
	
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章