Está en la página 1de 7

Programación I

Por Manuel Salcedo

Tema I
Introducción al Lenguaje C
1.1 Marco histórico
Creado entre 1970 y 1972 por Brian Kernighan y Dennis Ritchie para escribir
el código del sistema operativo UNIX.

Desde su nacimiento se fue implantando como el lenguaje de programación de


sistemas favorito para muchos programadores, sobre todo por ser un lenguaje que
conjugaba la abstracción de los lenguajes de alto nivel con la eficiencia del lenguaje
máquina. Los programadores de sistemas que trabajaban sobre MS-DOS y
Macintosh también utilizaban C, con lo cual la práctica totalidad de aplicaciones de
sistema para microordenadores y para sistemas UNIX está escrita en este lenguaje.

A mediados de los ochenta el C se convierte en un estándar internacional ISO.


Este estándar incluye tanto la definición del lenguaje como una enorme biblioteca
de funciones para entrada/salida, tratamiento de textos, matemáticas, etc.

A mediados de los ochenta se crea el C++, extensión de C orientada a objetos.


El C++ se convierte en estándar ISO en 1998. En el momento actual, el lenguaje C
no va a modificarse más. Será el C++ el que incorporará nuevos cambios.

Algunos de los servicios proporcionados por las bibliotecas estándares son:


‘ Entrada y salida de datos (stdio.h)
‘ Manejo de cadenas o hileras (string.h)
‘ Rutinas matemáticas (math.h)

1.2 Reglas comunes en lenguaje C.

‘ Cada instrucción debe terminar con punto y coma.


‘ El nombre de los comandos (palabras reservadas del lenguaje) debe
escribirse con letra minúscula.
‘ El uso de mayúscula y minúscula es significativo. Los nombres Tele y tele,
son diferentes.
‘ Las instrucciones se pueden agrupar encerrándolas entre: { }.
‘ Es posible incluir aclaraciones o comentarios colocándolos entre: /* ... */.

Tema I: Introducción al Lenguaje C 1


1.3 Variables. Definición.
Las variables representan el lugar de la memoria donde un programa coloca los
datos de manera temporal, para luego utilizarlos en procesos posteriores.

Las variables se identifican en un programa mediante un nombre, este nombre


lo define el programador y debe cumplir con las reglas siguientes:

‘ Debe comenzar con una letra.


‘ Puede contener números.
‘ No puede tener espacios en blanco ni caracteres especiales.
‘ Puede incluir el caracter de subrayado: “_”.

Para utilizar una variable, primero debe definirse en el programa. Esta


definición requiere de un nombre y un tipo de dato.

El tipo de dato de la variable se refiere a la clase de valor que se va a


almacenar en ella, por ejemplo: si es número (con decimales o sin decimales); si es
un carácter (letra, dígito, símbolo).

Las variables de un programa se definen colocando delante del nombre la


palabra reservada que define su tipo de dato. Los tipos de datos básicos del
lenguaje C son:

int Define variables enteras con valor entre -32768 y +32767.


Ejemplo: int a,b,c=1; /* Crea las variables llamadas: a, b, c */

float Define variables de tipo real con valor entre 3.4x10-38 y 3.4x10+37.
Ejemplo: float x,y=0.25,z; /* Crea las variables llamadas: x, y */

double Define variables de tipo real con tamaño doble con relación a float.
Permite almacenar valores entre: 1.7x10-308 y 1.7x10+308.

char Define variables de tipo carácter.

Ejemplos de definición de variables.

int codigo, cantidad;


float precio, tasa;
char Nivel = ‘A’; /* Crea la variable Nivel y le asigna el carácter ‘A’. */

Tema I: Introducción al Lenguaje C 2


También existen los modificadores de tipos de datos: long, short, unsigned, signed.
Estos se utilizan para cambiar la dimensión del espacio utilizado para almacenar un
valor.

El tamaño del valor de estos tipos de datos se muestra en la tabla siguiente:

char -128 127


unsigned char 0 255
unsigned int 0 65,535
short int -32,768 32,767
long int -2,147,483,648 2,147,483,647
unsigned long int 0 4,294,967,295

1.4 Valores Constantes.


Al inicio de un programa pueden definirse valores constantes mediante la
instrucción #define.

Ejemplos:

#define inicio 1 /* Asigna a la variable inicio el valor 1 */


#define fin 0 /* Asigna a la variable fin el valor 0 */

El valor de estas variables no puede ser modificado en el programa.

1.5 Operadores Matemáticos.


Se utilizan para realizar operaciones matemáticas en las fórmulas. Los operadores
matemáticos utilizados en C son:

