免费观看又色又爽又黄的小说免费_美女福利视频国产片_亚洲欧美精品_美国一级大黄大色毛片

入門C語言第一話:分支與循環語句(上)——秒懂文章,分支如此簡單!-創新互聯

在這里插入圖片描述

專注于為中小企業提供成都網站設計、成都做網站服務,電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業察隅免費做網站提供優質的服務。我們立足成都,凝聚了一批互聯網行業人才,有力地推動了上千企業的穩健成長,幫助中小企業通過網站建設實現規模擴充和轉變。

前言:想必大家都聽說過三大結構,它們是十分神奇的,因為他們可以用邏輯描述在這個世界中所發生任何事情,今天就來了解一下實現這三大結構所用的其中一種語句——控制語句。

內容簡要:
在這里插入圖片描述

文章目錄
  • 一.分支語句
    • 1.if
      • 1.if語句
      • 2.if else
      • 3.if else if語句
      • 4.if __else if__else語句
      • 5.書寫建議
        • 第一:使用if語句時要加大括號,提高代碼的可讀性。
        • 第二:再進行變量與常量判斷是否相等時,應將常量放在前面,變量放在后面。
        • 第三:等號與大于等于號分開寫
    • 2.switch語句
    • 總結

一.分支語句 1.if 1.if語句

執行邏輯:在這里插入圖片描述
下面用代碼實現一下:

int main()
{int true = 1;
   int false = 0;
   if(true)//非0為真,這里的true換成其他非0的數字也可以。
   { printf("真命題\n");   
   }
   if(false)//0為假不執行
   { false = 1;
   }
   printf("%d",false);//驗證:如果執行則為1,反之為0。
   return 0;
}
2.if else

執行邏輯:在這里插入圖片描述
注意:else與最近的if匹配。

實現代碼:

#includeint main()
{   int a = 2;
   if(a>1)//如果a大于1只執行if,否則執行else語句。
   {printf("真命題");
   }
   else
   {printf("假命題");
   }

  return 0;
}
3.if else if語句

執行邏輯:
在這里插入圖片描述
說明:當語句在所有情況都成立時,只執行第一個條件,當都不成立時,跳過所有語句。

代碼實現:

int main()
{int a = 3;
  if(a>3)
  {printf("a大于3\n");
  }
  else if(a>4)
  {printf("a大于4\n");
  }//很顯然這里都不執行,所以什么也不打印。
  if(a>1)
  {printf("a大于1");
  }
  else if(a>2)
  {printf("a大于2");
  }//這里情況都成立,只執行第一句。
  return 0;
}
4.if __else if__else語句

執行邏輯:
在這里插入圖片描述
代碼實現:

#includeint main()
{  int a = 5;
  if(a<4)
  {printf("a小于4\n");
  }
  else if(a<3)
  {printf("a小于3\n");
  }
  else
  {printf("a大于4");
  }//這里第一丶二條語句都不成立,執行第三條語句。
  return 0;
}
5.書寫建議第一:使用if語句時要加大括號,提高代碼的可讀性。

不良代碼舉例:

#includeint main()
{int a = 0;
    int b = 2;
    if(a == 1)
        if(b == 2)
            printf("hehe\n");
    else
        printf("haha\n");
      //這里什么也不打印,如果沒想通看一下上面 if else 的注意事項。
    return 0;
}

修改后的代碼

#includeint main()
{int a = 0;
    int b = 2;
    if(a == 1)
    {  if(b == 2)
        {   printf("hehe\n");
        }
     else
        {  printf("haha\n");
        }
    }
    //這樣是不是好看,好讀多了呢?
    return 0;
}
第二:再進行變量與常量判斷是否相等時,應將常量放在前面,變量放在后面。

代碼舉例:

#includeint main()
{//判斷a是否等于1
   int a = 1;
   if(a==1)
   {printf("a的值為1\n");
   }
   //易錯
   if(a=1)//注意:這里是將1的值賦給a而不是等于!并且編譯器是不會報錯的!
   {  printf("a的值為1\n"); 
   }
 
   
   if(1==a)
   { printf("a的值為1\n");
   }
   if(1=a)//注意:這里編譯器會提示出現表達式左邊必須是常量的bug,可以提醒你。
   { printf("a的值為1\n");
   }

return 0;
}
第三:等號與大于等于號分開寫

代碼舉例:
1.等號:

int main()
{int a = 2;
	int b = 2;
	int c = 2;
	//錯誤代碼:
	if(a==b==c)
	{printf("abc相等\n");
	}
	else
	{printf("abc不相等\n");
	} 
	//正確代碼
	if(a==b&&b==c)
	{printf("abc相等\n");
	}
	else
	{printf("abc不相等\n");
	}
	return 0;
}

這里a == b == c代碼的執行邏輯是先判斷b==c如果正確,此表達式結果為1,反之為0,再將a == 表達式的結果(0/1)判斷,如故果成立執行語句,如果不成立跳過語句。

