SlideShare una empresa de Scribd logo
Universidad Fermín Toro
Escuela de Mantenimiento Mecánico
Vice-rectorado académico
Facultad de ingeniería
Ensayo sobre el Lenguaje C
Integrante
Ruben Dario Meza Perez
CI: 24409605
SaiaB
Profesor:Esteban Torrealba
Cabudare, 12 de marzo de 2018
Lenguaje C
El lenguaje C es un lenguaje estructurado, en el mismo
sentido que lo son otros lenguajes de programación tales como el
lenguaje Pascal, el Ada o el Modula-2, pero no es estructurado
por bloques, o sea, no es posible declarar subrutinas (pequeños
trozos de programa) dentro de otras subrutinas, a diferencia de
como sucede con otros lenguajes estructurados tales como el
Pascal. Además,el lenguaje C no es rígido en la comprobaciónde
tipos de datos, permitiendo fácilmente la conversión entre
diferentes tipos de datos y la asignación entre tipos de datos
diferentes.
Todo programa de C consta, básicamente, de un conjunto
de funciones, y una función llamada main, la cual es la primera
que se ejecuta al comenzar el programa, llamándose desde ella al
resto de funciones que compongan nuestro programa.
Desde su creación, surgieron distintas versiones de C, que
incluían unas u otras características, palabras reservadas, etc.
Este hecho provoco la necesidad de unificar el lenguaje C, y es
por ello que surgió un standard de C, llamado ANSI-C, que
declara una serie de características, etc., que debe cumplir todo
lenguaje C. Por ello, y dado que todo programa que se desarrolle
siguiendo el standard ANSI de C será fácilmente portable de un
modelo de ordenador a otro modelo de ordenador, y de igual
forma de un modelo de compilador a otro, en estos apuntes
explicaremos un C basado en el standard ANSI-C.
El lenguaje C es uno de los lenguajes de programación
estructurada más utilizados en nuestros días. El principal
componente estructural de C es la función. En C, las funciones
son bloques en los cuales ocurren las actividades de un
programa. Esto nos permite separar los programas en tareas, lo
que nos conduce a la programación modular.
Uno de los objetivos de diseño del lenguaje C es que sólo
sean necesarias unas pocas instrucciones en lenguaje máquina
para traducir cada elemento del lenguaje, sin que haga falta un
soporte intenso en tiempo de ejecución.Es muy posible escribir C
a bajo nivel de abstracción; de hecho, C se usó como
intermediario entre diferentes lenguajes. En parte a causa de ser
de relativamente bajo nivel y de tener un modesto conjunto de
características, se pueden desarrollar compiladores de C
fácilmente. En consecuencia, el lenguaje C está disponible en un
amplio abanico de plataformas (más que cualquier otro lenguaje).
Además, a pesar de su naturaleza de bajo nivel, el lenguaje se
desarrolló para incentivar la programación independiente de la
máquina. Un programa escrito cumpliendo los estándares e
intentando que sea portátil puede compilarse en muchos
computadores. C se desarrolló originalmente (conjuntamente con
el sistema operativo Unix, con el que ha estado asociado mucho
tiempo)por programadorespara programadores.Sin embargo, ha
alcanzado una popularidad enorme, y se ha usado en contextos
muy alejados de la programación de software de sistema, para la
que se diseñó originalmente.
Historia del lenguaje C
A finales de la década de 1970, C empezó a sustituir a
BASIC como lenguaje de programación de microcomputadores
predominante. Durante la década de 1980 se empezó a usar en
los IBM PC, lo que incrementó su popularidad significativamente.
Al mismo tiempo, Bjarne Stroustrup empezó a trabajar con
algunos compañeros de Bell Labs para añadir funcionalidades de
programación orientada a objetos a C. El lenguaje que crearon,
llamado C++, es hoy en día el lenguaje de programación de
aplicaciones más común en el sistema operativo Microsoft
Windows;mientras que C sigue siendo más popular en el entorno
Unix. Otro lenguaje que se desarrolló en esa época, Objective C,
también añadió características de programación orientada a
objetos a C. Aunque hoy en día no es tan popular como C++, se
usa para desarrollar aplicaciones Cocoa para Mac OS X.
En 1983, el Instituto Nacional Estadounidense de
Estándares (ANSI) organizó un comité, X3j11, para establecer
una especificación estándar de C. Tras un proceso largo y arduo,
se completó el estándar en 1989 y se ratificó como el "Lenguaje
de ProgramaciónC" ANSI X3.159-1989.Esta versión del lenguaje
se conoce a menudo como ANSI C, o a veces como C89 (para
distinguirla de C99).
En 1990, el estándar ANSI (con algunas modificaciones
menores) fue adoptado por la Organización Internacional para la
Estandarización (ISO) en el estándar ISO/IEC 9899:1990. Esta
versión se conoce a veces como C90. No obstante, "C89" y "C90"
se refieren en esencia al mismo lenguaje.
Algunas características del lenguaje C
- Tiene un conjunto completo de instrucciones de control.
- Permite la agrupación de instrucciones.
- Incluye el concepto de puntero (variable que contiene la
dirección de otra variable).
- Los argumentos de las funciones se transfieren por su valor.
- E/S no forma parte del lenguaje, sino que se proporciona a
través de una biblioteca de funciones.
-Permite la separación de un programa en módulos que admiten
compilación independiente.
Tipos de lenguaje
El primer objetivo de un programa informático es el manejo
de datos. Un dato es toda aquella información que se puede tratar
en un programa informático. Existen unos datos de entrada y unos
datos de salida. Los datos de entrada se manipulan en el
programa produciendo unos datos de salida. Un dato dentro de un
programa se caracteriza por llevar asociado un identificador, un
tipo y un valor. Hay dos clases de tipos de datos: tipos
fundamentales y tipos derivados. Hablaremos de los tipos de
datos fundamentales.
Tipo Entero
Representa números enteros con o sin signo, que estarán
compuestos porlos dígitos del0 al 9, pudiendo ser precedidospor
los signos + o -. Algunos ejemplo de datos enteros son: 0, 23, -
176, -1, etc. Para definir variables en C se antepone la palabra
reservada del tipo al identificador de la variable. El tipo de datos
entero se define en el lenguaje de programación C por la palabra
reservada int. Para definir un tipo de dato en C se escribe lo
siguiente: int nombre_variable = valor; No es necesario que la
variable tenga un valor predeterminado. Se puede definir sin
asignarle ningún valor.
Si tenemos varios datos que son del mismo tipo, se pueden
definir todas en la misma línea de código escribiendo un único int,
separando el nombre de las variables por “,”. Una vez que se
haya acabado de definir variables, se cierra la línea de código con
“;”
Por ejemplo: int edad = 24;
int edad;
int edad, num, contador;
Tipo Real
Se emplean para representar números reales (con
decimales). Para definir datos reales se antepone la palabra
reservada float al identificador de la variable.
float identificador = valor;
Por ejemplo: float numero1, numero2;
float numero3 = 123.43;
float numero3;
Tipo carácter
Este tipo de datos se emplea para representar un carácter
perteneciente a un determinado código utilizado por el ordenador
(normalmente el código ASCII).
Para representar este tipo de dato se antepone la palabra
reservada char al identificador de la variable.
Char identificador = ‘valor’;
Una constante tipo char se representa como un solo carácter
encerrado entre comillas simples.
Por ejemplo: char letra, letra2;
char letra=’a’;
Tipo cadena de caracteres
Una cadena de caracteres es un número de caracteres
consecutivos (incluso ninguno) encerrado entre unos
delimitadores determinados,que en el lenguaje C son las comillas
dobles.
Para definir variables de tipo cadena, estas se definen como
vectores de caracteres, esto es, anteponiendo la palabra
reservada char al identificador de la variable, y después entre
corchetes la longitud máxima de cadena.
Char identificador[cantidad] = “ mensaje ”;
Por ejemplo: char cadena[20];
char cadena[20] = “Hola mundo”;
char cadena[] = “HOLA”;
En la siguiente tabla se hace un resumen de los distintos
tipos de datos:
Tipo de dato Palabra reservada Ejemplo
Entero Int Int numero=0;
Real Float Float numero=12.2;
Carácter Char Char letra = ‘a’;
Cadena de carácter Char Char palabra[10] =
“HOLA”;
Los operadores relacionales, también denominados
operadores binarios lógicos y de comparación, se utilizan para
comprobar la veracidad o falsedad de determinadas propuestas
de relación. Tipo de dato Palabra reservada Ejemplo
Entero Int Int numero=0;
Real Float Float numero=12.2;
Carácter Char Char letra = ‘a’;
Cadena de carácter Char Char palabra[10] = “HOLA”;
Las expresiones que los contienen se denominan
expresiones relacionales. Aceptan diversos tipos de argumentos,
y el resultado, que es la respuesta a la pregunta, es siempre del
tipo cierto/falso, es decir, producen un resultado booleano. Si la
propuestaes cierta, el resultado es true (un valor distinto de cero),
si es falsa false (cero). C++ dispone de los siguientes:
< Menor que
> Mayor que
<= Menor o igual que
>= Mayor o igual que
== Igual que (identidad)
!= Desigual que (desigualdad)
Sintaxis
expresión-relacional <>
expresión-relacional > shift-expresion
expresión-relacional <= shift-expresion
expresión-relacional >= shift-expresion
expresión-de-igualdad == expresión-relacional
expresión-de-igualdad != expresión-relacional
Propiedades del lenguaje C
- Núcleo del lenguaje simple, con funcionalidades añadidas
importantes, como funciones matemáticas y de manejo de
archivos, proporcionadas por bibliotecas.
- Es un lenguaje muy flexible que permite programar con
múltiples estilos.
- Uno de los más empleados es el estructurado "no llevado al
extremo" (permitiendo ciertas licencias de ruptura).
- Un sistema de tipos que impide operaciones sin sentido.
Usa un lenguaje de preprocesado, el preprocesador de C,
para tareas como definir macros e incluir múltiples archivos
de código fuente.
- Acceso a memoria de bajo nivel mediante el uso de
punteros.
- Interrupciones al procesador con uniones.
- Un conjunto reducido de palabras clave.
- Por defecto, el paso de parámetros a una función se realiza
por valor. El paso por referencia se consigue pasando
explícitamente a las funciones las direcciones de memoria
de dichos parámetros.
- Punteros a funciones y variables estáticas, que permiten
una forma rudimentaria de encapsulado y polimorfismo.
Tipos de datos agregados (struct) que permiten que datos
relacionados (como un empleado, que tiene un id, un nombre y un
salario) se combinen y se manipulen como un todo (en una única
variable "empleado").
Ventajas
Lenguaje muy eficiente puesto que es posible utilizar sus
características de bajo nivel para realizar implementaciones
óptimas.
A pesar de su bajo nivel es el lenguaje más portado en
existencia, habiendo compiladores para casi todos los sistemas
conocidos.
Proporciona facilidades para realizar programas modulares
y/o utilizar código o bibliotecas existentes.
Inconvenientes
El mayor problema que presenta el lenguaje C frente a los
lenguajes de tipo de dato dinámico es la gran diferencia en
velocidad de desarrollo: es más lento programar en C, sobre todo
para el principiante. La razón estriba en que el compiladorde C se
limita a traducir código sin apenas añadir nada. La gestión de la
memoria es un ejemplo clásico: en C el programador ha de
reservar y liberar la memoria explícitamente. En otros lenguajes
(como BASIC, Matlab o C#) la memoria es gestionada de forma
transparente para el programador. Esto alivia la carga de trabajo
humano y en muchas ocasiones evita errores, aunque también
supone mayor carga de trabajo para el procesador.
El mantenimiento en algunos casos puede ser más difícil y
costoso que con ciertos lenguajes de más alto nivel. El código en
C se presta a sentencias cortas y enrevesadas de difícil
interpretación[cita requerida].
Cabe destacar el contexto y época en la que fue
desarrollado C. En aquellos tiempos existían muy pocos
programadores, los cuales, a su vez, eran prácticamente todos
expertos en el área. De esta manera, se asumía que los
programadores eran conscientes de sus trabajos y capaces de
manejar perfectamente el lenguaje. Por esta razón es muy
importante que los recién iniciados adopten buenas prácticas a la
hora de escribir en C y manejar la memoria, como por ejemplo un
uso intensivo de indentación y conocera fondo todo lo que implica
el manejo de punteros y direcciones de memoria.
Expresiones y operadores
Los distintos operadores permiten formar expresiones tanto
aritméticas como lógicas. Los operadores aritméticos y lógicos
son:
+, - suma, resta
++, -- incremento, decremento
*, /, % multiplicación, división, módulo
>>, << rotación de bits a la derecha, izquierda.
& AND booleano
| OR booleano
^ EXOR booleano
~ complemento a 1
! complemento a 2, NOT lógico
==, != igualdad, desigualdad
&&, || AND, OR lógico
<, <= menor, menor o igual
>, >= mayor, mayor o igual
En estos operadores deben tenerse en cuenta la
precedenciade operadores y las reglas de asociatividad, que son
las normales en la mayoría de lenguajes. Se debe consultar el
manual de referencia para obtener una explicación detallada.
Además hay toda una serie de operadores aritméticos con
asignación, como pueden ser += y ^=.
En la evaluación de expresiones lógicas, los compiladores
normalmente utilizan técnicas de evaluación rápida. Para decidir
si una expresión lógica es cierta o falsa muchas veces no es
necesario evaluarla completamente. Por ejemplo una expresión
formada <exp1> || <exp2>, el compiladorevalúa primero <exp1> y
si es cierta, no evalúa <exp2>. Por ello se deben evitar
construcciones en las que se modifiquen valores de datos en la
propia expresión, pues su comportamiento puede depender de la
implementación del compilador o de la optimización utilizada en
una compilación o en otra. Estos son errores que se pueden
cometer fácilmente en C ya que una asignación es también una
expresión.
Debemos evitar: if (( x++ > 3 ) || ( x < y ))
y escribir en su lugar: x++; if (( x > 3 ) || ( x < y ))
Hay un tipo especial de expresión en C que se denomina
expresióncondicional y está representada por los operadores? : .
Su utilización es como sigue: <e>? <x>: <y>. Se evalúa si e
entonces x; si no, y.
int mayor ( int a, int b ) {
return ( a > b ) ? TRUE : FALSE;}
waste_time () {
float a, b = 0.0;
( b > 0.0 ) ? sin(M_PI / 8) : cos(M_PI / 4);}

Más contenido relacionado

La actualidad más candente

Java Ago Dic07
Java Ago Dic07Java Ago Dic07
Java Ago Dic07adrianpro
 
Curso de lenguaje C
Curso de lenguaje CCurso de lenguaje C
Curso de lenguaje C
rcc1964
 
Tipos Datos y Operadores en Visual C# (C sharp)
Tipos Datos y Operadores en Visual C# (C sharp)Tipos Datos y Operadores en Visual C# (C sharp)
Tipos Datos y Operadores en Visual C# (C sharp)
Pedro Antonio Villalta (Pavillalta)
 
C# para desarrolladores VB6
C# para desarrolladores VB6C# para desarrolladores VB6
C# para desarrolladores VB6
Tonymx
 
Introducción al lenguaje c++
Introducción al lenguaje c++Introducción al lenguaje c++
Introducción al lenguaje c++
Krisna M. B. Ready S.
 
Lenguaje de programacion c
Lenguaje de programacion cLenguaje de programacion c
Lenguaje de programacion c1002pc1
 
Clasificación de lenguajes de programación
Clasificación de lenguajes de programaciónClasificación de lenguajes de programación
Clasificación de lenguajes de programaciónAlvaro Pucha
 
Introduccion al lenguaje de programacion c
Introduccion al lenguaje de programacion cIntroduccion al lenguaje de programacion c
Introduccion al lenguaje de programacion c
Freivys Paredes
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación C
JuanAndresColmenarez
 
Curso de lenguaje c prev
Curso de lenguaje c prevCurso de lenguaje c prev
Curso de lenguaje c prevjtk1
 
Introduccion a Visual C Sharp
Introduccion a Visual C SharpIntroduccion a Visual C Sharp
Introduccion a Visual C Sharp
Pedro Antonio Villalta (Pavillalta)
 
Intro a c sharp
Intro a c sharpIntro a c sharp
Intro a c sharpstarduslex
 
Cesar ivan lenguaje_c
Cesar ivan lenguaje_cCesar ivan lenguaje_c
Cesar ivan lenguaje_c
estefania loredo cortes
 
Entorno de desarrollo en c++
Entorno de desarrollo en c++Entorno de desarrollo en c++
Entorno de desarrollo en c++Lymobe
 
Clasificación de los Lenguajes de programación
Clasificación de los Lenguajes de programaciónClasificación de los Lenguajes de programación
Clasificación de los Lenguajes de programación
MaryElizabeth07
 
12 13 dominguez simon duran william programacion 29 10-2019
12 13 dominguez simon duran william programacion 29 10-201912 13 dominguez simon duran william programacion 29 10-2019
12 13 dominguez simon duran william programacion 29 10-2019
William10050
 

La actualidad más candente (20)

Java Ago Dic07
Java Ago Dic07Java Ago Dic07
Java Ago Dic07
 
Curso de lenguaje C
Curso de lenguaje CCurso de lenguaje C
Curso de lenguaje C
 
Tipos Datos y Operadores en Visual C# (C sharp)
Tipos Datos y Operadores en Visual C# (C sharp)Tipos Datos y Operadores en Visual C# (C sharp)
Tipos Datos y Operadores en Visual C# (C sharp)
 
C# para desarrolladores VB6
C# para desarrolladores VB6C# para desarrolladores VB6
C# para desarrolladores VB6
 
Introducción al lenguaje c++
Introducción al lenguaje c++Introducción al lenguaje c++
Introducción al lenguaje c++
 
Lenguaje de programacion c
Lenguaje de programacion cLenguaje de programacion c
Lenguaje de programacion c
 
Clasificación de lenguajes de programación
Clasificación de lenguajes de programaciónClasificación de lenguajes de programación
Clasificación de lenguajes de programación
 
Introduccion al lenguaje de programacion c
Introduccion al lenguaje de programacion cIntroduccion al lenguaje de programacion c
Introduccion al lenguaje de programacion c
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Lenguaje de Programación C
Lenguaje de Programación CLenguaje de Programación C
Lenguaje de Programación C
 
Taller de c sharp
Taller de c sharpTaller de c sharp
Taller de c sharp
 
Curso de lenguaje c prev
Curso de lenguaje c prevCurso de lenguaje c prev
Curso de lenguaje c prev
 
Introduccion a Visual C Sharp
Introduccion a Visual C SharpIntroduccion a Visual C Sharp
Introduccion a Visual C Sharp
 
C lpii
C lpiiC lpii
C lpii
 
Intro a c sharp
Intro a c sharpIntro a c sharp
Intro a c sharp
 
Cesar ivan lenguaje_c
Cesar ivan lenguaje_cCesar ivan lenguaje_c
Cesar ivan lenguaje_c
 
Entorno de desarrollo en c++
Entorno de desarrollo en c++Entorno de desarrollo en c++
Entorno de desarrollo en c++
 
Clasificación de los Lenguajes de programación
Clasificación de los Lenguajes de programaciónClasificación de los Lenguajes de programación
Clasificación de los Lenguajes de programación
 
12 13 dominguez simon duran william programacion 29 10-2019
12 13 dominguez simon duran william programacion 29 10-201912 13 dominguez simon duran william programacion 29 10-2019
12 13 dominguez simon duran william programacion 29 10-2019
 

Similar a Lenguaje c

Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#
Juan Carlos Prieto
 
Ensayo de programacion c
Ensayo de programacion cEnsayo de programacion c
Ensayo de programacion c
Chavez Raul
 
Lenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantesLenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantesJhon Jairo C Q
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje cvictdiazm
 
Introduccion del Lenguaje C
Introduccion del Lenguaje CIntroduccion del Lenguaje C
Introduccion del Lenguaje C
Universidad de Guayaquil
 
¿Qué es programación en C_.pptx
¿Qué es programación en C_.pptx¿Qué es programación en C_.pptx
¿Qué es programación en C_.pptx
LilulandiaDaSilva
 
Programación c
Programación cProgramación c
Programación c
Programación cProgramación c
Programación cvictdiazm
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
Ali Crespo
 
Guia de ejercioccios de estudio c#.pptx
Guia de ejercioccios de estudio   c#.pptxGuia de ejercioccios de estudio   c#.pptx
Guia de ejercioccios de estudio c#.pptx
JAVIERARTUROGARCIAMI
 
Lenguaje c
Lenguaje c Lenguaje c
Lenguaje c
camilofigueroa14
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuelaroyimar
 
El lenguaje C, Jesus Franco
El lenguaje C, Jesus FrancoEl lenguaje C, Jesus Franco
El lenguaje C, Jesus Franco
JesusFranco50
 
2 intcomp milexisromero
2 intcomp milexisromero2 intcomp milexisromero
2 intcomp milexisromero18511572
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4
Marquina, Santiago
 
Unidad 3
Unidad 3Unidad 3
Unidad 3tf94
 

Similar a Lenguaje c (20)

Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#Lenguaje de la programación orientada a objetos c#
Lenguaje de la programación orientada a objetos c#
 
Ensayo de programacion c
Ensayo de programacion cEnsayo de programacion c
Ensayo de programacion c
 
Lenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantesLenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantes
 
Introduccion al lenguaje c
Introduccion al lenguaje cIntroduccion al lenguaje c
Introduccion al lenguaje c
 
Programacion kmi
Programacion kmiProgramacion kmi
Programacion kmi
 
Introduccion del Lenguaje C
Introduccion del Lenguaje CIntroduccion del Lenguaje C
Introduccion del Lenguaje C
 
¿Qué es programación en C_.pptx
¿Qué es programación en C_.pptx¿Qué es programación en C_.pptx
¿Qué es programación en C_.pptx
 
Programación c
Programación cProgramación c
Programación c
 
Programación c
Programación cProgramación c
Programación c
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Guia de ejercioccios de estudio c#.pptx
Guia de ejercioccios de estudio   c#.pptxGuia de ejercioccios de estudio   c#.pptx
Guia de ejercioccios de estudio c#.pptx
 
Unmsm02 2008
Unmsm02 2008Unmsm02 2008
Unmsm02 2008
 
Lenguaje c
Lenguaje c Lenguaje c
Lenguaje c
 
C++
C++C++
C++
 
ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
 
Republica bolivariana de venezuela
Republica bolivariana de venezuelaRepublica bolivariana de venezuela
Republica bolivariana de venezuela
 
El lenguaje C, Jesus Franco
El lenguaje C, Jesus FrancoEl lenguaje C, Jesus Franco
El lenguaje C, Jesus Franco
 
2 intcomp milexisromero
2 intcomp milexisromero2 intcomp milexisromero
2 intcomp milexisromero
 
Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 

Más de Ruben Dario Meza perez

Mapa mental calidad ruben meza
Mapa mental calidad ruben mezaMapa mental calidad ruben meza
Mapa mental calidad ruben meza
Ruben Dario Meza perez
 
Ultimo ejercicio
Ultimo ejercicioUltimo ejercicio
Ultimo ejercicio
Ruben Dario Meza perez
 
Relaciones de orden y de equivalencia
Relaciones de orden y de equivalenciaRelaciones de orden y de equivalencia
Relaciones de orden y de equivalencia
Ruben Dario Meza perez
 
Ejercicios sobre todas las estructuras
Ejercicios sobre todas las estructurasEjercicios sobre todas las estructuras
Ejercicios sobre todas las estructuras
Ruben Dario Meza perez
 
Estructuras anidadas
Estructuras anidadasEstructuras anidadas
Estructuras anidadas
Ruben Dario Meza perez
 
Ejercicios practicos de pseudocodigo
Ejercicios practicos de pseudocodigoEjercicios practicos de pseudocodigo
Ejercicios practicos de pseudocodigo
Ruben Dario Meza perez
 
Lenguaje c
Lenguaje cLenguaje c
Revista ing
Revista ingRevista ing
Revista ing
Revista ingRevista ing
Ejercicios de todas las estructuras
Ejercicios de todas las estructurasEjercicios de todas las estructuras
Ejercicios de todas las estructuras
Ruben Dario Meza perez
 
Estrusturas selectivas anidadas listo
Estrusturas selectivas anidadas listoEstrusturas selectivas anidadas listo
Estrusturas selectivas anidadas listo
Ruben Dario Meza perez
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
Ruben Dario Meza perez
 
Ejercicios de estructuras selectivas
Ejercicios de estructuras selectivasEjercicios de estructuras selectivas
Ejercicios de estructuras selectivas
Ruben Dario Meza perez
 
Estructura de una computadora
Estructura de una computadoraEstructura de una computadora
Estructura de una computadora
Ruben Dario Meza perez
 
Estructuras selectivas
Estructuras selectivasEstructuras selectivas
Estructuras selectivas
Ruben Dario Meza perez
 
Ejercicios repetitivos ruben
Ejercicios repetitivos rubenEjercicios repetitivos ruben
Ejercicios repetitivos ruben
Ruben Dario Meza perez
 
Algoritmos 2
Algoritmos 2Algoritmos 2
Algoritmos
AlgoritmosAlgoritmos
Orígenes de la ingeniería europea
Orígenes de la ingeniería europeaOrígenes de la ingeniería europea
Orígenes de la ingeniería europea
Ruben Dario Meza perez
 
Estructura de una computadora
Estructura de una computadoraEstructura de una computadora
Estructura de una computadora
Ruben Dario Meza perez
 

Más de Ruben Dario Meza perez (20)

Mapa mental calidad ruben meza
Mapa mental calidad ruben mezaMapa mental calidad ruben meza
Mapa mental calidad ruben meza
 
Ultimo ejercicio
Ultimo ejercicioUltimo ejercicio
Ultimo ejercicio
 
Relaciones de orden y de equivalencia
Relaciones de orden y de equivalenciaRelaciones de orden y de equivalencia
Relaciones de orden y de equivalencia
 
Ejercicios sobre todas las estructuras
Ejercicios sobre todas las estructurasEjercicios sobre todas las estructuras
Ejercicios sobre todas las estructuras
 
Estructuras anidadas
Estructuras anidadasEstructuras anidadas
Estructuras anidadas
 
Ejercicios practicos de pseudocodigo
Ejercicios practicos de pseudocodigoEjercicios practicos de pseudocodigo
Ejercicios practicos de pseudocodigo
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Revista ing
Revista ingRevista ing
Revista ing
 
Revista ing
Revista ingRevista ing
Revista ing
 
Ejercicios de todas las estructuras
Ejercicios de todas las estructurasEjercicios de todas las estructuras
Ejercicios de todas las estructuras
 
Estrusturas selectivas anidadas listo
Estrusturas selectivas anidadas listoEstrusturas selectivas anidadas listo
Estrusturas selectivas anidadas listo
 
Estructuras repetitivas
Estructuras repetitivasEstructuras repetitivas
Estructuras repetitivas
 
Ejercicios de estructuras selectivas
Ejercicios de estructuras selectivasEjercicios de estructuras selectivas
Ejercicios de estructuras selectivas
 
Estructura de una computadora
Estructura de una computadoraEstructura de una computadora
Estructura de una computadora
 
Estructuras selectivas
Estructuras selectivasEstructuras selectivas
Estructuras selectivas
 
Ejercicios repetitivos ruben
Ejercicios repetitivos rubenEjercicios repetitivos ruben
Ejercicios repetitivos ruben
 
Algoritmos 2
Algoritmos 2Algoritmos 2
Algoritmos 2
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Orígenes de la ingeniería europea
Orígenes de la ingeniería europeaOrígenes de la ingeniería europea
Orígenes de la ingeniería europea
 
Estructura de una computadora
Estructura de una computadoraEstructura de una computadora
Estructura de una computadora
 

Último

CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
JuanChaparro49
 
Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
YoverOlivares
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
RonaldRozoMora
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
manuelalejandro238
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
DianaSG6
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
RobertRamos84
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
Victor Manuel Rivera Guevara
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
MariaCortezRuiz
 
Seguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticosSeguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticos
Melvin191754
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
leonpool521
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
JavierAlejosM
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
HaroldKewinCanaza1
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
DavidHunucoAlbornoz
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
maitecuba2006
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
MiriamAquino27
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
joseabachesoto
 
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptxMATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
Fernando Benavidez
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
fernanroq11702
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 

Último (20)

CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
CODIGO DE SEÑALES Y COLORES NTP399 - ANEXO 17 DS 024
 
Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
 
Siemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdfSiemens----Software---Simatic----HMI.pdf
Siemens----Software---Simatic----HMI.pdf
 
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- ConstruccionA3QUIROZ,MANUEL- Operaciones Basicas- Construccion
A3QUIROZ,MANUEL- Operaciones Basicas- Construccion
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
 
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptxSistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
Sistema de disposición sanitarias – UBS composteras 2 PARTE.pptx
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
 
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdfPLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
PLAN DE TRABAJO DE REFUERZO ESCOLAR 2024.pdf
 
Seguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticosSeguridad en mineria los Controles criticos
Seguridad en mineria los Controles criticos
 
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...Una solucion saturada contiene la cantidad máxima de un  soluto que se disuel...
Una solucion saturada contiene la cantidad máxima de un soluto que se disuel...
 
FISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdfFISICA_Hidrostatica_uyhHidrodinamica.pdf
FISICA_Hidrostatica_uyhHidrodinamica.pdf
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
14. DISEÑO LOSA ALIGERADA MOD G VOLADO.pdf
 
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptxTEMA 11.  FLUIDOS-HIDROSTATICA.TEORIApptx
TEMA 11. FLUIDOS-HIDROSTATICA.TEORIApptx
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptxMATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
MATERIALES MAGNETICOS EN EL CAMPO SIDERURGICO.pptx
 
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdfDialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
Dialnet-EnsenanzaDeLaModelacionMedianteEcuacionesDiferenci-9304821.pdf
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 

Lenguaje c

  • 1. Universidad Fermín Toro Escuela de Mantenimiento Mecánico Vice-rectorado académico Facultad de ingeniería Ensayo sobre el Lenguaje C Integrante Ruben Dario Meza Perez CI: 24409605 SaiaB Profesor:Esteban Torrealba Cabudare, 12 de marzo de 2018
  • 2. Lenguaje C El lenguaje C es un lenguaje estructurado, en el mismo sentido que lo son otros lenguajes de programación tales como el lenguaje Pascal, el Ada o el Modula-2, pero no es estructurado por bloques, o sea, no es posible declarar subrutinas (pequeños trozos de programa) dentro de otras subrutinas, a diferencia de como sucede con otros lenguajes estructurados tales como el Pascal. Además,el lenguaje C no es rígido en la comprobaciónde tipos de datos, permitiendo fácilmente la conversión entre diferentes tipos de datos y la asignación entre tipos de datos diferentes. Todo programa de C consta, básicamente, de un conjunto de funciones, y una función llamada main, la cual es la primera que se ejecuta al comenzar el programa, llamándose desde ella al resto de funciones que compongan nuestro programa. Desde su creación, surgieron distintas versiones de C, que incluían unas u otras características, palabras reservadas, etc. Este hecho provoco la necesidad de unificar el lenguaje C, y es por ello que surgió un standard de C, llamado ANSI-C, que declara una serie de características, etc., que debe cumplir todo lenguaje C. Por ello, y dado que todo programa que se desarrolle siguiendo el standard ANSI de C será fácilmente portable de un modelo de ordenador a otro modelo de ordenador, y de igual forma de un modelo de compilador a otro, en estos apuntes explicaremos un C basado en el standard ANSI-C. El lenguaje C es uno de los lenguajes de programación estructurada más utilizados en nuestros días. El principal componente estructural de C es la función. En C, las funciones son bloques en los cuales ocurren las actividades de un programa. Esto nos permite separar los programas en tareas, lo que nos conduce a la programación modular.
  • 3. Uno de los objetivos de diseño del lenguaje C es que sólo sean necesarias unas pocas instrucciones en lenguaje máquina para traducir cada elemento del lenguaje, sin que haga falta un soporte intenso en tiempo de ejecución.Es muy posible escribir C a bajo nivel de abstracción; de hecho, C se usó como intermediario entre diferentes lenguajes. En parte a causa de ser de relativamente bajo nivel y de tener un modesto conjunto de características, se pueden desarrollar compiladores de C fácilmente. En consecuencia, el lenguaje C está disponible en un amplio abanico de plataformas (más que cualquier otro lenguaje). Además, a pesar de su naturaleza de bajo nivel, el lenguaje se desarrolló para incentivar la programación independiente de la máquina. Un programa escrito cumpliendo los estándares e intentando que sea portátil puede compilarse en muchos computadores. C se desarrolló originalmente (conjuntamente con el sistema operativo Unix, con el que ha estado asociado mucho tiempo)por programadorespara programadores.Sin embargo, ha alcanzado una popularidad enorme, y se ha usado en contextos muy alejados de la programación de software de sistema, para la que se diseñó originalmente. Historia del lenguaje C A finales de la década de 1970, C empezó a sustituir a BASIC como lenguaje de programación de microcomputadores predominante. Durante la década de 1980 se empezó a usar en los IBM PC, lo que incrementó su popularidad significativamente. Al mismo tiempo, Bjarne Stroustrup empezó a trabajar con algunos compañeros de Bell Labs para añadir funcionalidades de programación orientada a objetos a C. El lenguaje que crearon, llamado C++, es hoy en día el lenguaje de programación de aplicaciones más común en el sistema operativo Microsoft Windows;mientras que C sigue siendo más popular en el entorno Unix. Otro lenguaje que se desarrolló en esa época, Objective C, también añadió características de programación orientada a
  • 4. objetos a C. Aunque hoy en día no es tan popular como C++, se usa para desarrollar aplicaciones Cocoa para Mac OS X. En 1983, el Instituto Nacional Estadounidense de Estándares (ANSI) organizó un comité, X3j11, para establecer una especificación estándar de C. Tras un proceso largo y arduo, se completó el estándar en 1989 y se ratificó como el "Lenguaje de ProgramaciónC" ANSI X3.159-1989.Esta versión del lenguaje se conoce a menudo como ANSI C, o a veces como C89 (para distinguirla de C99). En 1990, el estándar ANSI (con algunas modificaciones menores) fue adoptado por la Organización Internacional para la Estandarización (ISO) en el estándar ISO/IEC 9899:1990. Esta versión se conoce a veces como C90. No obstante, "C89" y "C90" se refieren en esencia al mismo lenguaje. Algunas características del lenguaje C - Tiene un conjunto completo de instrucciones de control. - Permite la agrupación de instrucciones. - Incluye el concepto de puntero (variable que contiene la dirección de otra variable). - Los argumentos de las funciones se transfieren por su valor. - E/S no forma parte del lenguaje, sino que se proporciona a través de una biblioteca de funciones. -Permite la separación de un programa en módulos que admiten compilación independiente.
  • 5. Tipos de lenguaje El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. Existen unos datos de entrada y unos datos de salida. Los datos de entrada se manipulan en el programa produciendo unos datos de salida. Un dato dentro de un programa se caracteriza por llevar asociado un identificador, un tipo y un valor. Hay dos clases de tipos de datos: tipos fundamentales y tipos derivados. Hablaremos de los tipos de datos fundamentales. Tipo Entero Representa números enteros con o sin signo, que estarán compuestos porlos dígitos del0 al 9, pudiendo ser precedidospor los signos + o -. Algunos ejemplo de datos enteros son: 0, 23, - 176, -1, etc. Para definir variables en C se antepone la palabra reservada del tipo al identificador de la variable. El tipo de datos entero se define en el lenguaje de programación C por la palabra reservada int. Para definir un tipo de dato en C se escribe lo siguiente: int nombre_variable = valor; No es necesario que la variable tenga un valor predeterminado. Se puede definir sin asignarle ningún valor. Si tenemos varios datos que son del mismo tipo, se pueden definir todas en la misma línea de código escribiendo un único int, separando el nombre de las variables por “,”. Una vez que se haya acabado de definir variables, se cierra la línea de código con “;” Por ejemplo: int edad = 24; int edad; int edad, num, contador; Tipo Real
  • 6. Se emplean para representar números reales (con decimales). Para definir datos reales se antepone la palabra reservada float al identificador de la variable. float identificador = valor; Por ejemplo: float numero1, numero2; float numero3 = 123.43; float numero3; Tipo carácter Este tipo de datos se emplea para representar un carácter perteneciente a un determinado código utilizado por el ordenador (normalmente el código ASCII). Para representar este tipo de dato se antepone la palabra reservada char al identificador de la variable. Char identificador = ‘valor’; Una constante tipo char se representa como un solo carácter encerrado entre comillas simples. Por ejemplo: char letra, letra2; char letra=’a’; Tipo cadena de caracteres Una cadena de caracteres es un número de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados,que en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra
  • 7. reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena. Char identificador[cantidad] = “ mensaje ”; Por ejemplo: char cadena[20]; char cadena[20] = “Hola mundo”; char cadena[] = “HOLA”; En la siguiente tabla se hace un resumen de los distintos tipos de datos: Tipo de dato Palabra reservada Ejemplo Entero Int Int numero=0; Real Float Float numero=12.2; Carácter Char Char letra = ‘a’; Cadena de carácter Char Char palabra[10] = “HOLA”; Los operadores relacionales, también denominados operadores binarios lógicos y de comparación, se utilizan para comprobar la veracidad o falsedad de determinadas propuestas de relación. Tipo de dato Palabra reservada Ejemplo Entero Int Int numero=0; Real Float Float numero=12.2; Carácter Char Char letra = ‘a’; Cadena de carácter Char Char palabra[10] = “HOLA”; Las expresiones que los contienen se denominan expresiones relacionales. Aceptan diversos tipos de argumentos, y el resultado, que es la respuesta a la pregunta, es siempre del tipo cierto/falso, es decir, producen un resultado booleano. Si la
  • 8. propuestaes cierta, el resultado es true (un valor distinto de cero), si es falsa false (cero). C++ dispone de los siguientes: < Menor que > Mayor que <= Menor o igual que >= Mayor o igual que == Igual que (identidad) != Desigual que (desigualdad) Sintaxis expresión-relacional <> expresión-relacional > shift-expresion expresión-relacional <= shift-expresion expresión-relacional >= shift-expresion expresión-de-igualdad == expresión-relacional expresión-de-igualdad != expresión-relacional Propiedades del lenguaje C - Núcleo del lenguaje simple, con funcionalidades añadidas importantes, como funciones matemáticas y de manejo de archivos, proporcionadas por bibliotecas. - Es un lenguaje muy flexible que permite programar con múltiples estilos. - Uno de los más empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura).
  • 9. - Un sistema de tipos que impide operaciones sin sentido. Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir múltiples archivos de código fuente. - Acceso a memoria de bajo nivel mediante el uso de punteros. - Interrupciones al procesador con uniones. - Un conjunto reducido de palabras clave. - Por defecto, el paso de parámetros a una función se realiza por valor. El paso por referencia se consigue pasando explícitamente a las funciones las direcciones de memoria de dichos parámetros. - Punteros a funciones y variables estáticas, que permiten una forma rudimentaria de encapsulado y polimorfismo. Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una única variable "empleado"). Ventajas Lenguaje muy eficiente puesto que es posible utilizar sus características de bajo nivel para realizar implementaciones óptimas. A pesar de su bajo nivel es el lenguaje más portado en existencia, habiendo compiladores para casi todos los sistemas conocidos. Proporciona facilidades para realizar programas modulares y/o utilizar código o bibliotecas existentes.
  • 10. Inconvenientes El mayor problema que presenta el lenguaje C frente a los lenguajes de tipo de dato dinámico es la gran diferencia en velocidad de desarrollo: es más lento programar en C, sobre todo para el principiante. La razón estriba en que el compiladorde C se limita a traducir código sin apenas añadir nada. La gestión de la memoria es un ejemplo clásico: en C el programador ha de reservar y liberar la memoria explícitamente. En otros lenguajes (como BASIC, Matlab o C#) la memoria es gestionada de forma transparente para el programador. Esto alivia la carga de trabajo humano y en muchas ocasiones evita errores, aunque también supone mayor carga de trabajo para el procesador. El mantenimiento en algunos casos puede ser más difícil y costoso que con ciertos lenguajes de más alto nivel. El código en C se presta a sentencias cortas y enrevesadas de difícil interpretación[cita requerida]. Cabe destacar el contexto y época en la que fue desarrollado C. En aquellos tiempos existían muy pocos programadores, los cuales, a su vez, eran prácticamente todos expertos en el área. De esta manera, se asumía que los programadores eran conscientes de sus trabajos y capaces de manejar perfectamente el lenguaje. Por esta razón es muy importante que los recién iniciados adopten buenas prácticas a la hora de escribir en C y manejar la memoria, como por ejemplo un uso intensivo de indentación y conocera fondo todo lo que implica el manejo de punteros y direcciones de memoria.
  • 11. Expresiones y operadores Los distintos operadores permiten formar expresiones tanto aritméticas como lógicas. Los operadores aritméticos y lógicos son: +, - suma, resta ++, -- incremento, decremento *, /, % multiplicación, división, módulo >>, << rotación de bits a la derecha, izquierda. & AND booleano | OR booleano ^ EXOR booleano ~ complemento a 1 ! complemento a 2, NOT lógico ==, != igualdad, desigualdad &&, || AND, OR lógico <, <= menor, menor o igual >, >= mayor, mayor o igual En estos operadores deben tenerse en cuenta la precedenciade operadores y las reglas de asociatividad, que son las normales en la mayoría de lenguajes. Se debe consultar el manual de referencia para obtener una explicación detallada. Además hay toda una serie de operadores aritméticos con asignación, como pueden ser += y ^=. En la evaluación de expresiones lógicas, los compiladores normalmente utilizan técnicas de evaluación rápida. Para decidir si una expresión lógica es cierta o falsa muchas veces no es necesario evaluarla completamente. Por ejemplo una expresión formada <exp1> || <exp2>, el compiladorevalúa primero <exp1> y si es cierta, no evalúa <exp2>. Por ello se deben evitar construcciones en las que se modifiquen valores de datos en la
  • 12. propia expresión, pues su comportamiento puede depender de la implementación del compilador o de la optimización utilizada en una compilación o en otra. Estos son errores que se pueden cometer fácilmente en C ya que una asignación es también una expresión. Debemos evitar: if (( x++ > 3 ) || ( x < y )) y escribir en su lugar: x++; if (( x > 3 ) || ( x < y )) Hay un tipo especial de expresión en C que se denomina expresióncondicional y está representada por los operadores? : . Su utilización es como sigue: <e>? <x>: <y>. Se evalúa si e entonces x; si no, y. int mayor ( int a, int b ) { return ( a > b ) ? TRUE : FALSE;} waste_time () { float a, b = 0.0; ( b > 0.0 ) ? sin(M_PI / 8) : cos(M_PI / 4);}