C语言

C語言
在第一部介绍C语言的书籍《C程序设计语言》的初版封面上使用的C标识
编程范型程序式指令式编程过程式)、结构化编程
設計者丹尼斯·里奇(Dennis Ritchie)
實作者丹尼斯·里奇(Dennis Ritchie)和肯·汤普逊(Ken Thompson)
发行时间1972年,​52年前​(1972
当前版本
  • C17(2018年6月;穩定版本)
  • C23(2020年12月11日;預覽版本)[1][2]
編輯維基數據鏈接
型態系統静态, 弱类型, 明示英语Manifest typing, 名称英语Nominal type system
操作系统跨平台
網站www.iso.org/standard/74528.html 編輯維基數據鏈接
主要實作產品
ClangGCCMSVCTurbo CWatcom C
啟發語言
BBCPLCPL)、ALGOL 68[3]組合語言PL/IFORTRAN
影響語言
大量
如:awkBitC英语BitCcshC++C#
DJavaJavaScriptObjective-CPerlPHPRust

C语言(英語:C Language)是一种通用的、过程式编程程式語言,支持结构化编程、词法作用域和递归,使用静态类型系统,并且广泛用于系统软件应用软件的开发。

C语言于1969年至1973年間,為了移植與開發UNIX作業系統,由丹尼斯·里奇肯·汤普逊,以B语言为基础,在贝尔实验室設計、开发出來。二十世纪八十年代,C语言应用日渐广泛。為了避免各開發廠商用的C語言的語法產生差異,美國國家標準局為C語言訂定了一套完整的國際標準語法,稱為ANSI C,作為C語言的標準。与此同时,国际标准化组织也接受该标准为国际标准。因此,ANSI C也同时被称为ISO C。二十世纪八十年代至今的有关程式開發工具,一般都支持符合ANSI C的語法。

C语言具有高效、灵活、功能丰富、表达力强和較高的可移植性等特点,在程式設計中备受青睐,成为最近25年使用最为广泛的编程语言[4]。目前,C语言編譯器普遍存在於各種不同的操作系统中,例如Microsoft WindowsmacOSLinuxUnix等。C語言的設計影響了众多後來的程式語言,例如C++Objective-CJavaC#等。现行的许多软件都是由C语言或者其影响和衍生的编程语言开发出来的。

概述

ALGOL一族的大多数过程式编程语言类似,C語言是一個有結構化程式設計、具有变量作用域(variable scope)以及遞迴功能的程序式語言。其采用的静态类型系统可以防止无意的程序设计操作。C语言中所有的可执行代码都被包含在子程序(函数)裡。其傳遞參數均是以值傳遞(pass by value)[5],另外也可以傳遞指针(a pointer passed by value)。C语言是自由形式语言,即其源代码的缩进并不影响程序的功能,而是使用分号作为语句的结尾,花括号来表示代码块

由于C语言的语言规模较小,若干高层的机制需要使用定义的函数来提供。比如,C语言并没有直接处理复合对象(例如字符串、集合、列表、数组等)的操作,也没有对于存储器分配工具和内存回收工具的直接定义,同时也本身不具有输入和输出以及文件访问的方法。然而,用户定义的函数和C语言标准库中的函数为这些高层的机制提供了可能性。[6]

C语言也具有以下的特性:[6]

  • 基本数据类型包括字符、整型和浮点数等。另外也有派生的各种数据类型,如指针数组、结构和联合。
  • 部份的变量類型可以轉換,例如整數型和字符型变量。
  • 透過指標(pointer),C語言可以容易的對記憶體進行低階控制。
  • 不同的變數類型可以用結構体(struct)組合在一起。
  • 具有基本的控制流:语句组、条件判断、多路选择、循环等。
  • 函数可以返回各种数据类型的值,并且都可以递归调用。每次调用函数会重新创建变量。
  • C语言只有32個保留字(reserved keywords),使变量、函數命名有更多彈性。
  • 编译预处理(preprocessor)讓C語言的編譯更具有彈性。

歷史

