Está en la página 1de 9

CAPÍTULO 2

INTRODUCCIÓN AL LENGUAJE C 2

1) LENGUAJES DE PROGRAMACIÓN [1]. 2

a) Clasificación de los lenguajes de programación: 2

2) PROGRAMACIÓN ESTRUCTURADA 2

a) Características. 2

b) Otros paradigmas de programación. 2

3) LENGUAJE C [1]. 2

a) Fases para la ejecución de un programa. 2

b) Estructura de un programa [3]. 3


1. Directivas del preprocesador [1] 4
2. La función main( )[1] 5

c) Variables [1] 5
1. Declaración de variables. 5
2. Tipos de datos. 5

d) Operadores y expresiones [1] 6


1. El operador de asignación (=) 7
2. Operadores Aritméticos 7
3. Operadores de incremento 7
4. Operadores Relacionales 7
5. Operadores Lógicos 8

e) Comentarios 8

BIBLIOGRAFÍA 9
CAPÍTULO 2
INTRODUCCIÓN AL LENGUAJE C

1) Lenguajes de programación [1].


“Programar es escribir instrucciones para que el computador ejecute acciones”.
Las instrucciones se pueden escribir en distintos lenguajes de programación, los cuales se
pueden categorizar en tres tipos:

a) Clasificación de los lenguajes de programación:


• Lenguaje de máquina. La computadora entiende su propio lenguaje (lenguaje
natural). Los lenguajes de máquina por lo general son cadenas de números que
instruyen a la computadoras para que ejecuten sus operaciones más elementales.
• Lenguaje ensamblador. Es una evolución de la programación que permite usar
abreviaturas similares al inglés para representar las operaciones de la computadora;
entonces se requiere un programa de traducción denominado ensamblador.
• Lenguaje de alto nivel. Permite escribir simples enunciados para llevar a cabo tareas
sustanciales. Requiere de un compilador.

2) Programación estructurada
a) Características.
La programación estructurada es un paradigma de programación en el que un programa
se escribe de acuerdo a las siguientes reglas:
§ El programa tiene un diseño modular. El diseño modular – según Dijkstra – consiste en
descomponer una acción compleja en términos de un número de acciones más simples
que puedan ser ejecutadas por instrucciones de computadoras.
§ Los módulos son diseñados de manera descendente. En el diseño descendente (top-
down) el problema se descompone en etapas o estructuras jerárquicas, de forma que
se puede considerar cada estructura desde dos puntos de vista: ¿qué hace? y ¿cómo
lo hace?
§ Cada módulo se codifica utilizando las tres estructuras de control básicas: secuencia,
selección y repetición.
b) Otros paradigmas de programación.
Los paradigmas de programación más conocidos son [2]:
• Paradigma de Programación Funcional. Está basado en la utilización de funciones
aritméticas que no manejan datos mutables o estados. Este paradigma lo soportan
lenguajes como “Haskell” y “Lisp”.
• Paradigma de Programación Lógica. Se basa en el concepto de función y es muy
orientado a las matemáticas. Este paradigma lo soportan lenguajes como “Prolog”.
• Paradigma de la Programación Orientada a Objetos. Es el paradigma más
utilizado en la actualidad ya que se acerca al mundo real y nos permite aumentar la
comprensibilidad de los problemas. Este paradigma de programación lo soportan
lenguajes como “C++”, “Java”, “C#”

3) Lenguaje C [1].
a) Fases para la ejecución de un programa.
Los programas en C pasan casi siempre por 6 fases para su ejecución:
• Edición. Se utiliza un editor para escribir el programa, en esta fase se pueden realizar
correcciones. El resultado de esta fase es un archivo (código fuente) con la extensión
adecuada (.C).
• Preproceso. Se ejecuta de forma automática antes de la compilación, obedeciendo a
comandos especiales llamados directrices de preprocesador. En general se incluyen
otros archivos en el programa a compilar y se reemplazan símbolos especiales con
texto de programa.
• Compilación. Traduce el programa C a lenguaje de máquina (código objeto - .OBJ),
incluye detección de errores de sintaxis.
• Enlace. Se vincula al código objeto con el código de las funciones faltantes
(incorporadas en el programa) para producir una imagen ejecutable (.EXE).
• Carga. Se carga en memoria la imagen ejecutable del programa
• Ejecución. Bajo el control de la CPU se ejecuta una instrucción a la vez.

