1. 程式人生 > >0711C語言分支 if else switch

0711C語言分支 if else switch

C語言支援最基本的三種程式執行結構:順序結構、選擇結構、迴圈結構。

選擇結構

if語句

1、if是選擇語句的關鍵字

( )為條件,如果條件為真,執行{ },( )後面是沒有分號的

if(-1) //條件為真    

if(0) //條件為假,不執行if語句

例:條件為假的幾種情況

列印結果

    

例題 :求 兩個數最大值

#include<stdio.h>

int main()
{	
	int a = 1;
	int b = 2;

	if(a < b)
	{
		printf("最大值為: %d\n", b);
	}
	else 
	{
		printf("最大值為: %d\n", a);
	}	
	
	return 0;
}

例題 :求 兩個數最大值 結果:

例題 :求 三個數最大值 

#include<stdio.h>

int main()
{	
	int a = 7;
	int b = 10;
	int c=3;

	if(a>b)//a最大
	{
		if(a>c)//接著把a和c相比較,
		{
			printf("最大值為 %d\n",a);
		}
		else
		{
			printf("最大值為 %d\n",c);
		}
	}
	else//b 最大
	{
		if(b>c)//接著把b和c相比較
		{
			printf("最大值為 %d\n",b);
		}
		else
		{
			printf("最大值為 %d\n",c);
		}
	}
	return 0;
}

例題 :求 三個數最大值 結果;

if else 語句 

//if~else if~else
	int a = 10;
	
	if(a == 10)
	{
		printf("a == 10\n");
	}
	else if(a > 10)
	{
		printf("a > 10\n");
	}
	else if(a < 10)
	{
		printf("a < 10\n");
	}
	else
	{
		printf("這是不可能的\n");
	}

三目運算子 

//三目運算子?:
	//三目運算子?:  ,就是簡潔版的if else
	int a = 50;
	int b = 20;
	int c = 90;
	int result=0;
	int temp;
	//1、判斷a > b結果
	//2、如果為真,執行?後面
	//3、如果為假,執行:後面
	
	//用三木運算子判斷兩個數最大
	temp = a > b ? a : b;
	printf("兩個數最大值為:%d\n", temp);

	//用三木運算子判斷三個數最大 (把(a>b?a:b)看成整體->結果為50 類似於50 > 90 ? 50:90)
	result=(a>b?a:b)>c?(a>b?a:b):c;
	printf("三個數最大值為:%d\n", result);

 

  switch語句

//switch語句
	int a;
	printf("請輸入樓層:");
	scanf("%d", &a);
	
	switch(a) //後面沒有分號,條件只能是整型或字元型
	{
	case 1:
		printf("按下的是1樓\n");
		break; //break的作用,跳出switch語句,最好加上
		
	case 2:
		printf("按下的是2樓\n");
		break;
		
	case 3:
		printf("按下的是3樓\n");
		break;
		
	default:
		printf("其它\n");
		break;
	}

例題:// 分數段 0-60不及格 60 -70及格 70-80良好 80-90優秀 90-100優秀+
// 分析  除10取餘數  0到10分內的都為0...<1; 10-20分數除以10 結果為1....<2 ; 20-30分數除以10 結果為2..<3 ;接著強制轉換(int)float。  

// 實現 switch case語句

// switch case語句格式 
//1、switch是關鍵字,switch()後面沒有分號 case和default後面都需要要加上冒號:否則報錯
//2、switch()中()裡只能放整型變數或字元型變數

//3、switch用法類似於電梯模型

#include<stdio.h>
void main()
{
	float score;
	scanf("%f",&score);	

	if(score>100.00)
	{
		printf("輸入有誤,重新輸入\n");
		return;//函式遇到return 就返回 不執行
	}

	switch((int)score/10)	//分數段 強制型別轉換 
	{	
		case 0:case 1:case 2:case 3:case 4:case 5:
				printf("不及格\n");
				break;
		case 6:
				printf("及格\n");
				break;
		case 7:
				printf("良好\n");
				break;
		case 8:
				printf("優秀\n");
				break;
		case 9:case 10:
				printf("優秀+\n");
				break;
		default:
				printf("成績有誤,重新輸入\n");
	}

}

相關推薦

0711C語言分支 if else switch

C語言支援最基本的三種程式執行結構:順序結構、選擇結構、迴圈結構。 選擇結構 if語句 1、if是選擇語句的關鍵字 ( )為條件,如果條件為真,執行{ },( )後面是沒有分號的 if(-1) //條件為真     if(0) //條件為假,不執行if語句 例:

在lua中解決if else switch問題

解決 else c# http .com www. pri num local 之前寫過一個c#版本的使用字典去解決switch問題 http://www.cnblogs.com/sanyejun/p/7806210.html 現在用寫lua版本的 function

java初學 流程控制語句 ifelse switch ...

順序語句 語句:使用分號分隔的程式碼稱作為一個語句。   注意:沒有寫任何程式碼只是一個分號的時候,也是一條語句,稱作空語句。   順序語句就是按照從上往下的順序執行的語句。 判斷(if…else) 在我們找工作的過程中,要求兩年工

java基礎控制語句if else switch

