一天一小步 我學C 入門精典 第三天

2022-01-29 16:39:38 字數 2179 閱讀 9126

中國真不小,從江南折騰到東北,收拾亂七八糟的東西,竟花費了近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...