20世纪70年代,肯·汤姆森为了使其设计的Unix系统更加高效,使用B语言的变种(即C语言)在DEC PDP-7计算机上重写了Unix。C语言中许多重要概念来源于BCPL语言,其对C语言的影响也间接地来源于B语言。在1978年,丹尼斯·里奇布萊恩·柯林漢合作出版了《C程序设计语言》第一版,事实上即为K&R C标准[7]。1983年,为了制定一个独立于具体机器且无歧义的C语言标准,美国国家标准协会成立了一个委员会,并在1988年完成了该标准的制定,即ANSI C。此标准同时被国际标准化组织所采纳,也被称作ISO C。

其后,C语言至今经历了几次标准更新,诞生了C99C11和目前最新的标准C18。C语言标准的下一次更新C2x目前正在起草中。

語法

C語言的语法相对简洁而直接。C语言的形式文法国际标准化组织所制定。[8]簡單來說,C語言包括如下文法:

  1. 作为一种指令式编程语言,C语言使用语句执行操作。最常见的语句是表达式语句,由一个表达式后加一个分号组成,可以令系统调用函数和为变量赋值;
  2. 註釋: C语言支持单行注释(以//开头)和多行注释(以/*开始,以*/结束);
  3. 数据类型: 基本的数据类型包括整数(int)、浮点数(floatdouble)、字符(char)、枚舉enum等;
  4. 数组: 数组是一组相同类型的数据元素的集合。使用以下方法初始化一個五個元素的整數數組:
    int numbers[5] = {1, 2, 3, 4, 5};
    
  5. 封裝結構:结构(struct)、联合(union);
  6. 結構化編程和控制结构: C语言包括条件语句(ifelse)、循环语句(forwhiledo-while)等;
  7. 跳轉語句:C語言允許使用跳轉關鍵字gotobreakcontinue來實現程序塊之間的跳轉,這和匯編語言的jmp關鍵字有一定相似處;
  8. 函数: C语言中的函数是程序的基本模块,可以自定义函数并在程序中调用;
  9. 靈活且靠近底層的內存控制機制:C程序員可以自由選擇分配何種內存,以及分配多大的內存,如如下代碼所示:
    int *array = (int *)malloc(5 * sizeof(int)); // 分配一個包含五個整數的數組
    free(array); // 釋放使用malloc分配的內存
    

Hello World 程序

Brian Kernighan于1978年亲笔书写的“Hello World”程序
"对于所有语言的初学者来说,编写的第一个程序几乎都是相同的,即‘请打印出下列内容 hello, world’"
– 《C程序设计语言》[6]

现在广泛被编程初学者使用的"hello, world"程序实例最初就是出现在《C程序设计语言》第一版中。下面是一個在標準輸出設備(stdout)上打印出 "Hello, world!" 字串的簡單程式。類似的程式,通常作為初學程式語言時的第一個程式:

#include <stdio.h>

int main(void) {
    printf("Hello, world!\n");
    return 0;
}

其中只有int,void,return为C语言的关键字,预处理器会将#include <stdio.h>替换为stdio.h文件的内容。

main函数是C语言程序的入口点

"Hello, world!\n"中的\n是一个转义字符,形式为\加上一个字符。所起的作用在ASCII码中规定。

printf是声明于stdio.h的函数,关于printf的更多细节,参见printf

关于格式化字符串的更多信息,参见格式化字符串

内存管理

C语言的特色之一是:程序员必须亲自处理内存的分配细节。语言不负责内存边界检查,这是因为在运行时进行内存边界检查会造成性能问题,与UNIX哲学不符。此特性容易导致缓冲区溢出问题。然而,部分编译器(如英特尔编译器)会出于安全性的考量,提供方法以进行运行时内存边界检查[9]

大多数C语言实现使用栈(Stack)来保存函数返回地址/栈帧基址、完成函数的参数传递和函数局部变量的存储。然而,在部分极特殊的平台上,使用栈并不能获得最大效率。此时的实现由编译器决定[10]。 如果程序需要在运行的过程中动态分配内存,可以利用(Heap)来实现。

基本上C程序的元素存储在内存的时候有3种分配策略:

  • 静态分配

如果一个变量声明为全局变量或者是函数的静态变量,这个变量的存储将使用静态分配方式。静态分配的内存一般会被编译器放在数据段代码段来存储,具体取决于实现。这样做的前提是,在编译时就必须确定变量的大小。 以IA32的x86平台及gcc编译器为例,全局及静态变量放在数据段的低端;全局及静态常量放在代码段的高端。

  • 自动分配

函数的自动局部变量应该随着函数的返回会自动释放(失效),这个要求在一般的体系中都是利用栈(Stack)来满足的。相比于静态分配,这时候,就不必绝对要求这个变量在编译时就必须确定变量的大小,运行时才决定也不迟,但是C89仍然要求在编译时就要确定,而C99放松了这个限制。但无论是C89还是C99,都不允许一个已经分配的自动变量运行时改变大小。

所以说C函数永远不应该返回一个局部变量的地址

要指出的是,自动分配也属于动态分配,甚至可以用alloca函数来像分配堆(Heap)一样进行分配,而且释放是自动的。

  • 动态分配

还有一种更加特殊的情况,变量的大小在运行时有可能改变,或者虽然单个变量大小不变,变量的数目却有很大弹性,不能静态分配或者自动分配,这时候可以使用堆(Heap)来满足要求。ANSI C定义的堆操作函数是malloc、calloc、realloc和free。

使用堆(Heap)内存将带来额外的开销和风险。

C語言的标准文档要求了一个平台移植C语言的时候至少要实现的一些功能和封装的集合,称为“标准库”,标准庫的声明头部通過预处理器命令#include進行引用。

在C89標準中:

文件 简介说明
<assert.h> 断言相关
<ctype.h> 字符类型判断
<errno.h> 标准报错机制
<float.h> 浮点运算
<limits.h> 各种体系结构限制
<locale.h> 本地化接口
<math.h> 数学函数
<setjmp.h> 跨函数跳转
<signal.h> 信号(类似UNIX信号定义,但是差很远)
<stdarg.h> 可变参处理
<stddef.h> 一些标准宏定义
<stdio.h> 标准I/O库
<stdlib.h> 标准工具库函数
<string.h> ASCII字符串及任意内存处理函数
<time.h> 时间相关

在94年的修正版中

  • <iso646.h>
  • <wchar.h>
  • <wctype.h>

在C99中增加了六個函式庫

  • <complex.h>
  • <fenv.h>
  • <inttypes.h>
  • <stdbool.h>
  • <stdint.h>
  • <tgmath.h>

以上是C语言的标准。各个系统各自又对C库函数进行的各种扩充,就浩如烟海了。如POSIX CGNU C等。

工具軟體

工具軟體可以幫助程式設計者避免一些程式中潛藏或容易出現的問題,例如常會造成程式未預期動作或是執行期錯誤的程式碼。

許多語言都有自動源代碼檢查及審計工具,C語言也有類似工具,像是Lint。可以在程式剛寫好時用Lint找出可能有問題的程式,通過Lint後再用C編譯器進行編譯,許多編譯器也可以設定是否要針對一些可能有問題的程式碼提出警告。MISRA C是一套針對嵌入式系統的法則,可主要也是避免一些可能有問題的程式碼。

也有一些編譯器、程式庫或作業系統可以處理一些非標準C語言的功能,例如邊界值檢查、缓存溢出偵測、序列化自動垃圾回收功能。

使用像ValgrindIBM Rational Purify英语Purify等軟體工具,或者連結有特別malloc函式的程式庫,有助於找出一些運行期記憶體使用的問題。

經典錯誤

void main() 的用法并不是任何标准制定的[11][12]。 C語言标准語法是 int main(),任何实现都必须支持int main(void) { /* ... */ }int main(int argc, char* argv[]) { /* ... */ }[13]。 在 C++ 標準中,main的標準型態應是int,否则类型是由实现定义的。任何实现都必须支持int main() { /* ... */ }int main(int argc, char* argv[]) { /* ... */ }[14]

参见

註腳

注解

參考資料

  1. ^ History of C. 2020年12月13日 [2020年10月24日] (英語). 
  2. ^ Programming languages — C (PDF). 2020年12月11日 [2020年12月17日] (英語). 
  3. ^ Ritchie, Dennis M. The Development of the C Language. January 1993 [2008-01-01]. (原始内容存档于2015-02-03). The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of. 
  4. ^ TIOBE Programming Community Index [TIOBE编程社区指数]. 2012 [2012-11-03]. (原始内容存档于2018-12-25) (英语). 
  5. ^ Brian W. Kernighan and Dennis M. Ritchie. The C programming Language. Prentice-Hall. 1988. ISBN 0-13-110362-8 (英语). In C, all function arguments are passed ``by value. 
  6. ^ 6.0 6.1 6.2 Dennis M. Ritchie,Brian W. Kernighan. C程序设计语言. 北京: 机械工业出版社. 2004年1月 [2020-06-10]. ISBN 9787111128069 (中文). 
  7. ^ Stephen Prata. C Primer Plus(第5版). 北京: 人民邮电出版社. 2005年2月: 3-4 [2020-07-15]. ISBN 9787115130228 (中文). 
  8. ^ ISO/IEC JTC1/SC22/WG14 - C. [2022-04-02]. (原始内容存档于2018-02-12) (英语). 
  9. ^ check-pointers, Qcheck-pointers. Intel. [2021-06-01]. (原始内容存档于2021-02-15) (英语). 
  10. ^ ISO/IEC 9899:2018 (PDF). [2020-06-10]. (原始内容存档 (PDF)于2020-07-22). 
  11. ^ Can I write "void main()"?页面存档备份,存于互联网档案馆)The definition void main() { /* ... */ } is not and never has been C++, nor has it even been C.
  12. ^ 用 C99 进行开放源代码的开发. [2011-01-21]. (原始内容存档于2011-08-12). 
  13. ^ 「The function called at program startup is named main. The implementation declares no prototype for this function. It shall be defined with a return type of int and with no parameters: int main(void) { /* ... */ } or with two parameters (referred to here as argc and argv, though any names may be used, as they are local to the function in which they are declared): int main(int argc, char *argv[]) { /* ... */ } or equivalent; or in some other implementation-defined manner.」,引自ISO/IEC 9899:1999, Section 5.1.2.2.1 Program startup
  14. ^ 「An implementation shall not predefine the main function. This function shall not be overloaded. It shall have a return type of type int, but otherwise its type is implementation-defined. All implementations shall allow both of the following definitions of main: int main() { /* ... */ } and int main(int argc, char* argv[]) { /* ... */ }.」,引自 ISO/IEC 14882, 第一版(1998)、第二版(2003)與第三版(2011), section 3.6.1 Main function

