C/Fundamentos de programación

En Wikibooks, o Galilibros en galego.

< C
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?


Ferramentas personais