ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

C (lenguaje de programación)

AlejlgavTutorial10 de Febrero de 2014

3.704 Palabras (15 Páginas)214 Visitas

Página 1 de 15

C (lenguaje de programación)

En informática , C ( / s i ː / , como en la letra C ) es una de propósito general lenguaje de programación desarrollado inicialmente por Dennis Ritchie entre 1969 y 1973 en AT & T Bell . [ 4 ] Como la mayoría de los lenguajes imperativos del ALGOL tradición, C cuenta con instalaciones parala programación estructurada y permite léxica ámbito de las variables y la recursividad , mientras que un sistema de tipo estático impide que muchas operaciones no deseadas. Su diseño proporciona construcciones que se asignan de manera eficiente para típicos instrucciones de la máquina , y por lo tanto se ha encontrado un uso duradero en aplicaciones que anteriormente había sido codificados en lenguaje ensamblador , más notablemente software del sistema como el Unix ordenador sistema operativo . [ 5 ]

C es uno de los lenguajes de programación más utilizados de todos los tiempos, [ 6 ] [ 7 ] y los compiladores de C están disponibles para la mayoría de los disponibles arquitecturas de computadores y sistemas operativos .

Muchos lenguajes posteriores han prestado directa o indirectamente de C, incluyendo C # , D , Go , Rust , Java , JavaScript , Limbo , LPC ,Objective-C , Perl , PHP , Python , Verilog (hardware Description Language), [ 3 ] y Unix C shell . Estos lenguajes han dibujado muchos de susestructuras de control y otras características básicas de C. La mayoría de ellos (con Python siendo el más dramático excepción) también son muysintácticamente similar a C, en general, y tienden a combinar la expresión reconocible y declaración de sintaxis C . con sistemas de tipo subyacente, modelos de datos y semántica que puede ser radicalmente diferente de C + + y Objective-C empezó como compiladores que generan código C; C + + está en casi un superconjunto de C , [ 8 ] mientras que Objective-C es un superconjunto estricto de C. [ 9 ]

Antes de que hubiera una norma oficial para C, muchos usuarios y los ejecutores se basó en una especificación informal contenida en un libro deDennis Ritchie y Brian Kernighan ; esa versión se conoce generalmente como "K & R" C. En 1989, el American National Standards Institutepublicó un estándar para C (generalmente llamado " ANSI C "o" C89 "). El próximo año, la misma especificación fue aprobada por la Organización Internacional de Normalización como un estándar internacional (generalmente llamado "C90"). ISO posteriormente puesto en libertad una extensión a la internacionalización soporte del estándar en 1995, y un estándar revisado (conocido como " C99 ") en 1999. La versión actual de la norma (ahora conocido como " C11 ") fue aprobado en diciembre de 2011.

Características

Como la mayoría de los lenguajes imperativos del ALGOL tradición, C cuenta con instalaciones para la programación estructurada y permite léxica ámbito de las variables y la recursividad , mientras que un estático sistema de tipo impide que muchas operaciones no deseadas. En C, todo el código ejecutable está contenida dentro de las subrutinas , que se llaman "funciones" (aunque no en el sentido estricto de la programación funcional ). Función parámetros siempre se pasan por valor. Pasar por referencia se simula en C haciendo pasar explícitamente punterovalores. Texto fuente del programa C es de formato libre , utilizando el punto y coma como una declaración de terminación y llaves para agrupar bloques de instrucciones.

El lenguaje C también presenta las siguientes características:

• Hay un pequeño número, fijo de palabras clave, que incluye un conjunto completo de flujo de control de primitivas: para , if / else , mientras que , el interruptor , y do / while . Hay un espacio de nombres , y los nombres definidos por el usuario no se distinguen de las palabras clave por ningún tipo de sigilo .

• Hay un gran número de operadores aritméticos y lógicos, tales como + , + = , + + , y , ~ , etc

• Más de una asignación se puede realizar en una sola sentencia.

• Valores de retorno de función pueden ser ignorados cuando no se necesita.

• Typing es estática , pero débilmente forzada : todos los datos tiene un tipo, pero las conversiones implícitas se puede realizar, por ejemplo, los personajes pueden ser utilizados como números enteros.

