首页
/
每日頭條
/
生活
/
c語言運算符和表達式例題
c語言運算符和表達式例題
更新时间:2024-09-28 17:29:29

在C語言中,我們學習過:

  • 算數運算符( 、-、*、/、%)
  • 自增自減運算符( 、--)
  • 賦值運算符(=)
  • 關系運算符(>、< 、>=、<=、!=、==)
  • 邏輯運算符(&&、||、!)

我們再簡單複習一下!

c語言運算符和表達式例題(CC學習筆記)1

運算符一、什麼是表達式

用運算符和操作數連接起來的式子,包括:簡單的表達式和複雜表達式

二、什麼是語句

結尾的表達式就是一個語句

C語句 :每一個語句都是;作為結束

空語句:什麼内容也沒有直接以分号結束;

語句塊:用花括号括起來的{}

三、運算符1、賦值運算符(=)

變量名 = 常量(變量/表達式)

左值:出現在賦值語句的左邊 左值(常量不能夠作為左值)

右值:出現在賦值語句的右邊 右值

初始化:在聲明一個變量的時候,為他賦一個初始值

賦值:給定一個值

A、自動類型轉換

轉換規則:

如果把較短的數值類型變量的值賦值給比較長的數值類型的變量,那麼較短的數值類型變量的值就會升級表示為較長的數據類型,數據信息不會丢失。

如果較長的數值類型的變量賦值給較短的數值類型變量,那麼數據就會降低級别表示,并且數據超過較短的數值類型的可以表示範圍,就會發生數據截斷。

B、強制類型轉化

如果數據類型不同,就會根據不同情況自動進行類型轉化,編譯器會提示警告的信息,如果使用強制類型轉化,編譯器不會發生警告提示。

一般形式:(類型名)(表達式)

c語言運算符和表達式例題(CC學習筆記)2

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語句

如果

....

否則

....

c語言運算符和表達式例題(CC學習筆記)3

6、位運算符
  • & 按位與
  • | 按位或
  • ^ 按位異或 相同為0,不同為1
  • ~ 按位取反
  • 源碼
  • 反碼
  • 補碼
  • 正數:三碼合一
  • 負數:反碼:符号位不變,其餘位按位取反
  • 補碼:符号位不變,反碼 1
7、逗号運算符:

可以用逗号将多個表達式分隔開,整個表達式的值是最後一個表達式的值。

8、複合運算符

= 、-=、*= 、/=、%= 、^= 、|=等等

由于知識語法基本沒有發生變化,本部分内容我們将重點用實際程序演示的方式進行

拆分位數,我們可以C 如下實現:

#include<iostream> usingnamespacestd; intmain() { inta;//待判斷的這個三位數 intge;//三位數中的個位 intshi;//三位數中的十位 intbai;//三位數中的百位 cin>>a; ge=a; shi=a0/10; bai=a/100; cout<<ge<<""<<shi<<""<<bai<<endl; return0; }

c語言運算符和表達式例題(CC學習筆記)4

#include<iostream> usingnamespacestd; intmain() { intx,y; cin>>x; if(x<1) { y=x; } elseif(1<=x&&x<10) { y=2*x-1; } else { y=3*x-11; } cout<<y<<endl; return0; }

運行結果如下:

c語言運算符和表達式例題(CC學習筆記)5

大家依舊注意邏輯運算符&&的使用場景,千萬不要出現類似1<=x<10的連寫寫法!

對編程感興趣的小夥伴可以點擊下方了解更多,可以免費得到視頻資料和在線電子書籍噢~

,
Comments
Welcome to tft每日頭條 comments! Please keep conversations courteous and on-topic. To fosterproductive and respectful conversations, you may see comments from our Community Managers.
Sign up to post
Sort by
Show More Comments
Copyright 2023-2024 - www.tftnews.com All Rights Reserved