C: Diferenzas entre revisións

Contido eliminado Contido engadido
Gallaecio (conversa | contribucións)
Gallaecio (conversa | contribucións)
Liña 16:
 
===Información previa===
:'''2. [[C{{PAGENAME}}/Características de C|Características]]''' [[Imaxe:100%.png]]
::1. [[C{{PAGENAME}}/Características de C#Linguaxe estruturada|Linguaxe estruturada]]
::2. [[C{{PAGENAME}}/Características de C#Linguaxe de nivel medio|Linguaxe de nivel medio]]
::3. [[C{{PAGENAME}}/Características de C#Portabilidade|''Portabilidade'']]
::4. [[C{{PAGENAME}}/Características de C#Erros en tempo de execución|Erros en tempo de execución]]
::5. [[C{{PAGENAME}}/Características de C#Mestura de tipos de datos|Mestura de tipos de datos]]
::6. [[C{{PAGENAME}}/Características de C#Poucas palabras clave|Poucas palabras clave]]
::7. [[C{{PAGENAME}}/Características de C#Modulación|Modulación]]
::8. [[C{{PAGENAME}}/Características de C#Linguaxe compilada|Linguaxe compilada]]
:'''3. [[C{{PAGENAME}}/C fronte a outras linguaxes de programación|Por que C?]] [[Imaxe:100%.png]]
::1. [[C{{PAGENAME}}/Por que C?#Por que C e non linguaxe ensambladora?|Por que C e non linguaxe ensambladora?]]'''
::2. [[C{{PAGENAME}}/Por que C?#Por que C e non outras linguaxes de alto nivel?|Por que C e non outras linguaxes de alto nivel?]]
:'''4. [[C{{PAGENAME}}/Requisitos|Requisitos]]''' [[Imaxe:100%.png]]
::1. [[C{{PAGENAME}}/Requisitos#Coñecementos previos|Coñecementos previos]]
::2. [[C{{PAGENAME}}/Requisitos#Requisitos de hardware|Requisitos de hardware]]
::3. [[C{{PAGENAME}}/Requisitos#Requisitos de software|Requisitos de software]]
 
===Dende cero===
====O primeiro programa====
:'''5. [[C{{PAGENAME}}/Editar un programa|Edición]]''' [[Ficheiro:25%.png]]
 
:'''6. [[{{PAGENAME}}/Compilar un programa|Compilación]]''' [[Ficheiro:50%.png]]
::1. [[{{PAGENAME}}/Compilar un programa#Proceso de compilación|Proceso]]
::2. [[{{PAGENAME}}/Compilar un programa#Código obxecto|Código obxecto]]
::3. [[{{PAGENAME}}/Compilar un programa#Erros|Erros]]
:'''7. [[{{PAGENAME}}/Ligar un programa|Ligazón]]''' [[Ficheiro:25%.png]]
 
:'''7. [[C/Ligar un programa|Ligazón]]''' [[Ficheiro:25%.png]]
::1. [[{{PAGENAME}}/Ligar un programa#Erros|Erros]]
:'''8. [[{{PAGENAME}}/Executar un programa|Execución]]''' [[Ficheiro:25%.png]]
 
:'''8. [[C/Executar un programa|Execución]]''' [[Ficheiro:25%.png]]
::1. [[{{PAGENAME}}/Executar un programa#Erros|Erros]]
:'''9. [[{{PAGENAME}}/Depurar un programa|Depuración]]''' [[Ficheiro:25%.png]]
:'''10. [[{{PAGENAME}}/Ola mundo|Ola mundo]]''' [[Ficheiro:100%.png]]
::1. [[{{PAGENAME}}/Ola mundo#Código fonte|Código fonte]]
::2. [[{{PAGENAME}}/Ola mundo#Vaiamos por partes|Partes]]
 
====Programación avanzada====
:'''9. [[C/Depurar un programa|Depuración]]''' [[Ficheiro:25%.png]]
<!-- Cando haxa máis capítulos dentro da sección de aprendizaxe dende 0, pode que o título desta subsección deba cambiar -->
 
:'''1011. [[C{{PAGENAME}}/OlaTraballar mundo|Olacon mundoficheiros|Ficheiros]]''' [[Ficheiro:10000%.png]]
::1. [[C/Ola mundo#Código fonte|Código fonte]]
::2. [[C/Ola mundo#Vaiamos por partes|Partes]]
 
===Elementos===
====Comentarios====
:'''1112. [[{{PAGENAME}}/Comentarios|Comentarios]]''' [[Ficheiro:50%.png]]
 
====Constantes====
:'''1213. [[{{PAGENAME}}/Constantes literais|Constantes literais]]''' [[Ficheiro:50%.png]]
::1. [[{{PAGENAME}}/Constantes literais#Constantes literais enteiras|Enteiros]]
::2. [[{{PAGENAME}}/Constantes literais#Constantes literais reais|Reais]]
Liña 66 ⟶ 65:
 
====Variables====
:'''1314. [[{{PAGENAME}}/Variables|Variables]]''' [[Ficheiro:75%.png]]
::1. [[{{PAGENAME}}/Variables#Introdución ás variables|Introdución]]
::2. [[{{PAGENAME}}/Variables#Declaración de variables|Declaración]]
::3. [[{{PAGENAME}}/Variables#Asignar valores a unha variable|Asignación de valores]]
::4. [[{{PAGENAME}}/Variables#Ámbito|Ámbito]]
:'''15. [[{{PAGENAME}}/Identificadores|Identificadores]]''' [[Ficheiro:75%.png]]
 
:'''14. [[{{PAGENAME}}/Identificadores|Identificadores]]''' [[Ficheiro:75%.png]]
::1. [[{{PAGENAME}}/Identificadores#Regras de construción|Regras]]
::2. [[{{PAGENAME}}/Identificadores#Palabras reservadas|Palabras reservadas]]
Liña 78 ⟶ 76:
 
=====Tipos=====
:'''1516. [[{{PAGENAME}}/Tipos de datos fundamentais|Tipos fundamentais]]''' [[Ficheiro:100%.png]]
::1. [[{{PAGENAME}}/Tipos de datos fundamentais#Enteiros|Enteiros]]
::2. [[{{PAGENAME}}/Tipos de datos fundamentais#Reais|Reais]]
::3. [[{{PAGENAME}}/Tipos de datos fundamentais#Outros|Outros]]
:'''17. [[{{PAGENAME}}/Modificadores|Modificadores]]''' [[Ficheiro:75%.png]]
 
:'''16. [[{{PAGENAME}}/Modificadores|Modificadores]]''' [[Ficheiro:75%.png]]
::1. [[{{PAGENAME}}/Modificadores#signed e unsigned|<code>signed e unsigned</code>]]
::2. [[{{PAGENAME}}/Modificadores#const|<code>const</code>]]
::3. [[{{PAGENAME}}/Modificadores#Outros modificadores|Outros]]
:'''18. [[{{PAGENAME}}/Punteiros|Punteiros]]''' [[Ficheiro:75%.png]]
 
:'''17. [[{{PAGENAME}}/Punteiros|Punteiros]]''' [[Ficheiro:75%.png]]
::1. [[{{PAGENAME}}/Punteiros#Declaración|Declaración]]
::2. [[{{PAGENAME}}/Punteiros#Traballo con punteiro|Traballo]]
::3. [[{{PAGENAME}}/Punteiros#Programa de resumo|Resumo]]
:'''19. [[{{PAGENAME}}/Matrices|Matrices]]''' (''arrays'') [[Ficheiro:75%.png]]
 
:'''18. [[{{PAGENAME}}/Matrices|Matrices]]''' (''arrays'') [[Ficheiro:75%.png]]
::1. [[{{PAGENAME}}/Matrices#Declaración|Declaración]]
::2. [[{{PAGENAME}}/Matrices#Elementos|Elementos]]
::3. [[{{PAGENAME}}/Matrices#Matrices unidimensionais|Unidimensionais]]
::4. [[{{PAGENAME}}/Matrices#Matrices bidimensionais|Bidimensionais]]
:'''20. [[{{PAGENAME}}/Cadeas de caracteres|Cadeas de caracteres]]''' [[Ficheiro:50%.png]]
 
:'''19. [[{{PAGENAME}}/Cadeas de caracteres|Cadeas de caracteres]]''' [[Ficheiro:50%.png]]
::1. [[{{PAGENAME}}/Cadeas de caracteres#Caracteres de escape|Caracteres de escape]]
::2. [[{{PAGENAME}}/Cadeas de caracteres#Cadeas nulas|Cadeas nulas]]
:'''21. [[{{PAGENAME}}/Estruturas|Estruturas]]''' (''structs'') [[Ficheiro:50%.png]]
 
:'''20. [[{{PAGENAME}}/Estruturas|Estruturas]]''' (''structs'') [[Ficheiro:50%.png]]
::1. [[{{PAGENAME}}/Estruturas#Declaración de estruturas|Declaración]]
::2. [[{{PAGENAME}}/Estruturas#Traballar con estruturas|Traballo]]
:'''22. [[{{PAGENAME}}/Conversións de tipo|Conversións de tipo]]''' [[Ficheiro:100%.png]]
 
:'''2123. [[{{PAGENAME}}/Conversións de tipoMoldes|Conversións de tipoMoldes]]''' [[Ficheiro:100%.png]]
:'''24. [[{{PAGENAME}}/typedef|<code>typedef</code>]]''' ─ Alias para tipos [[Ficheiro:50%.png]]
 
:'''22. [[{{PAGENAME}}/Moldes|Moldes]]''' [[Ficheiro:100%.png]]
 
:'''23. [[{{PAGENAME}}/typedef|<code>typedef</code>]]''' ─ Alias para tipos [[Ficheiro:50%.png]]
 
====Operadores====
:'''2425. [[{{PAGENAME}}/Operadores|Operadores]]''' [[Ficheiro:100%.png]]
::1. [[{{PAGENAME}}/Operadores#Operadores aritméticos|Aritméticos]]
::2. [[{{PAGENAME}}/Operadores#Operadores relacionais|''Relacionais'']]
Liña 121 ⟶ 111:
 
====Sentencias de control====
:'''2526. [[{{PAGENAME}}/Introdución ás sentencias de control|Introdución]]''' [[Ficheiro:100%.png]]
:'''27. [[{{PAGENAME}}/Expresións|Expresións]]''' [[Ficheiro:100%.png]]
 
:'''26. [[{{PAGENAME}}/Expresións|Expresións]]''' [[Ficheiro:100%.png]]
::1. [[{{PAGENAME}}/Expresións#Expresións sen operadores lóxicos|Sen operadores lóxicos]]
::2. [[{{PAGENAME}}/Expresións#Expresións constantes|Constantes]]
:'''28. [[{{PAGENAME}}/if|<code>if</code>]]''' [[Ficheiro:50%.png]]
 
:'''27. [[{{PAGENAME}}/if|<code>if</code>]]''' [[Ficheiro:50%.png]]
::1. [[{{PAGENAME}}/if#Funcións nas expresións|Funcións nas expresións]]
:'''29. [[{{PAGENAME}}/switch|<code>switch</code>]]''' [[Ficheiro:100%.png]]
 
:'''28. [[{{PAGENAME}}/switch|<code>switch</code>]]''' [[Ficheiro:100%.png]]
::1. [[{{PAGENAME}}/switch#Acumulación de valores|Acumulación de valores]]
::2. [[{{PAGENAME}}/switch#switch e caracteres|Caracteres]]
:'''30. [[{{PAGENAME}}/break|<code>break</code>]]''' [[Ficheiro:100%.png]]
 
:'''2931. [[{{PAGENAME}}/breakwhile|<code>breakwhile</code>]]''' [[Ficheiro:10050%.png]]
:'''32. [[{{PAGENAME}}/do while|<code>do while</code>]]''' [[Ficheiro:50%.png]]
 
:'''3033. [[{{PAGENAME}}/whilefor|<code>whilefor</code>]]''' [[Ficheiro:5075%.png]]
:'''34. [[{{PAGENAME}}/return|<code>return</code>]]''' [[Ficheiro:100%.png]]
 
:'''31. [[{{PAGENAME}}/do while|<code>do while</code>]]''' [[Ficheiro:50%.png]]
 
:'''32. [[{{PAGENAME}}/for|<code>for</code>]]''' [[Ficheiro:75%.png]]
 
:'''33. [[{{PAGENAME}}/return|<code>return</code>]]''' [[Ficheiro:100%.png]]
 
====Funcións====
:'''3435. [[{{PAGENAME}}/Funcións|Funcións]]''' [[Ficheiro:100%.png]]
::1. [[{{PAGENAME}}/Funcións#Definición dunha función|Definición]]
::2. [[{{PAGENAME}}/Funcións#Chamada a unha función|Chamada]]
Liña 151 ⟶ 133:
 
====Directrices para o preprocesador====
:'''3536. [[{{PAGENAME}}/Directrices para o preprocesador|Directrices para o ''preprocesador'']]''' [[Ficheiro:50%.png]]
::1. [[{{PAGENAME}}/Directrices para o preprocesador#define|<code>#define</code>]]
::2. [[{{PAGENAME}}/Directrices para o preprocesador#ifdef|<code>#ifdef</code>]]
Liña 159 ⟶ 141:
 
===Estrutura===
:'''3637. [[{{PAGENAME}}/Estrutura e estilo|Estrutura e estilo]]''' [[Ficheiro:25%.png]]
::1. [[{{PAGENAME}}/Estrutura e estilo#Exemplo|Exemplo]]
::2. [[{{PAGENAME}}/Estrutura e estilo#Saltos de liña e tabulacións|Saltos de liña e tabulacións]]
Liña 166 ⟶ 148:
===Biblioteca estándar===
====<code>stdio</code>====
:'''3738. [[{{PAGENAME}}/EOF e FdF|EOF e FdF]]''' [[Ficheiro:25%.png]]
:'''39. [[{{PAGENAME}}/Marcadores de formato|Marcadores de formato]]''' [[Ficheiro:50%.png]]
 
:'''3840. [[{{PAGENAME}}/Marcadores de formatoprintf|Marcadores de formato<code>printf</code>]]''' [[Ficheiro:50%.png]]
 
:'''39. [[{{PAGENAME}}/printf|<code>printf</code>]]''' [[Ficheiro:50%.png]]
::1. [[{{PAGENAME}}/printf#Substitución de datos|Substitución de datos]]
:'''41. [[{{PAGENAME}}/scanf|<code>scanf</code>]]''' [[Ficheiro:75%.png]]
 
:'''40. [[{{PAGENAME}}/scanf|<code>scanf</code>]]''' [[Ficheiro:75%.png]]
::1. [[{{PAGENAME}}/scanf#Limpar o lixo|Lixo]]
::2. [[{{PAGENAME}}/scanf#Lectura de cadeas|Cadeas]]
::3. [[{{PAGENAME}}/scanf#Manexo de erros|Manexo de erros]]
:'''42. [[{{PAGENAME}}/getchar|<code>getchar</code>]]''' [[Ficheiro:50%.png]]
 
:'''4143. [[{{PAGENAME}}/getchargetch|<code>getchargetch</code>]]''' [[Ficheiro:5025%.png]]
:'''44. [[{{PAGENAME}}/gets|<code>gets</code>]]''' [[Ficheiro:50%.png]]
 
:'''4245. [[{{PAGENAME}}/getchputs|<code>getchputs</code>]]''' [[Ficheiro:25%.png]]
:'''46. [[{{PAGENAME}}/fopen|<code>fopen</code>]]''' [[Ficheiro:25%.png]]
 
:'''4347. [[{{PAGENAME}}/getsfclose|<code>getsfclose</code>]]''' [[Ficheiro:5025%.png]]
:'''48. [[{{PAGENAME}}/fgetc|<code>fgetc</code>]]''' [[Ficheiro:25%.png]]
 
:'''4449. [[{{PAGENAME}}/putsfputc|<code>putsfputc</code>]]''' [[Ficheiro:25%.png]]
:'''50. [[{{PAGENAME}}/fgets|<code>fgets</code>]]''' [[Ficheiro:25%.png]]
 
:'''4551. [[{{PAGENAME}}/fopenfputs|<code>fopenfputs</code>]]''' [[Ficheiro:25%.png]]
:'''52. [[{{PAGENAME}}/fread|<code>fread</code>]]''' [[Ficheiro:25%.png]]
 
:'''4653. [[{{PAGENAME}}/fclosefwrite|<code>fclosefwrite</code>]]''' [[Ficheiro:25%.png]]
:'''54. [[{{PAGENAME}}/ferror|<code>ferror</code>]]''' [[Ficheiro:25%.png]]
 
:'''4755. [[{{PAGENAME}}/fgetcfeof|<code>fgetcfeof</code>]]''' [[Ficheiro:25%.png]]
:'''56. [[{{PAGENAME}}/perror|<code>perror</code>]]''' [[Ficheiro:25%.png]]
 
:'''4857. [[{{PAGENAME}}/fputcfseek|<code>fputcfseek</code>]]''' [[Ficheiro:25%.png]]
:'''58. [[{{PAGENAME}}/ftell|<code>ftell</code>]]''' [[Ficheiro:25%.png]]
 
:'''4959. [[{{PAGENAME}}/fgetsrewind|<code>fgetsrewind</code>]]''' [[Ficheiro:25%.png]]
 
:'''50. [[{{PAGENAME}}/fputs|<code>fputs</code>]]''' [[Ficheiro:25%.png]]
 
:'''51. [[{{PAGENAME}}/fread|<code>fread</code>]]''' [[Ficheiro:25%.png]]
 
:'''52. [[{{PAGENAME}}/fwrite|<code>fwrite</code>]]''' [[Ficheiro:25%.png]]
 
:'''53. [[{{PAGENAME}}/ferror|<code>ferror</code>]]''' [[Ficheiro:25%.png]]
 
:'''54. [[{{PAGENAME}}/feof|<code>feof</code>]]''' [[Ficheiro:25%.png]]
 
:'''55. [[{{PAGENAME}}/perror|<code>perror</code>]]''' [[Ficheiro:25%.png]]
 
:'''56. [[{{PAGENAME}}/fseek|<code>fseek</code>]]''' [[Ficheiro:25%.png]]
 
:'''57. [[{{PAGENAME}}/ftell|<code>ftell</code>]]''' [[Ficheiro:25%.png]]
 
:'''58. [[{{PAGENAME}}/rewind|<code>rewind</code>]]''' [[Ficheiro:25%.png]]
 
====<code>string</code>====
:'''5960. [[{{PAGENAME}}/strlen|<code>strlen</code>]]''' [[Ficheiro:25%.png]]
:'''61. [[{{PAGENAME}}/strcmp|<code>strcmp</code>]]''' [[Ficheiro:25%.png]]
 
:'''6062. [[{{PAGENAME}}/strcmpstrcpy|<code>strcmpstrcpy</code>]]''' [[Ficheiro:25%.png]]
:'''63. [[{{PAGENAME}}/strlwr|<code>strlwr</code>]]''' [[Ficheiro:25%.png]]
 
:'''61. [[{{PAGENAME}}/strcpy|<code>strcpy</code>]]''' [[Ficheiro:25%.png]]
 
:'''62. [[{{PAGENAME}}/strlwr|<code>strlwr</code>]]''' [[Ficheiro:25%.png]]
 
====<code>math</code>====
:'''6364. [[{{PAGENAME}}/Usar as constantes da biblioteca math en Windows|Uso de constantes en Windows]]''' [[Ficheiro:50%.png]]
:'''65. [[{{PAGENAME}}/pow|<code>pow</code>]]''' [[Ficheiro:50%.png]]
 
:'''64. [[{{PAGENAME}}/pow|<code>pow</code>]]''' [[Ficheiro:50%.png]]
 
====<code>stdlib</code>====
:'''6566. [[{{PAGENAME}}/malloc|<code>malloc</code>]]''' [[Ficheiro:75%.png]]
::1. [[{{PAGENAME}}/malloc#Cadeas de caracteres|Cadeas de caracteres]]
:'''67. [[{{PAGENAME}}/realloc|<code>realloc</code>]]''' [[Ficheiro:75%.png]]
 
:'''66. [[{{PAGENAME}}/realloc|<code>realloc</code>]]''' [[Ficheiro:75%.png]]
::1. [[{{PAGENAME}}/realloc#Cadeas de caracteres|Cadeas de caracteres]]
:'''68. [[{{PAGENAME}}/free|<code>free</code>]]''' [[Ficheiro:75%.png]]
 
:'''67. [[{{PAGENAME}}/free|<code>free</code>]]''' [[Ficheiro:75%.png]]
 
====<code>errno</code>====
:'''6869. [[{{PAGENAME}}/errno|<code>errno</code>]]''' [[Ficheiro:75%.png]]
::1. [[{{PAGENAME}}/errno#Manexo de erros ao dividir por cero|División por cero]]