C語言關鍵字淺析-break
阿新 • • 發佈:2018-11-11
### C語言關鍵字淺析系列 ###
### ISO/ANSI C 關鍵字 ###
break關鍵字算是最常用的關鍵字之一了
常見於程式的迴圈結構和選擇結構中
break的作用是:
結束當前迴圈並跳出本層迴圈體。
1、迴圈結構中的break
迴圈結構中的break經常結合帶if的選擇結構一起使用
#include <stdio.h> int main(void) { int i; int sum; /* 定義一個數組,這種初始化方式只有ANSI C支援 */ int a[10] = {1,4,2,3,6,5,3,6,2,9}; /* for迴圈中的break,這個例子是陣列的查詢 */ for(i = 0; i < 10; i++) { if(a[i] == 6) { printf("6 is found.\n"); break; /* 找到6,可以退出迴圈 */ } else { printf("Continue to search 6\n"); } } /* while或do-while迴圈中的break,這個例子是滿載限制 */ sum = 0; i = 0; while(sum < 20) { if(a[i] < 0) { break; /* 運算元不合法時可退出迴圈 */ } sum += a[i++]; } printf("Sum is %d", sum); return 0; }
2、巢狀迴圈中的break
巢狀結構中的break一次只往外跳出一層巢狀
#include <stdio.h> int main(void) { int i, j, flag; flag = 0; /* 定義一個10*10的陣列並用函式初始化 */ int a[10][10]; init(); /* 定義:如果一個數據矩陣的一行中有一個負數,那該行無效 下面的迴圈語句的作用是找有多少行無效 */ for(i = 0;i < 10; i++) { for(j = 0; j < 10; j++) { if(a[i][j] < 0) { flag++; break; /* break一次只往上跳出一層巢狀的迴圈結構 */ } } } return 0; }
3、switch選擇語句中的break
根據switch語句的特性,如果每一個case後的語句沒有break,那程式將繼續進行下去
當然這個特性有時候會有巧妙的運用
char judgeGrade(char level) { /* 通過成績等級制判斷招聘人員資料的稽核歸類 */ char x; switch(level) { case 'A': case 'B': case 'C':x = 'T'; /* T 通過 */ break; case 'D':x = 'W'; /* W 等待討論 */ break; default:x = 'P'; /* P 不通過 */ } }
——參考《C Primer Plus第五版》
相關文章:
【continue關鍵字】
https://blog.csdn.net/Johan_Joe_King/article/details/83615137