2.大于,大于等于,小于,小于等于
代碼舉例:

#includeint main()
{int a = 0;
  //錯誤代碼
  if(1printf("a大于1小于2\n")
  }//這里會打印,思考一下代碼的執行邏輯。
  //正確代碼
  if(a>1&&a<2)
  {printf("a大于1小于2\n")
  }
  return 0;
}

這里1

2.switch語句

內容:Switch主要用于多情況的判斷,可以借助if ,else if,else語句進行理解
執行邏輯:這是沒有break的switch,就像沒有判斷的if語句一樣只執行不判斷,不過唯一的區別是輸入情況是幾,就從那條語句開始進行執行。在這里插入圖片描述代碼實現:

#includeint main()
{int n = 0;
	scanf("%d",&n);//輸入1
    switch(n)
    {case 1:
    printf("hehe\n");
    case 2:
    printf("haha\n");
    default:
    printf("heihei\n");
    }
    //試著思考一下代碼結果。
    printf("\n");
    switch(n)
    {case 2:
    printf("haha\n");
    case 1:
    printf("hehe\n");
    default:
    printf("heihei\n");
    }//這跟上一段代碼的打印結果相同嗎?
    printf("\n");
     switch(n)
    {default:
    printf("heihei\n");
    case 2:
    printf("haha\n");
    case 1:
    printf("hehe\n");
    }//這跟上一段代碼的打印結果相同嗎?
    printf("\n");
     switch(n)
    {case 1:
    printf("hehe\n");
    default:
    printf("heihei\n");
    case 2:
    printf("haha\n");
    }//這一段的代碼的結果是?
	return 0;
}

答案:在這里插入圖片描述
解析:
這幾段的代碼都是從輸入的值的情況 處開始從上往下運行,直到最后一條語句。如果沒有則執行default。
注意:
1.switch括號里面只能整形的變量或常量,case 后只能跟整形常量!
2.default:是除case情況外的其他情況進行執行的,一個switch只能有一條default。
如果輸入幾就只執行那一條語句的情況呢?
答:
這里要引入一個關鍵字:break——有終止,打破的意思,可以幫我們終止后面語句的執行。

代碼實現:

#includeint main()
 {int n = 0;
	scanf("%d",&n);//輸入1
    switch(n)
    {  case 1:
      printf("hehe\n");
      break;
      case 2:
      printf("haha\n");
      break;
      default:
      printf("heihei\n");//最后一句是switch語句的終點,故不需再加breaK,小編還是建議加上。
      break;
    }
    return 0;
 } 
思考:如果要知道一年的一個月有幾天該如何實現呢(用switch語句)?

解析:

#includeint main()
{//思路:1.3.5.7.8.10.12月,31天永不差
//     2月:閏年29天,平年28天
//     4.6.9.11月,30天
//閏年判斷規則:1:能被4整除并且不能被100整除
            // 2: 能被四百整除
               //注意這兩個條件只要滿足一個即可
	int month = 0;
	int year = 0;
	scanf("%d %d",&year,&month);
	switch(n)
	{case 1:
	case 3:
	case 5:
	case 7:
	case 8:
	case 10:
	case 12:
		printf("31天\n");//想一下switch的運行邏輯
		break:
	case 4:
	case 6:
	case 9:
	case 11:
 		printf("30天\n");
 	case 2:
 		{if(((year%4==0)&&(year%100!=0))||(year%400==0))//因為這里并不知道優先級故要加括號,具體可參考if( ( ()&&() )||()  )這個框架。
 		{printf("29天\n");
 		}
 		else
 		{printf("28天\n");
 		}
 		break;
 		}
	default://其他情況如13
       printf("查無此月\n"); 
	}
    
return 0;
}

注意:switch是可以嵌套使用的!
例題:

int main()
{int n = 1;
        int m = 2; 
        switch (n)
        {case 1:
           {  m++;
           }
        case 2:
          {  n++;
          }
        case 3:
        {switch (n)//注意這里n為2。
            {case 1:
                {  n++;
                }
            case 2:
                { m++;
                 n++;
                 break;
                }
            }
         }
        case 4:
            {  m++;
              break;
            }
        default:
            break;
        }
        printf("m = %d, n = %d\n", m, n);
        return 0;
    }

答案:
在這里插入圖片描述
不知你做對了嗎?

總結

希望大家,學有所成,思有所得,得有所就!如果有誤,請委婉一點指出,如果覺得文章不錯,請留下您的點贊與評論,小編會繼續加油!

你是否還在尋找穩定的海外服務器提供商?創新互聯www.cdcxhl.cn海外機房具備T級流量清洗系統配攻擊溯源,準確流量調度確保服務器高可用性,企業級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧

網站標題:入門C語言第一話:分支與循環語句(上)——秒懂文章,分支如此簡單!-創新互聯
URL鏈接:http://newbst.com/article14/dijige.html

成都網站建設公司_創新互聯,為您提供App開發網站建設移動網站建設全網營銷推廣用戶體驗關鍵詞優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