嵌入式day3-創(chuàng)新互聯(lián)

擴展:
?//打印浮點型
?printf("%m.nf",a); ?? ?// 代表該數(shù)的寬度至少是m個 ,保留的小數(shù)位數(shù)為n位
?例子:
??? ?float a = 123456.789654;
??? ?printf("%10.2f",a); //? 代表該數(shù)的寬度至少是10個(包含了小數(shù)點)
??? ??? ?123456.79
?m是正數(shù):右對齊
??? ??? ?(這里空了一格) 123456.79
??? ??? ?
?m是負(fù)數(shù):左對齊
??? ??? ?123456.79 (這里空了一格)

站在用戶的角度思考問題,與客戶深入溝通,找到雞西梨樹網(wǎng)站設(shè)計與雞西梨樹網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、虛擬主機、企業(yè)郵箱。業(yè)務(wù)覆蓋雞西梨樹地區(qū)。

運算符:
?* 算術(shù)運算符
??? ?+ - * / %
??? ?int a = 10;
??? ?char c = 'A';
??? ?a + c;?? // 變成 同類型 進行運算??? 75
??? ?a - c;?? // -55
??? ?a * c;?? // 650
??? ?a / c;?? //?? 10/65??? 0
??? ?a % c;?? //?? 10 ?
??? ?
??? ?% : 取余操作:
??? ??? ?attention:
??? ??? ??? ?%的前后 必須 是 整數(shù)
??? ??? ??? ?
printf("a %% b = %d \n",a%b);? // 對 % 做轉(zhuǎn)義操作? %%

=======================
++? -- :
?姿勢 :
??? ?* 某一塊空間++
??? ?* ++某一塊空間
??? ?* 某一塊空間--
??? ?* --某一塊空間

?例子:
??? ?int a = 10;
??? ?a++? :? ++在后 , 將a的值 賦值 給 a++表達式 ,a的值再 自加1
??? ??? ?a = 10;
??? ??? ?int b = a++;??? b:10??? a:11
??? ??? ?
??? ?++a? :? ++在前,先a自加1 ,再將a的值 賦值 給 ++a表達式
??? ??? ?a = 10;
??? ??? ?int c = ++a ;?? c:11??? a:11?? ?
??? ??? ?
??? ?a-- : --在后 , 將a的值 賦值 給 a--表達式 ,a再自減1
??? ??? ?a = 10;
??? ??? ?int b = a--;??? b:10??? a:9
??? ??? ?
??? ?--a? :? --在前,先a自減1 ,再將a的值 賦值 給 --a表達式
??? ??? ?a = 10;
??? ??? ?int c = --a ;?? c:9??? a:9?? ?
??? ??? ?
記住: a++ --a ++a a-- 的值 就是 a的值,首先明確a的值有沒有變化

int a = 10;
int b = a++ + a++ + a++;
int c = a++ + ++a + a++;
int d = ++a + a++ + a++;
.........

=========================
?* 邏輯運算符:
??? ?* 邏輯與(&&) ?
??? ?* 邏輯或(||)
??? ?* 邏輯非(!)
??? ?
==========
邏輯與(&&):
?*姿勢:
??? ?表達式1 && 表達式2
??? ?*解析:
??? ??? ?如果 表達式1 為 非0 , 表達式2 也是 非0 ,稱 該 邏輯&&表達式 為真
??? ??? ?也就是說: 表達式1 和 表達式2 同時為真,該邏輯&& 才為真,否則為假
??? ??? ?
?*邏輯與 有一個智能算法:
??? ?從左往右,只要能夠確定 整個 邏輯表達式的值,則不在往后執(zhí)行
??? ?例子:
??? ??? ?表達式1 && 表達式2 && 表達式3 && 表達式4
??? ??? ?int a = 10;
??? ??? ?int b = 20;
??? ??? ?a +b && 0 && a-b;
??? ??? ?分析: 從左往右,a+b 被執(zhí)行了 結(jié)果為真
??? ??? ??????? && 0 后,整個表達式的值確定了,一定為假,所以: a-b 沒有執(zhí)行
??? ?
?* 總結(jié):
??? ?只有里面出現(xiàn) 假,則整體為假
??? ?
======
* 邏輯或(||):
?*姿勢:
??? ?表達式1 || 表達式2
??? ?分析:
??? ??? ?只要表達式中 有表達式 成立 ,則整體成立
??? ?
?* 邏輯或:
??? ?表達式1 || 表達式2 || 表達式3 || 表達式4
??? ?從左往右,只要有表達式成立,則不在往后執(zhí)行 ?

