深入瞭解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的更多內容!

推薦閱讀: