程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C++知識回顧(一),知識回顧

C++知識回顧(一),知識回顧

編輯:C++入門知識

C++知識回顧(一),知識回顧


   感覺世界都是約定好的,每門語言的第一個程序總是Hello World!但是也有一些書似乎是在追求個性,會用一些其他的,但是是Not Hello World!本人需要再學習一下C++,所以從最基礎的開始。世間萬物Hello World:

1 // helloworld.cpp
2 #include <iostream>
3 using namespace std;
4 
5 int main()
6 {
7     cout << "Hello World!" << endl;
8     return 0;
9 }

  這可能是最簡單一個程序了,僅僅是向屏幕打印“Hello World!”這一信息。但其中包含了很多概念:

  • 注釋
  • 預處理指令
  • main()函數
  • 輸入/輸出流

1.注釋

  程序第一行為一行注釋,以供程序員閱讀,編譯器會呼略。C++中有兩種注釋方法:

1 //注釋
2 /*注釋*/

  使用注釋的主要原因:

  (1)說明用途

  解釋程序代碼中函數作用,包括參數意義,返回值等信息。

  (2)說明復雜代碼

  對於控制台的簡單程序中,代碼閱讀可能相對容易一些,但是在一些專業領域,代碼可能復雜而深奧,如下代碼:

 1 void sort(int inArray[], int inSize)
 2 {
 3     for (int i = 1; i < inSize; i++)
 4     {
 5         int element = inArray[i];
 6         int j = i - 1;
 7         while (j >= 0 && inArray[j] > element)
 8         {
 9             inArray[j + 1] = inArray[j];
10             j--;
11         }
12         inArray[j + 1] = element;
13     }          
14 }    

  這是一個排序算法,通過添加注釋可以解釋內部的一些令人迷惑的代碼。

  (3)傳遞元信息

  提供創建代碼的詳細信息,但不涉及代碼的特定行為,如加入作者信息,創建日期等等。

2.預處理指令

  生成一個C++程序有三個步驟。首先,代碼在預處理器中運行,預處理器識別代碼中的元信息。隨後,代碼被編譯或轉換為計算機可識別的目標文件。最後,通過鏈接變成一個應用程序。預處理命令以#開始,第一個程序中的#include <iostream>便是,意思是提取<iostream>頭文件的內容給當前文件。如果不包含這個頭文件,甚至無法完成輸出文本的任務。

常見的預處理指令:

預處理指令 功能 #include [file]

指定的文件插入到代碼中指令所在的位置

#define [key][value] 每個制定的key被替換為指定的值

#ifdef[key]

#ifndef[key]

#endif

在ifdef塊或ifndef塊中的代碼被有條件的

包含或者捨棄,這取決於是否使用#define

定義了指定的key

#prama [xyz]

xyz因編譯器而異。如果預處理期間執行到這

一指令,通常會顯示警告或錯誤信息

  以下是使用預處理器指令避免重復包含:

1 #ifndef HEADER_H_
2 #define HEADER_H_
3 // .........................
4 #endif

  若編譯器支持#pragma once指令,可用下面代碼重寫上面的代碼:

1 #pragma once
2 // ..........................

3.main()函數

  main()是程序的入口。其返回值是一個int類型,指示程序的最終運行狀態。可以有參數,也可以有兩個參數:

int main(int argc, cha *argv[])

  其中argc給出傳遞給程序的參數數目,argv包含這些參數。

4.輸入/輸出流

  基本的輸出流是std::cout,此外還有std:cerr。<<將數據插入到流中。std::endl代表序列的結尾,當輸出流遇到std::endl時,就會將所有內容輸出並轉移到下一行。還有\n也可以。\n是一個轉義字符,是一個換行符。下面是最常見的轉義字符:

\n    換行

\r     回車

\t     制表符

\\     反斜槓符

\"     引號

  流也可以接受用戶輸入,最簡單的是使用>>。std::cin輸入流接受用戶鍵盤輸入。

參考:

Marc Gregoire, Nicholas A. Solter, Scott J. Kleper, C++高級編程,清華大學出版社,2012,ISBN:978-7-302-29897-7

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved