當前位置:首頁 » 編程語言 » c語言標准

c語言標准

發布時間: 2022-02-09 09:18:33

c語言考試標准

上機考試有三個題目
1 填空(2-3個空)30分
2 改錯(2-3個錯誤)30分
3 編程40分
1 2 題是按照每個考點的答案給分的也就是說只有和標准答案一致的才是正確的 雖然和標准答案不同也有可能運行正確 但是也不能得分 不過不用擔心這個 因為題目簡單相應的正確答案的種類也少 所以運行正確就OK

3題要求最高 也最靈活 只要能寫出符合題目要求功能的代碼就可以得40分 否則0

你可以買一些關於上機考試的書 (附帶光碟 光碟有模擬的考試系統 我考過2級 它真正的考試系統幾乎一樣) 說白了就是考試題庫 自己多練練就可以過(考試題目是從共有100套題的題庫里隨即抽的 只要能掌握了它就可以)

㈡ C語言書寫格式標準是什麼

你的錯誤是沒加頭文件,因為使用printf需要調用庫函數 stdio.h。

符號名包括模塊名、常量名、標號名、子程序名等。這些名字應該能反映它所代表的實際東西,具有一定的意義,使其能夠見名知義,有助於對程序功能的理解。命名採用匈牙利命名法。具體規則如下:
(1)所有宏定義、枚舉常數和const變數,用大寫字母命名。在復合詞里用下劃線隔開每個詞。
(2)復合詞中每個單詞的第一個字母大寫。除了規則5.1.1.1以外,避免使用下劃線。
(3)類、類型定義和枚舉型名的第一個字母大寫。
(4)函數名是復合詞的,第一個詞採用全部小寫,隨後每個單詞採用第一個字母大寫,其它字母小寫方式;如果是單個詞的,採用全部小寫方式。
(5)循環變數可採用i, j, k等,不受上述規則限制。
(6) 類的成員變數應採用m_開頭。
(7) 全局變數詞頭為g_ 。
(8) 臨時變數詞頭為tmp_ 。
(9) 對結構體內的變數命名, 遵循變數的具體含義命名原則
(10)用小寫字母的前綴表示變數的類型,前綴的下一個字母用大寫。

——文件之中不得存在無規則的空行,比如說連續十個空行。
一般來講函數與函數之間的空行為2-3行;
在函數體內部,在邏輯上獨立的兩個函數塊可適當空行,一般為1-2行。
——程序編寫首先應考慮清晰性,不要刻意追求技巧性而使得程序難以理解。
——每行長度盡量避免超過屏幕寬度,應不超過80個字元。
——除非對效率有特殊要求,編寫程序要作到清晰第一,效率第二。
——盡可能使用函數庫。
——盡量用公共過程或子程序去代替重復的功能代碼段。要注意,這個代碼應具有一個獨立的功能,不要只因代碼形式一樣便將其抽出組成一個公共過程或子程序。
——使用括弧清晰地表達算術表達式和邏輯表達式的運算順序。如將 x=a*b/c*d 寫成 x=(a*b/c)*d可避免閱讀者誤解為x=(a*b)/(c*d)。
——避免不必要的轉移。
——避免採用過於復雜的條件測試。
——避免過多的循環嵌套和條件嵌套。
——建議不要使?*=,^=, /=等運算符。
——一個函數不要超過200行。一個文件應避免超過2000行。
——盡量避免使用go to語句。
——避免採用多賦值語句,如x = y = z ;
——不鼓勵採用?:操作符,如z = (a>b)?a:b;
——不要使用空的if else 語句。

㈢ c語言中,標准main函數的書寫規范是什麼

在最新的 C99 標准中,只有以下兩種定義方式是正確的:
int main( void ) /* 無參數形式 */
{
...
return 0;
}
int main( int argc, char *argv[] ) /* 帶參數形式 */
{
...
return 0;
}
int指明了main()函數的返回類型,函數名後面的圓括弧一般包含傳遞給函數的信息。void表示沒有給函數傳遞參數。關於帶參數的形式,我們等會討論。
瀏覽老版本的C代碼,將會發現程序常常以。
main()
這種形式開始。C90標准允許這種形式,但是C99標准不允許。因此即使你當前的編譯器允許,也不要這么寫。
你還可能看到過另一種形式。
void main()
有些編譯器允許這種形式,但是還沒有任何標准考慮接受它。C++ 之父 Bjarne Stroustrup 在他的主頁上的 FAQ 中明確地表示:void main( ) 的定義從來就不存在於 C++ 或者 C 。所以,編譯器不必接受這種形式,並且很多編譯器也不允許這么寫。

