成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

if條件語(yǔ)句函數(shù)c語(yǔ)言,c語(yǔ)言if條件表達(dá)式

C語(yǔ)言if語(yǔ)句的使用講解

if語(yǔ)句的使用

員工經(jīng)過(guò)長(zhǎng)期磨合與沉淀,具備了協(xié)作精神,得以通過(guò)團(tuán)隊(duì)的力量開發(fā)出優(yōu)質(zhì)的產(chǎn)品。創(chuàng)新互聯(lián)堅(jiān)持“專注、創(chuàng)新、易用”的產(chǎn)品理念,因?yàn)椤皩W⑺詫I(yè)、創(chuàng)新互聯(lián)網(wǎng)站所以易用所以簡(jiǎn)單”。公司專注于為企業(yè)提供網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、微信公眾號(hào)開發(fā)、電商網(wǎng)站開發(fā),小程序設(shè)計(jì),軟件按需定制網(wǎng)站等一站式互聯(lián)網(wǎng)企業(yè)服務(wù)。

用if語(yǔ)句可以構(gòu)成分支結(jié)構(gòu)。它根據(jù)給定的條件進(jìn)行判斷,以決定執(zhí)行某個(gè)分支程序段。C語(yǔ)言的if語(yǔ)句有三種基本形式。

語(yǔ)句的三種形式

1) 第一種形式為基本形式:if

if(表達(dá)式) 語(yǔ)句

其語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行其后的語(yǔ)句,否則不執(zhí)行該語(yǔ)句。

【例1】

#include

int main(void){

int a,b,max;

printf(" input two numbers: ");

scanf("%d%d",a,b);

max=a;

if (max

printf("max=%d",max);

return 0;

}

本例程序中,輸入兩個(gè)數(shù)a、b。把a(bǔ)先賦予變量max,再用if語(yǔ)句判別max和b的大小,如max小于b,則把b賦予max。因此max中總是大數(shù),最后輸出max的值。

2) 第二種形式為: if-else

if(表達(dá)式)

語(yǔ)句1;

else

語(yǔ)句2;

其語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2 。

【例2】

#include

int main(void){

int a, b;

printf("input two numbers: ");

scanf("%d%d",a,b);

if(ab)

printf("max=%d ",a);

else

printf("max=%d ",b);

return 0;

}

輸入兩個(gè)整數(shù),輸出其中的大數(shù)。改用if-else語(yǔ)句判別a,b的大小,若a大,則輸出a,否則輸出b。

3) 第三種形式為if-else-if形式

前二種形式的if語(yǔ)句一般都用于兩個(gè)分支的情況。當(dāng)有多個(gè)分支選擇時(shí),可采用if-else-if語(yǔ)句,其一般形式為:

if(表達(dá)式1)

語(yǔ)句1;

else if(表達(dá)式2)

語(yǔ)句2;

else if(表達(dá)式3)

語(yǔ)句3;

else if(表達(dá)式m)

語(yǔ)句m;

else

語(yǔ)句n;

其語(yǔ)義是:依次判斷表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)值為真時(shí),則執(zhí)行其對(duì)應(yīng)的語(yǔ)句。然后跳到整個(gè)if語(yǔ)句之外繼續(xù)執(zhí)行程序。 如果所有的表達(dá)式均為假,則執(zhí)行語(yǔ)句n。然后繼續(xù)執(zhí)行后續(xù)程序。 if-else-if語(yǔ)句的執(zhí)行過(guò)程如下圖所示。

【例3】

#include

int main(void){

char c;

printf("input a character: ");

c=get);

if(c32)

printf("This is a control character ");

else if(c='0'c='9')

printf("This is a digit ");

else if(c='A'c='Z')

printf("This is a capital letter ");

else if(c='a'c='z')

printf("This is a small letter ");

else

printf("This is an other character ");

return 0;

}

本例要求判別鍵盤輸入字符的類別??梢愿鶕?jù)輸入字符的ASCII碼來(lái)判別類型。由ASCII碼表可知ASCII值小于32的為控制字符。在“0”和“9”之間的為數(shù)字,在“A”和“Z”之間為大寫字母, 在“a”和“z”之間為小寫字母,其余則為其它字符。這是一個(gè)多分支選擇的問(wèn)題,用if-else-if語(yǔ)句編程,判斷輸入字符ASCII碼所在的范圍,分別給出不同的輸出。例如輸入為“g”,輸出顯示它為小寫字符。

