- C語言的條件運算符 推薦度:
- 相關推薦
C語言條件運算符
C語言具有高效、靈活、功能豐富、表達力強和較高的可移植性等特點,那么大家知道C語言條件運算符是什么呢?下面是小編收集整理的C語言條件運算符,希望大家喜歡。
如果希望獲得兩個數中最大的一個,可以使用 if 語句,例如:
if(a>b){ max = a;}else{ max = b;}
不過,C語言提供了一種更加簡單的方法,叫做條件運算符,語法格式為:
表達式1 ? 表達式2 : 表達式3
條件運算符是C語言中唯一的一個三目運算符,其求值規則為:如果表達式1的值為真,則以表達式2 的值作為整個條件表達式的值,否則以表達式3的值作為整個條件表達式的值。條件表達式通常用于賦值語句之中。
上面的 if else 語句等價于:
max = (a>b) ? a : b;
該語句的語義是:如a>b為真,則把a賦予max,否則把b 賦予max。
讀者可以認為條件運算符是一種簡寫的 if else,完全可以用 if else 來替換。
使用條件表達式時,還應注意以下幾點:
1) 條件運算符的優先級低于關系運算符和算術運算符,但高于賦值符。因此
max=(a>b) ? a : b;
可以去掉括號而寫為
max=a>b ? a : b;
2) 條件運算符?和:是一對運算符,不能分開單獨使用。
3) 條件運算符的結合方向是自右至左。例如:
a>b ? a : c>d ? c : d;
應理解為:
a>b ? a : ( c>d ? c : d );
這也就是條件表達式嵌套的情形,即其中的表達式又是一個條件表達式。
用條件表達式重新編程,輸出兩個數中的最大值:
#includeint main(){ int a, b; printf("Input two numbers:"); scanf("%d %d", &a, &b); printf("max=%d ", a>b?a:b); return 0;}
運行結果:
Input two numbers:23 45
max=45
拓展:C語言變量理解
一、變量的概念
程序設計就是讓計算機按照一定的指令來進行工作,可以說數據的處理是程序設計的主要任務。那么數據是怎么加入到計算機的內存中呢?計算機最初的功能就是能夠存儲數據并處理數據的機器。那么數據是怎么加入到計算機的內存中呢?在學習程序設計之前,很多學生對計算機的硬件設施都大概已經很熟悉了。計算機的硬件設施中有一個區域是用來存儲數據的,計算機在工作的過程中會頻繁的從這個區域讀入和讀出數據。要想讓計算機按照某些指令(程序)自動工作,首先必須把數據存儲到計算機的存儲空間中。在某種計算機語言中實現這種數據存儲功能的就是變量。變量就是計算機內存中的某一個存儲單元。
二、變量的定義
C語言中變量在使用之前必須先對其進行定義,變量的定義的一般形式如下:【存儲類別】數據類型變量名;其中存儲類別是可以省略的。
1、存儲類別計算機的內存一般分為三個部分:1)程序區;2)靜態存儲區;3)動態存儲區;為了高效的發揮計算機的功能,不同類型的變量存放在不同的內存區域。變量的存儲類別決定了變量中的數據在計算機內存中的存儲位置。C語言中局部變量存放在動態存儲區,全局變量或者靜態變量存放在靜態存儲區。
2、數據類型在用程序處理問題之前,首先必須確定用何種方式描述問題中所涉及到的數據。這個問題在C語言中是由數據類型來決定的。變量的本質表現為在計算機中的存在時間和存儲空間。變量的數據類型是用來決定變量在計算機中占用內存空間的大小。比如:整型數據在TC編譯系統中占用兩個字節的存儲空間。C語言變量的類型不僅確定了數據在計算機內存中的存儲區域的大小,同時確定了該數據能夠參與的各種運算。任何一個C語言的變量必須有確定的數據類型,不管這個變量如何變化,變量的值都必須符合該變量數據類型的規定。
3、變量的名字通過以上介紹我們知道C語言中的變量就是計算機的某個存儲單元,假設你給某個變量賦予了一個數值,對變量的處理其實就是對這個數據的處理。那么計算機是如何快速準確的找到這個數據呢?計算機的內存是以字節為單位進行劃分的。每個存儲單元都有自己的地址編號,就向賓館中房間的房間號一樣。計算機就是通過地址來準確的確定數據的存儲位置。但是對于程序員特別是非專業計算機人士,如果用計算機內存地址記錄數據是非常難操作的。
為了更好的掌控變量,C語言規定可以給每個變量其一個容易識別的名字。這個名字的命名規則遵循C語言的標識符命名規則。C語言的變量名的命名在遵循C語言標識符規則的前提下,原則上可以是任意長度字符的組合。但是目前很多的C語言編譯系統只能識別前31個字符,如果兩個變量的前31個字符相同,則編譯系統會認為這兩個變量時同一個變量。為了避免這種混淆的出現最好避免使用多余31個字符的變量名。變量的理解變量就是計算機中的某個存儲單元。定義某個變量本質上就是向計算機申請一些存儲區域。這個存儲區域的大小由變量的數據類型決定,這個存儲區域的位置有變量的存儲類類別決定。給變量賦予某個數值,其實就是向該變量對應的存儲單元讀入數據,對變量的處理就是對這個存儲單元中的數據的處理。并且這個存儲單元中的數據在程序的運行期間是可以發生變化的。
【C語言條件運算符】相關文章:
C語言的條件運算符12-19
C語言輔導:C語言運算符表06-17
C語言關系運算符08-04
C語言賦值運算符11-06
c語言算術運算符07-23
C語言中的運算符10-05
C語言賦值運算符考點10-08
C語言入門知識:運算符07-27
C語言復合賦值運算符10-09