㈣ C語言標准包括哪些

有很多的標准,但基本上對應用不會有太大的干擾。比較重要的標準是C89/C90和C99。而且沒必要去深入研究標准,相比之下,研究編譯器是如何實現標准以及作了哪些擴充,似乎更有意義。

㈤ 國際上C語言常見的三個標準是什麼

C89 C90 C99
C語言是一門高級計算機編程語言,設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。

㈥ 各種C語言標准與區別

GNU C 允許零長度數組
GNU C 允許定義長度為0的數組,可能很多人會問長度為0的數組有什麼用啊。其實我們可以定義一個長度為0的數組,那麼這個數組是不佔用內存空間的,但是 我們可以通過這個數組來訪問數組後面的數據,比如一個結構體:
struct data_pra
{
char name;
char num[0];
char year;
charr month;
...
};
struct data_pra data;
就可以通過調用data.num[0]獲得year數據,data.num[1]來獲得month的數據。如果他們的類型相同,並且取值范圍相同,我們要對他們進行范圍檢查,這是我們就可以通過for循環來實現,而不需要獲取每個數據的值,再進行取值范圍判斷了。
GNU支持case 取值范圍用法
GNU C 支持case x…y 語法,區間[x,y]的數都會滿足這個case的條件,我們在不考慮if判斷的情況下,如整數a的取值范圍為0-5,當0<3時執行fun1函數,大於等於3時執行fun2();則GNU C可以通過以下代碼實現:
switch(a)
{
case 0..: 2:fun1();
break;
case 3…5: fun2();
break;
}
而不是
switch(a)
{
case 0
case 1;
case 2:
fun1();
break;
case 3:
case 4;
case 5:
fun2();
break;
}
如果條件越多,這種實現方案就越簡單方便。也便於其他人員閱讀代碼。
語句表達式
GNU C把包含在括弧里的復合語句看做是一個表達式,稱為語句表達式,它可以出現在任何允許表達式的地方。可以在語句表達式中使用原本只能在復合語句中使用的循環變數、局部變數等,例如:
#define min_t(type,x,y) ({type __x=(x); type __y=(y);__x<__y?__x:__y})
int ia,ib,mini;
mini=min_t(int,ia,ib);
這樣,因為重新定義了__x和__y這兩個局部變數,所以上述方法定義的宏將不會有副作用。在標准C中,對應的宏通常會有副作用
typeof關鍵字
typeof(x) 可以獲得x的類型,因此,可以藉助typeof重新定義上一條提到的min_t這個宏
#define min(x,y) /
({ /
const typeof(x) _x=(x);/
const typeof(y) _y=(y);/
(void) (&_x==&_y);/
_x<_y ? _x: _y ; })
不需要像上一條時那樣傳一個type進去,因為通過typeof(x)可以得到type。
代碼 (void) (&_x==&_y);的作用是檢查_x和_y的類型是否一致。
可變參數的宏
標准C只支持可變參數的函數,意味著函數的參數可以是不固定的
例如printf()函數的原型是
int printf(const char *format [,argument]…)
而在GNU C中,宏也可以接受可變數目的參數,例如
#define pr_debug(fmt,arg…) printk(fmt,##arg)
這里arg表示其餘的參數可以是零個或多個,這些參數以及參數之間的逗號構成arg的值,
在宏擴展時替換arg ,例如
pr_debug(「%s:%d」,filename,line);
被擴展為
printk(「%s:%d」,filename,line);
使用##的原因是為了處理arg不代表任何參數的情況,這時候,前面的逗號就變得多餘了。
使用##之後,GNU C預處理器會丟棄前面的逗號
pr_debug(「success!/n」) 會被正確擴展為 printk(「success!/n」)
而不是 printk(「success!/n」,);

㈦ ANSI C語言標准