if語(yǔ)句的嵌套

當(dāng)if語(yǔ)句中的執(zhí)行語(yǔ)句又是if語(yǔ)句時(shí),則構(gòu)成了if 語(yǔ)句嵌套的情形。其一般形式可表示如下:

if(表達(dá)式)

if語(yǔ)句;

或者為:

if(表達(dá)式)

if語(yǔ)句;

else

if語(yǔ)句;

在嵌套內(nèi)的if語(yǔ)句可能又是if-else型的,這將會(huì)出現(xiàn)多個(gè)if和多個(gè)else重疊的情況,這時(shí)要特別注意if和else的配對(duì)問(wèn)題。例如:

if(表達(dá)式1)

if(表達(dá)式2)

語(yǔ)句1;

else

語(yǔ)句2;

其中的else究竟是與哪一個(gè)if配對(duì)呢?應(yīng)該理解為:

if(表達(dá)式1)

if(表達(dá)式2)

語(yǔ)句1;

else

語(yǔ)句2;

還是應(yīng)理解為:

if(表達(dá)式1)

if(表達(dá)式2)

語(yǔ)句1;

else

語(yǔ)句2;

為了避免這種二義性,C語(yǔ)言規(guī)定,else 總是與它前面最近的if配對(duì),因此對(duì)上述例子應(yīng)按前一種情況理解。

【例4】

#include