參考資料

外部連結

Read other articles:

artikel ini perlu dirapikan agar memenuhi standar Wikipedia. Tidak ada alasan yang diberikan. Silakan kembangkan artikel ini semampu Anda. Merapikan artikel dapat dilakukan dengan wikifikasi atau membagi artikel ke paragraf-paragraf. Jika sudah dirapikan, silakan hapus templat ini. (Pelajari cara dan kapan saatnya untuk menghapus pesan templat ini) JatipancurDesaNegara IndonesiaProvinsiJawa BaratKabupatenCirebonKecamatanGregedKode Kemendagri32.09.38.2008 Luas3210 km²Jumlah penduduk4532 ...

 

 

Часть серии статей о Холокосте Идеология и политика Расовая гигиена · Расовый антисемитизм · Нацистская расовая политика · Нюрнбергские расовые законы Шоа Лагеря смерти Белжец · Дахау · Майданек · Малый Тростенец · Маутхаузен ·&...

 

 

Bagian dari seriPendidikan di Indonesia Kementerian Pendidikan, Kebudayaan, Riset, dan Teknologi Republik Indonesia Pendidikan anak usia dini TK RA KB Pendidikan dasar (kelas 1–6) SD MI Paket A Pendidikan dasar (kelas 7–9) SMP MTs Paket B Pendidikan menengah (kelas 10–12) SMA MA SMK MAK SMA SMTK SMAK Utama Widya Pasraman Paket C Pendidikan tinggi Perguruan tinggi Akademi Akademi komunitas Institut Politeknik Sekolah tinggi Universitas Lain-lain Madrasah Pesantren Sekolah alam Sekolah ru...

