當前位置:首頁 » 編程語言 » c語言中ml的意義
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言中ml的意義

發布時間: 2023-04-17 12:16:27

① 誰知道有關c語言符號的意義,越全越好

優先順序 運算符 含義 要求運算對象的個數 結合方向

1 ( ) 圓括弧 自左至右
[ ] 下標運算符
-> 指向結構體成員運算符
• 結構體成員運算符

2 ! 邏輯非運算符 1
(單目運算符) 自右至左
• 按位取反運算符
++ 自增運算符
― ― 自減運算符
- 符號運算符
(類型) 類型轉換運算符
* 指針運算符
& 取地址運算符
sizeof 長度運算符

3 * 乘法運算符 2
(雙目運算符) 自左至右
/ 除法運算符
% 求余運算符
4 + 加法運算符 2
(雙目運算符) 自左至右
- 減法運算符
5 << 左移運算符 2
(雙目運算符) 自左至右
>> 右移運算符
6 < <= > >= 關系運算符 2
(雙目運算符) 自左至右
7 == 等於運算符 2
(雙目運算符) 自左至右
!= 不等於運算符
8 & 按位與運算符 2
(雙目運算符) 自左至右
9 ^ 按位異或運算符 2
(雙目運算符) 自左至右
10 | 按位或運算符 2
(雙目運算符) 自左至右
11 && 邏輯與運算符 2
(雙目運算符) 自左至右
12 || 邏輯或運算符 2
(雙目運算符) 自左至右
13 ? : 條件運算符 3
(三目運算符) 自右至左
14 = += -= *= /= %= >>= <<=
&= ^= 賦值運算符 2
(雙目運算符) 自右至左
15 , 逗號運算符
(順序求值運算符) 自左至右

② c語言中%6l\n是什麼意思

l格式符,用來輸出十進制長整型.

%ml, m為指豎乎定的輸出欄位的寬度,數爛纖族據位數小於m,左邊補空格,若大於m,按實際長度輸出

\n 是轉義字元 用飢弊於換行

③ ml表示什麼意思

"ml" 可以代表多個不同的縮寫段攔詞,根據上下文而定。下面是幾種常見的含義:

  • 機器學習(Machine Learning):指一種通過演算法和統計模型來讓計算機系段嘩統自動學習、識別模式和握燃胡進行決策的技術。

  • 毫升(Milliliter):是國際制量綱中的體積單位,通常用於表示液體的體積。

  • 主鏈(Main Chain):在區塊鏈中,通常指代區塊鏈網路中最重要的、不可更改的區塊鏈。

  • 信任列表(Master List):指一個系統中的主列表,通常用於管理系統中所有數據的訪問許可權和驗證身份的過程。

  • 除此之外,"ml" 還可能有其他的含義,具體意義要根據具體的語境來判斷。

④ 在C語言中,main函數的意義是什麼

主函數main()是一個c語言程序開始運行的標志,也就是說,一程序開始執行都是從主函數開始的,不管主函數的位置在哪裡。

⑤ C語言誕生之前,有哪些重要的編程語言

你好,根據資料記載,C語言誕生前還有B語言和BCPL語言,C語言源自Ken Thompson發明的 B語言,而B語言則源自BCPL語言。C語言的誕生是和UNIX操作系統的開發密不可分的,原先的UNIX操作系統都是用匯編語言寫的,1973年UNIX操作系統的核心用C語言改寫,從此以後,C語言成為編寫操作系統的主要語言。1978年美國電話電報公司(AT&T)貝爾實驗室正式發布C語言,1983年由美國國家標准局開始制定C語言標准,於1989年12月完成,並在1990年春天發布,稱之為ANSI C,有時也被稱為 C89 或 C90。

⑥ C語言基礎知識

  •1 C語言程序的結構認識

用一個簡單的c程序例子,介紹c語言的基本構成、格式、以及良好的書寫風格,使讀者對c語言有個初步認識。

例1 計算兩個整數之和的c程序:

1、任何一個c語言程序都必須包括以下格式:

這是c語言的基本結構,任何一個程序都必須包含這個機構。括弧內可以不寫任何內容,那麼該程序將不執行任何結果。

2、main()----在c語言中稱之為「主函數」,一個c程序有且僅有一個main函數,任何一個c程序總是從main函數開始執行,main函數後面的一對圓括弧不能省略。

