Professional Documents
Culture Documents
Contenido
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. El lenguaje C. Variables, Constantes e Identificadores. Declaracin de Variables en C. Tipos de Datos. Inicializacin de Variables. Asignacin de Variables. Constantes. Expresiones. Conceptos Bsicos. Operadores Aritmticos. Operadores de Incremento y Decremento. Expresiones de Asignacin. Conversiones de Tipos. Funciones de librera.
Informtica 2012/13 Tema 3 - 2
1. El lenguaje C: Caractersticas.
Desarrollado en los laboratorios Bell a comienzo de los
70 por Brian W. Kernighan y Denis M. Ritchie. Se diseo y desarroll para programar el S.O. Unix. Caractersticas:
Lenguaje de alto nivel y de propsito general, til para desarrollar cualquier tipo de aplicacin o programa. Es el lenguaje ms utilizado en ingeniera e investigacin. Es un lenguaje estructurado (funciones, estructuras, bucles, etc.) que permite la programacin modular. Eficiencia. Los programas ejecutables son rpidos. El cdigo fuente es portable a otras arquitecturas de computadores. Se encuentran compiladores C disponibles para cualquier tipo de ordenador y S.O. Es el paso previo a otros lenguajes como C++ y Java.
Informtica 2012/13 Tema 3 - 3
3. Declaracin de variables en C
3. Declaracin de variables en C
int main() { /* Declaraciones de variables */ tipo1 variable1; tipo2 variable2, variable3; ... /* Entrada de datos */ Instruccin 1; ... /* rea de clculo */ Instruccin n; ... /* Extraccin de resultados */ Instruccin m; ... return 0; }
Informtica 2012/13 Tema 3 - 9
Ejemplo:
int i,j;
Bits
16 32 16 32
Rango
[-3276832767] [-2.147.483.648...2.147.483.647] [065535] [0...4.294.967.295]
Ejemplo:
float a,b; double area,base,altura;
Tamao
32 bits 64 bits
Ejemplo:
char letra=A;
Informtica 2012/13 Tema 3 - 17
Tipos de caracteres:
Alfabticos: a,, z, A,, Z. Numricos: 0,..., 9. Especiales: +, -, *, /, <, ... Contiene los caracteres no imprimibles (retorno de carro, fin de cadena,...).
\n \t \b \r Nueva lnea Tabulador Retroceso Retorno de carro Contrabarra (\) Apstrofe (comilla simple) Comillas
Informtica 2012/13 Tema 3 - 18
\\ \' \''
5. Inicializacin de variables
Cuando una variable se declara, el compilador le reserva
espacio en la memoria, pero no modifica la informacin que haba en dicho espacio. Toda variable debe ser inicializada antes de utilizarla. Las variables pueden ser inicializadas a un valor concreto cuando son declaradas. Para ello, en la declaracin se aade el signo de igual ms una constante. El tipo de la constante debe coincidir con el tipo de la variable. Ejemplos:
int h; /* h toma un valor indeterminado */ int a=5,b=0; /* a valdr 5 y b valdr 0 */ float altura=5.4; char c=M;
Informtica 2012/13 Tema 3 - 23
6. Asignacin de variables
Instruccin bsica en un lenguaje como C. Permite almacenar un valor en una variable (en
la posicin de memoria asociada a esa variable). Sintaxis:
variable = expresion;
6. Asignacin de variables
Ejemplo:
int a, b, c; int datos[20],ejemplo[10]; a=5; b=7; c=a*b+4; a=c; a+b=c; Incorrecto. La parte izquierda slo puede ser una variable. datos[5]=8; ejemplo[14]=datos[5] + 7;
7. Constantes
Al igual que las variables, las constantes guardan
datos, pero su valor no vara. Se suelen utilizar para definir valores que se repiten a lo largo del programa. Existen tantos tipos de constantes como tipos de datos. Podemos expresar una constante segn el tipo de dato. Las constantes pueden aparecer con su valor directamente o mediante un identificador. Constantes simblicas:
Constantes a las cuales se les asocia un nombre o identificador. Declaracin: #define nombre_constante valor
Informtica 2012/13 Tema 3 - 26
7. Constantes
Ejemplos:
#define #define #define #define #define #define VALOR 10 VALOR 10U VALOR 10.0 PI 3.14159265 PI 3.14159265f A -1.2345e-17 /* /* /* /* /* /* Es un int */ Es un unsigned int */ Es un double */ Es un double */ Es un float */ Un double en notacin cintifica */ /* Es un carcter */ /* Es un carcter */ /* Es una cadena de caracteres */
9. Operadores aritmticos
Operador Accin + * / % Suma Resta Multiplicacin Divisin (entera o real) Resto de la divisin entera Tipo de datos char, int, float, double char, int, float, double char, int, float, double char, int, float, double char, int
Reglas de prioridad:
El orden de prioridad de los operadores aritmticos es:
Primero: /, *, % (tienen igual prioridad entre ellos). Despus: +, - (tienen igual prioridad entre ellos).
Dentro del mismo orden de prioridad se evalan de izquierda a derecha. Los parntesis permiten cambiar el orden de prioridad predeterminado, ya que se evalan primero. Si existen varios parntesis anidados, las expresiones de los ms internos se evalan antes.
Informtica 2012/13 Tema 3 - 29
Ejercicio
Operador sufijo: Detrs del operando (x--,x++). Primero se usa el valor de la variable y despus la incrementa o decrementa.
Ejemplo: a=1; b=a++; /* Deja a=2 y b=1 */
En instrucciones aisladas tienen el mismo efecto (++x; es lo mismo que x++;. De igual modo, --x; es lo mismo que x--; ).
Informtica 2012/13 Tema 3 - 31
Ejercicio
Es equivalente a:
variable=variable op (expresion)
Operador += -= *= /= %= Accin Incrementa el valor de la variable en un valor determinado. Decrementa el valor de la variable en un valor determinado. Multiplica el valor de la variable en un valor determinado. Divide el valor de la variable en un valor determinado. Calcula el resto de la divisin de la variable por un valor determinado.
Informtica 2012/13 Tema 3 - 33
Ejercicios
Ejemplo:
float x; x=(int)7/2; x=(float)7/2; /* x valdr 3.0 */ /* x valdr 3.5 */
Ejercicio
Ejercicio
Ejercicios
Ejemplos:
#include <math.h> #include <stdio.h>
Informtica 2012/13 Tema 3 - 40