Christopher RungkatKebangsaanIndonesiaTempat tinggalJakarta, IndonesiaLahir14 Januari 1990 (umur 34)JakartaTipe pemainKananRekor (M–K)13–10Rekor (M–K)7–4 Christopher Rungkat (lahir 14 Januari 1990) adalah seorang petenis Indonesia. Ayahnya Michael Alexander Fritz Rungkat Berdarah Manado-Belanda dan ibunya Elfia Mirlianti Berdarah Kamboja-Indonesia. Christopher dalam bermain tenis dapat bermain di nomor tunggal putra maupun di nomor ganda putra. Ia pernah memperkuat tim Indonesia ...

 

 

Sultan BruneiLambang Yang Mulia Sultan BruneiSedang berkuasaHassanal Bolkiah pada tahun 2009Hassanal Bolkiah PerincianSapaan resmiBagindaPewarisAl-Muhtadee BillahPenguasa pertamaMuhammad ShahPembentukan1405 Sultan Brunei ialah kepala negara Brunei. Garis keturunan kerajaan dapat diurut balik sampai abad ke-15. Keduapuluh Sembilan Sultan Brunei itu[1] ialah: Sultan Muhammad Shah (1363–1402) – anak dari Sultan Ibrahim Shah Ahmad (1408–1425) – menantu Sultan Muhammad Sultan ...

 

 