3、被大括弧{ }括起來的內容稱為main函數的函數體,這部分內容就是計算機要執行的內容。

4、在{  }裡面每一句話後面都有一個分號(;),在c語言中,我們把以一個分號結尾的一句話叫做一個c語言的語句,分號是語句結束的標志。

5、printf(「a=%d,b=%d,sum=%d\n」,a,b,sum); ----通過執行這條c語言系統提供給我們直接使用的屏幕輸出函數,用戶即可看到運行結果,本程序運行後,將在顯示器上顯示如下結果:

6、#include

7、程序中以 /*開頭並且以*/結尾的部分表示程序的注釋部分,注釋可以添加在程序的任何位置,為了提高程序的可讀性而添加,但計算機在執行主函數內容時完全忽略注釋部分,換而言之就是計算機當做注釋部分不存在於主函數中。

   •  2 C程序的生成過程

C程序是先由源文件經編譯生成目標文件,然後經過連接生成可執行文件,如圖所示。

                              編譯過程

 • 3 標識符

在編寫程序時,必須為函數、變數等命名,這個名字稱為標識符。C語言中標識符的命名規則如下:

標識符不能與程序中具有特殊意義的關鍵字相同,不能與用戶編制的函數名、C語言庫函數相同,在程序中各種標識符盡量不要重復,以便區分。選擇變數名和其他標識符時,應注意做到 「見名知義」。

標識符分為如下三類:

1、關鍵字

3、用戶標識符

用戶根據需要自己定義的標識符稱為用戶標識符。無論如何自定義標識符,都必須符合標識符的三條命名規則。

 • 4 常量

在程序運行中,其值不能被改變的量稱為常量。常量有5種類型:整型常量、實型常量、字元常量、字元串常量和符號常量。

(一)數值轉換

數字的四種表現形式:

在計算機內部,數字均以二進制形式表示和存放,用戶輸入的普通十進制數字都要被計算機轉換成二進制才能在計算機內部存儲,同樣計算機的運算結果也為二進制,一般要將其轉換成十進制數再輸出給用戶閱讀,這種轉換通常由計算機自動實現。

(1)將十進制轉換二進制、八進制和十六進制

除法:將十進制數除以2,記錄余數,得到的商繼續除以2,直到商為0,然後將各次相處所得的余數從後往前逆序排列,所得余數數字序列就是該十進制數對應的二進制數。八進制和十六進制轉換方法同上。

例:十進制數13轉換成二進制數的值為1101,轉換八進制為015,轉換成十六進制為D.

(2)將二進制、八進制和十六進制轉換成十進制

乘積求和:將二進制的每一位從低位到高位(右邊為低位,左邊為高位)分別乘以20,21,22。。。。,然後將這些積求和。

例如:(1101)2=(13)10     (317)8=(207)10     (23E)16=(574)10

(3)二進制與八進制、十六進制數之間的相互轉換

(二)整型常量

整型常量有3種形式:十進制整型常量、八進制整型常量和十六進制整型常量。

書寫方式如下:

(三)實型常量

實型常量有兩種表示形式:小數形式和指數形式。

(四)字元常量

(2)由一對單引號括起來,以反斜杠\開頭,後跟若干數字或者字母,比如『\n』,其中「\「是轉義的意思,後面跟不同的字元表示不同的意思,這類字元常量叫轉義字元。具體如圖所示 。

(五)字元串常量

C語言中,以雙引號括起來的,由若干個字元組成的序列即為字元串常量。

例:「ni hao」   「happy」等等。

(六)符號常量

例:計算圓的面積的c程序。

說明:

• 5 變數

變數就是其值可以改變的量。變數要有變數名,在內存中占據一定的存儲單元,存儲單元里存放的是該變數的值。不同類型的變數其存儲單元的大小不同,變數在使用前必須定義。

(一)整型變數

不同的編譯系統對上述四種整型數據所佔用的位數和數值范圍有不同的規定。

類型說明符

說明:

(二)實型變數

C語言中,實型變數分為單精度類型( float )和雙精度類型( double )兩種。如:

在vc中,float 型數據在內存中佔4個位元組(32位),double型數據佔8個位元組。單精度實數提供7位有效數字,雙精度實數提供15~16位有效數字。實型常量不分float型和double型,一個實型常量可以賦給一個float 型或double型變數,但變數根據其類型截取實型常量中相應的有效數字。

