《零基礎看得懂的C++入門教程 》——(3)表達式花樣挺多鴨

一、學習目標

  1. 了解變量之間的計算
  2. 了解什么是表達式
  3. 了解什么是自增、自減

目錄

預備第一篇,使用軟件介紹在這一篇,C++與C使用的軟件是一樣的,查看這篇即可:《軟件介紹》
想了解編譯原理和學習方法點這篇,學習方法和一些原理C++與C都是相同的《脫離學習誤區》

《零基礎看得懂的C++入門教程 》——(1)第一個C++程序就讓你知其所以然
《零基礎看得懂的C++入門教程 》——(2)什么是數據類型、變量?一看便會

推薦

1.《備受好評的看得懂的C語言入門教程》

歡迎大家關注公眾號,公眾號每滿1024及1024倍數則會抽獎贈送機械鍵盤一份+IT書籍2份喲~并且公眾號會更快更新喲。
在這里插入圖片描述

二、學習過程

2.1 了解變量之間的基本運算
在編程中,值是可以做計算的。常見的運算有 加、減、乘、除,這也是基礎的運算。查看示例:

#include<iostream>
using namespace std;
int main(){int a=1,b=2;cout<<a+b;
}

運行結果為:

在代碼示例中,在cout的2個尖括號后,直接輸入一個式子a+b。a+b是一個表達式,表達式是指由數字、符號、算術符號、變量標記等組成的一個式子,這個式子有一個最終返回值(意思是這個式子是有意義的,不是胡亂編寫的)。在代碼實例中,a+b是一個有意義的式子,表示變量a的內容與變量b的內容進行相加;變量1存的是1,變量2存的是2,最終結果為3。

那如果我把代碼改為b是字符的2呢?是否又可以呢?

#include<iostream>
using namespace std;
int main(){int a=1;char b='2';cout<<a+b;
}

結果為:

為什么把數字2改為字符2后計算結果為什么是51了呢?
那是因為ASCII碼的作用,在系統中每一個字符都會有一個對應的數字,例如小寫a對應的是97、小寫b對應的是98、c對應的是99;ASCII搜索引擎查一下就可以看到有一張圖表說明。字符2的ASCII值是50,在進行加法時,自動將字符2轉化成了碼表值50計算,最后得的值是51。所以為了防止這種情況,記得一定要相同類型進行計算,或一般情況下使用較為常規的方式計算兩個數字之和,除非你有特殊的需求。

計算并不只是只能由2個變量,也可以同時有多個變量:

#include<iostream>
using namespace std;
int main(){int a=1,b=2,c=21,d=32,e=42;cout<<e+a-b-c+d;
}

結果為:

在一般的混合運算中,加減乘除的優先級與我們正常的形式一致:

#include<iostream>
using namespace std;
int main(){int a=10,b=2,c=3;cout<<a-b*c+a;
}

結果為:

也可以將計算的值存入到一個變量中:

#include<iostream>
using namespace std;
int main(){int a=10,b=2,c=3;int s=a-b*c+a;cout<<s;
}

結果為:

由于在編程中有很多的運算符,建議新手需要計算哪一步就給哪一步添加括號,防止錯誤的出現:

#include<iostream>
using namespace std;
int main(){int a=10,b=2,c=3;int s=a-(b*c)+a;cout<<s;
}

2.2 取模運算
取模運算表示做除法取余數:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<a%3;
}

結果為:

由于10除3,除不斷余數為1,則是取模運算結果。取模運算使用百分號%。

2.3 自增、自減運算
自增與自減運算表示自己自身變量加1。例如:

#include<iostream>
using namespace std;
int main(){int a=10;a++;cout<<a;
}

變量名添加兩個加號,則表示自增。結果為:

那我直接放a++在cout后如何?示例:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<a++;
}

結果為:

為什么是10呢?因為把++放到變量后面,表示先輸出a的值再加1。我們修改示例:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<a++;cout<<a;
}

結果為:

我們在之后添加輸出a就可以看到輸出的值。把++放變量后表示先輸出后運算,把++放前面則是先運算后顯示:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<++a;
}

結果為:

在以上示例中的a++自增等于一個計算:

a=a+1;

a邊等于自身的值加1后給予變量a本身。這個代碼還可以寫成:

