亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語(yǔ)言入門篇--充分理解操作符

 更新時(shí)間:2021年08月26日 16:54:34   作者:yycure  
本篇文章是基礎(chǔ)篇,適合c語(yǔ)言剛?cè)腴T的朋友,本文主要介紹了c語(yǔ)言的操作符基礎(chǔ)理論,希望可以幫助大家快速入門c語(yǔ)言的世界,更好的理解c語(yǔ)言

1.算術(shù)操作符

+ 加
- 減
* 乘
/ 除
% 取模

1.1除法運(yùn)算

除法運(yùn)算分母不可為零,否則程序會(huì)中斷報(bào)錯(cuò),所以要在程序中檢驗(yàn)分母是否為零。

1.2取模運(yùn)算

取模即取余數(shù)。

2.移位操作符

相關(guān)知識(shí)

>> 右移
<< 左移

1.移位運(yùn)算是站在二進(jìn)制角度移位的

eg:

#include <stdio.h>
int main()
{
	int x = 15;
	printf("%d\n", x>>1);
	printf("%d\n", x<<1);
	printf("%d\n", x);
	x = x >> 1;
	printf("%d\n", x);
	return 0;
}

在這里插入圖片描述

2.左移右移,原始變量值不發(fā)生變化除非給原始變量賦值

3.整數(shù)移位運(yùn)算不能整除時(shí),只保留整數(shù)部分

4.C語(yǔ)言中的移位運(yùn)算符