注意:實型變數只能存放實型值,不能用整型變數存放實型值,也不能用實型變數存放整型值。

(三)字元變數

字元變數用來存放字元常量,定義形式:

char  變數名;

其中關鍵字char定義字元型數據類型,佔用一個位元組的存儲單元。

將一個字元賦給一個字元變數時,並不是將該字元本身存儲到內存中,而是將該字元對應的ASCII碼存儲到內存單元中。例如,字元 ′A′ 的ASCII碼為65,在內存中的存放形式如下:01000001

由於在內存中字元以ASCII碼存放,它的存儲形式和整數的存儲形式類似,所以C語言中字元型數據與整型數據之間可以通用,一個字元能用字元的形式輸出,也能用整數的形式輸出,字元數據也能進行算術運算,此時相當於對它們的ASCII碼進行運算。

     •6 類型的自動轉換和強制轉換

當同一表達式中各數據的類型不同時,編譯程序會自動把它們轉變成同一類型後再進行計算。轉換優先順序為:

即左邊級別「低「的類型向右邊轉換。具體地說,若在表達式中優先順序最高的數據是double型,則此表達式中的其他數據均被轉換成double型,且計算結果也是double型;若在表達式中優先順序最高的數據是float型,則此表達式中的其他數據均被轉換成float型,且計算結果也是float型。

在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉換;當右邊的類型高於左邊的類型時,則在轉換時對右邊的數據進行截取。

除自動轉換外,還有強制轉換,表示形式是:

討論:當a值賦值為3.4,b值賦值為2.7,(int)(a+b)和(int)a+b的值分別為多少?

   • 7  C運算符認識

C語言的運算符范圍很廣,可分為以下幾類:

1、算術運算符:用於各類數值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(%)、自增(++)、自減(--)共七種。

2、賦值運算符:用於賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(&=,|=,^=,>>=,<<=)三類共十一種。

3、逗號運算符:用於把若干表達式組合成一個表達式(,)。

4、關系運算符:用於比較運算。包括大於(>)、小於(<)、等於(==)、 大於等於(>=)、小於等於(<=)和不等於(!=)六種。

5、邏輯運算符:用於邏輯運算。包括與(&&)、或(||)、非(!)三種。

6、條件運算符:這是一個三目運算符,用於條件求值(?:)。

7、位操作運算符:參與運算的量,按二進制位進行運算。包括位與(&)、位或(|)、位非(~)、位異或(^)、左移(<<)、右移(>>)六種。

8、指針運算符:用於取內容(*)和取地址(&)二種運算。

9.、求位元組數運算符:用於計算數據類型所佔的位元組數(sizeof)。

10、特殊運算符:有括弧(),下標[],成員(→,.)等幾種。

另外,按參與運算的對象個數,C語言運算符可分為:單目運算符 (如 !)、雙目運算符 (如+,- )和三目運算符 (如 ?  : )。

一、   基本的算術運算符

(1)+(加法運算符或正值運算符,如2+5)。

(2)-(減法運算符或負值運算符,如4-2)。

(3)*(乘法運算符,如3*8)。

(4)/(除法運算符,如11/5)。

/的運算分為兩種情況:

(5)%(模運算符或稱求余運算符,%兩側均應為整型數據,如9%7的值為2)。

需要說明的是:當運算對象為負數時,所得結果隨編譯器不同而不同,在vc中,結果的符號與被除數相同,比如:13%-2值為1,而-15%2值為-1.

二、   算術表達式和運算符的優先順序與結合性

算術表達式是用算術運算符和括弧將運算量(也稱操作數)連接起來的、符合C語言語法規則的表達式。運算對象包括函數、常量和變數等。

在計算機語言中,算術表達式的求值規律與數學中的四則運算的規律類似,其運算規則和要求如下。

(1)在算術表達式中,可使用多層圓括弧,但括弧必須配對。運算時從內層圓括弧開始,由內向外依次計算各表達式的值。

(2)在算術表達式中,對於不同優先順序的運算符,可按運算符的優先順序由高到低進行運算,若表達式中運算符的優先順序相同,則按運算符的結合方向進行運算。