• Declaración de sintaxis contexto de uso imita. C no tiene palabra clave "definir", en su lugar, un estado que comience con el nombre de un tipo se toma como una declaración. No hay ninguna palabra "función", en su lugar, una función se indica con los paréntesis de una lista de argumentos.

• Definidos por el usuario ( typedef tipos) y compuestas son posibles.

• Tipos de datos agregados heterogéneos ( struct ) permitir que los elementos de datos relacionados que se accede y se asignan como una unidad.

• Matriz de la indexación es una noción secundaria, definida en términos de la aritmética de punteros. A diferencia de las estructuras, las matrices no son objetos de primera clase, no pueden ser cedidos o compararon mediante operadores integrados individuales. No hay ninguna palabra clave "matriz", en uso o definición, sino corchetes indican matrices sintácticamente, por ejemplo, meses [11] .

• Los tipos enumerados son posibles con la enumeración de palabras clave. Ellos no están etiquetados, y son de libre interconvertibles con números enteros.

• Cuerdas no son un tipo de datos por separado, pero se aplican convencionalmente como terminadas en cero, arreglos de caracteres.

• Bajo nivel de acceso a la memoria del ordenador es posible gracias a la conversión de direcciones de la máquina para mecanografiadas punteros .

• Procedimientos (subrutinas no retornan valores) son un caso especial de la función, con un sin tipo tipo de retorno void .

• Las funciones no pueden ser definidos dentro del ámbito léxico de otras funciones.

• Funciones y datos punteros permiten hoc ad polimorfismo en tiempo de ejecución .

• Un preprocesador realiza macro definición, el código fuente de inclusión de archivo y la compilación condicional .

• Hay una forma básica de la modularidad : Los archivos pueden ser compilados por separado y unidos juntos, con control sobre las funciones y los objetos de datos son visibles para otros archivos a través de estática y extern atributos.

• Funcionalidad compleja como I / O , cadena de manipulación, y funciones matemáticas se delegan sistemáticamente a rutinas de biblioteca .

C no incluye algunas de las características que se encuentran en más nuevas, lenguajes de alto nivel más modernas, como la orientación a objetos y la recolección de basura .

http://en.wikipedia.org/wiki/C_(programming_language)#Characteristics

Funciones[editar]

Definiendo una función[editar]

Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento. Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de código. Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada.

<tipo> [clase::] <nombre> ( [Parámetros] )

{

cuerpo;

}

Ejemplo de una función

Para comenzar, vamos a considerar el caso en el cual se desea crear la función cuadrado(), que deberá devolver el cuadrado de un número real (de punto flotante), es decir, cuadrado() aceptará números de punto flotante y regresará una respuesta como número flotante.

Nota: aunque para la función que veremos el tipo de retorno coincide con el tipo de parámetro pasado, algunas veces las cosas pueden cambiar, es decir, no es obligatorio que una función reciba un parámetro de un tipo y que tenga que regresar una respuesta de dicho tipo.

// regresar el cuadrado de un número

double Cuadrado(double n)

{

return n*n;

}

Parámetros[editar]

Normalmente, las funciones operan sobre ciertos valores pasados a las mismas ya sea como constantes literales o como variables, aunque se pueden definir funciones que no reciban parámetros. Existen dos formas en C++ de pasar parámetros a una función; por referencia o por valor. El hecho es que si en una declaración de función se declaran parámetros por referencia, a los mismos no se les podrá pasar valores literales ya que las referencias apuntan a objetos (variables o funciones) residentes en la memoria; por otro lado, si un parámetro es declarado para ser pasado por valor, el mismo puede pasarse como una constante literal o como una variable. Los parámetros pasados por referencia pueden ser alterados por la función que los reciba, mientras que los parametros pasados por valor o copía no pueden ser alterados por la función que los recibe, es decir, la función puede manipular a su antojo al parámetro, pero ningún cambio hecho sobre este se reflejará en el parámetro original.

Parametros por valor

La función cuadrado() (ver arriba) es un clásico ejemplo que muestra el paso de parámetros por valor, en ese sentido la función cuadrado() recibe una copia del parámetro n. En la misma función se puede observar que se realiza un calculo ( n*n ), sin embargo el parámetro original no sufrirá

...

Descargar como (para miembros actualizados) txt (22 Kb)
Leer 14 páginas más »
Disponible sólo en Clubensayos.com