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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

C++ 笔记(02)— 程序结构(头文件说明、命名空间、函数返回值、函数参数、注释、语句结束符、cin/cout)

發布時間:2023/11/27 生活经验 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++ 笔记(02)— 程序结构(头文件说明、命名空间、函数返回值、函数参数、注释、语句结束符、cin/cout) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先看以下代碼

#include <iostream>
#include <string>
using namespace std;int main()	// main() 是程序開始執行的地方
{int num;	// 聲明了一個名為 num 的變量,用于存儲類型為int 的數據。cout << "Enter your number" << endl;cin >> num;	// 使用 cin 將輸入的數字存儲在該int 變量中cout << "Enter your name" << endl;string name;cin >> name;cout << "name is " << name << " number is " << num << endl;return 0;
}

分析下上面程序:

  • #include <iostream> 定義頭文件,這些頭文件包含了程序中必需的或有用的信息;
  • using namespace std 告訴編譯器使用 std 命名空間;
  • /* ......*/ 表示程序的多行注釋,編譯器會忽略這部分內容;
  • // 單行注釋,從 // 開始一直到行尾都表示為注釋,編譯器同樣會忽略該部分;
  • int main() 主函數,程序從這里開始執行;
  • cout << "Enter your number" 輸出引號內的內容;
  • return 0 終止 main 函數,并向調用進程返回值 0;

1. 預處理器編譯指令 #include

預處理器編譯指令是向預處理器發出的命令,總是以字符 # 打頭。在程序中第 1 行的

#include <filename>

讓預處理器獲取指定文件(這里是 iostream )的內容,并將它們放在在編譯指令所處的位置。 iostream 是一個標準頭文件,讓您能夠在第 11 行使用 couthello,world 顯示到屏幕上。換句話說,編譯器之所以能夠編譯包含 cout 的第 11 行,是因為第 1 行指示預處理器包含了 cout 的定義。

注意: #include <filename>#include "filename" 的區別:

  • #include <filename> 通常用于包含標準庫頭文件;
  • #include "filename" 通常用于包含自己創建的頭文件;

2. 程序主體

聲明 main() 時,總是在它前面加上 int ,這是一種標準化約定,表示 main() 函數的返回類型為整數。

int main()
{dosomethingreturn 0
}

在很多 C++ 應用程序中,都使用了類似于下面的 main() 函數變種:

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

這符合標準且可以接受,因為其返回類型為 int 。括號內的內容是提供給程序的參數。該程序可能允許用戶執行時提供命令行參數,如:

program.exe arguments

其中 arguments 是操作系統傳遞給程序的參數,以便在 main() 中進行處理。

程序第 11 行:

cout << "hello,world" << endl;

cout 是將 hello,world 顯示到控制臺(即屏幕)的語句。

  • cout 是在名稱空間 std 中定義的一個流,這里使用流插入運算符 << 將文本 hello,world 放到這個流;
  • endl 用于換行,將其插入流中相當于插入回車。每次需要將新實體插入流中時,都使用了流插入運算符 <<

C++ 流的優點是,將類似的語義用于另一種類型的流時,將執行不同的操作。例如,要插入到文件而不是控制臺,可將插入運算符 << 用于 std::fstream (而不是 std::cout )。

2.1 為什么 main 函數前要加上 int ?

main 函數的返回值是返回給主調進程,使主調進程得知被調用程序的運行結果。

標準規范中規定 main 函數的返回值為 int ,一般約定:

  • 程序運行成功時返回 0;
  • 出現錯誤時返回 -1;

然而,返回值為整數,程序員可利用整個整數范圍,指出眾多不同的成功或失敗狀態。

如果程序的運行結果不需要返回給主調進程,或程序開發人員確認該狀態并不重要,可以不寫 main 函數的返回值。

  • 在一些檢查不是很嚴格的編譯器中,比如 VC, VS 等, void 類型的 main 是允許的;
  • 不過在一些檢查嚴格的編譯器下,比如 g++ , 則要求 main 函數的返回值必須為 int 型;