(3)如果一個運算符兩側的操作數類型不同,則先利用自動轉換或強制類型轉換,使兩者具有相同類型,然後進行運算。

三、   自增自減運算符

作用:使變數的值增1或減1。

(1)只有變數才能用自增運算符 (++)和自減運算符(--),而常量或表達式不能用,如10++或(x+y)++都是不合法的。

(2)++和--的結合方向是「自右向左「,如 -i++ ,i的左邊是負號運算符,右邊是自增運算符,負號運算和自增運算都是 「自右向左「結合的,相當於 -(i++)。

在循環語句中常用到自增(減)運算符,在指針中也常用到該運算符,考生要弄清楚「i++」和「++i」及「i--」和「--i」的區別,特別弄清楚表達式的值和變數的值。

例:變數n的初始值為2,則

例:有以下程序

程序運行後的輸出結果是_____

A.12  35  13  35  14  36     B. 12  35  14  35  14  36

C.12  35  14  36  14  36     D. 12  35  14  35  14  35

解析:自增自減運算需要注意區分表達式的值和變數的值,表達式運算後,變數會自增自減運算,表達式和變數變化如下:

     •9 賦值運算符與賦值表達式

一、賦值運算符與賦值表達式

賦值符號 「=「就是賦值運算符,作用是將一個數據賦給一個變數或將一個變數的值賦給另一個變數,由賦值運算符組成的表達式稱為賦值表達式。一般形式為:

變數名 = 表達式

在程序中可以多次給一個變數賦值,每賦一次值,與它相應的存儲單元中的數據就被更新一次,內存中當前的數據就是最後一次所賦值的那個數據。

說明:

a、如果賦值號兩邊的運算對象類型不一致,系統會自動進行類型轉換,轉換的規則:將賦值號右邊表達式的值的類型轉換成賦值號左邊變數的類型,

b、 可以將復製表達式的值再賦值給變數,形成連續賦值。

二、復合的賦值運算符

在賦值運算符之前加上其他運算符可以構成復合賦值運算符。其中與算術運算有關的復合運算符是:+=,-=,*=,/=,%= 。

兩個符號之間不可以有空格,復合賦值運算符的優先順序與賦值運算符的相同。表達式n+=1等價於n=n+1,作用是取變數n中的值增1再賦給變數n,其他復合的賦值運算符的運算規則依次類推。

如求表達a+=a-=a*a 的值,其中a的初值為12 。

步驟:

   •10  逗號運算符和逗號表達式

在c語言中,逗號除了作為分隔符,還可以用作一種運算符----逗號運算符,用逗號運算符將幾個表達式連接起來,例如a=b+c,a=b*c等稱為逗號表達式。

一般形式為:

表達式1 ,表達式2 ,表達式3 , …,表達式n

例:x=2,y=3,z=4

逗號表達式具有從左至右的結合性,即先求解表達式1,然後依次求解表達式2,直到表達式n的值。表達式n的值就是整個逗號表達式的值。上述的逗號表達式的值就是表達式z=4的值4.需要注意的是,逗號運算符是所有運算符中級別最低的。

例:有如下程序段:

程序顯示結果為:y=6,x=6

討論:將y=(x=a+b),(b+c);改為y=((x=a+b),b+c) 的程序結果?

  • 11 關系運算符和關系表達式

一、   C語言中的邏輯值

C語言中的邏輯值只有兩個:真(true)和假(flase)。用非零代表真,用零代表假。因此,對於任意一個表達式,如果它的值為零,就代表一個假值,如果它的值為非零,就代表一個真值。只要值不是零,不管是正數,負數,整數,實數,都代表一個真值。例如-5的邏輯值為真。

二、   關系運算符及其優先次序

C語言提供了6種關系運算符,見表

由兩個字元組成的運算符之間不可以加空格,關系運算符都是雙目運算符。

(1)結合性:自左向右。

(2)優先次序:前4種關系運算符( <,<=,>=,> )的優先順序別相同,後兩種 (==,!=)優先順序相同,且前4種優先順序高於後兩種;關系運算符的優先順序低於算術運算符,高於賦值運算符。

三、   關系表達式

由關系運算符連接而成的表達式稱為關系表達式。

例如:a>b,(a=7)>(b=10)等都是合法的關系表達式。

