1. República Bolivariana de Venezuela
Ministerio del Poder Popular para la Educación
Universidad “FERMIN TORO”
CABUDARE 2015
Lenguaje ”C”
Autora:
Francis Pérez
C.I V-26.668.068
2. Antes de hablar de C++, es necesario explicar que un lenguaje de programación
es una herramienta que nos permite comunicarnos e instruir a la computadora
para que realice una tarea específica. Cada lenguaje de programación posee una
sintaxis y un léxico particular, es decir, forma de escribirse que es diferente en
cada uno por la forma que fue creado y por la forma que trabaja su compilador
para revisar, acomodar y reservar el mismo programa en memoria.
Existen muchos lenguajes de programación de entre los que se destacan los
siguientes:
1. C ▶
2. C++ ▶
3. Basic
4. Ada ▶
5. Java ▶
6. Pascal ▶
7. Python □
8. Fortran
9. Smalltalk
Características:
Un 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").
3. El desarrollo inicial de C se llevó a cabo en los Laboratorios Bell de AT&T
entre 1969 y 1973; según Ritchie, el periodo más creativo tuvo lugar en 1972. Se
le dio el nombre "C" porque muchas de sus características fueron tomadas de un
lenguaje anterior llamado "B"
La justificación para obtener el ordenador original que se usó para
desarrollar Unix fue crear un sistema que automatizase el archivo de
patentes. La versión original de Unix se desarrolló en lenguaje
ensamblador. Más tarde, el lenguaje C se desarrolló para poder reescribir el
sistema operativo.
En 1973, el lenguaje C se había vuelto tan potente que la mayor parte del kernel
Unix, originalmente escrito en el lenguaje ensamblador PDP-11/20, fue reescrita
en C. Éste fue uno de los primeros núcleos de sistema operativo implementados
en un lenguaje distinto al ensamblador. (Algunos casos anteriores son el sistema
Multics, escrito en PL/I, y Master Control Program para el B5000 de Burroughs,
escrito en ALGOL en 1961).
El C de Kernighan y Ritchie
En 1978, Ritchie y Brian Kernighan publicaron la primera edición de El lenguaje de
programación C, también conocido como La biblia de C. Este libro fue durante
años la especificación informal del lenguaje. El lenguaje descrito en este libro
recibe habitualmente el nombre de "el C de Kernighan y Ritchie" o simplemente
"K&R C" (La segunda edición del libro cubre el estándar ANSI C, descrito más
abajo).
Kernighan y Ritchie introdujeron las siguientes características al lenguaje:
El tipo de datos struct.
El tipo de datos long int.
El tipo de datos unsigned int.
Los operadores =+ y =- fueron sustituidos por += y -= para eliminar la
ambigüedad sintáctica de expresiones como i=-10, que se podría interpretar
bien como i =- 10 o bien como i = -10.
El C de Kernighan y Ritchie es el subconjunto más básico del lenguaje que un
compilador debe de soportar. Durante muchos años, incluso tras la introducción
del ANSI C, fue considerado "el mínimo común denominador" en el que los
programadores debían programar cuando deseaban que sus programas fueran
transportables, pues no todos los compiladores soportaban completamente ANSI,
y el código razonablemente bien escrito en K&R C es también código ANSI C
válido.
4. En las primeras versiones del lenguaje, la definición de funciones se hacía
mediante un 'prototipo de función' (function prototype), el cual indicaba al
compilador el tipo de retorno de la función. Aunque este método tiene una gran
desventaja respecto al nuevo, debido a que no comprueba el número ni el tipo en
la lista de argumentos; en otras palabras, es mucho más fácil cometer errores al
hacer una llamada a una función con argumentos incorrectos.
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
compilador de 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.
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 conocer a fondo
todo lo que implica el manejo de punteros y direcciones de memoria.
5. TIPOS DE DATOS:
Hay dos clases de tipos de datos: tipos fundamentales y tipos derivados.
Únicamente vamos a ver los tipos de datos fundamentales.
Tipo entero: representa números enteros con o sin signo, que estarán compuestos por los
dígitos del 0 al 9, pudiendo ser precedidos por 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;
6. 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”;
7. Un operador lógico actúa, exclusivamente, sobre valores de expresiones lógicas.
Operadores aritméticos