Beruflich Dokumente
Kultur Dokumente
C/C++
Operadores operacionales:
Operadores lgicos:
char carcter
int enteros
float reales
double reales de mayor rango
Modificadores de tipo:
Tamao de bits
8
8
8
32
32
32
16
32
32
32
64
80
Conversin de tipos
Conversin implcita: la realiza de forma automtica el compilador.
Rango
-128 a 127
0 a 255
-128 a 127
-2147483648 a 2147483647
0 a 4294967295
Igual que int
-32.768 a +32.767
Igual que int
Igual que unsigned int
3,410-38 a 3,410+38
1,710-308 a 1,710+308
3,410-4932 a 1,110-38
Identificadores
Reglas C:
secuencia de letras: az, AZ, 09, junto con el smbolo _
el primer carcter no puede ser un dgito
se distingue entre MAYSCULAS y minsculas
hasta 31 caracteres de longitud.
Palabras reservadas de C: auto, break, double, else, enum, int, struct, long,
register, switch, case, typedef, char, extern, return, union, const, float, short,
unsigned, continue, for, signed, void, default, goto, sizeof, volatile, do, if,
static, while.
El uso de la instruccin goto est prohibida.
Estructura de un programador en C
Valores
Tipos de valores:
Valores de tipo carcter: char letra=a;
char letra=97;
Una constante de carcter tiene un valor entero correspondiente en
la tabla ASCII (equivalencia tabla ASCII).
Valores de tipo entero: int valor= 20;
valor = 0x5F; (en hexadecimal)
valor = 0177; (en octal)
Valores de tipo coma flotante: float numero= 12.345;
numero = -3.8e-3;
numero = 46.34E-2;
Expresiones
o
o
2.
printf:
printf (cadena a imprimir ms modificadores de formato , secuencia de
variables, valores o expresiones separados por coma). Modificadores de
formatos ms usados:
Pgina | 1
%f - real en coma flotante
%c - carcter
%s - cadena de caracteres
%x %X - entero hexadecimal
%o - entero octal
En la cadena de control se pueden indicar tambin:
Saltos de lnea \n
Tabulaciones \t
Dobles comillas \
scanf:
scanf (modificador de formato, variable precedida por el smbolo &);
Formatos ms usados:
%f - float
%lf - double
%c - carcter
%s - cadena de caracteres
%x %X - entero hexadecimal
%o - entero octal
putchar:
Muestra un carcter en pantalla.
char c = a ;
--------putchar(c);
gets:
Lee una secuencia de caracteres tecleada y la almacena en una cadena de
caracteres hasta que se pulsa la tecla Enter.
puts:
Muestra en pantalla una secuencia de caracteres e incluye al final un salto
de lnea.
Instrucciones en C
Instrucciones de seleccin: if, switch.
Escritura de condiciones en C: una condicin se expresar mediante el uso
de operadores relacionales y lgicos y su resultado ser VERDADERO o
FALSO. Importante: en C el valor 0 se asocia a FALSO y cualquier valor
distinto de cero a VERDADERO.
La declaracin de la funcin ha de
directivas del procesador.
Arrays
Tipo_de_dato Nombre_del_Array [dimensin1] [dimensinN];
Arrays de una dimensin (vectores):
int a, b, c; es equivalente a
if:
if (condicin) { instruccin1; instruccin2; ---------}
else { instruccin1; instruccin2; ---------}
if else if:
if (condicin1) instruccin o bloque de instrucciones
else if (condicin2) instruccin o bloque de instrucciones
else if (condicin3) instruccin o bloque de instrucciones
else instruccin o bloque de instrucciones
switch:
switch (variable de tipo int o char) {
case valor1: sentencia1;
sentencia2;
---------
int vars[3];
Cadena de caracteres
Es una secuencia de caracteres ASCII almacenados en un vector y donde el
ltimo carcter del vector es el carcter nulo (\0). La existencia de dicho
carcter especial al final de la cadena es imprescindible para que algunas de
Pgina | 2
Memoria en el lenguaje C
El acceso y el almacenamiento de direcciones de memoria se realizan
mediante punteros.
Puntero variable que contiene una direccin de memoria.
Declaracin de una variable puntero:
tipo_de_dato *nombre_de_puntero.
Ejemplo: int *puntero
Importante: El nombre del puntero es un identificador similar al de una
variable convencional o al de una funcin, y que por tanto debe ajustarse a
las reglas de C sobre identificadores. Antes de ser usada, una variable de tipo
puntero debe ser inicializada.
matriz[i]=(int *)malloc(sizeof(int)*3);
}
Reservamos memoria dinmica para almacenar nueve enteros (matriz).
La funcin malloc(), siempre devolver una direccin de memoria a una
zona de memoria libre, de tantos bytes como le especifiquemos.
Liberacin de espacio reservado de memoria
Deberemos liberar el bloque de memoria reservado para el contenido de un
puntero en el caso de que ya no vaya a usarse mediante la funcin
free(nombre_del_puntero).
En el caso de una matriz, debemos liberar la memoria en dos pasos:
for(int i = 0; i<=2; i++){
free(matriz[i]);
}
free(matriz);
Arrays y punteros
El nombre de un vector sin ningn ndice se considera un puntero, el cual
apunta al primer elemento del mismo. Por otra parte, cualquier variable
puntero puede apuntar a elementos del vector, lo que hace que los elementos
del vector sean accesibles mediante otro puntero distinto al nombre del
vector. Ejemplo:
int a[10], *p;
p = &a[2];
En cuanto a las matrices (arrays bidimensionales), el nombre de una matriz
es un puntero que apunta al primer elemento de la matriz, que a su vez ser
un puntero que apuntar a un vector. De esta forma, tambin podremos
realizar reserva dinmica de memoria para un matriz cualquiera de n filas
por m columnas durante la ejecucin de un programa.
El procesador en el lenguaje C
Operaciones a nivel de bit
Complementar bits.
Desplazamiento de bits en el lenguaje C
>> y << equivalen a dividir y multiplicar, respectivamente, por potencias de
2, y tambin se utilizan para componer y descomponer nmeros.
Ejemplo 1: separar un nmero de 16 bits en 2 bytes:
int **matriz;
matriz=(int **)malloc(sizeof(int *)*3);
for(int i=0;i<=2;i++){
Pgina | 3
Pgina | 4