Вы находитесь на странице: 1из 6

Curso de C++

1

ELEMENTOS DEL LENGUAJE C++

CARACTERES DE C/C++.

Letras, dgitos y carcter de subrayado

Estos caracteres son utilizados para formar las constantes, los identificadores y las palabras clave de C.
Son los siguientes:
- Letras maysculas del alfabeto ingls:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- Letras minsculas del alfabeto ingls:
a b c d e f g h i j k l m n o p q r s t u v w x y z
- Dgitos decimales:
0 1 2 3 4 5 6 7 8 9
- Carcter de subrayado " _ "

El compilador C trata las letras maysculas y minsculas como caracteres diferentes.
Por ejemplo los identificadores Pi y PI son diferentes.

Caracteres especiales y signos de puntuacin
Este grupo de caracteres se utiliza de diferentes formas; por ejemplo, para indicar que un identificador es una funcin o un
array; para especificar una determinada operacin aritmtica, lgica o de relacin; etc.
Son los siguientes:

, . ; : ? ( ) [ ] { } < | / \ ~ + # % & ^ * - = >

Secuencias de escape

Cualquier carcter de los anteriores puede tambin ser representado por una secuencia de escape. Una
secuencia de escape est formada por el carcter \ seguido de una letra o de una combinacin de
dgitos. Son utilizadas para acciones como nueva lnea, tabular y para hacer referencia a caracteres no
imprimibles.
El lenguaje C tiene predefinidas las siguientes secuencias de escape:
Secuencia Nombre
\n Ir al principio de la siguiente lnea
\t Tabulador horizontal
\v Tabulador vertical (slo para impresora)
\b Retroceso (backspace)
\r Retorno de carro sin avance de lnea
\f Alimentacin de pgina (slo para impresora)
\a Alerta, pitido
\ Comilla simple
\ Comilla doble
\\ Barra invertida (backslash)
\ddd Carcter ASCII. Representacin octal
\xdd Carcter ASCII. Representacin hexadecimal
Observe las secuencias de escape en funciones sprintf, printf, del lenguaje C.

Curso de C++
2

TIPOS DE DATOS.
Para que el compilador C reconozca operaciones, es necesario especificar previamente el tipo de cada
uno de los operandos que intervienen en la misma, as como el tipo del resultado.
Para ello, escribiremos una lnea como la siguiente:

int dato1, dato2, resultado;

La declaracin anterior le dice al compilador C que datol, dato2 y resultado son de tipo entero (int).
Hay dos clases de tipos: tipos fundamentales y tipos derivados.

Tipos fundamentales.
Enteros.
TIPO
RANGO TAMAO CARACTERISTICAS
char -128 a 127 1 byte Carcter, 0-127 Equivalente a un carcter del cdigo ASCII
unsigned char 0 a 255 1 byte Carcter, Equivalente a la tabla de caracteres ASCII extendida.
short -32,768 a 32,767 2 bytes Entero corto
unsigned short 0 a 65,535 2 bytes Entero corto, todos los positivos
int
_int32
-2,147,483,647 a
2,147,483,648
4 bytes Entero.(Maquinas actuales 4 bytes) (Maquinas antiguas 2 bytes)
unsigned int 0 a 4,294,967,295 4 bytes Entero.(Maquinas actuales 4 bytes) (Maquinas antiguas 2 bytes)
long
-2,147,483,647 a
2,147,483,648
4 u 8 bytes Entero largo, Dependiendo de la arquitectura de la mquina
unsigned long 0 a 4,294,967,295 4 u 8 bytes Entero largo
long long
_int64
9,223,372,036,854,7
75,808
a
9,223,372,036,854,7
75,807
8 bytes Entero largo de 64 bits
unsigned long long
0 a
18,446,744,073,709,
551,615
8 bytes Entero largo de 64 bits
enum - -
La declaracin de un tipo enumerado es simplemente
una lista de valores que
pueden ser tomados por una variable de ese tipo.
Reales.
TIPO RANGO TAMAO CARCTERISTICAS
float
-3.4028238+38
a
-1.175494E-38
4 bytes
Datos reales de precisin simple para nmeros negativos
1.175494E-38
a
3.4028238+38
Datos reales de precisin simple para nmeros positivos
double
-1.79769E+308
a
-2.22507E-308
8 bytes
Datos reales de precisin doble para nmeros negativos
2.22507E-308
a
1.79769E+308
Datos reales de precisin doble para nmeros positivos
long double
-1.189731E+4932
a
-3.362103E-4932
10 bytes
Datos reales de precisin doble formato largo para nmeros
negativos.
3.362103E-4932
a
1.189731E+4932
Datos reales de precisin doble formato largo para nmeros
positivos