所以在編程時,區分程序運行結果并以 int 型返回,是一個良好的編程習慣。

#include <iostream>
using namespace std;
void main()	
{cout << "hello,world" << endl;
}

使用 g++ 編譯之后報錯:

wohu@wohu:~/C++$ g++ main.cpp 
main.cpp:3:11: error: ‘::main’ must return ‘int’void main() ^
wohu@wohu:~/C++$ 

2.2 int main() 與 int main(void) 區別

int main(void) 指的是此函數的參數為空,不能傳入參數,如果傳入參數,就會報錯。

C++int main()int main(void) 是等效的,但在 C 中讓括號空著代表編譯器對是否接受參數保持沉默。

2.3 函數聲明及調用

#include <iostream>
using namespace std;// 函數聲明,它告訴編譯器您要創建一個函數,該函數名為demo(),返回類型為int。
int demo();int main()
{demo();return 0;
}int demo()
{cout << "this is demo function" << endl;cout << "10/5=" << 10/5 << endl;cout << "22/7=" << 22/7 << endl;cout << "22/7.0=" << 22/7.0 << endl;return 0;
}

如果第 5 行被注釋掉,

// int demo();

那么會編譯報錯:

error: ‘demo’ was not declared in this scope

但是如果 demo 函數在 main 函數前定義,則不會報錯,如下所示:

#include <iostream>
using namespace std;// demo() 在 main 函數之前定義,較新的C++編譯器將其視為函數聲明和定義
int demo()
{cout << "this is demo function" << endl;cout << "10/5=" << 10/5 << endl;cout << "22/7=" << 22/7 << endl;cout << "22/7.0=" << 22/7.0 << endl;return 0;
}int main()
{demo();return 0;
}

2.4 函數返回值

C++ 中,函數無需做任何決策,也無需返回成功/失敗狀態時,可將其返回類型聲明為 void

void demo()

除非明確聲明了不返回值,否則函數必須返回一個值。

main() 也是函數,且總是返回一個整數。在很多情況下,一個應用程序被另一個應用程序啟動,而父應用程序(啟動者)想知道子應用程序(被啟動者)是否成功地完成了其任務。程序員可使用 main() 的返回值向父應用程序傳遞成功或錯誤狀態。

3. 標識符規則

C++ 標識符是用來標識變量、函數、類、模塊,或任何其他用戶自定義項目的名稱。一個標識符以字母 A-Z 或 a-z 或下劃線 _ 開始,后跟零個或多個字母、下劃線和數字(0-9)。

C++ 標識符內不允許出現標點字符,比如 @&%C++ 是區分大小寫的編程語言。

標識符特點如下:

  • 第一個字符必須是字母或下劃線;
  • 后續字符可以是字母、數字或下劃線;
  • 標識符的有效長度不超過 247 字符;
  • 標識符不能和關鍵字相同;
  • 標識符區分大小寫;
  • 最好也不要和系統預定義標識符同名;
  • 標識符命名要做到“見名知義”;
  • 應該避免使用可能引起混淆的字母;

4. 注釋說明

C++ 支持單行注釋和多行注釋。注釋中的所有字符會被 C++ 編譯器忽略。C++ 注釋以 /* 開始,以 */ 終止。注釋也能以 // 開始,直到行末為止。

/**/ 注釋內部, // 字符沒有特殊的含義。在 // 注釋內, /**/ 字符也沒有特殊的含義。

C++ 語言中,如果試圖在一段代碼的首尾分別加上 / ** / 符號來 “ 注釋掉 ” 這段代碼,你不一定能如愿 。 如果這段代碼內部原先就有注釋存在,這樣做就會出問題 。 要從邏輯上刪除一段 代碼,更好的辦法是使用 #if 指令 。 只要像下面這樣使用:

#if 0statements
#endif

