深入瞭解C語言結構化的程序設計
C語言是結構化的程序設計語言!
結構有三大類:順序結構,選擇結構,循環結構!
順序結構:順序結構是最簡單的,隻要按照解決問題的順序寫出相應的語句就行,它的執行順序是自上而下,依次執行。
舉個例子:
#include<stdio.h> int main() { int i=1;//這段代碼中i依次為1,2,3 printf("%d\n",i);//同時打印1,2,3,這裡的代碼就是按順序結構進行下去的 i++; printf("%d\n",i); i++; printf("%d\n",i); return 0; }
選擇結構:選擇結構用於判斷給定的條件,根據判斷的結果判斷某些條件,根據判斷的結果來控制程序的流程。主要是使用if語句,以及switch語句。
if語句
1:單分支結構
if(表達式) 語句;
#include<stdio.h> int main() { int age; scanf("%d",&age); if(age<18) { printf("未成年\n"); } return 0; }
2:多分支結構
if(表達式1) 語句1; else if(表達式2) 語句2; else 語句3;
#include<stdio.h> int main() { int age; scanf("%d",&age); if(age<18) { printf("未成年\n"); } else if(age>=18&&age<=30) { printf("青年\n"); } else { printf("中年以及老年\n"); } return 0; }
註:當if語句中的表達式結果為真,則語句執行
懸空else
看看這段代碼,你知道它會打印什麼嗎?
#include<stdio.h> int main() { int a=0; int b=0; if(a==1) if(b==2) printf("hehe\n"); else printf("haha\n"); return 0; }
如果你覺得會打印東西,那麼恭喜你,回答錯誤!!!
告訴你給秘密,下面的這段代碼等於上面的那段代碼!
#include<stdio.h> int main() { int a=0; int b=0; if(a==1) { if(b==2) { printf("hehe\n"); } else { printf("haha\n"); } } return 0; }
看完上面的代碼估計你就明白瞭!else是與最近的if匹配,而不是與對其的if匹配!
switch語句:switch語句常常用於多分支的情況。
switch(整形表達式) { 語句項; } 語句項 //是一些case整形常量表達式: 語句
#include<stdio.h> int main() { int time; scanf("%d",&time); switch(time) { case 1: printf("春天\n"); break;//break是指跳出循環 case 2: printf("夏天\n"); break; case 3: printf("秋天\n"); break; case 4: printf("%冬天\n"); break; default://default是指case沒有規定的位置,可以寫在任何一個case標簽可以出現的位置 printf("輸入錯誤\n"); break; } }
循環語句:循環結構是在一定條件下反復執行某段程序的流程結構,被反復執行的程序被稱為循環體。
while循環
while(表達式) 循環語句;
#include<stdio.h> int main() { int i=0; while(i<=10) { i++; if(i==5) continue;//continue是用於終止本次循環,然後直接跳轉到while語句的判斷部分,進行下一次循環的入口判斷 printf("%d ",i); } return 0; }
do~while循環:循環至少執行一次,不是經常使用!
do 循環語句; while(表達式); //與while語句的區別就是do~while是先執行,然後再判斷,while語句相反!
for循環
for(表達式1:表達式2:表達式3) 循環語句: 表達式1:初始化 表達式2:判斷 表達式3: 調整
#define _CRT_SECURE_NO_WARNINGS 1//打印乘法口訣表 #include<stdio.h> int main() { int i,j; for(i=1;i<=9;i++) { for(j=1;j<=i;j++) { printf("%d*%d=%d ",j,i,j*i); } printf("\n"); } return 0; }
總結
本篇文章就到這裡瞭,希望能給你帶來幫助,也希望您能夠多多關註WalkonNet的更多內容!