Tifanny RaytamaLahirTifanny Citra Raytama22 Maret 1988 (umur 36) Jakarta, IndonesiaKebangsaan IndonesiaNama lainFanny Raytama, Tifanny CitraAlmamaterUniversitas Atma Jaya JakartaPekerjaan Aktris Presenter Tahun aktif2007 - sekarangSuami/istrirahasiaAnakKamini Mahlagha Raysala Tifanny Raytama atau Tifanny Citra Raytama (lahir 22 Maret 1988)[1] adalah pembawa acara berita Indonesia. Ia menjadi anchor dalam program berita Reportase dan pernah menjadi pembawa acara Jelajah...

زيجفريد لنس (بالألمانية: Siegfried Lenz)‏  معلومات شخصية الميلاد 17 مارس 1926(1926-03-17)ليك، بولندا. الوفاة 7 أكتوبر 2014 (88 سنة)هامبورغ، ألمانيا الجنسية  ألمانيا عضو في نادي القلم الألماني  [لغات أخرى]‏،  والأكاديمية الألمانية للغات والشعر  [لغات أخرى]‏،  وأكاديم�...

 

 

The Exchange Exhibitation Hall Bursa Efek Hong Kong (HKEX) adalah bursa efek di Hong Kong. Dengan kapitalisasi pasar total lebih dari HK$13,33 triliun (US$1,71 triliun) pada Desember 2006, Bursa Efek Hong Kong berada pada urutan ke-7 di dunia berdasarkan kapitalisasi pasar perusahaan yang terdaftar. Hong Kong Exchanges and Clearing Limited (HKEx, 香港交易及結算所有限公司) adalah perusahaan yang memegang The Stock Exchange of Hong Kong Limited, Hong Kong Futures Exchange Limited da...

 

 

الدب الذهبيمعلومات عامةالبلد  ألمانيامقدمة من مهرجان برلين السينمائي الدوليالمكان برلينأول جائزة 1951موقع الويب berlinale.de… تعديل - تعديل مصدري - تعديل ويكي بيانات الدب الذهبي (بالألمانية: Goldener Bär) هي الجائزة المرموقة المقدمة في مهرجان برلين منذ عام 1951.[1][1][2] وتم...

German writer Jeanne CórdovaBorn(1948-07-18)July 18, 1948Bremerhaven, GermanyDiedJanuary 10, 2016(2016-01-10) (aged 67)Los Angeles, California, U.S.Occupation Activist Publisher Journalist Writer NationalityAmericanAlma materUniversity of California, Los AngelesNotable works When We Were Outlaws The Lesbian Tide Square Peg Magazine Community Yellow Pages Notable awards Lammy Award, Lambda Literary Foundation Goldie Award, Golden Crown Literary Society SpouseLynn Harris Ballen Jeann...

 

 

Hand-spun cloth from the Indian Subcontinent, usually made out of cotton This article is about the fabric. For the Pakistani multinational clothing brand, see Khaadi. For the comedian and actress, see Khadi Don. Not to be confused with Kadhi. A blue khadi kurta. Khadi (pronounced [kʰaːdiː], Khādī), derived from khaddar,[1][2][3] is a hand-spun and woven natural fibre cloth promoted by Mahatma Gandhi as swadeshi (self-sufficiency) for the freedom struggle o...

 

 