Suma: +
Resta: -
Multiplicación: *
División: /
Módulo o residuo: %
Incremento: ++
Decremento: --

Tema I: Introducción al Lenguaje C 3


Los operadores matemáticos se evalúan de izquierda a derecha, en el siguiente
orden:
# Primero: * / % (el primero que aparezca)
# Segundo: + - (el primero que aparezca)

En la siguiente expresión: F = 2 + 5 * 4 - 6 / 3.
# Primero se evalúan: 5 * 4 (=20) y 6 / 3 (=2).
# Segundo: 2 + 20 (=22).
# Tercero: 22 - 2 (=20).

Para alterar este orden de evaluación de los operadores, se insertan pares de


paréntesis en las operaciones que se desea calcular primero.

En la siguiente expresión, para que se evalúen primero las sumas, se deben


encerrar entre paréntesis: R = ( A + B ) / ( C + D).

Ejemplos de fórmulas:

a = x + y;
r = 2 * s - 1;
M = N / P;
x = (z + 2) / 2.5;
RES = N % 2;
k = ++i; /* i = i + 1; k = i */
j = i--; /* j = i; i = i - 1 */
n++; /* n = n + 1 */
B += C; /* B = B + C */
D /= (G - 2); /* D = D / (G - 2) */

1.6 Operadores avanzados.


Los operadores de incremento, decremento y asignación compuesta permiten
modificar el contenido de una variable de forma eficiente y abreviada.

Tema I: Introducción al Lenguaje C 4


Operadores Significado
A++, ++A Incrementa en 1 el valor de A (A=A+1)
A--, --A Disminuye en 1 el valor de A (A=A-1)
A+=x A=A+x
A-=x A=A-x
A*=x A=A*x
A/=x A=A/x

1.7 Operadores “pre”, “post”, y valor devuelto.


Si el operador ++ o -- se coloca a la izquierda, se llama preincremento o
predecremento, respectivamente. Si se coloca a la derecha, se llama
postincremento o postdecremento.

Cuando se escriben estas expresiones dentro de expresiones más complejas,


el valor que se devuelve es:

1. Operaciones “pre”: El valor nuevo de la variable afectada


2. Operaciones “post”: el valor anterior de la variable afectada

Ejemplos:
x=1;
A = ++x; /* preincremento: A valdrá 2, x valdrá 2 */
x=1;
A = x++; /* postincremento: A valdrá 1, x valdrá 2 */

Las asignaciones compuestas devuelven el nuevo valor de la variable:


x=2;
A=(x*=3)+1; /* x valdrá 6, A valdrá 7 */

Una asignación es una expresión. Esto quiere decir que: a) devuelve un valor; b)
una asignación puede incrustarse dentro de una expresión más compleja.

El valor devuelto por la asignación a=b es el resultado de evaluar b.

Ejemplo:
C = 20 - ( B = 2*(A=5)+4 );
A valdrá 5 (por la expresión A=5)
B valdrá 2*(5)+4= 14
C valdrá 20-(14)= 6

Tema I: Introducción al Lenguaje C 5


En consecuencia, una asignación se puede colocar en cualquier sitio donde se
puede emplear una expresión.

1.8 Conversión de tipo (cast).


Se puede cambiar el tipo de una expresión de esta forma: (nuevo_tipo) expresión

Por ejemplo, para forzar a que una división de enteros se realice en punto
flotante, podemos escribir:
int x=5, y=3;
float f;

f = (float) x / y;

En este ejemplo, el valor de x, que es entero, se transforma a float. Así la


división se realizará en punto flotante.

1.9 Funciones de librería.


Existen funciones que retornan valores matemáticos de uso común, entre las
que se encuentran:

abs() Retorna el valor absoluto de un número entero.


ceil() Retorna el entero más pequeño no menor que el argumento
Ejemplos: 123.54 retorna 124.0.
123.0 retorna 123.0
cos() Retorna el coseno de un número en radianes.
exp() Retorna el valor correspondiente a ex.
floor() Retorna el entero más grande no mayor que el argumento (123.54=123.0).
log() Retorna el logaritmo natural de un número.
log10() Retorna el logaritmo base 10 de un número.
pow(y,x) Retorna el resultado equivalente a yx.
sin() Retorna el seno de un número en radianes.
sqrt() Retorna la raíz cuadrada de un número.
tan() Retorna la tangente de un número en radianes.

Tema I: Introducción al Lenguaje C 6


Ejemplos:

La utilización de estas funciones requiere que se coloque al inicio del programa la


instrucción: #include <math.h>

Tema I: Introducción al Lenguaje C 7

También podría gustarte