=======
* 邏輯非:(!)
?* 姿勢 :
??? ?!表達式
??? ?* 分析:
??? ??? ?表達式為真? !表達式為假
??? ??? ?表達式為假? !表達式為真
??? ??? ?
=======================
總結(jié):
?邏輯&& 比 邏輯|| 的優(yōu)先級 高一級?
??? ??? ?
====================================
真和假 (成立和不成立)
?:真: 非0
?:假: 0

=================================
關(guān)系運算符:(結(jié)果:真假)
?*? >=???<=??? ==?? != ?
?
=================================
位移運算/移位:
?<>
=====
<< : 左移
?姿勢:
??? ?某空間<< n ;
??? ?解析:
??? ??? ?空出來的位置補0(刪左補右)
?
?例子:
??? ?int a = 10;
??? ?a<< 2 ;? //? 將a的值 取出來? 放入 cpu寄存器中,左移2位 得到一個新的值
??? ?
??? ?a:? 00000000 00000000 00000000 00001010
??? ?cpu某個寄存器:???? 000000 00000000 00000000 0000101000???? 結(jié)果為40 ?
??? ?
??? ?
=======
>> :? 右移:
?姿勢:
??? ?某空間 >>n
??? ?解析:
??? ??? ?空出來的位置補????(刪右補左)
??? ??? ?1. 空出來的位置 補 符號位的值? 算術(shù)右移
??? ??? ?2. 空出來的位置 補? 0????????? 邏輯右移
??? ??? ?
??? ?例子:
??? ??? ?int a = 0x84451436;??? //1000 顧a 是個負(fù)數(shù)
??? ??? ?a >>2 ;
??? ??? ?
練習(xí):
?int a = 0xffffff48;
?a<< 4; ?? ?//?? 0xFFFFF480
?a >>4;?? ??? ?//?? ? 0xFFFFFFF4
?
==================================================
位運算:
?* 位與&
?* 位或|
?* 異或^
?* 取反~