關系表達式的結果有兩個:0和1,。其中0表示假,1表示真。如果關系表達式成立,則值為真,如果關系表達式不成立,則值為假。

例:變數a的值為5,b的值為6,那麼關系表達式a>b的值為假,即為0.而關系表達式

(a=13)>(b=10)的值為真,即為1。

當關系運算符兩邊值的類型不一致時,若一邊是整型,一邊是實型,系統將自動把整型數轉化為實型數,然後再進行比較。

    •12 邏輯運算符和邏輯表達式

一、   邏輯運算符及其優先順序

C語言提供了3種邏輯運算符,如下表。

二、   邏輯表達式

「&&」和「||」的運算對象有兩個,故它們都是雙目運算符,而!的運算對象只有一個,因此它是單目運算符。邏輯運算舉例如下:

(1)a&&b: 當&&兩邊都為「真」時,表達式a&&b的值才是真。

值得注意的是:在數學中,關系式0

(2)a||b: 當||兩邊有一個為「真」時,表達式a||b的值就是真。

(3)!a:   表示取反,如果a為真,則!A為假,反之亦然。例如!-5的值就為0.

在C語言中,由&&或||組成的邏輯表達式,在某些特定情況下會產生「短路「現象。

(1)x && y && z ,只有當x為真(非0)時,才需要判別y的值;只有x和y都為真時,才需要去判別z的值;只要x為假就不必判別y和z,整個表達式的值為0。口訣:「一假必假」。

例:(!5==1)&&(++i==0)  (!5==1)表達式的值為0,所以計算機運行中就跳過(++i==0)此表達式,(!5==1)&&(++i==0)表達式的值為0.

(2)x||y||z ,只要x的值為真(非零),就不必判別y和z的值,整個表達式的值為1,只有x的值為假,才需要判別y的值,只有x和y的值同時為假才需要判別z的值,口訣:「一真必真」。

   •13 位運算

一、   位運算符

在計算機中,數據都是以二進制數形式存放的,位運算就是指對存儲單元中二進制位的運算。C語言提供6種位運算符。

二、位運算

位運算符 &  |~<<  >>  ∧ 按優先順序從高到低排列的順序是:

位運算符中求反運算「~「優先順序最高,而左移和右移相同,居於第二,接下來的順序是按位與 「&「、按位異或 「∧「和按位或 「|「。順序為~  <<  >>  &  ∧  |  。

例1左移運算符「<<」是雙目運算符。其功能把「<< 」左邊的運算數的各二進位全部左移若干位,由「<<」右邊的數指定移動的位數,高位丟棄,低位補0。

例 2右移運算符「>>」是雙目運算符。其功能是把「>> 」左邊的運算數的各二進位全部右移若干位,「>>」右邊的數指定移動的位數。

應該說明的是,對於有符號數,在右移時,符號位將隨同移動。當為正數時,最高位補0,而為負數時,符號位為1,最高位是補0或是補1 取決於編譯系統的規定。

例 3 設二進制數a是00101101 ,若通過異或運算a∧b 使a的高4位取反,低4位不變,則二進制數b是。

解析:異或運算常用來使特定位翻轉,只要使需翻轉的位與1進行異或操作就可以了,因為原數中值為1的位與1進行異或運算得0 ,原數中值為0的位與1進行異或運算結果得1。而與0進行異或的位將保持原值。異或運算還可用來交換兩個值,不用臨時變數。

所以本題的答案為: 11110000 。

⑦ 1ml等於多少cc

1ml=1cc。原因解釋如下:

1 cc = 1 立方厘米= 1 ml

也就是說,在量值上, 1 cc = 1ml。

至於說他們之間區別在於:

1、意義不同:cc是容積單位,ml為體積單位;

2、使用領域不同:cc現在在中國地區一般多用於醫學上面,比如說獻血的時候會說200cc或者400cc等等。而我們說礦泉水的時候一般都會說500ml等等。

(7)c語言中ml的意義擴展閱讀:

容積和體積是不同的

1、含義不同。如一隻鐵桶的體積是指它外部所佔空間部分的大小,而這只鐵桶的容積卻蘆圓隱是指它內部容納物體的多少。一種物體有體積,可不一定有容積。

2、測量方法不同。在計算物體的體積或容積前一般要先測量長、寬、高,求物體的體積是從該物體的外部來測量,而求容積卻是從物體的內部來測量。一種既有體積又有容積的封閉物體,它的體積一定大於它的容積。

