【C语言重点难点精讲】C语言中的重要符号
文章目錄
- 一:續(xù)接符和轉(zhuǎn)義符
- (1)續(xù)接符
- (2)轉(zhuǎn)義字符
- 二:單引號(hào)和雙引號(hào)
- 三:邏輯運(yùn)算符
- 四:位運(yùn)算
- 四:左移右移
- 五:前置++和后置++
- 六:優(yōu)先級(jí)
一:續(xù)接符和轉(zhuǎn)義符
(1)續(xù)接符
如果一行寫(xiě)不下了可以使用續(xù)接符\進(jìn)行換行
int main() {int a=1;int b=2;int c=3;if(1==a &&\//注意后面不要出現(xiàn)任何符號(hào)2==b &&\//注意后面不要出現(xiàn)任何符號(hào)3==c){printf("1\n");}else{printf("2\n");}return 0;}(2)轉(zhuǎn)義字符
常見(jiàn)轉(zhuǎn)義字符
關(guān)于\r和\t它們是不一樣的
- 轉(zhuǎn)義字符\r表示回車(chē),回車(chē)的意思是回到本行的第一個(gè)字符處
- 轉(zhuǎn)義字符\n表示換行,換行的意思是到下一行對(duì)應(yīng)位置再輸入
二:單引號(hào)和雙引號(hào)
第一: 正常情況下單引號(hào)是字符,雙引號(hào)是字符串
第二: 注意一點(diǎn),C99規(guī)定,像’1'這樣的叫做整形常量,被看作為了int型
int main() {printf("%d\n", sizeof('1'));//整型常量char c = 'abcd';//發(fā)生截?cái)?/span>printf("%d\n", sizeof(c)); }三:邏輯運(yùn)算符
- 邏輯與&&:兩個(gè)條件必須同時(shí)成立,有一個(gè)條件不成立則不成立
- 邏輯或||:有一個(gè)條件成立則成立。兩個(gè)條件都不成立則不成立
他們會(huì)產(chǎn)生短路現(xiàn)象,從左向右判定時(shí),對(duì)于邏輯與來(lái)說(shuō),如果第一個(gè)已經(jīng)判定不成立了那么就不需要看后面的了,對(duì)于邏輯或來(lái)說(shuō),如果第一個(gè)已經(jīng)成立了那么就不需要看后面的了
如下,可以使用這種短路,在不使用if的情況下進(jìn)行邏輯判斷
int main() {int flag = 0;scanf("%d", &flag);flag && show();//如果flag輸入為1,那么還需要繼續(xù)調(diào)用show進(jìn)行判斷//如果flag輸入為0,那么不需要繼續(xù)調(diào)用showflag || show();//如果flag輸入為1,那么不需要繼續(xù)調(diào)用show//如果flag輸入為0,那么還需要繼續(xù)調(diào)用show進(jìn)行判斷 }四:位運(yùn)算
第一: 位運(yùn)算基本規(guī)則如下
第二: 異或運(yùn)算支持交換律和結(jié)合律
int main() {printf("%d\n", 5 ^ 4 ^ 5);printf("%d\n", 5 ^ 5 ^ 4);printf("%d\n", 5 ^( 5 ^ 4 )); }四:左移右移
第一: 左移和右移的基本規(guī)則
<<左移:最高位丟棄,最低位補(bǔ)零
>>右移:
- 無(wú)符號(hào)數(shù):最低位丟棄,最高位補(bǔ)零(邏輯右移)
- 有符號(hào)數(shù):最低位丟棄,最高位補(bǔ)符號(hào)位(算數(shù)右移)
第二: 相關(guān)演示
左移
邏輯右移
算數(shù)右移:最高位補(bǔ)1
五:前置++和后置++
第一: 后置++是先使用后自增,前置++是先自增后++
第二: 匯編角度分析
后置++是先使用后自增
- 如果沒(méi)有人使用,那么直接自增
前置++是先自增后++
六:優(yōu)先級(jí)
第一: ! > 算術(shù)運(yùn)算符 > 關(guān)系運(yùn)算符 > && > || > 賦值運(yùn)算符
總結(jié)
以上是生活随笔為你收集整理的【C语言重点难点精讲】C语言中的重要符号的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PyQt5学习笔记05----Qt De
- 下一篇: 解方程(codevs 3732)