====
位與&?? :? 兩個空間相同的位進行 & 運算 ,全部為1 結(jié)果才是1
??? ?例子:
??? ??? ?int a = 66;
??? ??? ?int b = 77;
??? ?
??? ?a: ?? ?00000000 00000000 00000000 01000010
??? ?b:?? ?00000000 00000000 00000000 01001101???? &
??? ?==================================================
??? ???? 00000000 00000000 00000000 01000000?? ??? ???? 64
??? ??? ?
====
位或|?? ?: ?? ?兩個空間相同的位進行 | 運算 ,只要有1 結(jié)果就是1
??? ?例子:
??? ??? ?int a = 66;
??? ??? ?int b = 77;
??? ?
??? ?a: ?? ?00000000 00000000 00000000 01000010
??? ?b:?? ?00000000 00000000 00000000 01001101???? |
??? ?==================================================
??? ???? 00000000 00000000 00000000 01001111?? ??? ???? 79?? ?
??? ??? ?
??? ??? ?
====
異或^?? ?:?? ?兩個空間相同的位進行 ^ 運算 ,只要不相同,結(jié)果就是1
??? ?例子:
??? ??? ?int a = 66;
??? ??? ?int b = 77;
??? ?
??? ?a: ?? ?00000000 00000000 00000000 01000010
??? ?b:?? ?00000000 00000000 00000000 01001101???? ^
??? ?==================================================
??? ???? 00000000 00000000 00000000 00001111?? ??? ? ?? ?15? ??? ?
??? ??? ?
====
取反~?? ?:?? ?單個空間每一個位上, 1變0? 0變1
??? ?
??? ?例子:
??? ??? ?int a = 66;
??? ?a: ?? ?00000000 00000000 00000000 01000010?? ~
?? ==========================================
??? ???? 11111111 11111111 11111111 10111101??? ===》 -67
??? ??? ?
??? ?11111111 11111111 11111111 10111101
====》反碼:
??? ?11111111 11111111 11111111 10111100
?? 原碼:
??? ?10000000 00000000 00000000 01000011???? -67
??? ?
??? ?
======
練習(xí):
?int a = 0x12345678;
?將a 的 第 2 位 至 1?? ??? ??? ?a = a|(1<<2)
?將a 的 第 3 位 至 0 ?? ??? ?a = a &?? ?(~(1<<3))
?
?0001 0010 0011 0100 0101 0110 0111 1000
?0000 0000 0000 0000 0000 0000 0000 0100?? |
?===========================================
?0001 0010 0011 0100 0101 0110 0111 1100
?
?
?0001 0010 0011 0100 0101 0110 0111 1000
?1111 1111 1111 1111 1111 1111 1111 0111?? &
?=============================================
?0001 0010 0011 0100 0101 0110 0111 0000? ?
?
?
=======================================================================
三目運算符:
?* 姿勢:
??? ?表達式1 ? 表達式2 : 表達式3 ?
??? ?*解析:
??? ??? ?表達式1 成立(非0) 那么就選擇 表達式2 去執(zhí)行
??? ??? ?表達式1 不成立(0) 那么就選擇 表達式3 去執(zhí)行
??? ??? ?
?例子:
??? ?求兩個數(shù)的大值和最小值:
??? ?int a,b;
??? ?int max = a >b ? a : b;
??? ?int min = a >b ? b : a;

======================================================================
逗號運算符:
?* 逗號表達式 :
??? ?表達式1,表達式2,表達式3,表達式4...
??? ?====》
??? ?從左往右依次執(zhí)行 每一個 表達式 ,將 最后一個 表達式 的值 作為 整個 逗號表達式的值
??? ?
?例子:?? ?
??? ?int a = 10;
??? ?int b = 20;
??? ?int c = 30;
??? ?int d;
??? ?d = (a++,b++,c++,a+b,a+c,++c,++b,++a);
??? ?d: 11? 12 ??? ??? ??? ??? ?// 12
??? ?a: 10? 11? 12? ??? ??? ?// 12
??? ?b: 30? 21? 22? 23 ??? ??? ?// 22
??? ?c: 31? 32 ??? ??? ??? ??? ?// 32??
?
?解釋:
??? ?d = a++,b++,c++,a+b,a+c,++c,++b,++a;
??? ?后面沒有括號,不構(gòu)成逗號運算
??? ?d 其實 a++ 的值 ;

==========
sizeof :
?關(guān)鍵字
?求字節(jié)數(shù):
?sizeof(最好放類型);
?sizeof(也可以放入變量名字);
?例子:
??? ?sizeof(int); ===>4
??? ?
short s = 10;
?sizeof(s); ===>sizeof(放入了變量); --->根據(jù)變量去尋找變量的類型,然后通過類型讀出其字節(jié)數(shù)
?
==========
關(guān)鍵字:
?系統(tǒng)默認(rèn)給定預(yù)留有實際意義的標(biāo)識
?char short int long float double void sizeof
?unsigned signed return