斯洛博丹·米洛舍维奇Слободан МилошевићSlobodan Milošević 南斯拉夫联盟共和国第3任总统任期1997年7月23日—2000年10月7日总理拉多耶·孔蒂奇莫米尔·布拉托维奇前任佐兰·利利奇(英语:Zoran Lilić)继任沃伊斯拉夫·科什图尼察第1任塞尔维亚总统任期1991年1月11日[注]—1997年7月23日总理德拉古京·泽莱诺维奇(英语:Dragutin Zelenović)拉多曼·博若维奇(英语:Radoman Bo...

Chronologies Données clés 1971 1972 1973  1974  1975 1976 1977Décennies :1940 1950 1960  1970  1980 1990 2000Siècles :XVIIIe XIXe  XXe  XXIe XXIIeMillénaires :-Ier Ier  IIe  IIIe Chronologies géographiques Afrique Afrique du Sud, Algérie, Angola, Bénin, Botswana, Burkina Faso, Burundi, Cameroun, Cap-Vert, République centrafricaine, Comores, République du Congo, République démocratique du Congo, Côte d'Ivoire, Djibouti, Égyp...

 

 

Canadian wildlife conservation assessment committee The Committee on the Status of Endangered Wildlife in Canada (COSEWIC, French: Comité sur la situation des espèces en péril au Canada, COSEPAC) is an independent committee of wildlife experts and scientists whose raison d'être is to identify species at risk in Canada.[1] It designates the conservation status of wild species. It was established in 1977 to provide a single, scientifically sound classification of wildlife species at...

 

 

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: 2004 FIFA Futsal World Championship – news · newspapers · books · scholar · JSTOR (September 2010) (Learn how and when to remove this message) 2004 FIFA Futsal World ChampionshipFIFA Futsal World Championship Chinese Taipei 20042004年世界杯五人制足球�...

هذه المقالة يتيمة إذ تصل إليها مقالات أخرى قليلة جدًا. فضلًا، ساعد بإضافة وصلة إليها في مقالات متعلقة بها. (ديسمبر 2021) مطر الصلب강철비 (بالكورية) معلومات عامةالصنف الفني فيلم تجسس — فيلم أكشن — فيلم دراما تاريخ الصدور 14 ديسمبر 2017[1] (كوريا الجنوبية) مدة العرض 139 دقيقة[2]...

 

 

Alfa Romeo Alfa 6 Общие данные Производитель Alfa Romeo Годы производства 1979—1986 Сборка Арезе, Милан, Италия Класс Автомобиль бизнес-класса Иные обозначения Alfa Sei Дизайн и конструкция Тип кузова 4‑дв. седан (5‑мест.) Компоновка переднемоторная, заднеприводная Колёсная формула 4...

 

 

Place for a fire to heat the home and to cook food, usually of masonry This article is about home hearths. For industrial hearths, see open hearth furnace and industrial furnace. Hearth room redirects here. For the album by Frost Children, see Hearth Room. Look up hearth in Wiktionary, the free dictionary. Hearth with cooking utensils A hearth (/hɑːrθ/) is the place in a home where a fire is or was traditionally kept for home heating and for cooking, usually constituted by at least a horiz...

Shiite Muslim religio-political organization in Pakistan Shia Ulema Council Pakistanشیعہ علماء کونسل پاکستانPurposeShia IslamismLocationPakistanPatron-in-ChiefSyed Sajid Ali NaqviAffiliationsTehreek-e-JafariaIslami Tehreek Pakistan[1] Politics of Pakistan Federalism Federal government Provincial governments: PunjabSindhKPKBalochistan Governors: Sardar Saleem Haider(Punjab)Kamran Tessori(Sindh)Faisal Karim Kundi(KPK) Sheikh Jaffar Khan(Balochistan)Syed Mehdi Shah(G...

 

 

Joaquim CruzJoaquim Cruz nel 2007.Nazionalità Brasile Altezza187 cm Peso74 kg Atletica leggera SpecialitàMezzofondo SocietàReebokTeam NikeFunilense Record 800 m 1'4177 (1984) 1000 m 2'1409 (1984) 1000 m 2'1699 (indoor - 1989) 1500 m 3'3463 (1988) Miglio 3'5300 (1984) CarrieraNazionale 1983-1996 Brasile Palmarès Competizione Ori Argenti Bronzi Giochi olimpici 1 1 0 Mondiali 0 0 1 Giochi panamericani 2 0 0 Vedi maggiori dettagli  Modifica dati su Wikidata · Manuale Joaquim C...