3 運算符
作用:用於執行代碼的運算
運算符類型 | 作用 |
---|---|
算術運算符 | 用於處理四則運算 |
賦值運算符 | 用於將表達式的值賦給變量 |
比較運算符 | 用於表達式的比較,並返回一個真值或價值 |
邏輯運算符 | 用於根據表達式的值返回真值或假值 |
3.1 算術運算符
作用:用於處理四則運算
算術運算符包括以下符號:
運算符 | 術語 | 示例 | 結果 |
---|---|---|---|
+ | 正號|加 | +3|10+5 | 3|15 |
- | 負號|減 | -3|10-7 | -3|3 |
* | 乘 | 10*5 | 50 |
/ | 除 | 10/5 | 2 |
% | 取摸(取餘) | 10%3 | 1 |
++ | 前置/後置遞增 | ++a/a++ | a+1/a |
– | 前置/後置遞減 | –a/a– | a-1/a |
兩個小數之間是不可以進行取模(取餘)運算,只有整形變量可以取模運算
3.2 賦值運算符
作用:用於將表達式的值賦給變量
運算符 | 術語 | 示例 | 結果 |
---|---|---|---|
= | 賦值 | a=2;b=3; | a=2;b=3; |
+= | 加等於 | a=0;a+=2; | a=2; |
-= | 減等於 | a=3;a-=2; | a=1; |
*= | 乘等於 | a=2;a*=4; | a=8; |
/= | 除等於 | a=4;a/=2; | a=2; |
%= | 模等於 | a=3;a%2; | a=1; |
3.3 比較運算符
作用:用於表達式的比較,並返回一個真值或假值
運算符 | 術語 | 示例 | 結果 |
---|---|---|---|
== | 相等於 | 4==3 | 0 |
!= | 不等於 | 4!=3 | 1 |
< | 小於 | 4<3 | 0 |
> | 大於 | 4>3 | 1 |
<= | 小於等於 | 4<=3 | 0 |
>= | 大於等於 | 4>=3 | 1 |
在使用cout <<(a==b)<<endl;
時,必須加括號
3.4 邏輯運算符
作用:用於根據表達式的值返回真值或假值
運算符 | 術語 | 示例 | 結果 |
---|---|---|---|
! | 非 | !a | 如果a爲假,則a爲真;如果a爲真,則a爲假。 |
&& | 與 | a&&b | 如果a和b都爲真,則結果爲真,否則爲假。 |
|| | 或 | a || b | 如果a和b有一個爲真,則結果爲真,二者都爲假,結果爲假。 |
4 程序流程結構
C/C++支持最基本的三種程序運行結構:順序結構、選擇結構、循環結構
- 順序結構:程序按順序執行,不發生跳轉
- 選擇結構:依據條件是否滿足,有選擇的執行相應的功能
- 循環結構:依據條件是否滿足,循環多次執行某段代碼
4.1 選擇結構
4.1.1 if語句
作用:執行滿足條件的語句
if語句的三種形式:
-
單行格式if語句
if(條件){條件滿足執行語句}
-
多行格式if語句
if(條件){條件滿足執行的語句}else{條件不滿足執行的語句}
-
多條件的if語句
if(條件1){條件1滿足執行的語句}else if(條件2){條件2滿足執行的語句}...else{都不滿足執行的語句}
嵌套if語句:在if語句中,可以嵌套使用if語句,達到更精確的條件判斷
4.1.2 三目運算符
作用:通過三目運算符實現簡單的判斷
語法:表達式1?表達式2:表達式3;
解釋:如果表達式1爲真,執行表達式2,並返回表達式2的結果;
如果表達式1爲假,執行表達式3,並返回表達式3的結果;
4.1.3 switch語句
作用:執行多條分支語句
語法:
switch(表達式)
{
case 結果1:執行語句;
break;
case 結果2:執行語句;
break;
...
default:執行語句;
break;
}
if和switch區別?
switch缺點,判斷時候只能是整型或者字符型,不可以是一個區間
switch有點,結構清晰,執行效率高
case裏如果沒有break,那麼程序會一直向下執行
4.2 循環結構
4.2.1 while循環語句
作用:滿足循環條件,執行循環語句
語法:while(循環條件){循環語句}
解釋:只要循環的結果爲真,就執行循環語句
在執行循環語句時,程序必須提供跳出循環的出口,否則出現死循環
while循環練習案例:猜數字
案列描述:系統隨機生成一個1到100之間的數字,玩家進行猜測,如果猜錯,提示玩家數字過大或過小,如果猜對恭喜玩家勝利,並退出遊戲。
#include <iostream>
using namespace std;
#include <ctime>
int main()
{
//添加隨機數種子,作用利用當前系統時間生成隨機數,防止每次隨機數一樣
srand((unsigned int)time(NULL));
//1.系統產生隨機數
int num = 0;
num = rand() % 100 + 1;
while (1)
{
//2.玩家進行猜測
int val = 0;
cin >> val;
//3.判斷玩家猜測
//猜對 退出遊戲
//猜錯 提示猜的結果 過大或過小
if (val > num)
{
cout << "猜測過大" << endl;
}
else if (val < num)
{
cout << "猜測過小" << endl;
}
else
{
cout << "恭喜你猜對了" << endl;
break;//用來退出當前循環
}
}
system("pause");
return 0;
}
思維導圖:
代碼地址:https://github.com/smallpotatody/C-_learning/tree/master/day02/code