日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++笔记1

發(fā)布時間:2025/3/19 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++笔记1 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

文章目錄

    • 一、概述
      • 1、應用
      • 2、重點
      • 3、程序
      • 4、IDE(集成開發(fā)環(huán)境,Integrated Development Environment)
    • 二、基本語法
      • 1、輸入、輸出
      • 2、輸出格式控制
      • 3、讀/寫文件

一、概述

C++是一種靜態(tài)數(shù)據(jù)類型檢查的、支持多種編程范式(面向過程與面向對象等)的通用程序設計語言。

1、應用

C++在某些領域(比如,操作系統(tǒng)編程、游戲開發(fā)、電信金融業(yè)務、服務器端開發(fā)等)仍具有不可替代的優(yōu)勢。

2、重點

  • C子語言——C++支持幾乎全部的C語言功能,在語法上與C語言僅有細微的差別;
  • 面向對象的C++——類,封裝、繼承和多態(tài);
  • 泛型編程語言——可以編寫完全一般化并可重復使用的算法,其效率與針對特定數(shù)據(jù)類型而設計的算法的效率相近。
  • STL——將容納數(shù)據(jù)的容器、訪問數(shù)據(jù)的迭代器、以及對數(shù)據(jù)進行處理的算法非常優(yōu)雅地整合在一起,其效率雖然比專門設計的C++代碼稍低,但其安全性與規(guī)范性大受歡迎,在業(yè)界得到了廣泛的應用

3、程序

C++程序=預編譯指令+程序代碼+注釋

cpp文件執(zhí)行的過程

  • 編譯:通過編譯器將 源文件(.cpp) ==》目標文件(.obj)
  • 鏈接:通過鏈接器將 目標文件(.obj)+標準庫目標文件(.lib) ==》可執(zhí)行文件(.exe)

程序 = 數(shù)據(jù)結構(描述數(shù)據(jù)) + 算法(處理數(shù)據(jù))

tip1:
當我們在Visual Studio中執(zhí)行某個程序時,如果這個程序在執(zhí)行過程中不需要與用戶進行交互,那么它執(zhí)行時打開的DOS窗口會在其執(zhí)行完畢后立即關閉。如果這個程序有結果輸出,我們甚至來不及看清程序的輸出結果。一個程序執(zhí)行完了,連輸出結果都來不及看清這怎么行呢?
==》解決方法:在程序的主函數(shù)返回之前加上一條“system(“pause”);”

int main() {// …// 讓程序在結束之前暫停system("pause");return 0; }

4、IDE(集成開發(fā)環(huán)境,Integrated Development Environment)

一般包括代碼編輯器、編譯器、調試器和圖形用戶界面工具等,是集代碼編寫功能、分析功能、編譯功能、調試功能于一體的開發(fā)軟件套裝。

  • Windows:VS、Qt
  • Linux/UNIX:vi(編寫源代碼)+GCC(編譯)+GDB(調試)
    • gcc 常用操作:
      • 格式:g++ [編譯選項] 源文件名
編譯選項含義
-c只編譯,而不鏈接成為可執(zhí)行文件。編譯器將輸入的.cpp源代碼文件編譯生成以.o為后綴的目標文件
-o 輸出文件名指定輸出文件的名稱。若不指定,則生成默認的可執(zhí)行文件:Windows——a.exe、Linux/UNIX——a.out
-g若要對源碼調試必選——用于產生調試工具(例如,GDB )所必需的符號信息
-O編譯器將對程序進行優(yōu)化編譯、鏈接??商岣呖蓤?zhí)行文件的執(zhí)行效率,但編譯、鏈接的速度相應變慢
-I 目錄名指定GCC的附加頭文件目錄。在使用第三方庫時常用
// 將HelloWorld.cpp這個C++源文件優(yōu)化編譯 // 并鏈接成了一個可執(zhí)行文件 HelloWorld g++ -O -o HelloWorld HelloWorld.cpp// 運行 ./HelloWorld

二、基本語法

1、輸入、輸出

流(stream):在C++程序中,我們將這種數(shù)據(jù)在程序和外部對象(鍵盤、屏幕等)之間的流動。

C++標準庫中已經預先定義了4個最基本的輸入/輸出流(I/O)對象

  • cin——通過提取(get-from)符“>>”從cin中提取用戶通過 鍵盤輸入的數(shù)據(jù);
  • cout——通過插入(put-to)符“<<”向cout中插入程序內的數(shù)據(jù);
  • cerr——輸出程序錯誤信息;
  • clog——輸出日志信息;

注:箭頭的方向形象地代表了數(shù)據(jù)流動的方向;

2、輸出格式控制

操縱符大都定義在頭文件中。

操 縱 符作 用
dec十進制顯示數(shù)值數(shù)據(jù)(默認設置)
hex十六進制顯示數(shù)值數(shù)據(jù)。如果同時在輸出流中插入一個showbase操縱符,還可以同時輸出十六進制數(shù)值的0x前綴
oct八進制顯示數(shù)值數(shù)據(jù)
endl插入換行符,并刷新輸出流緩沖區(qū)
setprecision(n)設置浮點數(shù)的輸出精度為n。默認情況:浮點數(shù)中小數(shù)點前后所有數(shù)字的個數(shù)。fixed操縱符:設置小數(shù)點后的數(shù)字的個數(shù)
setw(n)設置輸出的每個數(shù)據(jù)的顯示寬度
// fixed操縱符:固定的小數(shù)位數(shù)輸出小數(shù)數(shù)值。 // setprecision()設置保留的小數(shù)點后有效數(shù)字位數(shù), // 可得“保留小數(shù)點后兩位有效數(shù)字”的輸出格式 cout<<fixed<<setprecision(2)<<1.23456<<endl;

==》輸出:1.23

3、讀/寫文件

  • 頭文件:
  • ifstream(input file stream):從文件中讀取數(shù)據(jù);
  • ofstream(output file stream)將數(shù)據(jù)輸出到文件;
#include <iostream> #include <fstream>using namespace std;int main(int argc, char *argv[]) {int nYear, nMonth, nDate;// 創(chuàng)建輸入文件流對象fin,并嘗試打開Data.txt文件ifstream fin("Date.txt");if(fin.is_open()){// 用提取符“>>”從文件輸入流對象fin中讀取文件中的數(shù)據(jù)fin>>nYear>>nMonth>>nDate;cout<<"文件中記錄的日期是:"<<nYear<<"-"<<nMonth<<"-"<<nDate<<endl;fin.close();}else {cout<<"無法打開文件并進行讀取"<<endl;}cout<<"請輸入新日期(例如:1995 5 5):"<<endl;cin>>nYear>>nMonth>>nDate;// 創(chuàng)建輸出文件流對象fout,并嘗試打開Data.txt文件,// 如果這個文件不存在,則創(chuàng)建一個新文件并打開ofstream fout("Date.txt");if(fout.is_open()){fout<<nYear<<" "<<nMonth<<" "<<nDate;fout.close();}else{cout<<"無法打開并進行寫入"<<endl;}return 0; }

出現(xiàn)的問題:

  • qt creator——“error c2001: 常量中有換行符”
  • 解決方案
    • 將報錯的那個源文件在記事本中打開,然后保存一下。==》不報錯
    • 若中文全是亂碼,把中文用QStringLiteral( )把中文括起來
與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的C++笔记1的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。