深入了解C語(yǔ)言結(jié)構(gòu)化的程序設(shè)計(jì)
C語(yǔ)言是結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言!
結(jié)構(gòu)有三大類:順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)!
順序結(jié)構(gòu):順序結(jié)構(gòu)是最簡(jiǎn)單的,只要按照解決問題的順序?qū)懗鱿鄳?yīng)的語(yǔ)句就行,它的執(zhí)行順序是自上而下,依次執(zhí)行。
舉個(gè)例子:
#include<stdio.h>
int main()
{
int i=1;//這段代碼中i依次為1,2,3
printf("%d\n",i);//同時(shí)打印1,2,3,這里的代碼就是按順序結(jié)構(gòu)進(jìn)行下去的
i++;
printf("%d\n",i);
i++;
printf("%d\n",i);
return 0;
}

選擇結(jié)構(gòu):選擇結(jié)構(gòu)用于判斷給定的條件,根據(jù)判斷的結(jié)果判斷某些條件,根據(jù)判斷的結(jié)果來控制程序的流程。主要是使用if語(yǔ)句,以及switch語(yǔ)句。
if語(yǔ)句
1:單分支結(jié)構(gòu)
if(表達(dá)式) 語(yǔ)句;
#include<stdio.h>
int main()
{
int age;
scanf("%d",&age);
if(age<18)
{
printf("未成年\n");
}
return 0;
}

2:多分支結(jié)構(gòu)
if(表達(dá)式1) 語(yǔ)句1; else if(表達(dá)式2) 語(yǔ)句2; else 語(yǔ)句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;
}

注:當(dāng)if語(yǔ)句中的表達(dá)式結(jié)果為真,則語(yǔ)句執(zhí)行
懸空else
看看這段代碼,你知道它會(huì)打印什么嗎?
#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;
}
如果你覺得會(huì)打印東西,那么恭喜你,回答錯(cuò)誤!??!
告訴你給秘密,下面的這段代碼等于上面的那段代碼!
#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;
}
看完上面的代碼估計(jì)你就明白了!else是與最近的if匹配,而不是與對(duì)其的if匹配!
switch語(yǔ)句:switch語(yǔ)句常常用于多分支的情況。
switch(整形表達(dá)式)
{
語(yǔ)句項(xiàng);
}
語(yǔ)句項(xiàng)
//是一些case整形常量表達(dá)式:
語(yǔ)句
#include<stdio.h>
int main()
{
int time;
scanf("%d",&time);
switch(time)
{
case 1:
printf("春天\n");
break;//break是指跳出循環(huán)
case 2:
printf("夏天\n");
break;
case 3:
printf("秋天\n");
break;
case 4:
printf("%冬天\n");
break;
default://default是指case沒有規(guī)定的位置,可以寫在任何一個(gè)case標(biāo)簽可以出現(xiàn)的位置
printf("輸入錯(cuò)誤\n");
break;
}
}
循環(huán)語(yǔ)句:循環(huán)結(jié)構(gòu)是在一定條件下反復(fù)執(zhí)行某段程序的流程結(jié)構(gòu),被反復(fù)執(zhí)行的程序被稱為循環(huán)體。
while循環(huán)
while(表達(dá)式) 循環(huán)語(yǔ)句;
#include<stdio.h>
int main()
{
int i=0;
while(i<=10)
{
i++;
if(i==5)
continue;//continue是用于終止本次循環(huán),然后直接跳轉(zhuǎn)到while語(yǔ)句的判斷部分,進(jìn)行下一次循環(huán)的入口判斷
printf("%d ",i);
}
return 0;
}
do~while循環(huán):循環(huán)至少執(zhí)行一次,不是經(jīng)常使用!
do 循環(huán)語(yǔ)句; while(表達(dá)式); //與while語(yǔ)句的區(qū)別就是do~while是先執(zhí)行,然后再判斷,while語(yǔ)句相反!
for循環(huán)
for(表達(dá)式1:表達(dá)式2:表達(dá)式3)
循環(huán)語(yǔ)句:
表達(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("\n");
}
return 0;
}
總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
C++詳解Primer文本查詢程序的實(shí)現(xiàn)
這個(gè)程序還是比較復(fù)雜的,把這句話作為文章的開頭可以看出它的真實(shí)性.....這篇文章主要介紹了文本查詢程序的實(shí)現(xiàn),下面我們一起來看看2022-06-06
C++實(shí)現(xiàn)刪除txt文件中指定內(nèi)容的示例代碼
這篇文章主要介紹了C++實(shí)現(xiàn)刪除txt文件中指定內(nèi)容的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12
C++調(diào)用python(執(zhí)行py文件)的全過程
這篇文章主要給大家介紹了關(guān)于C++調(diào)用python(執(zhí)行py文件)的相關(guān)資料,文中通過圖文以及實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-12-12
C語(yǔ)言實(shí)現(xiàn)經(jīng)典掃雷小游戲的示例代碼
掃雷游戲是在一個(gè)指定的二維空間里,隨機(jī)布置雷,把不是雷的位置都找出來,在你點(diǎn)一個(gè)位置的時(shí)候它會(huì)顯示它周圍全部雷的個(gè)數(shù),根據(jù)這個(gè)線索去找 ,會(huì)更容易贏。本文將用C語(yǔ)言實(shí)現(xiàn)這一經(jīng)典游戲,感興趣的可以嘗試一下2022-11-11
C語(yǔ)言之結(jié)構(gòu)體定義 typedef struct 用法詳解和用法小結(jié)
這篇文章主要介紹了C語(yǔ)言的結(jié)構(gòu)體定義typedef struct用法詳解和用法小結(jié),typedef是類型定義,typedef struct 是為了使用這個(gè)結(jié)構(gòu)體方便,感興趣的同學(xué)可以參考閱讀2023-03-03
C++標(biāo)準(zhǔn)模板庫(kù)map的常用操作
今天小編就為大家分享一篇關(guān)于C++標(biāo)準(zhǔn)模板庫(kù)map的常用操作,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧2018-12-12
C語(yǔ)言遞歸在實(shí)踐題目中應(yīng)用詳解
遞歸是C語(yǔ)言中非常重要的知識(shí)點(diǎn),其中的大事化小等思想對(duì)初學(xué)C語(yǔ)言的小伙伴來說不是很友好,因此我整理了遞歸的經(jīng)典題目并向外拓展,給你全面的介紹,重新認(rèn)識(shí)遞歸2022-05-05