Curso de C++
3

void
El tipo void especifica un conjunto vaco de valores. En realidad void no es un tipo, aunque por la
forma de utilizarlo si lo comparamos con la forma de utilizar los otros tipos fundamentales, se
considera como tal. Por esta razn, no se puede declarar una variable de tipo void.
Ejemplo:

void a; /* error: no se puede declarar una variable de tipo void */

El tipo void se utiliza:

Para indicar que una funcin no acepta argumentos. En el siguiente ejemplo, void indica que la funcin
fx no tiene argumentos.

double fx(void);

Para declarar funciones que no retornan un valor. En el siguiente ejemplo, void indica que la funcin fy
no retorna un valor.

void fy(int, int);

Tipos derivados.

Los tipos derivados son construidos a partir de los tipos fundamentales. Algunos de ellos son punteros,
estructuras, uniones, arrays y funciones.

NOMBRES DE TIPO
Utilizando la declaracin typedef podemos declarar nuevos nombres de tipo de datos; esto es,
sinnimos de otros tipos ya sean fundamentales o derivados, los cuales pueden ser utilizados ms tarde
para declarar variables de esos tipos. La sintaxis de typedef es la siguiente:

typedef declaracin_tipo sinnimo[, sinnino]

Por ejemplo, la sentencia siguiente declara el nuevo tipo ulong como sinnimo del tipo fundamental
unsigned long.

typedef unsigned long ulong;

El siguiente ejemplo declara el tipo enumerado t_colores y define la variable color de este tipo.
enum colores
{
azul, amarillo, rojo, verde, blanco, negro
};
typedef enum cofores t_cofores;

