91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++在C的基礎上改進了什么細節

發布時間:2021-11-30 17:57:30 來源:億速云 閱讀:155 作者:iii 欄目:編程語言

這篇文章主要介紹“C++在C的基礎上改進了什么細節”,在日常操作中,相信很多人在C++在C的基礎上改進了什么細節問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”C++在C的基礎上改進了什么細節”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

變量定義位置

ANSI C 規定,所有局部變量都必須定義在函數開頭,在定義好變量之前不能有其他的執行語句。C99 標準取消這這條限制,但是 VC/VS 對 C99 的支持很不積極,仍然要求變量定義在函數開頭。請看下面的代碼:

#include <stdio.h>int main(){int a;scanf("%d", &a);int b;scanf("%d", &b);int c = a + b;printf("%d\n", c);return 0;}

將代碼保存到源文件main.c,那么它可以在 GCC、Xcode 下編譯通過,但在 VC/VS 下會報錯。GCC、Xcode 對 C99 的支持非常好,可以在函數的任意位置定義變量;但 VC/VS 對 C99 的支持寥寥無幾,必須在函數開頭定義好所有變量。

將上面的代碼再保存到源文件main.cpp,那么它在 GCC、Xcode、VC/VS 下都可以編譯通過。這是因為 C++ 取消了原來的限制,變量只要在使用之前定義好即可,不強制必須在函數開頭定義所有變量。

注意源文件的后綴,.c是C語言代碼,.cpp是C++代碼,它們的編譯方式不同。

取消限制帶來的另外一個好處是,可以在 for 循環的控制語句中定義變量,請看下面的例子:

#include <iostream>using namespace std;int sum(int n){int total = 0;//在for循環的條件語句內部定義變量ifor(int i=1; i<=n ;i++){total += i;}return total;}int main(){cout<<"Input a interge: ";int n;cin>>n;cout<<"Total: "<<sum(n)<<endl;return 0;}

運行結果:
Input a interge: 10
Total: 55

在 for 內部定義循環控制變量 i,會讓代碼看起來更加緊湊,并使得 i 的作用域被限制在整個 for 循環語句內部(包括循環條件和循環體),減小了命名沖突的概率。在以后的編碼過程中,我推薦這種寫法。

布爾類型(bool)

在C語言中,關系運算和邏輯運算的結果有兩種,真和假:0 表示假,非 0 表示真。例如:

#include <stdio.h>int main(){int a, b, flag;scanf("%d %d", &a, &b);flag = a > b;  //flag保存關系運算結果printf("flag = %d\n", flag);return 0;}

運行結果:
10 20↙
flag = 0

C語言并沒有徹底從語法上支持“真”和“假”,只是用 1 和 0 來代表。這點在 C++ 中得到了改善,C++ 新增了bool類型,它一般占用 1 個字節長度。bool 類型只有兩個取值,true 和 false:true 表示“真”,false 表示“假”。請看下面的例子:

#include <iostream>using namespace std;int main(){int a, b;bool flag;  //布爾變量cin>>a>>b;flag = a > b;cout<<"flag = "<<flag<<endl;return 0;}

10 20↙
flag = 0

遺憾的是,在 C++ 中使用 cout 輸出 bool 變量的值時還是用數字 1 和 0 表示,而不是 true 或 false。Java、PHP、JavaScript 等也都支持布爾類型,但輸出結果為 true 或 false,我武斷地認為這樣更科學。

你也可以顯式地對 bool 變量賦值,例如:

#include <iostream>using namespace std;int main(){bool flag = true;if(flag){cout<<"true"<<endl;}else{cout<<"false"<<endl;}flag = false;if(flag){cout<<"true"<<endl;}else{cout<<"false"<<endl;}return 0;}

運行結果:
true
false

注意,true 和 false 是 C++ 中的關鍵字。

到此,關于“C++在C的基礎上改進了什么細節”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

建昌县| 孟村| 桐柏县| 佛山市| 闽清县| 广丰县| 曲阳县| 枝江市| 秀山| 嘉兴市| 施秉县| 阜新市| 茂名市| 施甸县| 承德市| 东海县| 武义县| 全南县| 邵武市| 尤溪县| 清徐县| 鹤岗市| 奈曼旗| 介休市| 安西县| 色达县| 九江县| 鹿泉市| 华坪县| 鲁山县| 安国市| 贞丰县| 兴化市| 资兴市| 司法| 濮阳市| 密云县| 西平县| 宣威市| 辽宁省| 七台河市|