C語言是結(jié)構(gòu)化的程序設(shè)計(jì)語言!
結(jié)構(gòu)有三大類:順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)!
順序結(jié)構(gòu):順序結(jié)構(gòu)是最簡單的,只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。
舉個(gè)例子:
#include<stdio.h> int main() { int i=1;//這段代碼中i依次為1,2,3 printf("%d ",i);//同時(shí)打印1,2,3,這里的代碼就是按順序結(jié)構(gòu)進(jìn)行下去的 i++; printf("%d ",i); i++; printf("%d ",i); return 0; }
選擇結(jié)構(gòu):選擇結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果判斷某些條件,根據(jù)判斷的結(jié)果來控制程序的流程。主要是使用if語句,以及switch語句。
if語句
1:單分支結(jié)構(gòu)
if(表達(dá)式) 語句;
#include<stdio.h> int main() { int age; scanf("%d",&age); if(age<18) { printf("未成年 "); } return 0; }
2:多分支結(jié)構(gòu)
if(表達(dá)式1) 語句1; else if(表達(dá)式2) 語句2; else 語句3;
#include<stdio.h> int main() { int age; scanf("%d",&age); if(age<18) { printf("未成年 "); } else if(age>=18&&age<=30) { printf("青年 "); } else { printf("中年以及老年 "); } return 0; }
注:當(dāng)if語句中的表達(dá)式結(jié)果為真,則語句執(zhí)行
懸空else
看看這段代碼,你知道它會(huì)打印什么嗎?
#include<stdio.h> int main() { int a=0; int b=0; if(a==1) if(b==2) printf("hehe "); else printf("haha "); return 0; }
如果你覺得會(huì)打印東西,那么恭喜你,回答錯(cuò)誤!!!
告訴你給秘密,下面的這段代碼等于上面的那段代碼!
#include<stdio.h> int main() { int a=0; int b=0; if(a==1) { if(b==2) { printf("hehe "); } else { printf("haha "); } } return 0; }
看完上面的代碼估計(jì)你就明白了!else是與最近的if匹配,而不是與對(duì)其的if匹配!
switch語句:switch語句常常用于多分支的情況。
switch(整形表達(dá)式) { 語句項(xiàng); } 語句項(xiàng) //是一些case整形常量表達(dá)式: 語句
#include<stdio.h> int main() { int time; scanf("%d",&time); switch(time) { case 1: printf("春天 "); break;//break是指跳出循環(huán) case 2: printf("夏天 "); break; case 3: printf("秋天 "); break; case 4: printf("%冬天 "); break; default://default是指case沒有規(guī)定的位置,可以寫在任何一個(gè)case標(biāo)簽可以出現(xiàn)的位置 printf("輸入錯(cuò)誤 "); break; } }
循環(huán)語句:循環(huán)結(jié)構(gòu)是在一定條件下反復(fù)執(zhí)行某段程序的流程結(jié)構(gòu),被反復(fù)執(zhí)行的程序被稱為循環(huán)體。
while循環(huán)
while(表達(dá)式) 循環(huán)語句;
#include<stdio.h> int main() { int i=0; while(i<=10) { i++; if(i==5) continue;//continue是用于終止本次循環(huán),然后直接跳轉(zhuǎn)到while語句的判斷部分,進(jìn)行下一次循環(huán)的入口判斷 printf("%d ",i); } return 0; }
do~while循環(huán):循環(huán)至少執(zhí)行一次,不是經(jīng)常使用!
do 循環(huán)語句; while(表達(dá)式); //與while語句的區(qū)別就是do~while是先執(zhí)行,然后再判斷,while語句相反!
for循環(huán)
for(表達(dá)式1:表達(dá)式2:表達(dá)式3) 循環(huán)語句: 表達(dá)式1:初始化 表達(dá)式2:判斷 表達(dá)式3: 調(diào)整
#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(" "); } return 0; }
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注服務(wù)器之家的更多內(nèi)容!
原文鏈接:https://blog.csdn.net/qq_52988578/article/details/115605604