中國真不小,從江南折騰到東北,收拾亂七八糟的東西,竟花費了近1周的時間...今天才算折騰完了...
廢話不多說了,繼續入門......
第四章 流程控制
本章介紹控制程式流程的兩種方法.程式流程就是c#**的執行順序.這兩種方法是:
* 分支-有條件的執行**.條件取決於計算的結果,例如:如果(ture)就執行這行**.
* 迴圈重複執行相同的語句(重複執行一定的次數,或者在滿足測試條件後停止執行).
這兩種方法都要用到布林邏輯.
本章的主要內容:
* 布林邏輯的含義及其用法
* 如何控制**的執行
bool型別可以有兩個值:ture或false.
一些bool比較運算子也稱為關係運算子.
==,!=,<,>,<=,>=
還有一些其它bool運算子
! 邏輯非,&邏輯與,| 邏輯或,^ 邏輯異或
條件bool運算子
&&邏輯與, || 邏輯或
&&,|| 與&,| 的區別:
這兩對運算子的運算結果完全相同,但得到結果的方式有乙個重要的區別:前者效能比較好.
如果&&運算子的第乙個運算元是false就不需要考慮第二個運算元的值了,因為無論第二個運算元的值是什麼其結果都是false.同樣,如果第乙個運算元是ture,||運算子就返回ture無需考慮第二個運算元的值了.
但是&和|卻不是這樣,他們的運算元總是要計算的.
因為運算元的計算是有條件的如果使用&&和||來代替&和|效能會有一定的提高.在大量使用這些運算子的應用程式中是比較明顯的.作為乙個規則盡可能使用&&和||運算子.
位運算子&和|
這兩個運算子可以用於對數值執行操作.
實際上,它們處理的是儲存在變數中的一系列位,而不是變數的值.
&運算子
運算元1的位 運算元2的位 &的結果
1 1 1
1 0 0
0 1 0
0 0 0
|運算子
運算元1的位 運算元2的位 |的結果
1 1 1
1 0 1
0 1 1
0 0 0
^運算子
運算元1的位 運算元2的位 ^的結果
1 1 0
1 0 1
0 1 1
0 0 0
c#中還可以使用一元位運算子它將運算元中的位取反,其結果應是運算元中位為1的,在結果中就是0,反之亦然.
運算元的位 ~的結果位
1 0
0 1
除了這些運算子,還有另外兩個運算子:位移運算子
示例:int var1, var2=10, var3=2;
var1=var2《結果var1的值是40.
具體過程如下:
10的二進位制 1010把該數向左移動兩位得到101000,即十進位制中的40.實際上,是執行了多個操作每向左移動兩位該數都要乘以2,所以向在移動兩位就是給原來的運算元乘以4,而每向右移動一位,就是給運算元除以2,並丟棄餘數:
int var1,var2=10;
var1=var2>>1;
在這個示例中var1的值是5.
int var1,var2=10;
var1=var2>>2;
在這個示例中var1的值是2.
布林賦值運算子:
&=,|=,^=
位移賦值運算子:
<<=,>>=
goto語句
c#允許給**行上加上標籤,這樣就可以使用這些goto語句直接跳轉到這些**行上.
主要的優點:這是控制什麼時候執行哪些**的一種非常簡單的方式.
主要的缺點:過多的使用這個技巧將很難讀懂**.
goto語句的用法如下:
goto ;
標籤定義:
:例如下面的**:
int myinteger=5;
goto mylabel;
myinteger+=10;
mylabel:
console.writeline("myinteger=",myinteger);
一天一小步 我學C 入門精典 第一天
我看 入門精典第三版 之第一天 學c 也有一段時間了,但是一直都是渾渾噩噩的學,從沒有對自己學的東西做過系統的總結,因此感覺自己總是在乙個台階上上不去,除了經驗外,那就是學習能力了.所以我希望想做好程式設計師首先要做要學會的就是學會學習.我的學習方式就是一步乙個腳印,爭取能反學過的東西牢牢的掌握.下...
一天一小步 我學C 入門精典 第四天
第四章 流程控制 2 分支分支是控制下一步要執行哪些 的過程.要跳轉的 行由某個條件語句來控制.本章介紹3種分支技術 1,三元運算子 有結果,要在賦值語句中使用 其語法如下 其中計算test可以得到乙個布林值,運算子的結果根據這個值來確定是兩者中的哪乙個.示例 string resultstring...
一天一學,一天一記
今天解決了程式卡住不動的問題 通過設定urllib2.urlopen url,none,time out 中time out的值,來排除連線超時的錯誤。time out x try data data為遞交表單 req urllib2.request url,data res urllib2.url...