C语言内功心法二
循環結構之while循環
反復不停的執行某個動作就是江湖人稱的循環?。
C語言中有三種循環結構,先看一下C語言while循環的結構
?
其中表達式表示循環條件,執行代碼塊為循環體。
while語句的語義是:計算表達式的值,當值為真(非0)時, 執行循環體代碼塊。
循環結構之do-while循環
C語言中的do-while循環,一般形式如下:
?
do-while循環語句的語義是:
它先執行循環中的執行代碼塊,然后再判斷while中表達式是否為真,如果為真則繼續循環;如果為假,則終止循環。因此,do-while循環至少要執行一次循環語句。
注意:mtianyan: 使用do-while結構語句時,while括號后必須有分號。
循環結構之for循環(一)
c語言中for循環一般形式:
?
它的執行過程如下:
注意:for循環中的兩個分號一定要寫
循環結構之for循環(二)
在for循環中:
- 表達式1是一個或多個賦值語句,它用來控制變量的初始值;
- 表達式2是一個關系表達式,它決定什么時候退出循環;
- 表達式3是循環變量的步進值,定義控制循環變量每循環一次后按什么方式變化。
- 這三部分之間用分號 ; 分開。
使用for語句應該注意:
?
怎么獲得一個數的百位,十位和個位
- 百位數:num/100 可以獲得,因為 int 是整數型,小數部分會省略。比如 765/100 的結果是7
- 十位數:num%100/10 。比如765%100先得到65,65/10得到6
- 個位數:num%10。765%10得到5
循環結構之三種循環比較
while, do-while和for三種循環在具體的使用場合上是有區別的,如下:
- 在知道循環次數的情況下更適合使用for循環;
- 如果有可能一次都不循環應考慮使用while循環
- 如果至少循環一次應考慮使用do-while循環。
但是從本質上講,while,do-while和for循環之間是可以相互轉換的。
循環結構之多重循環
多重循環就是在循環結構的循環體中又出現循環結構。
在實際開發中一般最多用到三層重循環。
因為循環層數越多,運行時間越長,程序越復雜,所以一般用2-3層多重循環就可以了。另外不同循環之間也是可以嵌套的。
多重循環在執行的過程中,外層循環為父循環,內層循環為子循環,
**父循環一次,子循環需要全部執行完,直到跳出循環。**父循環再進入下一次,子循環繼續執行...
如果大家對C/C++感興趣的話,本小編這里準備了一大堆的學習資料可以免費分享給有需要的朋友們,學習群:前面八七三,中間五二一,后面八零三。連起來就可進群然后免費領取一份學習資料哦!!!!
mtianyan: 打印三角形星星堆
#include <stdio.h> int main() {int i, j, k;for(i=1; i<5; i++){/* 觀察每行的空格數量,補全循環條件 */for(j=i; j<5; j++) {printf(" "); //輸出空格}/* 觀察每行*號的數量,補全循環條件 */for( k=0;k<2*i-1;k++) {printf("*"); //每行輸出的*號}printf("\n"); //每次循環換行}return 0; } 復制代碼使用for循環打印9×9乘法表
#include <stdio.h> int main() { // 定義相乘數字i,j以及結果resultint i, j, result;for(i=9;i>=1;i--){for(j=1;j<=i;j++){printf("%d*%d=%d ",i,j,result=i*j);}printf("\n");}return 0; } 復制代碼結束語句之break語句
那么循環5次的時候,需要中斷不繼續訓練。在C語言中,可以使用break語句進行該操作.
使用break語句時注意以下幾點:
- 在沒有循環結構的情況下,break不能用在單獨的if-else語句中。
結束語句之continue語句
那么循環5次的時候,需要中斷后繼續訓練。在C語言中,可以使用continue語句進行該操作
continue語句的作用是結束本次循環開始執行下一次循環。
break語句與continue語句的區別是:
break是跳出當前整個循環,continue是結束本次循環開始下一次循環。
分支結構之switch語句
switch語句結構如下:
?
mtianyan: switch語句時還應注意以下幾點:
mtianyan: switch與if語句的應用(計算是該年的第幾天)
#include <stdio.h> int main() { /* 定義需要計算的日期 */int date = 0;int year = 2008;int month = 8;int day = 8;switch(month){case 12:date+=30;case 11:date+=31;case 10:date+=30;case 9:date+=31;case 8:date+=31;case 7:date+=30;case 6:date+=31;case 5:date+=30;case 4:date+=31;case 3:if((year%4==0&&year%100!=0)||year%400==0){date+=29;}else{date+=28;}case 2:date+=31;case 1:date+=day;printf("%d年%d月%d日是該年的第%d天",year,month,day,date);break;default:printf("error");break;}return 0; } 復制代碼正確: continue只能用在循環體內
臭名遠揚之goto語句
C語言中也有這樣的語句,就是goto語句,goto語句是一種無條件分支語句.
goto 語句的使用格式為:
goto 語句標號; 復制代碼?
自創函數
C語言提供了大量的庫函數: 比如stdio.h提供輸出函數
自定義函數的一般形式:
?
注意:
函數調用
我們需要用到自定義的函數的時候,就得調用它,那么在調用的時候就稱之為函數調用。
在C語言中,函數調用的一般形式為:
函數名([參數]); 復制代碼注意:
- 對無參函數調用的時候可以將[]包含的省略。
原文鏈接:https://juejin.im/post/5b4fea7ae51d45191b6133d0
總結
- 上一篇: QT5获取运行程序的工作目录与程序所在的
- 下一篇: 六、PyQt5 QTreeWidget操