int main ()
{
t_colores color;
return 0;
j
Curso de C++
4


La declaracin del tipo t_colores puede realizarse tambin as:

typedef enum colores
{
azul, amarillo, rojo, verde, blanco, neqro
} t_colores;

o simplemente as:
typedef enum
{
azu1, amari11o, rojo, verde, blanco, negro
}t_colores;

PALABRAS CLAVE
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
Las palabras clave deben escribirse siempre en minsculas, como estn


COMENTARIOS.
Un comentario es un mensaje a cualquiera que lea el cdigo fuente. Aadiendo comentarios se hace
ms fcil la comprensin del programa. La finalidad de los comentarios es explicar el cdigo fuente.
Casi todos los compiladores C soportan comentarios estilo C y estilo C++.
Un comentario estilo C empieza con los caracteres /* y finaliza con los caracteres */. Estos comentarios
pueden ocupar ms de una lnea, pero no pueden anidarse Por ejemplo,

int main() /* Funcin principal */
{
return 0;
}
Un comentario estilo C++ comienza con los caracteres // y termina al final de la lnea. Estos comentarios no
pueden ocupar ms de una lnea. Por ejemplo,

main() // Funcin principal

// Este es un ejemplo de cmo trabajar con comentarios

/* Un comentario es un mensaje a cualquiera que lea el cdigo fuente
Aadiendo comentarios se hace ms
fcil la comprensin del programa
*/

Curso de C++
5

DECLARACION DE UNA VARIABLE
Una variable es un identificador que es un nombre cualquiera con un tipo de dato asignado puede
cambiar a lo largo
de la ejecucin de un programa. Cada variable de un programa, debe declararse antes de ser utilizada.

tipo identificador[, identificador] . . .

Ejemplo: int contador;
char car;
long numero;
float resultado;

tambin as:

int contador;
int main ()
{
int dia, mes, anyoi;
float suma, preclo;
return 0;
}

INICIALIZACIN DE UNA VARIABLE
Si queremos que algunas o todas las variables que intervienen en un programa tengan un valor inicial
cuando ste comience a ejecutarse, tendremos que inicializar dichas variables. Una variable puede ser
inicializada, cuando se declara o, si est declarada dentro de un bloque, a continuacin de ser declarada.
A diferencia de las constantes, este valor puede cambiarse a 1o largo de la ejecucin del programa.
Por ejemplo,
int contador = 1;
int main ( )
{
int dia = 20, mes = 9, ao = 1995;
float suma = 0, precio;
precio = 100;
return 0;
}

No hay ninguna razn para no inicializar una variable. Tiene que saber que el compilador C inicializa
automticamente las variables globales a cero, pero no hace lo mismo con las variables locales. Las
variables locales no son inicializadas por el compilador por lo que tendrn un valor, para nosotros,
indefinido; se dice entonces que contienen basura (un valor que en principio no sirve).

EXPRESIONES NUMRICAS
Una expresin es una secuencia de operadores y operandos que especifican una operacin determinada.
Por ejemplo,
a++;
suma += c;
cantidad * precio;
7 * sqrt(a) b / 2 ;
Curso de C++
6

OPERADORES ARITMTICOS
Los operadores aritmticos los utilizamos para realizar operaciones matemticas y
son los siguientes:

+ Suma. Los operandos pueden ser enteros o reales.
- Resta. Los operandos pueden ser enteros o reales.
* Multiplicacin. Los operandos pueden ser enteros o reales.
/ Divisin. Los operandos pueden ser enteros o reales. Si ambos operandos
son enteros el resultado es entero. En el resto de los casos el resultado es real.
% Mdulo o resto de una divisin entera. Los operandos tienen que ser
enteros.

int main()
{
int a = 10, b = 3, c;
float x = 2.0f, y;

y = x + a; /*El resultado es 12.0f de tipo float */
c = a / b; /*El resultado es 3 de tipo int*/
c = a % b;/*El resultado es 1 de tipo int */
y = a / b; /*El resultado es 3 de tipo int, se convierte a float para asignarlo a y*/
c = x / y; /*El resultado es 0.666667 de tipo float, se convierte a int para asignarlo a c (c=10)*/
return 0;
}

Operadores lgicos
El resultado de una operacin lgica (AND, OR y NOT) es un valor verdadero o falso (1 o 0). Por definicin, un
valor distinto de cero es siempre verdadero y un valor cero es siempre falso. Los operadores lgicos de C son los
siguientes:

Operador
Operacin
&&
AND. Da como resultado el valor lgico 1 si ambos operandos son distintos de cero.
Si uno de ellos es cero el resultado es el valor lgico 0. Si el primer operando es igual
a cero, el segundo operando no es evaluado.
||
OR. El resultado es 0 si ambos operandos son 0. Si uno de los operandos tiene un valor
distinto de 0, el resultado es 1. Si el primer operando es distinto de cero, el segundo
operando no es evaluado (el carcter I es el ASCII124).

NOT. El resultado es 0 si el operando tiene un valor distinto de cero, y 1 en caso contrario

El resultado de una operacin lgica es de tipo int. Los operandos pueden ser enteros, reales o punteros. Por
Ejemplo,

int main()
{
int p = 10, q = 0, r = 0;

r = p && q; // da como resultado 0
r = p || q; // da como resultado 1
r = !p; // da como resultado 0
return 0;
}