可以讓你對于前不滿意的值。也就是你可以給自己重新賦值。
int a=20;
a=10;
int weight = 120;//體重
weight = 89;//不滿意就賦值
二、復(fù)合賦值符+=
-=
*=
/=
%=
>>=<<=
&=
|=
^
這些復(fù)合賦值符可以寫成復(fù)合的效果,例子如下:
int a=10;
a=a+10;
a+=10;
三、單目操作符
單目操作符介紹符號 | 含義 |
---|---|
! | 邏輯反操作 |
- | 負(fù)值 |
+ | 正值 |
& | 取地址 |
sizeof | 操作數(shù)的類型長度(以字節(jié)為單位) |
~ | 對一個數(shù)的二進(jìn)制按位取反 |
– | 前置、后置– |
++ | 前置、后置++ |
* | 間接訪問操作符(解引用操作符) |
(類型) | 強(qiáng)制類型轉(zhuǎn)換 |
>>=<<=
!= 用于測試“不相等”
== 用于測試“相等”
五、邏輯操作符&& 邏輯與
|| 邏輯或
eg:應(yīng)該注意邏輯操作符與按位操作符的區(qū)別
例1:
int main()
{int a = 3;
int b = 2;
printf("%d\n", a & b);
printf("%d\n", a && b);
return 0;
}
編譯結(jié)果:
例2:
int main()
{int a = 3;
int b = 2;
printf("%d\n", a | b);
printf("%d\n", a || b);
return 0;
}
編譯結(jié)果:
一道面試題:
#includeint main()
{int i = 0,a=0,b=2,c =3,d=4;
i = a++ && ++b && d++;
printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
return 0;
}
編譯結(jié)果:
這是因?yàn)閍的初始值為0,而++在后,a所以為先用后加,而邏輯操作符看到a為0后,便不執(zhí)行之后的代碼,所以b,c,d的值并沒有發(fā)生改變。所以輸出結(jié)果為上述表達(dá)式。
變式1:改變a的初始值為1;
#includeint main()
{int i = 0,a=1,b=2,c =3,d=4;
i = a++ && ++b && d++;
printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
return 0;
}
編譯結(jié)果:
當(dāng)a的結(jié)果為1時,邏輯操作符看到a為真時,需要驗(yàn)證其他的表達(dá)式是否為真,所以會執(zhí)行之后的代碼,所以輸出結(jié)果為上述表達(dá)式。
變式2:
#includeint main()
{int i = 0,a=1,b=2,c =3,d=4;
i = a++||++b||d++;
printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
return 0;
}
編譯結(jié)果:
當(dāng)a的初始值為1時,邏輯或只要有一個為真,其結(jié)果就為真,所以不會執(zhí)行其他的代碼,所以輸出結(jié)果為上述表達(dá)式。
變式3:
#includeint main()
{int i = 0,a=0,b=2,c =3,d=4;
i = a++||++b||d++;
printf("a = %d\n b = %d\n c = %d\nd = %d\n", a, b, c, d);
return 0;
}
編譯結(jié)果:
當(dāng)a的初始值為0時,代碼往后執(zhí)行,執(zhí)行到 ++b 時,式子結(jié)果為真,便不往后執(zhí)行代碼,所以輸出結(jié)果為上述表達(dá)式。
exp1 ? exp2 : exp3
可以使用條件表達(dá)式實(shí)現(xiàn)找兩個數(shù)中較大值。
如:
int main()
{int a = 0;
int b = 0;
scanf("%d %d", &a, &b);
if (a >b)
printf("%d\n", a);
else
printf("%d\n",b);
printf("%d", (a >b) ? a : b);
return 0;
}
七、逗號表達(dá)式逗號表達(dá)式,就是用逗號隔開的多個表達(dá)式。
逗號表達(dá)式,從左向右依次執(zhí)行。整個表達(dá)式的結(jié)果是最后一個表達(dá)式的結(jié)果。
例如:
int main()
{int a = 1;
int b = 2;
int c = (a >b, a = b + 10, a, b = a + 1);
printf("%d", c);
return 0;
}
編譯結(jié)果:
操作數(shù):一個數(shù)組名 + 一個索引值
int main()
{int arr[5] = {0,1,2,3,4 };
printf("%d ", arr[2]);
return 0;
}
編譯結(jié)果:
#includevoid test1()
{printf("hehe\n");
}
void test2(const char *str)
{printf("%s\n", str);
}
int main()
{test1(); //實(shí)用()作為函數(shù)調(diào)用操作符。
test2("hello bit.");//實(shí)用()作為函數(shù)調(diào)用操作符。
return 0;
}
編譯結(jié)果:
struct Book
{char name[20];
char author[30];
int price;
};
int main()
{struct Book b1 = {"C語言", "小李", 66};
struct Book b2 = {"C++", "小王", 88 };
printf("《%s》 %s %d\n", b1.name, b1.author, b1.price);
printf("《%s》 %s %d\n", b2.name, b2.author, b2.price);
//結(jié)構(gòu)體變量.成員名
return 0;
}
編譯結(jié)果:
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧
文章題目:C語言——操作符詳解(下)-創(chuàng)新互聯(lián)
網(wǎng)站網(wǎng)址:http://www.rwnh.cn/article38/dochpp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號、網(wǎng)站策劃、標(biāo)簽優(yōu)化、網(wǎng)站設(shè)計(jì)公司、做網(wǎng)站、ChatGPT
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容