if 結構和三目運算和switch語句
if語句需要注意的地方:
if判斷只能接一個語句,存在多個語句時,用塊語句表示{},若在if判斷後
直接加“;”相當於if判斷後加一個空語句,即使條件成立什麼也不會幹!
1. if的第一種形態(真假)
如果表示式的值為真, 則執行其後的語句, 否則不執行該語句。
if(表示式)語句
void main() { int a=1, b=2, c=3; if (a+b)c=4; printf("%d", c); }View Code
void main() { int a=1, b=2, c=3;if (a<b); { //養成良好習慣, 加上{} c=4; } printf("%d", c); }
第二種形式為 if - else
if(表示式) 語句1; else 語句2;
void main() { int a=1, b=2; if (a>b) { printf("我比你大"); } else { printf("我比你小"); } }
第三種形式 else if 多次判斷
if(表示式1) 語句1; else if(表示式2) 語句2; else if(表示式3) 語句3 .。。。。 else 語句;
void main() { int a=8; if (a>10) { printf("值大於10"); } else if (a == 10) { printf("值等於10"); }else if (a == 10) { printf("值等於10"); } else if (a == 8) { printf("要的就是你"); } else { printf("我比你小"); } }
三目運算
條件運算子為?和:, 他是一個三目運算子, 即有三個參與運算的量。
組成條件表示式的形式為:
條件1? 條件2: 條件3
如果條件1為真則執行條件2
如果條件1為假, 則執行條件3
void main() { int a=4, b=3, c; if (a>b) c=a; else c=b; } #----------------------------- void main() { int a=4, b=3, c; c =(a>b)?a:b; printf("%d", c); }
注意事項:
1).條件運算子的運算優先順序低於關係運算符和算術運算子, 但高於賦值符: max=(a>b):c:d 可以去掉括號而寫成 max = a>b:c:d 2)條件運算子?和:是一對運算子, 不能單獨分開使用 3)條件運算子的結合方向是自右向左。 例如: a>b?a:c>d?c:d 可以理解為a>b?a:(c>d?c:d)
switch語句
c語言還提供了另一種用於多分支選擇的switch語句, 其一般形式為:
其語義是:計算表示式的值。並逐個與其後的常量表達式值相比較, 當表示式的值
與某個常量表達式的值相等時, 即執行其後的語句, 然後不在進行判斷, 繼續執行後面
所有case後的語句。 如表示式的值與所有case後的常量表達式均不相同時,
則執行default後的語句。
看例子:
void main() { int a,b=1; printf("please input number: \n"); scanf("%d", &a); switch(a) { case 1:printf("1111\n"); { b = 3; printf("b = %d\n", b); } default: printf("bbbb %d\n", b); } }
case 1:printf("1111\n");break;
還可以配合三目運算
switch (a>1?2:3)
注意事項:
1)在case後的各常量表達式的值不能相同, 否則會出現錯誤。 2)在case後, 允許有多個語句, 可以不用{}括起來 3)各case和default子句的先後順序可以變動, 而不會影響程式執行結果 4)default子句可以省略不用。
相關推薦
if 結構和三目運算和switch語句
if語句需要注意的地方: if判斷只能接一個語句,存在多個語句時,用塊語句表示{},若在if判斷後 直接加“;”相當於if判斷後加一個空語句,即使條件成立什麼也不會幹! 1. if的第一種形態(真假) 如果表示式的值為真, 則執行其後的語句, 否則不執行該語句。 if(表示式)語句
java的if else 和三目運算的效率問題
1.從型別轉換上看,因為三目運算子在做判斷的時候需要考慮到型別轉換的問題,而if else 不需要考慮型別轉換。 所以 if else 效率高一點。 2.從總體上看 A:需要考慮到迴圈自身所佔用的時間。 B:需要考慮到賦值以及迴圈內的其他運算子所佔用的時間。 所以
Java學習筆記之——if條件語句和三目運算符
三目運算 img bubuko color if條件語句 最大 image mage true 一、if條件語句 語法: if(條件){ 執行語句1; }else{ 執行語句2; } 二、三目運算符 ? 條件運算符 語法: 表達式?結果1:
布爾類型和三目運算符
根據 三目運算符 數值 數據 sys 使用 布爾類型 計算 lse 介紹C語言中沒有具體的bool類型,在C中使用int 型的0和1來代表true和false,但是在C++中對C的布爾類型有了一個增強,增加了一種bool類型,其值為true和false,並且理論上在內存中只
基礎型別的簡單運算,三目運算和字串的加法
[1]基本型別分類 整數類: 型別名 型別長度 byte 1 byte short 2 byte int 4 byte long 8 byte 2. 浮點數類 型別名
JavaSE7基礎 用if-else解釋三目運算符
4.2 可用 技術分享 stat 程序員 ima div result 內容 jdk版本 :jdk-7u72-windows-i586系統 :Windows7編輯器 :Notepad++ v7.4.2註意事項 :博文內容僅供參考,不可用於其他用途。 代
微信小程式10---條件語句if和迴圈語句for(三目運算+hidden)
在微信小程式的官方文件中,將這兩個語句歸化在框架的檢視層,分表叫條件渲染和類表渲染,其實他就是封裝了這兩條語句而已。 上圖(迴圈語句if) 1.它是通過在index.js中設定資料,然後再index.wxml中進行判斷,首先上index.wxml的程式碼
C之三目運算符和逗號表達式(十七)
C語言 三目運算符 逗號表達式 我們經常在 C 語言中會見到三目運算符,那麽我們今天來講下三目運算符和一種特殊的逗號表達式。 首先來講下三目運算符。什麽是三目運算符呢?它的語法格式是 (a ? b : c)。三目運算符可以作為邏輯運算的載體,規則是:當 a 的值為真時
Java學習筆記之——if條件語句和三目運算子
一、if條件語句 語法: if(條件){ 執行語句1; }else{ 執行語句2; } 二、三目運算子 ? 條件運算子 語法: 表示式?結果1:結果2; 如果表
C#7—switch語句講解和三目運算子
一、switch語句講解 1、練習1 Console.WriteLine("輸入一個數字"); int number = int.Parse(Co
javascript下if else語句和三目運算子效能測試
function testif(times){ console.time("test if else") var j=0; for(var i=0;i<times;i++){ if(i<500){ j+=1; }else{ j+=2;
03C++語言對C的增強——實用性、變量檢測、struct類型、C++中所有變量和函數都必須有類型、bool類型、三目運算符
自己 聲明 優化 同名 編譯器 直接 修飾 關鍵字 變化 register關鍵字 請求編譯器讓變量a直接放在寄存器裏面,速度快在c語言中 register修飾的變量 不能取地址,但是在c++裏面做了內容1register關鍵字的變化register關鍵字請求“編
js switch判斷 三目運算 while 及 屬性操作
接收 所有 pla isp 字符 child ren display fault 三 目運算:如var a = 10; var b= 12; c = a>b ?a:b; 若成立執行a否則執行b var isHide = true; 若用if判斷語句如下 if(isHi
數據結構——第三章樹和二叉樹:01樹和二叉樹的類型定義
有序 存在 lin 深度 操作 root 判定樹 delet eem 1.樹的類型定義: (1)數據對象D:D是具有相同特性的數據元素的集合。 (2)數據關系R:若D為空集,則成為空樹 否則:在D中存在唯一的稱為根的數據元素root。當n>1時,其余結點可分為n(n&
資料結構——第三章樹和二叉樹:02二叉樹
1.二叉樹的儲存結構: (1)二叉樹的順序儲存表示: #define MAX_TREE_SIZE 100 //二叉樹的最大結點數 typedef TElemType SqBiTree[MAX_TREE_SIZE]; SqBiTree bt; (2)二叉樹的鏈式儲存表示: ①二叉連結
資料結構——第三章樹和二叉樹:03樹和森林
1.樹的三種儲存結構: (1)雙親表示法: #define MAX_TREE_SIZE 100 結點結構: typedef struct PTNode { Elem data; int parent; //雙親位置域 } PTNode; (2)孩子雙親連結串列表示法: &nbs
Math.round(),增強for迴圈,equals方法和==的區別,,instanceof運算子和三目運算子的用法
1.Math.round() 有這樣一個問題,將數字23.4,23.6轉換成int型,得到的新數字是多少? 事實上直接轉換的話得到的數字都是23。但在我們程式設計的過程中有時候需要對數字進行四捨五入取整,那麼顯然上面的直接轉換就不能實現我們的要求。但好在java裡面給我提供了一個可以實現四捨五入
資料結構(三)Stack和Vector原始碼分析
一、基本概念: 1、棧是什麼? 是一個只能在某一端進行插入、刪除操作的線性表。 * 從棧頂插入一個元素稱之為入棧(push) * 從棧頂刪除一個元素稱之為出棧(pop) 2、圖解: 3、棧的實現: 鏈式儲存(連結串列) 順序儲存(陣列) 4
if……else語句與三目運算?:的區別在哪裡?
if……else與三目運算的最主要區別:三目運算有返回值,if else沒有返回值 。 I var n=1; if(n>1){ n=0; }else{ n++; } con
C語言筆記 第十八課 三目運算子和逗號表示式
第十八課 三目運算子和逗號表示式 三目運算子 三目運算子(a?b:c)可以作為邏輯運算的載體 規則:當a的值為真時,返回b的值;否則返回c的值 下面的程式執行結束後,a,b,c的值分別為多少? int a = 1; int b = 2; int c = 0; c = a<b