Figura 1. Esquema del proceso de compilación

b) Estructura de un programa [3].


Todos los programas en C consisten de una o más funciones, la única función que debe
estar siempre presente es la denominada main(), siendo ésta la primera función que es
invocada cuando se ejecuta un programa, y ésta a su vez puede llamar a otras funciones.

En general, la estructura de un programa en C es la siguiente:

• Encabezado del programa. Que está constituido de:


o Directivas del preprocesador.
o Definición de tipos.
o Definición de funciones (prototipos)
• Cuerpo del programa. Donde encontraremos:
o La función main().
o El resto de funciones.
Los elementos marcados de color verde pueden no estar presentes.

Directiva de preprocesador
Función Principal
Sentencias que forman el
cuerpo del programa

Toda la línea 5, incluyendo printf, sus argumentos dentro de los paréntesis, y el punto y
coma (;), se llama enunciado o sentencia. Todo enunciado debe terminar con un punto y
coma (también conocido como terminador de enunciado).
1. Directivas del preprocesador [1]

Las directivas del preprocesador, preparan el código fuente antes de que sea recibido
por el procesador propiamente dicho. Se definen dos directivas:
• #include
• #define

#include

Incluye en su código fuente el contenido de un archivo (librerías) guardado en el disco.

#include <archivo> Para librerías estándar.


#include “archivo” Para librerías de usuario.

Obsérvese que los ángulos < y> no son parte del nombre del archivo; se utilizan para
indicar que el archivo es un archivo de la biblioteca estándar C.

Las directivas de preprocesador no necesitan terminar con punto y coma ( ; )

#define

Ejecuta las acciones que harían un comando de búsqueda-reemplazo en un


procesador de palabras. El formato de la directiva es:

#include ARGUMENTO1 argumento2

ARGUMENTO es una sola palabra sin espacios intermedios escrita en MAYÚSCULAS


está separada de argumento2 por lo menos por un espacio.
Los argumentos que reemplazan a otros por medio de la directiva #define se
denominan constantes definidas. Se puede definir cualquier tipo de constante incluido
constantes de cadena.

#include <stdio.h>
#define MI_NOMBRE "Franklin"
void main()
{
printf(MI_NOMBRE);
getchar();
}

Las constantes definidas no son variables, el ejemplo a continuación nos muestra esta
diferencia:

#include <stdio.h>
#define X1 a+b
#define X2 X1*X1
void main()
{
int a=5; /* variables locales */
int b=5;
printf("X1 = %d, X2 = %d", X1, X2);
getchar( );
}
La directiva #define TAM_LlNEA 65, sustituirá TAM_LlNEA por el valor 65 cada
vez que aparezca en el programa.
2. La función main( )[1]

Todos los programas en C tienen una función main( ) que es el punto de entrada al
programa. Su estructura es:

int main ( )
{
……
return 0; Bloque de sentencias
}

Las sentencias incluidas entre las llaves {…} se denomina bloque. Un programa debe
tener solo una función main ( ) caso contrario se producirá un error.

c) Variables [1]
Una variable es una posición de memoria reservada para almacenar un valor de cierto tipo
de dato, a la cual se le asigna un nombre.
Toda variable debe ser primeramente declarada antes de ser usada.

1. Declaración de variables.

La declaración de una variable es una sentencia que proporciona información de la


variable al compilador C. Su sintaxis es:

tipo variable;
tipo es el nombre de un tipo de dato conocido
variable es un identificador (nombre) válido en C.

En C las declaraciones se han de situar siempre al principio del bloque. Su ámbito es


el bloque en el que están declaradas.

El nombre de la variable debe cumplir con la siguientes reglas:


• Serie de caracteres formados por letras, dígitos y subrayados.
• No debe empezar con un dígito.
• Cualquier longitud (ANSI C < 31 caracteres).
• C distingue mayúsculas de minúsculas.
• No usar palabras reservadas

2. Tipos de datos.

Todos los tipos de datos básicos de C son, esencialmente, números. Los tres tipos de
datos básicos son:

• enteros;
• números de coma flotante (reales);
• caracteres.
ENTEROS (int)
Los enteros son adecuados para aplicaciones que trabajen con datos numéricos. Los
tipos enteros se almacenan internamente en 2 bytes (o 16 bits) de memoria.

