C语言三目运算符 - C语言零基础入门教程
目錄
- 一.C 語(yǔ)言三目運(yùn)算符簡(jiǎn)介
- 二.C 語(yǔ)言三目運(yùn)算符實(shí)戰(zhàn)
- 1.使用三目運(yùn)算符
- 2.使用 if / else 條件判斷
- 三.猜你喜歡
零基礎(chǔ) C/C++ 學(xué)習(xí)路線推薦 : C/C++ 學(xué)習(xí)目錄 >> C 語(yǔ)言基礎(chǔ)入門(mén)
一.C 語(yǔ)言三目運(yùn)算符簡(jiǎn)介
三目運(yùn)算符,又稱(chēng)條件運(yùn)算符,是計(jì)算機(jī)語(yǔ)言([C](https://www.codersrc.com/c%e8%af%ad%e8%a8%80%e5%9f%ba%e7%a1%80),C++,Java等)的重要組成部分。它是唯一有 3 個(gè)操作數(shù)的運(yùn)算符,所以有時(shí)又稱(chēng)為三元運(yùn)算符,其實(shí)三目運(yùn)算符和 if / else 條件判斷類(lèi)似。
三目運(yùn)算符的書(shū)寫(xiě):
//三目運(yùn)算符 <表達(dá)式1> ? <表達(dá)式2> : <表達(dá)式3>;返回值:先求表達(dá)式 1 的值,如果為真,則執(zhí)行表達(dá)式 2,并返回表達(dá)式 2 的結(jié)果;如果表達(dá)式 1 的值為假,則執(zhí)行表達(dá)式 3,并返回表達(dá)式 3 的結(jié)果。
舉個(gè)例子:對(duì)于條件表達(dá)式 b ? x : y,先判斷條件 b 真假,如果 b 的值為 true ,那么返回表達(dá)式 x 的計(jì)算結(jié)果;否則,計(jì)算 y 的值,返回表達(dá)式 y 的計(jì)算結(jié)果。
一個(gè)條件表達(dá)式絕不會(huì)既計(jì)算 x,又計(jì)算 y(就好比在 if / else 條件判斷中,不可能既執(zhí)行 if 后的代碼又執(zhí)行 else 之后的代碼)。
注意:在 C 語(yǔ)言中,結(jié)果 1 和 結(jié)果 2 的類(lèi)型必須一致。對(duì)于上面的代碼,使用 if / else 條件判斷同樣也能實(shí)現(xiàn):
//if/else條件判斷 if(<表達(dá)式1>) {//<表達(dá)式2> } else {//<表達(dá)式3> }二.C 語(yǔ)言三目運(yùn)算符實(shí)戰(zhàn)
對(duì)于以下代碼,我們分別使用三目運(yùn)算符和 c 語(yǔ)言條件判斷完成,示例如下:
1.使用三目運(yùn)算符
/************************************************************************/ //@Author:猿說(shuō)編程 //@Blog(個(gè)人博客地址): www.codersrc.com //@File:C語(yǔ)言三目運(yùn)算符 //@Time:2021/05/28 08:00 //@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! /************************************************************************/#include "stdafx.h" #include <stdio.h>int main() {int a = 1;int b = 2;int c = 0;//三目運(yùn)算符返回整數(shù)c = a ? (a + b) : (a - b);//因?yàn)楸磉_(dá)式1(a=1),條件為真,所以執(zhí)行表達(dá)式2,返回a+b的結(jié)果printf("整數(shù)c = %d\n",c);//三目運(yùn)算符返回字符串char *s = 0 ? "條件成立" : "條件不成立";//因?yàn)楸磉_(dá)式1(0),條件為假,所以執(zhí)行表達(dá)式3,返回字符串"c條件不成立"printf("字符串s = %s\n", s);printf("main函數(shù)結(jié)束!\n");return 0; } /* 輸出結(jié)果:整數(shù)c = 3 字符串s = 條件不成立 main函數(shù)結(jié)束! 請(qǐng)按任意鍵繼續(xù). . .*/2.使用 if / else 條件判斷
/************************************************************************/ //@Author:猿說(shuō)編程 //@Blog(個(gè)人博客地址): www.codersrc.com //@File:C語(yǔ)言三目運(yùn)算符 //@Time:2021/05/28 08:00 //@Motto:不積跬步無(wú)以至千里,不積小流無(wú)以成江海,程序人生的精彩需要堅(jiān)持不懈地積累! /************************************************************************/#include "stdafx.h" #include <stdio.h>int main() {int a = 1;int b = 2;int c = 0;if (a)c = a + b;elsec = a - b;printf("整數(shù)c = %d\n",c);char *s = NULL; //初始化if (0) // 0等價(jià)于falses = "條件成立";elses = "條件不成立";printf("字符串s = %s\n", s);printf("main函數(shù)結(jié)束!\n");return 0; } /* 輸出結(jié)果:整數(shù)c = 3 字符串s = 條件不成立 main函數(shù)結(jié)束! 請(qǐng)按任意鍵繼續(xù). . .*/注意:
- 1.不管是C或者C++中,false 和 0 兩者等價(jià),true 和 1兩者等價(jià);
- 2.字符串占位符是 %s ,整形占位符是 %d ,其他 C 語(yǔ)言變量類(lèi)型占位符請(qǐng)參考:C 語(yǔ)言格式控制符/占位符
三.猜你喜歡
未經(jīng)允許不得轉(zhuǎn)載:猿說(shuō)編程 ? C 語(yǔ)言三目運(yùn)算符
總結(jié)
以上是生活随笔為你收集整理的C语言三目运算符 - C语言零基础入门教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 什么是迭代器
- 下一篇: Arraylist线程不安全原因