int main(void){

int a,b;

printf("please input A,B: ");

scanf("%d%d",a,b);

if(a!=b)

if(ab) printf("AB ");

else printf("A

else printf("A=B ");

return 0;

}

比較兩個(gè)數(shù)的大小關(guān)系。本例中用了if語(yǔ)句的嵌套結(jié)構(gòu)。采用嵌套結(jié)構(gòu)實(shí)質(zhì)上是為了進(jìn)行多分支選擇,實(shí)際上有三種選擇即AB、A

簡(jiǎn)單講解C語(yǔ)言中宏的定義與使用

宏定義是預(yù)編譯功能的一種, 預(yù)編譯又稱為預(yù)處理, 是為編譯做的預(yù)備工作的階段。處理#開頭的指令, 比如拷貝 #include 包含的文件代碼,#define宏定義的替換,條件編譯等。

使用宏定義的好處:使用宏定義的好處:可提高程序的通用性和易讀性,減少不一致性,減少輸入錯(cuò)誤和便于修改。例如 π 這個(gè)常量,我們有時(shí)候會(huì)在程序的多個(gè)地方使用,如果每次使用都重新定義,一來(lái)比較麻煩,二來(lái)容易出錯(cuò),所以我們可以把 π 做成宏定義來(lái)使用。

語(yǔ)法說(shuō)明:

(1)宏名一般用大寫

(2)使用宏可提高程序的`通用性和易讀性,減少不一致性,減少輸入錯(cuò)誤和便于修改。例如:數(shù)組大小常用宏定義

(3)預(yù)處理是在編譯之前的處理,而編譯工作的任務(wù)之一就是語(yǔ)法檢查,預(yù)處理不做語(yǔ)法檢查。

(4)宏定義末尾不加分號(hào);

(5)宏定義寫在函數(shù)的花括號(hào)外邊,作用域?yàn)槠浜蟮某绦颍ǔT谖募淖铋_頭。

(6)可以用#undef命令終止宏定義的作用域

(7)宏定義可以嵌套

(8)字符串" "中永遠(yuǎn)不包含宏

(9)宏定義不分配內(nèi)存,變量定義分配內(nèi)存。

定義:

#define 宏名 內(nèi)容#define kArrLen 10 // OC駝峰命名法:首字符為k,其他單詞首字符大寫#define ARR_LEN 10 // C語(yǔ)言中的宏命名規(guī)范:所有字母大寫,單詞用下劃線分隔

例如:

#define PI 3.1415926

我們就可以使用 PI 來(lái)代替 3.1415926 即可:

float r = 0.5;float area = PI * r * r;printf("area = %fn", area);

在程序預(yù)編譯階段會(huì)把 PI 替換成 3.1415926:

float area = 3.1415926 * r * r;

宏定義內(nèi)容很簡(jiǎn)單,也很好理解,但是有幾個(gè)如下的注意事項(xiàng):

1、因?yàn)楹甓x只是簡(jiǎn)單的替換,如果宏定義的內(nèi)容有運(yùn)算的時(shí)候,要把每個(gè)變量加上括號(hào),以免影響運(yùn)算的優(yōu)先級(jí)

比如:#define MUL(A, B) (A * B)

使用方法:

MUL(3 + 5, 5 + 6) //會(huì)替換成 3 + 5 * 5 + 6 = 34

我們希望(3 + 5) * (5 + 6),所以定義宏定義的時(shí)候應(yīng)該:

#define MUL(A, B) ((A) * (B))

2、注意宏定義后面沒(méi)有分號(hào)(;),它不是一條語(yǔ)句

3、宏定義是在程序編譯前期進(jìn)行替換,此時(shí)程序還沒(méi)有編譯

c語(yǔ)言 if()函數(shù)式如何實(shí)現(xiàn)的?

if語(yǔ)句的一般形式如下:

if(表達(dá)式)語(yǔ)句1

[else語(yǔ)句2]

if語(yǔ)句中的“表達(dá)式”可以是關(guān)系表達(dá)式、邏輯表達(dá)式,甚至是數(shù)值表達(dá)式。其中最直觀、最容易理解的是關(guān)系表達(dá)式。所謂關(guān)系表達(dá)式就是兩個(gè)數(shù)值進(jìn)行比較的式子。

例如:

if(xy)

printf("%d",x);

else

printf("%d",y);

擴(kuò)展資料

if-else語(yǔ)句引入了一種二義性問(wèn)題稱為空懸else(dangling-else)問(wèn)題,這種問(wèn)題出現(xiàn)在當(dāng)if子句多于else子句時(shí)。問(wèn)題是這些else子句分別和哪一個(gè)if子句匹配。

例如:

if(minVal=ivec[i])

if(minVal==ivec[i])

++occurs;

else

{

minVal=ivec[i];

occurs=1;

}

c語(yǔ)言if語(yǔ)句的用法

C語(yǔ)言中if語(yǔ)句基本的有三種格式,在此基礎(chǔ)上可以擴(kuò)展一些其它格式,下面我們來(lái)看看c語(yǔ)言if語(yǔ)句的用法。

c語(yǔ)言if語(yǔ)句的用法

1、 if……形式

一般格式:if(表達(dá)式) 語(yǔ)句;

語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行其后的語(yǔ)句,否則不執(zhí)行該語(yǔ)句。語(yǔ)句可以是單條語(yǔ)句,也可以是用花括號(hào){}包括起來(lái)的復(fù)合語(yǔ)句。示例如下:

#include

int main(){

int a,b,max;

printf(" input two numbers: ");

scanf("%d%d",a,b);

max=a;

if (maxb) max=b;

printf("max=%d ",max);

return 0;

}

2、if……else形式

一般格式:

if(表達(dá)式)

語(yǔ)句1;

else

語(yǔ)句2;

語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2 。語(yǔ)句1和語(yǔ)句2可以是復(fù)合語(yǔ)句。

示例如下:

#include

int main(){

int a, b;

printf("input two numbers: ");

scanf("%d%d",a,b);

if(ab)

printf("max=%d ",a);

else

printf("max=%d ",b);

return 0;

}

3、if……else……if形式

一般形式為:

if(表達(dá)式1)

語(yǔ)句1;

else if(表達(dá)式2)

語(yǔ)句2;

else if(表達(dá)式3)

語(yǔ)句3;

else if(表達(dá)式m)

語(yǔ)句m;

else

語(yǔ)句n;

語(yǔ)義是:依次判斷表達(dá)式的值,當(dāng)出現(xiàn)某個(gè)值為真時(shí),則執(zhí)行其對(duì)應(yīng)的語(yǔ)句。然后跳到整個(gè)if語(yǔ)句之外繼續(xù)執(zhí)行程序。 如果所有的表達(dá)式均為假,則執(zhí)行語(yǔ)句n。然后繼續(xù)執(zhí)行后續(xù)程序。示例如下:

#include

int main(){

char c;

printf("input a character: ");

c=get);

if(c32)

printf("This is a control character ");

else if(c=0c=9)

printf("This is a digit ");

else if(c=Ac=Z)

printf("This is a capital letter ");

else if(c=ac=z)

printf("This is a small letter ");

else

printf("This is an other character ");

return 0;

}

4、擴(kuò)展形式

if條件控制語(yǔ)句的形式是多種多樣的。比如if嵌套、if……if類似的形式,但是都離不開上面介紹的三種基本形式。注意活學(xué)活用。

【拓展】c語(yǔ)言的優(yōu)缺點(diǎn)

1. 簡(jiǎn)潔緊湊、靈活方便

C語(yǔ)言一共只有32個(gè)關(guān)鍵字,9種控制語(yǔ)句,程序書寫形式自由,主要用小寫字母表示。它把高級(jí)語(yǔ)言的基本結(jié)構(gòu)和語(yǔ)句與低級(jí)語(yǔ)言的實(shí)用性結(jié)合起來(lái)。 C 語(yǔ)言可以像匯編語(yǔ)言一樣對(duì)位、字節(jié)和地址進(jìn)行操作,而這三者是計(jì)算機(jī)最基本的工作單元。

2. 運(yùn)算符豐富

C語(yǔ)言的運(yùn)算符包含的范圍很廣泛,共有34種運(yùn)算符。C語(yǔ)言把括號(hào)、賦值、強(qiáng)制類型轉(zhuǎn)換等都作為運(yùn)算符處理。從而使C語(yǔ)言的'運(yùn)算類型極其豐富,表達(dá)式類型多樣化。靈活使用各種運(yùn)算符可以實(shí)現(xiàn)在其它高級(jí)語(yǔ)言中難以實(shí)現(xiàn)的運(yùn)算。

3. 數(shù)據(jù)結(jié)構(gòu)豐富

C語(yǔ)言的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組類型、指針類型、結(jié)構(gòu)體類型、共用體類型等。能用來(lái)實(shí)現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)的運(yùn)算。并引入了指針概念,使程序效率更高。另外C語(yǔ)言具有強(qiáng)大的圖形功能,支持多種顯示器和驅(qū)動(dòng)器。且計(jì)算功能、邏輯判斷功能強(qiáng)大。

4. C是結(jié)構(gòu)式語(yǔ)言

結(jié)構(gòu)式語(yǔ)言的顯著特點(diǎn)是代碼及數(shù)據(jù)的分隔化,即程序的各個(gè)部分除了必要的信息交流外彼此獨(dú)立。這種結(jié)構(gòu)化方式可使程序?qū)哟吻逦阌谑褂?、維護(hù)以及調(diào)試。C語(yǔ)言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語(yǔ)句控制程序流向,從而使程序完全結(jié)構(gòu)化。

5.C語(yǔ)法限制

C語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大 雖然C語(yǔ)言也是強(qiáng)類型語(yǔ)言,但它的語(yǔ)法比較靈活,允許程序編寫者有較大的自由度

6. C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行操作

由于C語(yǔ)言允許直接訪問(wèn)物理地址,可以直接對(duì)硬件進(jìn)行

網(wǎng)頁(yè)標(biāo)題:if條件語(yǔ)句函數(shù)c語(yǔ)言,c語(yǔ)言if條件表達(dá)式
文章地址:http://jinyejixie.com/article40/dsecoho.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、定制網(wǎng)站、、企業(yè)建站、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

營(yíng)銷型網(wǎng)站建設(shè)
平罗县| 奉新县| 古交市| 枣庄市| 昭觉县| 绥中县| 呼伦贝尔市| 大新县| 汝阳县| 成武县| 安福县| 东宁县| 潼关县| 靖宇县| 扶绥县| 南投县| 苏尼特左旗| 辉南县| 苍山县| 原阳县| 陕西省| 聂拉木县| 咸丰县| 永仁县| 湾仔区| 疏附县| 汾西县| 娄烦县| 淳化县| 冕宁县| 分宜县| 双城市| 天祝| 镇巴县| 胶南市| 西丰县| 尼木县| 永春县| 南皮县| 尤溪县| 扶风县|