a+=1;

代碼示例:

#include<iostream>
using namespace std;
int main(){int a=10;a+=1;cout<<a;
}

結果為:

自減運算和自增計算使用方法一致,代碼為:

#include<iostream>
using namespace std;
int main(){int a=10;cout<<--a;
}

結果為:

三、總結

  1. 了解變量之間的計算可以使用常規的加減乘除
  2. 了解了表達式是指由符號、運算符、變量、數字等組成的有意義的排列式子
  3. 了解了自增就是變量自己給自己加上一個值、自減則是自己給自己減去一個值

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/287655.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/287655.shtml
英文地址,請注明出處:http://en.pswp.cn/news/287655.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

php 設計模式 - 單例

概述&#xff1a; 作為對象的創建模式&#xff0c;單例確保某一個內在系統中只存在一個實例&#xff0c;它不可以創建副本。 克隆函數&#xff08;__clone &#xff09;以及構造函數(__construct )必須聲明為私用&#xff0c; 防止外部程序 創建一個新類 &#xff0c;而失去…

prometheus python client

為什么80%的碼農都做不了架構師&#xff1f;>>> 當我剛開始準備使用Python寫一個promethues的client的時候&#xff0c;并沒有想到過程這么麻煩。github上的大佬們也沒興趣幫我解決這些細節的問題。以下是我在使用prometheus_client遇到的一些問題&#xff0c;僅供…

php之無限極分類

http://blog.csdn.net/kankan231/article/details/8462349/轉載于:https://www.cnblogs.com/jeremyjs/p/4798169.html

【遙感數字圖像處理】實驗:遙感影像分類(監督、非監督分類)完整流程(Erdas版)

一.實驗目的: 理解計算機圖像分類的基本原理,掌握數字圖像非監督分類以及監督分類的具體方法和過程,以及兩種分類方法的區別。 二.實驗平臺:ERDAS IMAGINE 9.1 三.實驗要求:掌握非監督分類;非監督分類結果評價;監督分類;監督分類結果評價;分類后處理。 四.實驗…

mysql5.7.16安裝版_mysql數據庫5.7.16安裝版怎么安裝圖解

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云數據庫專家保駕護航&#xff0c;為用戶…

重大跨越!Windows 11 23H2 25115 推送:2023 年更新測試開啟,水印回歸

面向 Dev 頻道的 Windows 預覽體驗成員&#xff0c;微軟現已發布 Windows 11 預覽版 Build 25115。主要變化1.微軟宣布從 Dev 頻道切換到 Beta 頻道的選項正式關閉&#xff0c;Beta 頻道將繼續測試 Windows 11 版本 22H2&#xff0c;而 Dev 頻道將開啟 2023 年更新 Windows 11 …

團隊第二次沖刺第三天

已經明白自己犯錯誤的地方&#xff0c;經過今天的改正&#xff0c;成功調用數據庫儲存用戶名和密碼。 明天對于數據庫更加完善。轉載于:https://www.cnblogs.com/dotacai/p/5521506.html

Android Studio編譯提示如下attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layou

1 問題 Android Studio編譯提示錯誤如下 AAPT: error: attribute layout_constraintBottom_toBottomOf (aka com.luck.pictureselector:layout_constraintBottom_toBottomOf) not found.2 解決辦法 在app的build.gradle文件里面添加依賴如下 implementation androidx.const…

《零基礎看得懂的C++入門教程 》——(4)條件判斷原來如此

一、學習目標 了解什么是條件判斷了解多個條件判斷了解輸入了解什么是邏輯與、邏輯或 目錄 預備第一篇&#xff0c;使用軟件介紹在這一篇&#xff0c;C與C使用的軟件是一樣的&#xff0c;查看這篇即可&#xff1a;《軟件介紹》 想了解編譯原理和學習方法點這篇&#xff0c;學…

Django學習筆記(4)

為什么80%的碼農都做不了架構師&#xff1f;>>> 首先提一個問題&#xff1a;在Django中如何處理CRSF(Cross-site request forgery)? 先看一下CSRF原理。 其實就是惡意網站利用正常網站的cookie去非法請求。 ##Java處理方式## 一般做法需要后臺和前端配合采取策略去…

MySQL復制--slave設置讀取binlog的位置