COMA FLOTANTE (float/double).


Los tipos de datos de coma (punto) flotante representan números reales que contienen
una coma (un punto) decimal. tal como 3.14159, o números muy grandes, tales como
1.85*1015.
El tipo float requiere 4 bytes de memoria, double requiere 8 bytes y long double
requiere 10 bytes.

CARACTERES (char).
Es cualquier elemento de un conjunto de caracteres predefinidos o alfabeto. La mayoría
de las computadoras utilizan el conjunto de caracteres ASCII.
C procesa datos caracter (tales como texto) utilizando el tipo de dato char. En unión
con la estructura array, que se estudiará posteriormente, se puede utilizar para
almacenar cadenas de caracteres (grupos de caracteres).
Internamente. los caracteres se almacenan como números. La letra A. por ejemplo, se
almacena internamente como el número 65,Ia letra B es 66. la letra e es 67, etc. El tipo
char representa valores en el rango 0 a + 255 y se asocian con el código ASCII.
Puesto que los caracteres se almacenan internamente como números, se pueden
realizar operaciones aritméticas con datos tipo char.

Las variables se pueden inicializar a la vez que se declaran, o bien, inicializarse después de
la declaración.
El primer método es probablemente el mejor en la mayoría de los casos. ya que combina la
definición de la variable con la asignación de su valor inicial.

d) Operadores y expresiones [1]


Los programas en C constan de: datos, sentencias de programas y expresiones. Una
expresión es básicamente una ecuación matemática que toma un valor, por ejemplo, en la
expresión “3+5” el símbolo + es el operador de suma y los números 3 y 5 los operandos.
Cuando se utiliza un operador entre dos números, se lo denomina operador binario.
Otro tipo es el operador es el unitario, que actúa sobre un único valor; como en el caso de
la operación “-5” donde – es el operador unitario.
1. El operador de asignación (=)

El operador “=“ asigna el valor de la expresión de su derecha a la variable a su izquierda,


como es la sentencia:
codigo = 3467;
Es asociativo por la derecha, lo que permite hacer múltiples asignaciones.
a = b = c = 45;
Se derivan cinco operadores de asignación adicionales:

Operador Sentencia Sentencia no


abreviada abreviada
+= m += n m=m+n
-= m -= n m=m-n
*= m *= n m=m*n
/= m /= n m=m/n
%= m %= n m=m%n

2. Operadores Aritméticos

Sirven para realizar operaciones aritméticas básicas y siguen las reglas algebraicas
típicas de jerarquía o prioridad.

Operador Tipos Enteros Tipos Reales Ejemplo


+ Suma Suma x+y
- Resta Resta b-c
* Producto Producto x*y
/ División entera: División en coma b/5
cociente flotante
% División entera: resto b%5

3. Operadores de incremento

Los operadores de incremento y decremento, suman o restan 1 a su argumento, cada


vez que se aplican a una variable y pueden usarse como prefijo o sufijo

Incremento Decremento
++n --n
n += 1 n -= 1
n=n+1 n = n -1

4. Operadores Relacionales

Operador Significado Ejemplo


== Igual a a == b
!= No igual a a != b
> Mayor que a>b
< Menor que a<b
>= Mayor o igual que a >= b
<= Menor o igual que a <= b
5. Operadores Lógicos

Operador Operación Lógica Ejemplo


Negación (!) No lógica !(x >= y)
Y lógica (&&) operando1 && operando2 m < n && i > j
O Lógica (||) operando1 || operando2 n = 5 || n != 10

e) Comentarios
Añaden a nuestro código, contenido de carácter informativo. Existen dos formas de añadir
comentarios:

1. Comentario de bloque.

Ej. /* Este es un comentario de bloque


y será ignorado
por el compilador*/

2. Comentario de línea.

Ej. //Este es un comentario de línea y será ignorado por el


. compilador.
Bibliografía
[1] Luis Joyanes Aguilar and Ignacio Zahonero Martínez, Programación en C, Metodología,
algoritmos y estructuras de datos, Segunda Edición. Mc Graw Hill.
[2] “Paradigmas de Programación - Jarroba.” [Online]. Available:
http://jarroba.com/paradigmas-de-programacion/. [Accessed: 21-Apr-2016].
[3] Evelio Granizo Montalvo, Lenguaje C, Teoría y Ejercicios., Segunda Edición. .