優(yōu)先級:(由高到低)
?括單術(shù),移關(guān)位,邏三賦逗
?括: 括號: ()? []? ->.
?單: 單目: ++? --? ~?? !? (強轉(zhuǎn))?? sizeof()? &? *
?術(shù): 算術(shù): +? -? *? /? %
?移: 移位:<>
?關(guān): 關(guān)系: >=?<=? ==? !=
?位:位運算: &? |? ^ ?
?邏: 邏輯: &&? ||
?三: 三目:? ?:
?賦: 賦值:? =? +=? -=? *=? /=? %=?<<=? >>=? &&=? ||= ....
?逗: 逗號:? ,
?
??? ?
例子:?? ?
?int a = 10;
?int b = 20;
?
?a += a-b;?? ?
?====> a += -10;
??? ??? ? a = a+(-10);? a = 0;
??? ??? ?
??? ??? ?
==**********************************************************************
控制流:
?*控制程序運行的方向
?
?*分類:
??? ?* 順序結(jié)構(gòu)
??? ?* 分支結(jié)構(gòu)
??? ?* 循環(huán)結(jié)構(gòu)
??? ?
==========
順序結(jié)構(gòu) :
?程序自上而下,一行一行執(zhí)行
?
===========================
分支結(jié)構(gòu):
?* if 語句
?* switch
?
===
if 語句:
?1.* 姿勢1 :
??? ?if(表達式)
??? ??? ?有且僅有一條語句A;
?
??? ?解析:
??? ??? ?表達式成立,則執(zhí)行 語句A
??? ??? ?表達式不成立,則不執(zhí)行語句A
?
?* 疑問:
??? ?想在 if 后面跟多條語句?怎么辦??
??? ?
?if 結(jié)合 代碼塊 :
??? ?if(表達式)
??? ?{
??? ??? ?猥瑣發(fā)育....
??? ?}
??? ?
??? ?
***********************
代碼塊(程序塊):
?姿勢:
?{
??? ?為所欲為....;
?}
?
?整個代碼塊 相當(dāng)于 一條語句 的 效果 .....

?2.* 姿勢2 :
??? ?if(表達式)
??? ??? ?一條語句A;
??? ?else
??? ??? ?一條語句B;
??? ?
??? ?解釋:
??? ??? ?二選一的效果
??? ??? ?表達式成立,則執(zhí)行語句A
??? ??? ?表達式不成立,則執(zhí)行語句B
??? ??? ?
?===》 if else 可以和 代碼塊結(jié)合
??? ?if(表達式)
??? ?{
??? ??? ?想干嘛就干嘛;
??? ?}
??? ?else
??? ?{
??? ??? ?想怎么干就怎么干;
??? ?}
??? ?
?3* 姿勢3:
??? ?if(表達式1)
??? ??? ?語句A;
??? ?else if(表達式2)
??? ??? ?語句B;
??? ?else if (表達式3)
??? ??? ?語句C;
??? ?.....
??? ?else?? ??? ??? ?// else 及? 語句x;? 可以省略
??? ??? ?語句X;
??? ??? ?
??? ?分析:
??? ??? ?多選一的效果
??? ??? ?表達式1 成立,則執(zhí)行語句A。然后結(jié)束了
??? ??? ?表達式1不成立,判斷表達式2 ,如果表達式2成立,則執(zhí)行語句B,然后結(jié)束
??? ??? ?表達式2 不成立,表達式2 也不成立,判斷表達式3 ,如果表達式3成立,則執(zhí)行語句C ,然后結(jié)束
??? ??? ?........
??? ?
??? ?* 該姿勢 還可以 與 代碼塊結(jié)合
??? ?if(表達式1)
??? ?{
??? ??? ?
??? ?}
??? ?else if(表達式2)
??? ?{
??? ??? ?
??? ?}
??? ?else if (表達式3)
??? ?{
??? ??? ?
??? ?}
??? ?.....
??? ?else?? ??? ??? ?// else 及? 語句x;? 可以省略
??? ??? ?語句X;

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站欄目:嵌入式day3-創(chuàng)新互聯(lián)
本文鏈接:http://muchs.cn/article4/dppgie.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、建站公司靜態(tài)網(wǎng)站、定制開發(fā)網(wǎng)頁設(shè)計公司、虛擬主機

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)公司