change_master->global_init_info->Master_info::mi_init_info->Rpl_info_handler::init_info->Rpl_info_file::do_init_info ->mi->rli->rli_init_info()->初始化./relay-bin.000001,4如果relay-log.info不存在的話&#xff0c;否則讀取//初始化mas…

【遙感數字圖像處理】實驗:遙感專題地圖制作經典流程(Erdas版)

實驗目的:掌握計算機輔助下遙感專題地圖的制作。實驗平臺:ERDAS 9.1實驗要求:掌握專題地圖的編輯;制圖文件路徑的編輯;系列地圖編輯工具的使用。實驗步驟:1 專題地圖的編輯 1.1 準備專題制圖數據 (1) 在視窗菜單條中點擊 File,選擇Open (2) 點擊 Raster Layer,打開S…

.NET版OCR緊隨PP-OCRv3重磅發布

.net版OCR地址PaddleOCRSharp&#xff1a;https://gitee.com/raoyutian/paddle-ocrsharpPaddleOCRSharp是一個基于PaddleOCR的C代碼修改并封裝的.NET的工具類庫。包含文本識別、文本檢測、基于文本檢測結果的統計分析的表格識別功能&#xff0c;同時針對小圖識別不準的情況下&a…

mysql導出二進制日志_使用mysqlbinlog提取二進制日志

MySQL binlog日志記錄了MySQL數據庫從啟用日志以來所有對當前數據庫的變更。binlog日志屬于二進制文件&#xff0c;我們可以從binlog提取出來生成可閱讀的SQL語句來重建當前數據庫以及根據需要實現時點恢復或不完全恢復。本文主要描述了如果提取binlog日志&#xff0c;并給出相…

《零基礎看得懂的C++入門教程 》——(5) 容我套個娃 循環

一、學習目標 了解循環的使用方法 目錄 預備第一篇&#xff0c;使用軟件介紹在這一篇&#xff0c;C與C使用的軟件是一樣的&#xff0c;查看這篇即可&#xff1a;《軟件介紹》 想了解編譯原理和學習方法點這篇&#xff0c;學習方法和一些原理C與C都是相同的《脫離學習誤區》 …

Android之把app作為獨立的module導入其他項目遇到的坑

1 問題 把app作為獨立的module導入其他項目 2 步驟 1)在app的里面的build.gradle里面把 apply plugin: com.android.application 替換成如下 apply plugin: com.android.library 2)注視掉build.gradle文件里面的applicationId 3)app的AndroidManifest文件中MainActiv…

【ArcGIS風暴】ArcGIS解決數字化之前創建圖層時未定義坐標系而導致數據跑偏的問題

數字化時,第一步需要創建點線面圖層,創建圖層需要指定一個地理坐標系,但如果忽略了這一步,我們數字化的適量數據時沒有坐標系的,后果很嚴重,如果數字化工作只做了一點點,可以卷土重來;如果是大量工作的話,可以采取以下補救措施,建議收藏。 注: (1)如果底圖為無任…

Android兩個注意事項.深入了解Intent和IntentFilter(兩)

深入理解Intent和IntentFiler(二)轉載請表明出處&#xff1a;http://blog.csdn.net/u012637501(嵌入式_小J的天空) 在上一篇文章中&#xff0c;我們比較具體學習了"Intent"的相關知識&#xff0c;如今將學習怎樣設置Intent對象的這些屬性以及怎樣使用他們來啟動組件。…

Oracle常用sql語句(一)

Sql的分類DDL操作數據庫表列等表基本的操作主鍵索引視圖 常用數據類型字符串類型數字類型日期類型LOB類型LONG類型 數據轉換character datenumbercharacter通用函數條件表達式Sql的分類 DDL &#xff08;Data Definition Language&#xff09;&#xff1a;數據定義語言&#xf…

ASP.NET Web API 實現客戶端Basic(基本)認證 之簡單實現

優點是邏輯簡單明了、設置簡單。 缺點顯而易見&#xff0c;即使是BASE64后也是可見的明文&#xff0c;很容易被破解、非法利用&#xff0c;使用HTTPS是一個解決方案。 還有就是HTTP是無狀態的&#xff0c;同一客戶端每次都需要驗證。 實現&#xff1a; 客戶端在用戶輸入用戶名及…