java基礎控制語句 進入該if程式碼塊的條件為括號內的值或者表示式結果須為true,此處使用三元表示式 判斷1==1 如果結果是true那麼呼叫?後面左邊的結果。如果結果是false那麼呼叫?號後面靠右邊的結果 if(1==1 ? true:false) { Sys

JavaScript複雜判斷(if else / switch)的更優雅寫法 優化冗餘

  前提 我們編寫js程式碼時經常遇到複雜邏輯判斷的情況,通常大家可以用if/else或者switch來實現多個條件判斷,但這樣會有個問題,隨著邏輯複雜度的增加,程式碼中的if/else/switch會變得越來越臃腫,越來越看不懂,那麼如何更優雅的寫判斷邏輯,本文帶你試一下。

用函式指標簡化if/else switch/case

開發中常遇到一族同類型函式的處理呼叫情況,開始時候簡單情況就使用if / else 處理,等分支情況越來越多事,程式碼看起來就很長且不易維護,這種時候可以考慮使用函式指標對映來簡化程式碼。#includ

題目:求1+2+...+n,要求不能使用乘除法,for,while,if,else,switch,case等關鍵字及條件判斷語句(A?B:C)

    這個問題本身沒有太多的實際意義,但不少面試官認為這個可以考察應聘者發散思維能力的題目,而發散思維能夠反映出應聘者知識面 的寬度,以及對程式設計相關技術理解的深度。     通常求1+2+..+n除了用公式n(n+1)/2之外,無外乎迴圈和遞迴兩種思想,由於已經明確限

Java中的判斷語句(if....;if...else...;if...else if.... else....;switch;while....)

package learn; public class ConditionalStatement { public static void main(String[] args){ //if...else...語句 int one = 30; if(one % 2 ==

使用匯編語言實現if else 迴圈 函式呼叫

需要使用匯編來演示如下程式碼 需要下載ollydbg彙編偵錯程式 點選File-Open隨意開啟一個exe檔案 我這裡隨便找到c:/windows/explorer.exe檔案 這裡EIP的值表示下一次執行需要執行的程式碼位置 雙擊 EIP紅色地址 左邊程式碼會自動跳轉

條件選擇語句if else switch

int choice; printf("請輸入中獎號碼:"); scanf("%d", &choice); switch (choice) //choice 只能是整型或者字元型 { case 5: //優化處理 將概率高的情況放在判斷的頂端 printf("謝謝惠顧\n");

java初學 流程控制語句 ifelse switch ...

順序語句 語句:使用分號分隔的程式碼稱作為一個語句。 注意:沒有寫任何程式碼只是一個分號的時候,也是一條語句,稱作空語句。 順序語句就是按照從上往下的順序執行的語句。 判斷(if…else) 在我們找工作的過程中,要求兩年工作經驗以上且年齡超過30歲。 什麼是

【轉】消除代碼中的 if-else/switch-case

ted maps cati desc not implement autowire 作者 隨著 在很多時候,我們代碼中會有很多分支,而且分支下面的代碼又有一些復雜的邏輯,相信很多人都喜歡用 if-else/switch-case 去實現。做的不好的會直接把實現的代碼放在 i

如何優化程式碼中大量的if/else,switch/case?

前言 隨著專案的迭代,程式碼中存在的分支判斷可能會越來越多,當裡面涉及到的邏輯比較複雜或者分支數量實在是多的難以維護的時候,我們就要考慮下,有辦法能讓這些程式碼變得更優雅嗎? 正文 使用列舉 這裡我們簡單的定義一個表示狀態的列舉。   public enum Status {

JavaScript的分支結構(switch,if..else)

if else是所有程式語言裡都有的功能,它使得程式具有簡單的判斷能力。 在介紹if之前,讓我們先來了解一下布林值這個概念。 布林(Bool)值      變數可以用來儲存布林值。布林值的作用就是用來表示“真的假的”。所以布林值其實只有兩種取值:真(true)和假(fals

C語言進階-if....elseswitch...case效率問題

1.switch用來根據一個整型值進行多路分支,並且編譯器可以對多路分支進行優化 2.switch-case只將表示式計算一次,然後將表示式的值與每個case的值比較,進而選   擇執行哪一個case的語句塊 3.if..else 的判斷條件範圍較廣,每條語句基本上獨立的,每次判斷時都要條件

C語言使用表驅動法重構if-else分支太多的情況

今天工作中遇到這麼一個情況:將25種字串分成17類,然後統計每一類中的數量 第一版程式碼簡單粗暴,直接上if-else,程式碼如下 if (strcasestr(str, "a") { type = 0; } else if (strcasestr(str,

JS入門基礎(if elseswitch case / node安裝)

json health 案例 js文件 動作 require 步驟 *** 命令 在 JavaScript 中,為不同的決定來執行不同的動作,我們可使用以下條件語句: if 語句 - 只有當指定條件為 true 時,使用該語句來執行代碼 if...else 語句 - 當條

JavaScript基礎知識(ifif elseelse if、while、switch...case語句)

case語句 bubuko ... gpo 控制 java 包含 分享 if...else 13、語句 概念:就是分號(;) 代表一條語句的結束 習慣:一行只編寫一條語句;一行編寫多條語句(代碼可讀性較差) 語句塊:可以包含多條語句 "{ }"將多條語句包裹 u 條

if elseswitch的效率

沒有 gcc com cas 間距 分支 lob if...else def switch和if-else相比,由於使用了Binary Tree算法,絕大部分情況下switch會快一點,除非是if-else的第一個條件就為true. 說實話 我也沒有深入研究過這個問題的根

c# 第12節 分支語句ifswitch、三位運算符

等於 readline 比較 適應 som 提示 con 大於等於 int 本節內容: 1:流程控制語句分類 2:分支語句之if的使用 3:分支語句之switch的使用 4:分支語句之三位運算符 5:分支語句比較 1:流程控5:制語句分類 2: