PDF de programación - 4 Lenguaje C

Imágen de pdf 4 Lenguaje C

4 Lenguaje Cgráfica de visualizaciones

Publicado el 23 de Junio del 2021
416 visualizaciones desde el 23 de Junio del 2021
292,0 KB
31 paginas
Creado hace 19a (01/10/2004)
Arquitectura y programación de ordenadores



4 LENGUAJE C



4.1 INTRODUCCIÓN


El C fue inventado por Dennis Ritchie en los años 70, pero no fue estandarizado hasta 1989
(C89), por el instituto nacional de estándares americano (ANSI), y adoptado por la
organización internacional de estándares (ISO). Por eso es habitual que el estandar se refiere
al estándar ANSI/ISO. En 1995 se adoptó la enmienda 1 del estándar de C, que entre otras
cosas, incorpora varias funciones de biblioteca nuevas. Este documento es la base del estandar
de C++, definiendo el subconjunto de C presente en C++.

En 1999 se desarrolló uno de estandar para C, normalmente referido como C99, que mantiene
prácticamente todas las características de C89, incorporando varias bibliotecas numéricas,
arrays de tamaño variable, el cualificador restric para punteros, dos nuevos tipos de variables
(complex y bool) y un nuevo cualificador de almacenamiento (mutable).

Aunque en sentido estricto, C no es un lenguaje estructurado en bloques, normalmente este
lenguajes de define como sencillamente estructurado. Tienen similitudes estructurales con
otros lenguajes estructurados como Algol, Pascal y Modula-2. La razón por la que C no es
tecnicamente un lenguaje estructurado en bloques es de que un lenguaje estructurado en
bloques permite declarar procedimientos o funciones dentro de otros procedimientos o

59 Arquitectura y programación de ordenadores



funciones. Puesto que C no permite la creación de funciones dentro de funciones, no puede ser
formalmente denominado lenguaje estructurado en bloques. La característica distintiva de
lenguaje estructurado es la compartimentalización del código y datos. Se trata de la
capacidad de un lenguaje de seccionar y esconder del resto del programa toda la información y
las instrucciones necesarias para llevar a cabo una determinada tarea. Una forma con la que se
consigue la compartímentalización es mediante el uso de subrutinas que empleen variables
locales (temporales). Con el uso de variables locales es posible escribir subrutinas de forma
que lo que ocurra en su interior no provoque efectos secundarios en otras partes del programa.
Esta posibilidad hace que sea muy fácil que los programas en C compartan secciones de
código. Al desarrollar funciones compartimentalizadas sólo es necesario conocer qué es lo que
la función hace, no como lo hace. El uso excesivo de variables globales (variables conocidas a
lo largo de todo el programa) para hacer que los errores proliferen en el programa, al permitir
a los efectos secundarios no deseados.

El componente estructural principal de C es la función; una subrutina independiente. En C, las
funciones son los bloques constitutivos en los que se desarrolla toda la actividad de los
programas. Permiten definir las tareas de un programa y codificarlas por separado, haciendo
que los programas sean modulares. Una vez que se ha creado una función que trabaja
perfectamente, se pueda aprovechar en distintas situaciones, sin crear efectos secundarios en
otras partes del programa. El hecho de poder crear funciones independientes es algo
extremadamente crítico en grandes proyectos donde es importante que el código de un
programador no afecte accidentalmente al de otro.

Otra forma de estructuración viene dada por uso de bloques de código, que es un grupo de
instrucciones de un programa conectadas de forma lógica y tratadas como una unidad. En C
un bloque de código se crea colocando una serie de instrucciones entre llaves. En este
ejemplo:

if (x<10) {

printf("Demasiado bajo, prueba han de nuevo. \n");

scanf( y en " la %d", &x);

60 Arquitectura y programación de ordenadores



}

las dos instrucciones que las el if y entre las llaves se ejecuta juntas si x es menor que 10.
Estas dos instrucciones junto con las llaves representan un bloque de código.



4.1.1 Compiladores frente a intérpretes
Es importante comprender que un lenguaje de computadora define la naturaleza de un
programa y no la forma en que el programa se ejecuta. Dos son los métodos generales de
ejecución de un programa: puede ser compilado o interpretado. Aunque los programas
escritos en cualquier lenguaje de programación pueden ser compilados o interpretados,
algunos lenguajes han sido diseñados más para una forma de ejecución que para la otra. Por
ejemplo, Java fue diseñado para ser interpretado y C para ser compilado. Sin embargo, en el
caso de C es importante tener en cuenta que ha sido especialmente optimizado como lenguaje
compilado. Aunque se han escrito algunos intérpretes de C para ciertos entornos
(especialmente, ayudas en la depuración o plataformas experimentales), C fue desarrollado
con la compilación en mente.

