c語言if函式式如何實現的,C語言是函數語言程式設計語言嗎

2022-02-14 12:45:05 字數 3654 閱讀 1627

1樓:

if語句的一般形式如下:

if(表示式)語句1

[else語句2]

if語句中的「表示式」可以是關係表示式、邏輯表示式,甚至是數值表示式。其中最直觀、最容易理解的是關係表示式。所謂關係表示式就是兩個數值進行比較的式子。

例如:if(x>y)

printf("%d",x);

else

printf("%d",y);

擴充套件資料if-else語句引入了一種二義性問題稱為空懸else(dangling-else)問題,這種問題出現在當if子句多於else子句時。問題是這些else子句分別和哪一個if子句匹配。

例如:if(minval<=ivec[i])if(minval==ivec[i])

++occurs;

else

minval=ivec[i];

occurs=1;

2樓:匿名使用者

if是c語言的關鍵字,所有c語言的基本語句都是有編譯器(比如vc,gcc等)將c語言翻譯成機器語言(組合語言)。比如下面簡單的if語句,我們看看編譯器將其轉換為什麼樣子。

源**:

對應的編譯器(我用的vc)編譯後的結果(組合語言)我們看到,if語句轉換為了一個比較(cmp)和一個條件跳轉(jne)先比較1和i,如果不相等,就跳轉到if括號的後一個語句(這兒是0x411534)。

如果有興趣,你可以找vc自己研究一下各個基本語句是如何編譯的。(vc中滑鼠右鍵,然後點選【轉到反彙編】)

3樓:千鋒教育

if函式,說的是假如,然後:

分兩種:if……printf;if……else第一種:if……printf,假如一種情況,直接輸出結果。

if……else,是假如一種情況,不發生這種情況該怎樣執行:

if()

語句1else

語句2 這樣是單個語句,既if和else各控制一個語句再有一句是複合語句

if()

語句1else

這樣就是複合的,else裡面包括2個語句,else 只包括語句1 語句2是獨立的,因為它沒有大括號括起來

4樓:菊隱逸者也

if()內部是一個判斷真假的條件語句,如果該語句為真,就執行其下的一條語句。若有多條語句則應用花括號括起來算作一條語句。一般if和else連用。

就是說,滿足if條件就執行這個,否則就執行else下的語句。比如:

if(a>b)

else

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

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

就是說a>b時,交換a,b並輸出。a<=b,就直接輸出a,b。明白了吧。有不懂可以追問。

5樓:匿名使用者

比如說if(a>b)a=a+5;

else b=b+5;

系統會先判斷if括號裡的表示式a>b,如果真,則執行a=a+5,如果假(a<=b),則執行b=b+5;

6樓:匿名使用者

if是關鍵字,不是函式。如果還想再弄懂c語言底層的,看組合語言。

7樓:magic_旭

if(條件)

c語言是函數語言程式設計語言嗎

8樓:大樂樂

c語言支援函式遞迴呼叫,支援高階函式(函式指標),支援不可變數(const關鍵字),支援模式匹配 但不是函數語言程式設計語言

9樓:匿名使用者

不是,c是指令式程式設計語言。

c語言是函數語言程式設計語言嗎

10樓:匿名使用者

是的。c語言是程序導向的語言,也就是邏輯流程全部是由函式編寫的。它與物件導向的差別就是物件導向的操作都是由物件的方法編寫的,而程序導向的是依靠函式編寫的。

打個比方:寫個你去銀行存錢的程式

c語言:寫出存錢的函式,執行

物件導向:寫出一個物件(就是你),寫出一個方法(讓你會存錢),執行這個存錢的方法就行了

在c語言中要怎樣呼叫函式公式來進行程式設計啊?

11樓:匿名使用者

1、一個函式(function)是一個可以從程式其它地方呼叫執行的語句塊。以下是函式定義格式:

type name ( argument1, argument2, ...) statement

說明:type 是函式返回的資料的型別

name 是函式被呼叫時使用的名

argument 是函式呼叫需要傳入的參量(可以宣告任意多個參量)。每個參量(argument)由一個資料型別後面跟一個標識名稱組成,就像變數宣告中一樣(例如,int x)。參量僅在函式範圍內有效,可以和函式中的其它變數一樣使用, 它們使得函式在被呼叫時可以傳入引數,不同的引數用逗號(comma)隔開.

statement 是函式的內容。它可以是一句指令,也可以是一組指令組成的語句塊。如果是一組指令,則語句塊必須用花括號{}括起來,這也是我們最常見到情況。

其實為了使程式的格式更加統一清晰,建議在僅有一條指令的時候也使用花括號,這是一個良好的程式設計習慣。

2、示例:每一個c語言程式有且只有一個main函式,本身main就是一個函式。

int main()

12樓:

樓主是指數學函式嗎?

數學函式的話,程式開始時要新增

# include

之後就可呼叫系統內建的數學函式

13樓:匿名使用者

for(i=0;i<=n;i++) s=x*x; 這句話沒什麼意思,我猜你是想求x的//改過函式q及main。 #include "stdio.h" #include "math.

h" int s(,qgcivr

14樓:匿名使用者

for(i=0;i<=n;i++) s=x*x; 這句話沒什麼意思,我猜你是想求x的n次方,你最好說明一下你程式是用來幹嘛的,要不然很難找到你認為的錯誤......~

c語言中,求分段函式,是三段.我用 if() 語句1; if() 語句2; else 語句3;

15樓:匿名使用者

你好,你這樣寫肯定是的,我給你分析一下,當程式執行到第一個if時要判斷if語句的條件,假設滿足條件則執行了語句1,這是對的,是吧,例如你求的是y的值,假設語句1是y=x+1,則第一個if語句執行完後y=x+1;接著執行第二個if語句,此時肯定是不滿足if的條件的是吧?(因為滿足了第一個就不會再滿足第二個),所以就要執行第二個if的第二個語句即else語句,假設語句3為y=y+2,則最終的結果就是y=y+2,也就是語句3.所以在這樣的情況下,你一定要排除你已經用過的情況不能再使用,所以只需改為:

if() 語句1;else if() 語句2; else 語句3;即可。

16樓:匿名使用者

if ()

else if()

else

你的語法不能說錯,只能說,在你這個題中,用的不對,你的程式中,if()語句1 是獨立的,和後面沒關係,後面兩句才為一個if結構,懂了嗎?

17樓:匿名使用者

你在第二個 if 前加一個 else 試試

c語言sort函式如何使用C語言sort函式如何使用

c語言中沒有預置的sort函式。如果在c語言中,遇到有呼叫sort函式,就是自定義的一個函式,功能一般用於排序。一 可以編寫自己的sort函式。如下函式為將整型陣列從小到大排序。void sort int a,int l a為陣列地址,l為陣列長度。對於這樣的自定義sort函式,可以按照定義的規範來...

C語言函式

這是函式的遞迴呼叫,類似數列的遞推式,程式的意思是shi n n shi n 1 shi 0 0 可以把shi n 看成熟悉的x n 所以結果為10 9 1 0 55 呼叫順序shi 10 shi 9 shi 8765421 shi 0 10到1的呼叫都還沒return 到0的時候 執行if c 0...

c語言 函式的定義的小問題,C語言 函式的定義的小問題

注意這個函式的兩點 第一個引數是char,什麼是char?在32位的機器上,char可以看成1個位元組的整數,a b 這樣的asii字元是char,a選項中的 abc c選項中的 65 都不是char,實際上他們什麼都不是,所以排除ac 第二,返回是void的。那麼b取了函式的返回值,所以b也是錯誤...