#if#endif 之間的程序段就可以有效地從程序中去除,即使這段代碼之間原先存在注釋也無妨,所以這是一種更為安全的方法 。

5. 注意事項

  1. C++ 中每個語句必須以分號 ; 結束,它表明一個邏輯實體的結束;
  2. 保存文件時,務必使用擴展名 .cpp ,不要使用擴展名 .c ,因為有些編譯器都將這種文件視為 C 語言代碼,而不是 C++ 代碼;
  3. C++ 中分行并不能自動結束語句。在 C++ 中,一條語句可跨越多行;還可在一行中包含多條語句,只要每條語句都以 ; 結尾;

總結

以上是生活随笔為你收集整理的C++ 笔记(02)— 程序结构(头文件说明、命名空间、函数返回值、函数参数、注释、语句结束符、cin/cout)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 亚洲影视在线观看 | 久久精品久久精品久久精品 | 成人免费看类便视频 | 亚洲国产精品久久久久婷蜜芽 | 粉嫩av一区二区夜夜嗨 | 日本欧美精品 | 91黄色片| 男女午夜网站 | 国产人妖在线 | 刘亦菲国产毛片bd | 啦啦啦av| 国产调教在线观看 | 一乃葵在线 | 自拍偷拍亚洲图片 | 国产拍拍拍 | 日本丰满bbwbbw厨房 | 午夜免费福利影院 | 成人网色 | 五个女闺蜜把我玩到尿失禁 | 亚洲综合欧美 | 亚洲色欲色欲www在线观看 | 欧洲做受高潮免费看 | 免费av毛片 | 狠狠躁狠狠躁视频专区 | 久久久久久久久亚洲 | 欧美日韩高清一区二区三区 | 国产卡一卡二卡三无线乱码新区 | av免费观看入口 | av免费看片 | 日皮视频免费看 | 一级做a爱片 | 在线观看色网站 | 狠狠鲁狠狠干 | 黄色性生活一级片 | 欧美国产日韩在线 | 亚洲成人午夜在线 | www.成人网.com | 国产五十路 | 女人一级一片30分 | 久久天天综合 | 亚洲国产精品系列 | 亚洲一区二区福利视频 | 一级黄色片免费看 | av大全网站 | 国产精品爽爽久久 | 精品久久国产视频 | 91视频最新入口 | 可以直接看的毛片 | 久久久久一区二区三区四区 | 99黄色 | 久久亚洲网 | 欧美精品一区在线观看 | 欧洲女女同性videoso | 长篇高h乱肉辣文 | 欧美香蕉视频 | 在线观看网站黄 | 青青伊人网 | 久久αv| 欧美xxxxhd| 午夜欧美精品久久久久久久 | 99er这里只有精品 | jizzjizz日本免费视频 | 国产一级二级在线观看 | 老熟女高潮一区二区三区 | 蘑菇福利视频一区播放 | 成人av视屏 | 欧美做爰全过程免费看 | 美女被男人桶出白浆喷水 | 真实的中国女人做爰 | 超碰免费97 | 伊人精品 | 男生看的污网站 | 超碰97成人 | 国产精品刺激 | 免费在线观看黄网 | 福利二区 | 在线播放波多野结衣 | 国产精品无码在线播放 | 18视频网站在线观看 | 熊猫成人网 | 日本一本久久 | 高清一区二区视频 | 人妻换人妻a片爽麻豆 | 九九人人| 欧美顶级毛片在线播放 | 国产性爱精品视频 | 成人精品三级av在线看 | 亚洲清纯唯美 | 欧洲亚洲一区二区三区 | 免费看av软件 | 福利在线一区二区三区 | 羞羞免费视频 | 激情文学综合网 | 欧美黄色特级片 | 天天艹天天爽 | 国产精品久久久久久久久免费看 | 欧美一区二区三区四区五区 | 国产欧美亚洲精品 | 久草视频福利 |