3、單位名稱不完全相同。體積單位一般用:立方米、立方分米、立方厘米;固體腔好的容積單位與體積單位相同,而液體和氣體的體積與容積單位一般都用升、毫升。

4.公式:V長方體=abc(長× 寬× 高) v正方體=a^3(棱長× 棱長× 棱長),v圓柱=Sh,v圓錐=1/3sh。

5.計量液體的體積,如水、油等,常用容積單位升和毫升,也可以寫成L和mL。

6.計算不規則的立體圖形體積可以把這陪廳個物體放入水中,用現在容積-未放入物體的容積就是體積或用放入物體後高-未放入物體*長*寬(1升=1立方分米;1毫升=1立方厘米)

⑧ C語言 printf中轉義字元意義 ,

C語言printf中的轉義字元和他的含義如下表所示


顯示整數、浮點數和字元串的程序

#include
<stdio.h>

void main()

{

int a = 10;

float b = 24.67892345;

char ch = 'A';


printf("Integer
data = %d ", a);

printf("Float Data =
%f ",b);

printf("Character =
%c ",ch);

printf("This prints the
string ");

printf("%s","This
also prints a string ");

}

printf()
中的修飾符

•「-」 修飾符

數據項在范圍內向左對齊,從范圍最左側的位置開始輸出數據項

•字元寬度修飾符

可以用於浮點型、雙精度型和字元數組型(字元串)。

范圍寬度修飾符是一個整數,定義了數據項的 最大范圍寬度。

•精度修飾符

可以用在浮點型、雙精度型或字元數組型(字元串)中。如果用在浮點型或雙精度型數據中,數字字元串表示小數右側最多可輸出的數字位數

•「0」修飾符

欄位的默認填充符是空格。如果用戶希望用零作為填充符,需要使用此修飾符

•「l」修飾符

可以藉助於此修飾符將整數顯示為長整型或雙精度型參數。相應的格式代碼為 %ld

•「h」
修飾符

此修飾符用於顯示短整數。

相應的格式代碼為 %hd


「*」
修飾符

如果用戶不希望預先指定欄位寬度,

而希望程序來指定,則需要用到此修飾符

修飾符示例

#include
<stdio.h>

void
main()

{

printf("The number 555 in various
forms: ");

printf("Without any modifier: ");

printf("[%d] ",555);

printf("With – modifier : ");

printf("[%-d] 」,555);

printf("With digit string 10 as modifier
: ");

printf("[%10d] 」,555);

printf("With 0 as modifier : ");

printf("[%0d] 」,555);

printf("With 0 and digit string 10 as
modifiers : ");

printf("[%010d] 」,555);

printf("With -, 0 and digit string 10 as
modifiers: ");

printf("[%-010d] ",555);

}

⑨ C語言跟C#有什麼不一樣的

最大的區別,C語言編譯後是變成機器語言直接運行在CPU上的,C#編譯出來的ML是運行在一個叫CLR的類似虛擬機的東西上的。並不直接使用CPU。
C語言是一門非常基礎的語言擾告冊,提供了高效的目標程序和比較少的特性,比如面向對象的類,抽象,多態和繼緩宏承都無法實現,而C#是一門純面向對象語言,不僅強制要求類定義,並且全面支持面向對象的方法(抽象,多態和繼承)。
C語言有指針類型(可以說是這門語言的精髓),對於計算機有深入了解的程序員可以使用指針進行各種「精妙」的操作,當然也伴隨著很大的風險,比如指針異常導致的內存溢出。C#在標准代碼中不允許使用指針,事實上絕大部分指針的操作都被C#良好的封裝了,避免了內存溢出的風險。
另外C#由於遵守CLT定義並運行在CLR上,有良好的可移植性,只要目標機器安裝了對應版本的.NET Frameword,C#程序就可以在那台機器上運行(雖然.NET目前主要在Windows上才有),而C編譯的完成的程序會根據操作系統和CPU型號有一定的不兼容性,不過幾乎所有的友寬CPU+所有的操作系統上都有C的編譯器,所以應用范圍比C#還要廣。
當然,普遍認為一個熟練的程序員使用C編譯的程序效率要高於使用C#編譯出來的。