C 學習 之 控制程式流程 (筆記)

2022-08-21 02:51:10 字數 1983 閱讀 2730

在一些時候語句需要進行有條件的執行。比如如果輸入"y"就執行賦值語句n=1;否則n=0:

#includeusing

namespace

std;

intmain ()

//if條件下一條語句時{}可省略,此處給出

else

cout}

if...else是可以巢狀使用的,下面例出乙個模板:

if

(expression1)

else

switch...case語法結構如下:

switch(expression)

case labela:

dosomethinga;

break;

case labelb:

dosomethingb;

break;

default:

break;

其語法就是計算expression的值並與case的標籤對比,如果值相同就執行該case下的語句,不相同就與下乙個標籤作比較直至到也沒有相同的就執行default正常退出。

下面給出輸入阿拉伯數字1~5給出相應的希臘數字的**示例;

int

input_n;

cin>>iput_n;

switch

(input_n)

expression ?: expression1:expression2;

問號前表示式成立則選擇計算expression1否則選擇計算expression2。

使用條件運算子?:選出兩個數之間最大的乙個:

int number1=0,number2=0

;cin>>number1;

cin>>number2;

intmax;

max=(number1>number2)?number1:number2;

cout

while迴圈語法結構如下:

while(expression)

statementblock;

只要expression為true,就將執行該語句塊,所以在迴圈過程中會出現expression為false的情況,否則迴圈很有可能永不停息的執行下去。

do while迴圈與while的迴圈的區別在於是否在執行語句前進行了條件判斷,do while迴圈保證了**塊語句至少被執行一次。

do while迴圈語法結構如下: 

do statementblock;

}while(expression);

注意:while迴圈和do...while的區別源自於編譯器的順序編譯,do...while是有句末分號的。

for語句是一種更加複雜的迴圈,它允許我們指定執行一次的初始化語句(通常用來初始化計數器),判斷退出條件(通常使用計數器),還可以在迴圈末尾執行一次操作(通常為計數器累加操作)。

例如迴圈為陣列輸入輸出各值的**:

int i, a[4];

for (i = 0; i < 4; i++)//初始化語句,檢查退出條件語句,計數器累加操作語句

for (i = 0;i < 4; i++)

{cout <<"第"<< i + 1 << "個數: "<注意:for語句中初始化語句、條件語句、操作語句都是根據需要可選的。

while ,do...while 和 for迴圈都會有條件語句,如果條件為假就跳出迴圈,如果條件一直為真就會一直迴圈就是死迴圈。在很多時候死迴圈會導致程式崩潰,這是我們不期望發生的事情,而使用break

和continue就可以修改迴圈行為,包括死迴圈。我們可以給迴圈乙個條件使其使用break跳出迴圈,continue會使執行跳到迴圈開頭,重新評估迴圈條件。

注意:盡量不要使用break或continue,因為它們影響**直觀性,除非遇到不使用它們程式就無法正確或高效的執行的情況。

C 控制程式開機自動啟動

csdn廣告是越來越多了,所有部落格筆記不再更新,新 dotnet筆記 對可執行檔案設定 取消開機啟動 主要是原理是修改登錄檔 true 設定開機啟動,false 取消開機啟動 可執行檔案程式的路徑 獲取方法 system.io.directory.getcurrentdirectory 開啟或則停...

棧溢位 控制程式的執行流程

include include include define password 1234567 int verify password char password void main fscanf fp,s password valid flag verify password password i...

瓦力視覺控制程式

上位機是採用了aforge.net framework 2.2.3和ez b sdk windows v2011.11.09.00的結合。aforge真的很強大,不過沒有涉及到控制這塊,ezb就有現成的參考,但ezb沒有提供核心部分的 而它只支援本地攝像頭,所以我只能反編譯獲取需要的 移植到afor...