[go: nahoru, domu]

删除的内容 添加的内容
LanLLC留言 | 贡献
无编辑摘要
FrankYang0610留言 | 贡献
无编辑摘要
 
第36行:
|wikibooks = C Programming
}}
'''C语言'''(英語:'''C Language''')是一种通用的、[[过程式编程]][[程式語言]],支持[[结构化编程]]、词法作用域和[[递归]],使用静态类型系统,并且广泛用于[[系统软件]]与[[应用软件]]的开发。
 
C语言于1969年至1973年間,為了移植與開發[[UNIX]][[作業系統]],由[[丹尼斯·里奇]]與[[肯·汤普逊]],以[[B语言]]为基础,在[[贝尔实验室]]設計、开发出來。二十世纪八十年代,C语言应用日渐广泛。為了避免各開發廠商用的C語言的語法產生差異,[[美國國家標準局]]為C語言訂定了一套完整的國際標準語法,稱為[[ANSI C]],作為C語言的標準。与此同时,[[国际标准化组织]]也接受该标准为国际标准。因此,ANSI C也同时被称为ISO C。二十世纪八十年代至今的有关程式開發工具,一般都支持符合[[ANSI C]]的語法。
第83行:
{{expand section}}
 
C語言的语法相对简洁而直接。C语言的[[形式文法]]由[[国际标准化组织]]所制定。<ref name="isowg">{{Cite web|title=ISO/IEC JTC1/SC22/WG14 - C|url=http://www.open-std.org/jtc1/sc22/wg14/ |title=ISO/IEC JTC1/SC22/WG14 - C |language=en |accessdate=2022-04-02 |archive-date=2018-02-12 |archive-url=https://web.archive.org/web/20180212100115/http://www.open-std.org/jtc1/sc22/wg14/ |archive-date=2018-02-12|accessdate=2022-04-02}}</ref>C语簡單來說,C語的源代码含声明和函数定义。函数定义又包含声明和语句。声明可以定义一个新的类型,比结构(<code>struct</code>)、联合(<code>union</code>)和枚举(<code>enum</code>),也可以为变量赋予类型和预留内存。复合语句由一对花括号包含,可以使得几个语句从文法上变成一个语句。
 
# 作为一种[[指令式编程]]语言,C语言使用语句执行操作。最常见的语句是[[表达式]]语句,由一个表达式后加一个分号组成,可以令系统调用函数和为变量赋值。C语言也提供各种用保留关键字组成的控制流语句,以达到[[结构化编程]]的效果,例如选择语句(<code>if</code>和<code>else</code>)、循环语句(<code>for</code>循环、<code>while</code>循环和<code>do</code>...<code>while</code>循环)和跳转语句(<code>goto</code>、<code>break</code>和<code>continue</code>)。表达式可以包含不同的运算符,也可以调用函数。
# 註釋: C语言支持单行注释(以<code>//</code>开头)和多行注释(以<code>/*</code>开始,以<code>*/</code>结束);
# 数据类型: 基本的数据类型包括整数(<code>int</code>)、浮点数(<code>float</code>和<code>double</code>)、字符(<code>char</code>)、枚舉<code>enum</code>等;
# 数组: 数组是一组相同类型的数据元素的集合。使用以下方法初始化一個五個元素的整數數組:<syntaxhighlight lang="c">
int numbers[5] = {1, 2, 3, 4, 5};
</syntaxhighlight>
# 封裝結構:结构(<code>struct</code>)、联合(<code>union</code>);
# 結構化編程和控制结构: C语言包括条件语句(<code>if</code>、<code>else</code>)、循环语句(<code>for</code>、<code>while</code>、<code>do-while</code>)等;
# 跳轉語句:C語言允許使用跳轉關鍵字<code>goto</code>、<code>break</code>和<code>continue</code>來實現程序塊之間的跳轉,這和匯編語言的<code>jmp</code>關鍵字有一定相似處;
# 函数: C语言中的函数是程序的基本模块,可以自定义函数并在程序中调用;
# 靈活且靠近底層的內存控制機制:C程序員可以自由選擇分配何種內存,以及分配多大的內存,如如下代碼所示:<syntaxhighlight lang="c">
int *array = (int *)malloc(5 * sizeof(int)); // 分配一個包含五個整數的數組
free(array); // 釋放使用malloc分配的內存
 
</syntaxhighlight>
 
== Hello World 程序 ==