- 從零開始:Qt可視化程序設計基礎教程
- 彭凌西等編著
- 716字
- 2022-01-06 09:52:48
1.3 C++基礎語法
C++的基礎語法相當繁雜,而且還在不停地更新,這讓很多初學者在編寫代碼的時候花費了很長時間。本書通過大量例子加上通俗易懂的詳細講解,可讓讀者深入淺出地學習C++。
· 1.3.1 第一個C++項目
下面用Qt開始執行第一個項目HelloWorld吧!
(1)單擊“開始”菜單的Qt Creator,運行Qt Creator,單擊歡迎界面Projects處的“New”,創建一個新項目(或通過“文件”菜單新建一個新的項目),如圖1-8所示。
圖1-8 創建項目第1步
(2)單擊選擇對話框左邊的“Non-Qt Project”,然后單擊選擇“Plain C++ Application”作為模板建立項目,如圖1-9所示。
圖1-9 創建項目第2步
(3)自定義項目的名稱和創建路徑,如圖1-10所示,輸入項目名稱“HelloWorld”。
圖1-10 創建項目第3步
(4)選擇默認編譯系統為“qmake”,如圖1-11所示,然后單擊“下一步”按鈕。
圖1-11 創建項目第4步
(5)接下來兩步都直接單擊“下一步”按鈕,如圖1-12和圖1-13所示。然后單擊“完成”按鈕,如圖1-14所示。
圖1-12 創建項目第5步
圖1-13 創建項目第6步
圖1-14 創建項目第7步
(6)在圖1-15左側單擊“main.cpp”文件,并編寫第一個項目HelloWorld,見例1-1。
圖1-15 編寫代碼圖
例1-1:HelloWorld項目。
#include <iostream>
using namespace std;
// main() 是程序開始執行的地方
int main()
{
cout << "Hello World"; // 輸出 Hello World
return 0;
}
(7)例1-1運行結果如圖1-16所示。
圖1-16 例1-1運行結果
通過例1-1的代碼,我們可以了解如何創建項目、編寫代碼和運行代碼,接下來分析這一段代碼。
● C++定義了一些頭文件,這些頭文件包含程序中需要用到的函數。在例1-1中,第1行包含了頭文件 <iostream>,iostream指iostream庫。iostream的意思是輸入/輸出流,由in(輸入)、out(輸出)的首字母與stream(流)組合而成。
● 第2行,“using namespace std;”告訴編譯器使用std命名空間。命名空間是C++中一個相對新的概念,將在1.13節中詳細介紹。
● 第3行,“// main()是程序開始執行的地方”是一個單行注釋。單行注釋以“//”開始,在行末結束。
程序的注釋是解釋性語句。可以在C++代碼中包含注釋,這將提高代碼的可讀性和可維護性,所有的編程語言都允許某種形式的注釋。
C++支持單行注釋和多行注釋。注釋中的所有字符會被C++編譯器忽略。
C++多行注釋以“/*”開始,以“*/”結束。單行注釋以“//”開始,在行末結束。
● 第4行,“int main()”是主函數,程序從這里開始執行。
● 第5行, 只有1個“{”,主程序的代碼都包含在“{”和“}”中,以“{”開始,以“}”結束。它是表示程序塊的分界符,起到的作用主要是劃分區域。
● 第6行,“cout << “Hello World”;”,cout用于在計算機屏幕上顯示信息,是C++中iostream 類型的對象,這行語句的運行結果是在屏幕上顯示消息“Hello World”。 與cout對應的cin代表標準輸入設備,使用提取運算符“>>”從鍵盤取得數據,二者都需要iostream.h支持。
● 第7行,“return 0; ”終止main()函數,并向調用進程返回值0。一般return 0表示程序運行正常并結束;而return -1表示返回一個代數值,一般用在子函數結尾,按照程序開發的慣例,表示該函數失敗。在C++中,“;”是語句結束符,也就是說,每個語句必須以“;”結束。
● 第8行,以“}”結束。
· 1.3.2 C++關鍵字
表1-1所示為C++中的關鍵字。這些關鍵字不能作為常量名、變量名或其他標識符名。
表1-1 C++中的關鍵字
asm |
else |
new |
this |
auto |
enum |
operator |
throw |
bool |
explicit |
private |
true |
break |
export |
protected |
try |
case |
extern |
public |
typedef |
catch |
false |
register |
typeid |
char |
float |
reinterpret_cast |
typename |
class |
for |
return |
union |
const |
friend |
short |
unsigned |
const_cast |
goto |
signed |
using |
continue |
if |
sizeof |
virtual |
default |
inline |
static |
void |
delete |
int |
static_cast |
volatile |
do |
long |
struct |
wchar_t |
double |
mutable |
switch |
while |
dynamic_cast |
namespace |
template |
- Embedded Linux Projects Using Yocto Project Cookbook
- 軟件項目管理(第2版)
- Cocos2d-x游戲開發:手把手教你Lua語言的編程方法
- Mastering Spring MVC 4
- 技術領導力:程序員如何才能帶團隊
- Web Application Development with R Using Shiny(Second Edition)
- Instant Typeahead.js
- 數據結構與算法JavaScript描述
- Learning AWS Lumberyard Game Development
- Full-Stack Vue.js 2 and Laravel 5
- RabbitMQ Essentials
- Getting Started with LLVM Core Libraries
- Linux C編程:一站式學習
- Python Data Structures and Algorithms
- ElasticSearch Cookbook(Second Edition)