讀《C 入門經典》第四章

2021-03-31 08:56:57 字數 2293 閱讀 3292

c#也算是半路出家了,基礎不是很好,這幾天重新學習了一下《c#入門經典》,算是打基礎啦。前三章已經看完了,今天開始看第四章。

§1   c#簡介

§2    編寫c#程式

§3    變數和表示式

§4    流程控制

分支,迴圈

§4.1    布林邏輯

布林比較 關係運算子

=, !=, <, >, <=, >=

bool islessthan10;

islessthan10 = myval < 10;

!

邏輯非&

邏輯與|

邏輯或^

邏輯異或

&&,||  效能更好:先檢查第乙個運算元的值,第二個可能就不需要檢查了

1.

位運算子

&,  |    這兩個運算子可以用於對數值執行操作,實際上,他們處理的是儲存在變數中的一系列位,而不是變數的值     

^                      

~  取反    

>>,<<        v1 = v2 >> v3;    把v2的二進位制值向右移動v3位,就得到v1的值       

2.布林賦值運算子

&=        使用&而&&

|=        使用|而非||

^=>>=

<<=

3.運算子的優先順序更新

高    ++, --,(用於字首); (); +, -(一元); !; ~

*,  /,  %

+, -

<<, >>

|     <, >,<=, >=

|      ==, !=

|     &

|     ^|&&

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

低    ++,--(用作字尾)

4.goto語句

c#允許給語句加上標籤

§4.2    分支

1.三元運算子

?:

比較適合於簡單的賦值語句,但不適合根據比較結果執行大量**的情況

2.if語句

為了有條件的執行其他語句

if( )

{}else if()

{}else

{}3.switch語句

switch語句非常類似於if語句,因為它也是根據測試的值來有條件地執行**。但是,switch語句可以—次將測試變數與多個值進行比較,而不是僅測試乙個條件。這種測試僅限於離散的值,而不是像「大於x」這樣的子句,所以它的用法有點區別。

switch()

乙個case語句處理完後,不能自由進入下乙個case語句,但這個規則有乙個例外。如果把

多個case語句放在一起(堆疊它們),其後加一行**,實際上是一次檢查多個條件。如果滿足這些條件中的任何乙個,就會執行**。

§4.3    迴圈

1.do迴圈:至少要執行一次

dowhile( );

2.while迴圈

while( )

3.for迴圈

for(int i=1;i<=10;i++)

4.迴圈中斷

break——立即終止迴圈

continue——立即終止當前的迴圈(繼續執行下一次迴圈)

goto——可以跳出迴圈,到已標記好的位置上

return——跳出迴圈及其包含的函式

5.無限迴圈

§4.4    小結

本章介紹了可以在**中使用的各種結構。

首先我們用一定的篇幅介紹了布林邏輯,以及一些按位邏輯的知識*在學習了本章的其他

內容後,再回過頭來看看這些邏輯,可以確信,在談到執行程式中的分支和迴圈**時,這個問題是非常重要的。熟悉本節討論的操作和技術是根有必要的。

分支結構可以有條件地執行**,當分文與迴圈一起使用時,pj以在co**4f建立出比

較複雜的結構。把迴圈巢狀起來,再放在if結構中,就會發現**的縮排是非常有用的。如

果把所有的**都放在螢幕的左端,就很難分析它們了,甚至更難除錯。此時應確保**的縮排——讀者以後會讚賞它的!0k,vs為此做了大量的工作,但最好在輸入**時進行縮排。

讀《編譯原理》第四章

語法分析,121頁 此文是讀書筆記,大部分讀書筆記是不適合他人讀的。語法分析分三種 錯誤恢復策略 恐慌模式的恢復 短語層次的恢復 錯誤產生式 全域性糾正 上下文無關方法 由終結符號,非終結符號,乙個開始符號和一組產生式組成。推導語法分析樹和推導 語法分析樹,是二義性的 ambiguous 大部分語法...

《演算法競賽入門經典》第四章小結

題目 編寫乙個函式solve,給定浮點數a,b,c,d,e,f,求解方程組ax by c,dx ey f.任務1 使用assert巨集,讓解不唯一時異常退出。任務2 解不唯一時仍正常返回,但呼叫者有辦法知道解的數量 無解,唯一解,無窮多組解 思考 函式的引數都有哪些,各是什麼型別?任務1 inclu...

演算法競賽入門經典 第四章答案

4.4.1 小問題集錦 任務1 使用assert巨集,讓解不唯一時退出。include includevoid solve double a,double b,double c,double d,double e,double f,double x,double y int main 任務2 解不唯...