
順序執行
C 語言的程式是順序執行,即先執行前面的陳述句,再執行后面的陳述句,
條件執行
- if
if陳述句用于條件判斷,滿足條件時,就執行指定的陳述句,
if (expression) {
statement // 運算式expression為真(非 0 值)時,就執行 statement 陳述句,
}
if (line_num == MAX_LINES) {
line_num = 0;
page_num++;
}
對于只有一條陳述句的陳述句體,可以省略大括號,
if (x == 10)
printf("x is 10\n");
- if else
if (expression) {
statement
} else { // else 分支,指定條件不成立時(運算式 expression 的值為 0),所要執行的代碼,
statement
}
- if else if
if (expression) {
statement
} else if (expression) {
statement
} ...
else {
statement
}
- switch
switch (expression) {
case value1:
statement
case value2:
statement
default:
statement
}
根據運算式expression不同的值,執行相應的case分支,如果找不到對應的值,就執行default分支,
switch (grade) {
case 0:
printf("False");
break; // 如果缺少 break,就會導致繼續執行下一個 case 或 default 分支,
case 1:
printf("True");
break;
default:
printf("Illegal");
}
- 三元運算
<expression1> ? <expression2> : <expression3>
運算式expression1如果為true(非 0 值),就執行expression2,否則執行expression3,
回圈執行
- while
while陳述句用于回圈結構,滿足條件時,執行回圈體,此外,回圈體內部可以用break陳述句跳出回圈,
while (expression) {
statement // expression 為非零值(表示真),就會執行statement陳述句,然后再次判斷 expression 是否為零;
}
- do while
不管條件expression是否成立,回圈體statement至少會執行一次,每次statement執行完畢,就會判斷一次expression,決定是否結束回圈,
do {
statement
} while (expression);
- for
for (回圈變數初始化; 條件判斷; 修改回圈變數){
statement;
}
每個部分可以有多條陳述句,
int i, j;
for (i = 0, j = 999; i < 10; i++, j--) {
printf("%d, %d\n", i, j);
}
break 陳述句
break陳述句有兩種用法,
-
一種是與
switch陳述句配套使用,用來中斷某個分支的執行, -
另一種用法是在回圈體內部跳出回圈,不再進行后面的回圈了,
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
printf("%d, %d\n", i, j);
break; // break 陳述句使得回圈跳到下一個 i,
}
}
注意,break命令只能跳出回圈體和switch結構,不能跳出if結構,
continue 陳述句
continue陳述句用于在回圈體內部終止本輪回圈,進入下一輪回圈,
while ((ch = getchar()) != '\n') {
if (ch == '\t') continue; // 只要讀到的字符是制表符(\t),就跳過該字符,讀取下一個,
putchar(ch);
}
goto 陳述句
goto 陳述句用于跳到指定的標簽名處,
char ch;
top: ch = getchar();
if (ch == 'q')
goto top;
goto 的一個主要用法是跳出多層回圈,
while (...) {
do {
if (some_error_condition)
goto bail;
} while(...);
}
bail:
參考: C 語言教程
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/491075.html
標籤:C
上一篇:C++默認引數及其本質
下一篇:Git如何暫停當前的代碼修改呢?