(如<<、>>)只能用于整型(如int、short、long、char等),不能用于浮點(diǎn)型(如double、float

5.移位分為算術(shù)移左移、算術(shù)移右移和邏輯左移、邏輯右移

算術(shù)左移和算術(shù)右移主要用來(lái)進(jìn)行有符號(hào)數(shù)的倍增、減半;

邏輯左移和邏輯右移主要用來(lái)進(jìn)行無(wú)符號(hào)數(shù)的倍增、減半。

3.位操作符

位操作是站在二進(jìn)制角度進(jìn)行操作的。

& 按位與
| 按位或
^ 按位異或

3.1按位與&

eg:

參與按位與的兩二進(jìn)制位數(shù)都為真(1)結(jié)果為真,否則只要有一個(gè)為假(0)結(jié)果為假。

#include <stdio.h>
int main()
{
	printf("%d\n", 1 & 1);
	printf("%d\n", 0 & 1);
	printf("%d\n", 1 & 0);
	printf("%d\n", 0 & 0);
	printf("%d\n", 2 & 6);	
	return 0;
}

在這里插入圖片描述

3.2按位或 |

參與按位與的兩二進(jìn)制位數(shù)只要有一個(gè)為真(1)結(jié)果為真,若都為假(0)結(jié)果為假。

eg:

#include <stdio.h>
int main()
{
	printf("%d\n", 1 | 1);
	printf("%d\n", 0 | 1);
	printf("%d\n", 1 | 0);
	printf("%d\n", 0 | 0);
	printf("%d\n", 2 | 6);
	return 0;
}

在這里插入圖片描述

3.3異或 ^

參與按位與的兩二進(jìn)制位數(shù)相同為假,不同為真。

eg:

#include <stdio.h>
int main()
{
	printf("%d\n", 1 ^ 1);
	printf("%d\n", 0 ^ 1);
	printf("%d\n", 1 ^ 0);
	printf("%d\n", 0 ^ 0);
	printf("%d\n", 2 ^ 6);
	return 0;
}

在這里插入圖片描述

4.賦值操作符

=  +=  -=  *=  /=  &=  ^=  |=  >>=  <<=

#include <stdio.h>
int main()
{
	int x1 = 0;
	x1 = 10;//賦值 從右向左賦值
	printf("%d\n", x1);
	int x2 = 20;
	x2 += 10;//加等 等價(jià)于x=x+10; //其他操作符類似
	printf("%d\n", x2);
	return 0;
}

在這里插入圖片描述

5.單目操作符

單目操作符即只有一個(gè)操作數(shù)的操作符。

!           邏輯反操作
-           負(fù)值
+           正值
&           取地址
sizeof      操作數(shù)的類型長(zhǎng)度(以字節(jié)為單位)
~           對(duì)一個(gè)數(shù)的二進(jìn)制按位取反
--          前置、后置--
++          前置、后置++
*           間接訪問(wèn)操作符(解引用操作符)
(類型)       強(qiáng)制類型轉(zhuǎn)換

5.1 邏輯反操作 !

邏輯真–>非0

邏輯假–>0

eg:

#include<stdio.h>
int main()
{
	int flag = 1;
	if (!flag)//(flag==1)條件為真即非零,取反(!)后if條件為假即0
	{
		printf("if條件為真!\n");
	}
	else
	{
		printf("if條件為假!\n");
	}
	return 0;
}

在這里插入圖片描述

5.2 負(fù)值 - 正值 +

給數(shù)字前帶+ -變成對(duì)應(yīng)的正數(shù)或負(fù)數(shù)。

eg:

#include <stdio.h>
#include <windows.h>
int main()
{
	int x1 = 10;
	printf("%d\n", +x1);
	printf("%d\n", -x1);
	int x2 = -10;
	printf("%d\n", +x2);
	printf("%d\n", -x2);
	return 0;
}

在這里插入圖片描述

5.3 取地址 &

每個(gè)變量在內(nèi)存中都有對(duì)應(yīng)的地址。

eg:

#include <stdio.h>
int main()
{
	int x = 10;
	printf("%d\n", x);
	printf("0x%p\n", &x);//%p:以十六進(jìn)制打印地址;加0x:為了打印出來(lái)的是變量所對(duì)應(yīng)的標(biāo)準(zhǔn)地址。
	return 0;
}

在這里插入圖片描述

5.4 取反 ~

對(duì)一個(gè)數(shù)的二進(jìn)制按位取反。

eg:

#include <stdio.h>
int main()
{
	unsigned x = 1;
	printf("%u\n", x);
	printf("%u\n", ~x);
	return 0;
}

在這里插入圖片描述

5.5 前置、后置 ++ - -

++i :前置++,先自增再賦值使用。

i++ :后置++,先賦值使用再自增。

(- -同理)

eg:

#include <stdio.h>
int main()
{
	int i = 3;
	int a = i++;
	printf("%d\n", i);
	printf("%d\n", a);
	///
	int j = 10;
	int b = ++j;
	printf("%d\n", j);
	printf("%d\n", b);	
	return 0;
}

在這里插入圖片描述

5.6 解引用操作符 *

eg:關(guān)于解引用操作符 的理解以看變量的左值與右值。

#include <windows.h>
int main()
{
	int a = 10;
	int *p = &a;//指針p指向變量a
	int b=*p;//*p即解引用指針p,取出指針p所指地址空間里的值,然后賦給變量b
	printf("%d\n", b);
	return 0;
}

在這里插入圖片描述

5.7 強(qiáng)制類型轉(zhuǎn)換 (類型)

強(qiáng)制類型轉(zhuǎn)換是把變量從一種類型轉(zhuǎn)換為另一種數(shù)據(jù)類型。

強(qiáng)制類型轉(zhuǎn)換分為隱式轉(zhuǎn)換和顯示轉(zhuǎn)換。

eg:

#include <stdio.h>
int main()
{
	int a = 10;
	double b = 3.456;
	a = b;//隱式轉(zhuǎn)換
	printf("%d\n", a);
    ///
	int c = 20;
	double d = 5.555;
	c = (int)d;//顯式轉(zhuǎn)換
	printf("%d\n", c);	
	return 0;
}

在這里插入圖片描述

6.關(guān)系操作符

關(guān)系操作符就是用來(lái)判斷大小關(guān)系。

>
>=
<
<=
!=   用于測(cè)試“不相等”
==   用于測(cè)試“相等”

7.邏輯操作符

&&     邏輯與
||     邏輯或

&& 兩邊的表達(dá)式都為真,結(jié)果為真。

| | 兩邊的表達(dá)式只要有一個(gè)為真,結(jié)果為真。

注意:

&&和| |的判斷規(guī)則:

&& 若第一個(gè)表達(dá)式為假,結(jié)果為假,則不判斷第二個(gè)表達(dá)式。

| | 若第一個(gè)表達(dá)式為真,結(jié)果為真,則不判斷第二個(gè)表達(dá)式。

8.條件操作符

exp1 ? exp2 : exp3//又稱三目操作符,它是唯一有3個(gè)操作數(shù)的運(yùn)算符

若表達(dá)式exp1為真,則執(zhí)行exp2;
若表達(dá)式exp1為假,則執(zhí)行exp3;

9.逗號(hào)表達(dá)式

1.逗號(hào)表達(dá)式中的每個(gè)表達(dá)式都會(huì)執(zhí)行。

2.逗號(hào)表達(dá)式中的結(jié)果為最后一個(gè)表達(dá)式的值。

3.可以用()隔開(kāi)逗號(hào)表達(dá)式。

exp1, exp2, exp3, …expN

eg:

#include <stdio.h>
int main()
{
	int a = 10;
	int b = 20;
	int c = 0;
	int d = ((c=a+b), 2, 3, 4, 5, 6, 7);
	printf("c=%d\n", c);
	printf("d=%d\n", d);
	return 0;
}

在這里插入圖片描述

10.下標(biāo)引用、函數(shù)調(diào)用和結(jié)構(gòu)成員

[] //中括號(hào)操作符,訪問(wèn)要訪問(wèn)元素的內(nèi)容
() //函數(shù)訪問(wèn)操作符,要調(diào)用函數(shù)就要在函數(shù)名后加(),若函數(shù)有參數(shù),則把參數(shù)填入()
.  //結(jié)構(gòu)體成員運(yùn)算符,左邊必須為實(shí)體即變量
-> //結(jié)構(gòu)體指針運(yùn)算符,左邊必須為指針

以上就是C語(yǔ)言入門篇--充分理解操作符的詳細(xì)內(nèi)容,更多關(guān)于C語(yǔ)言操作符的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論