En su forma más sencilla, un intérprete le el código fuente de un programa línea a línea,
realizando las instrucciones específicas contenidas en esa línea. Esta es la forma en la que
trabajan las primeras versiones de BASIC. El lenguajes como Java, el código fuente de un
programa se convierte primero en una forma intermedia que es la que se interpreta entonces.
En cualquier caso se requiere la presencia de un intérprete de tiempo de ejecución para que se
pueda ejecutar el programa.

Un compilador le el programa entero y lo convierte a código objeto, que es una traducción del
código fuente del programa a una forma que puede ser ejecutada directamente por la
computadora. El código objeto también se suelen denominar código binario o código
máquina. Una vez que el programa está compilado, las líneas de código fuente dejan de tener
sentido durante la ejecución del programa.

61 Arquitectura y programación de ordenadores



En general un programa interpretado se ejecuta más despacio que un programa compilado.
Recuérdese que un compilador convierte el código fuente de un programa en código objeto
que se puede ejecutar directamente en la computadora. Por tanto, la compilación sólo pasa
factura una vez, mientras que el código interpretado tiene un precio cada vez que se ejecuta un
programa.


Forma de un programa en C
Existen 32 palabras claves definidas en el estándar C89. Estas son también las palabras clave
que constituyen el subconjunto de C presente en C++. La siguientes tablas muestran estas
palabras clave y las añadidas estándar C99.

Tabla 1 Palabras clave definidas en C89

auto
break
case
char
const
continue
default
do

Tabla 2 Palabras clave añadidas en C99

_Bool
_Complex



struct
switch
typedef
union
unsigned
void
volatile
while

int
long
register
return
short
signed
sizeof
static

double
else
enum
extern
float
for
goto
If

_Imaginary
inline

restrict


62 Arquitectura y programación de ordenadores



_ds
_es
far

pascal
_ss


huge
interrupt
near

Además, muchos compiladores de C han añadido varias palabras clave más que permiten
explotar de forma más eficiente su entorno operativo. Por ejemplo, varios compiladores
incluyen palabras clave que gestionan la organización de la memoria de la familia de
procesadores 8086, facilita la programación usando distintos lenguajes y acceden a las
interrupciones. A continuación se muestra una lista de las palabras clave ampliadas que se
usan con más frecuencia:

Tabla 3 Palabras clave añadidas más frecuentemente

asm
cdecl
_cs


En C, las mayúsculas y las minúsculas son diferentes. Una palabra clave no debe ser usada
para otro propósito en un programa; es decir, no debe servir como nombre de variables o de
función.

Todos los programas en C consisten en una o más funciones. Como regla general, la única
función que debe estar presente es la denominada main( ), siendo la primera función que es
invocada cuando comienza la ejecución del programa. En códigos de bien escrito, main( )
contiene lo que esencia esboza lo que el programa ha de. Aunque no es una palabra clave, se
ha de tratar como si lo fuera. Por ejemplo, no se debe intentar utilizar main como nombre de
una variable, ya que probablemente confundida al compilador.

La forma general que tiene un programa en C es la que se ilustra a continuación:

Inclusión de librerías (funciones necesarias en el programa, incluidas en ficheros.h)



Declaraciones globales (int, double, float, char, void, _Bool(C99) _Complex(C99), etc…)



63 Arquitectura y programación de ordenadores



int main(lista de parámetros)



{

secuencia de instruccones

}



tipo-devueto f1(lista de parámetros) /*tipo-devuelto puede ser int, char, double etc..*/

{

secuencia de instrucciones

}



tipo-devueto f2(lista de parámetros)

{

secuencia de instrucciones

}

.

.

.

tipo-devueto fN(lista de parámetros) /*Estas N funciones son utilizadas en main */

{

secuencia de instrucciones

}



4.1.2 La biblioteca y el enlace
Técnicamente, se puede crear un programa en C que se ha funcional y útil y que consiste
únicamente en instrucciones que se construyan con las palabras clave de C. Sin embargo, esto
es bastante raro ya que C no proporciona palabras clave para llevar a cabo cosas como
operaciones de entrada/salida. Por ello, la mayoría de los programas incluyen llamadas a
varias funciones contenidas en la biblioteca estándar de C.

64 Arquitectura y programación de ordenadores



Todos los compiladores de C incorporan una biblioteca estándar que proporciona las
funciones que se necesitan para llevar a cabo
  • Links de descarga
http://lwp-l.com/pdf19339

Comentarios de: 4 Lenguaje C (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad