C/Fundamentos de programación
En Wikibooks, o Galilibros en galego.
| C | ||
| Fundamentos de programación | Seguir con Por que C? → | |
Índice |
[editar] Tipos de linguaxes
[editar] C, linguaxe imperativa
Un programa é un conxunto de instrucións que lle din a unha máquina como facer algo. Só hai un xeito de facelo: escribindo unha lista de instrucións unhas tras das outras, que serán executadas por orde. Algunhas desas instrucións poden conseguir que a máquina pase a unha instrución que non sexa a seguinte, quizáis por cumprirse unha condición que previamente establecesemos nós. Isto coñécese coma Programación imperativa.
Pero este modelo non é o máis achegado á forma de pensar dun ser humano (que pode ser que si). Nos últimos anos cobrou forza outro paradigma da computación, chamada Programación orientada a obxectos, na que se intentan modelar os sistemas creados como extensións da realidade mediante a definición de obxectos que modelan entidades da vida real e que interactúan entre sí mediante accións chamadas métodos ou procedementos.
C é unha linguaxe imperativa, non orientada a obxectos.
[editar] C, linguaxe de nivel medio
Por outra banda, as linguaxes de programación clasifícanse en niveis. Unha linguaxe é de máis baixo nivel canto máis se achega ao código máquina, e unha linguaxe de alto nivel é canto máis lonxe estea do código máquina e máis preto estea da linguaxe humana.
C é unha linguaxe de alto nivel aínda que conta con moitas das características das linguaxes de baixo nivel (coma o uso que permite facer da memoria). Estas características fan de C unha linguaxe moi potente, xa que permite optimizar ao máximo os recursos da máquina. Porén, isto provoca que a dificultade e os erros que se podan producir ao programar aumenten. Así que a C se lle considera unha linguaxe de nivel medio.
[editar] C, linguaxe compilada
Hai unha forma máis de clasificar ás linguaxes de programación que é segundo a forma en que se executan as súas ordes. Existen as linguaxes que son interpretadas, cuxas ordes pasan a través dun intérprete que se encarga de executalas a través do código fonte no intre en que están a ser executadas. Algunhas das linguaxes interpretadas son Python, Perl, etc. En contrapartida ás linguaxes interpretadas están as linguaxes compiladas, coma a mesma linguaxe C, que se diferencian en que as ordes transfórmanse a linguaxe máquina e nunha etapa final son ligadas. As linguaxes compiladas teñen a vantaxe da velocidade e maila eficiencia, pero as linguaxes interpretadas teñen a vantaxe de que, xeralmente, son moi portábeis e de máis alto nivel.
[editar] Estrutura da memoria
Parte desta potencia débese a que podemos acceder (case) sen tropezos directamente á memoria da máquina. Para entender un pouco como é isto posíbel, debemos entender como se gardan os datos na memoria.
Imaxinemos que a memoria ten un montón de ocos, unha enorme fila de ocos, cada un dos cales ten un díxito binario, un bit:
0101001010100001010101001010000100111010110010010101001011010110001101010110101010110111...
Ben, é exactamente dese xeito, pero é moitísimo máis cómodo para nós imaxinar que eses bits están agrupados de oito en oito, formando octetos, bytes:
| 01010010 | 10100001 | 01010100 | 10100001 | 00111010 | 11001001 | 01010010 | 11010110 | 00110101 | 01101010 | 10110111 | ... |
Cada octeto pode conter 28 = 256 combinacións distintas de ceros e uns, é dicir, calquera número entre 0 e 255:
| 82 | 161 | 84 | 161 | 58 | 201 | 82 | 214 | 181 | 106 | 183 | ... |
Tamén podemos representar estes números en base hexadecimal:
| 0x52 | 0xA1 | 0x54 | 0xA1 | 0x3A | 0xC9 | 0x52 | 0xD6 | 0x35 | 0x6A | 0xB7 | ... |
Ou consideralos caracteres:
| R | ¡ | T | ¡ | : | É | R | Ö | 5 | j | · | ... |
Este é o tipo de dato máis elemental que podemos atoparnos en C: o carácter. Un carácter ocupa exactamente un byte (8 bits) de memoria, e pode conter un número entre 0 e 255, ou entre -128 e 127, dependendo de se queremos consideralo sen signo ou con el.
[editar] Comentarios
Unha vez escrito un código dunha aplicación, tratar de comprendelo un ano (ou unhas semanas) máis tarde tan só con lelo pode ser frustrante: non hai xeito de saber (se o programa é medianamente complicado) que é cada variable, ou que fai cada bloque de código. por isto é que en calquera linguaxe de programación son importantes os comentarios.
Moitas veces trabállase en equipo e non todos programan do mesmo xeito, polo que aquí os comentarios son fundamentais.
Un comentario en C é todo o que se atope entre os símbolos /* e */. Hai que ter en conta que os comentarios non se poden aniñar: se dentro dun comentario hai un /*, seguirá sendo o primeiro */ o que peche o comentario, e non se agardará polo segundo. Pódese comprobar neste exemplo de comentario mal feito:
/*Isto é un comentario /*mal feito*/*/
Hai outro tipo de comentarios en C, procedentes da linguaxe C++: //. Todo canto estea despois destes signos, ata o remate da liña, considerarase un comentario e o compilador non o terá en conta. Este tipo de comentarios non existía inicialmente en C, pero varios compiladores empezaron a aceptalos, ata que finalmente se normalizou no estándar C99.
O uso de comentarios así coma outras formas de facilitar a comprensión do código explícase con todo detalle no capítulo sobre estrutura e estilo.
| C | ||
| Fundamentos de programación | Seguir con Por que C? → | |