在C語言中,我們學習過:
- 算數運算子(+、-、*、/、%)
- 自增自減運算子(++、--)
- 賦值運算子(=)
- 關系運算子(>、< 、>=、<=、!=、==)
- 邏輯運算子(&&、||、!)
我們再簡單復習一下!
運算子
一、什么是運算式
用運算子和運算元連接起來的式子,包括:簡單的運算式和復雜運算式
二、什么是陳述句
以;結尾的運算式就是一個陳述句
C陳述句 :每一個陳述句都是;作為結束
空陳述句:什么內容也沒有直接以分號結束;
陳述句塊:用花括號括起來的{}
三、運算子
1、賦值運算子(=)
變數名 = 常量(變數/運算式)
左值:出現在賦值陳述句的左邊 左值(常量不能夠作為左值)
右值:出現在賦值陳述句的右邊 右值
初始化:在宣告一個變數的時候,為他賦一個初始值
賦值:給定一個值
A、自動型別轉換
轉換規則:
如果把較短的數值型別變數的值賦值給比較長的數值型別的變數,那么較短的數值型別變數的值就會升級表示為較長的資料型別,資料資訊不會丟失,
如果較長的數值型別的變數賦值給較短的數值型別變數,那么資料就會降低級別表示,并且資料超過較短的數值型別的可以表示范圍,就會發生資料截斷,
B、強制型別轉化
如果資料型別不同,就會根據不同情況自動進行型別轉化,編譯器會提示警告的資訊,如果使用強制型別轉化,編譯器不會發生警告提示,
一般形式:(型別名)(運算式)
2、算數運算子
單目運算子:+ 、- 、++、--
雙目運算子:+ - * / %(取模運算子 求余數)(兩邊的運算元只能是整數,余數符號根據被除數來確定)
單目運算子 ++ -- + -
運算式 ++在前 先自增 在賦值
++在后 先賦值 在自增
優先級,結合性
* /
+ -
=
3、關系運算子
用于判斷兩個運算元的大小關系(回傳真值 或 假值)
0表示假值 非零表示真(-1,-2,1,2)用1表示真
>
>=
<
<=
==
!=
4、邏輯運算子
&& 邏輯與 兩個為真 為真,有一個為假,為假
|| 邏輯或 有一個為真 為真,
! 邏輯非 是真 為假 ,是假,為真
短路現象
if ((a=0) && (b=45))
{
//為假就不會執行,為真才執行
printf("真的\n");
}
else
{
//為假
printf("假的\n");
printf("a=%d,b=%d\n",a,b);
}
if ((a=45) || (b=2))
{
//為假就不會執行,為真才執行
printf("真的\n");
printf("a=%d,b=%d\n",a,b);//a=45,b=0
}
else
{
//為假
printf("假的\n");
printf("a=%d,b=%d\n",a,b);
}
5、條件運算子(三目運算子)
?:
運算式 ? 陳述句1 : 陳述句2
如果運算式為真,就執行陳述句1
為假,執行陳述句2
嵌套:1 > 2 ? printf("是真的\n") : 2 > 3?printf("2 > 3\n") :printf("2 < 3 \n");
//if else陳述句
如果
....
否則
....
6、位運算子
- & 按位與
- | 按位或
- ^ 按位異或 相同為0,不同為1
- ~ 按位取反
- 原始碼
- 反碼
- 補碼
- 正數:三碼合一
- 負數:反碼:符號位不變,其余位按位取反
- 補碼:符號位不變,反碼+1
7、逗號運算子:
可以用逗號將多個運算式分隔開,整個運算式的值是最后一個運算式的值,
8、復合運算子
+= 、-=、*= 、/=、%= 、^= 、|=等等
由于知識語法基本沒有發生變化,本部分內容我們將重點用實際程式演示的方式進行
拆分位數,我們可以C++如下實作:
#include<iostream> using namespace std; int main() { int a;//待判斷的這個三位數 int ge;//三位數中的個位 int shi;//三位數中的十位 int bai;//三位數中的百位 cin>>a; ge = a%10; shi = a%100/10; bai = a/100; cout<<ge<<" "<<shi<<" "<<bai<<endl; return 0; }
#include<iostream> using namespace std; int main() { int x,y; cin>>x; if(x<1) { y=x; } else if(1<=x && x<10) { y=2*x-1; } else { y=3*x-11; } cout<<y<<endl; return 0; }
運行結果如下:
大家依舊注意邏輯運算子&&的使用場景,千萬不要出現類似1<=x<10的連寫寫法!
對編程感興趣的小伙伴可以點擊加裙:①①⑤①③⑨⑤⑨⑦⑨,可以免費得到視頻資料和在線電子書籍噢~還有編程大牛在線答疑,定期免費公開課噢
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/236398.html
標籤:其他
上一篇:演算法相關問題
下一篇:6 JSON