由ANSI標準定義的C語言關鍵字共32個 :
auto double int struct break else long switch
case enum register typedef char extern return union
const float short unsigned continue for signed void
default goto sizeof volatile do if while static
根據關鍵字的作用,可以將關鍵字分為數據類型關鍵字和流程式控制制關鍵字兩大類。
1 數據類型關鍵字
A基本數據類型(5個)
void :聲明函數無返回值或無參數,聲明無類型指針,顯式丟棄運算結果
char :字元型類型數據,屬於整型數據的一種
int :整型數據,通常為編譯器指定的機器字長
float :單精度浮點型數據,屬於浮點數據的一種
double :雙精度浮點型數據,屬於浮點數據的一種
B 類型修飾關鍵字(4個)
short :修飾int,短整型數據,可省略被修飾的int。
long :修飾int,長整形數據,可省略被修飾的int。
signed :修飾整型數據,有符號數據類型
unsigned :修飾整型數據,無符號數據類型
C 復雜類型關鍵字(5個)
struct :結構體聲明
union :共用體聲明
enum :枚舉聲明
typedef :聲明類型別名
sizeof :得到特定類型或特定類型變數的大小
D 存儲級別關鍵字(6個)
auto :指定為自動變數,由編譯器自動分配及釋放。通常在棧上分配
static :指定為靜態變數,分配在靜態變數區,修飾函數時,指定函數作用域為文件內部
register :指定為寄存器變數,建議編譯器將變數存儲到寄存器中使用,也可以修飾函數形參,建議編譯器通過寄存器而不是堆棧傳遞參數
extern :指定對應變數為外部變數,即在另外的目標文件中定義,可以認為是約定由另外文件聲明的韻蟮囊桓觥耙�謾?
const :與volatile合稱「cv特性」,指定變數不可被當前線程/進程改變(但有可能被系統或其他線程/進程改變)
volatile :與const合稱「cv特性」,指定變數的值有可能會被系統或其他進程/線程改變,強制編譯器每次從內存中取得該變數的值
2 流程式控制制關鍵字
A 跳轉結構(4個)
return :用在函數體中,返回特定值(或者是void值,即不返回值)
continue :結束當前循環,開始下一輪循環
break :跳出當前循環或switch結構
goto :無條件跳轉語句
B 分支結構(5個)
if :條件語句
else :條件語句否定分支(與if連用)
switch :開關語句(多重分支語句)
case :開關語句中的分支標記
default :開關語句中的「其他」分治,可選。
C 循環結構(3個)
for :for循環結構,for(1;2;3)4;的執行順序為1->2->4->3->2...循環,其中2為循環條件
do :do循環結構,do 1 while(2); 的執行順序是 1->2->1...循環,2為循環條件
while :while循環結構,while(1) 2; 的執行順序是1->2->1...循環,1為循環條件
以上循環語句,當循環條件表達式為真則繼續循環,為假則跳出循環。
參考資料: http://www.cnblogs.com/atticstudio/archive/2010/02/06/1665153.html

㈧ C語言的標准格式

#include<stdio.h> void main { 裡面是代碼; }

㈨ 現在的c語言標準是c99嗎

C99是標准ISO/IEC 9899:1999的簡稱。
2011年12月8號,ISO 發布了新的 C 語言的新標准——C11,之前被稱為C1X,官方名稱 ISO/IEC 9899:2011。
C11是目前最新的C語言標准。

熱點內容
怎麼在電腦上重啟機房伺服器 發布:2025-01-04 15:40:02 瀏覽:869
攝影後期電腦配置i5怎麼樣 發布:2025-01-04 15:39:19 瀏覽:403
linux橋接設置 發布:2025-01-04 15:39:07 瀏覽:57
安卓屏幕怎麼設置成老人用的 發布:2025-01-04 15:33:53 瀏覽:314
學電腦編程要多久 發布:2025-01-04 15:20:15 瀏覽:331
華為手機存儲卡插哪 發布:2025-01-04 15:01:02 瀏覽:39
ftp是一種服務嗎 發布:2025-01-04 14:59:41 瀏覽:161
寶寶商業保險怎麼配置 發布:2025-01-04 14:53:20 瀏覽:786
途銳拓野版有什麼配置 發布:2025-01-04 14:32:07 瀏覽:176
micropython編譯器 發布:2025-01-04 14:31:14 瀏覽:470