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