Apuntes1 elementos del lenguaje c

Zalimanunezc 851 views 6 slides Sep 18, 2010
Slide 1
Slide 1 of 6
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6

About This Presentation

señala todos los elementos del lenguaje


Slide Content

Curso de C++
1

ELEMENTOS DEL LENGUAJE C++

CARACTERES DE C/C++.

Letras, dígitos y carácter de subrayado

Estos caracteres son utilizados para formar las constantes, los identificadores y las palabras clave de C.
Son los siguientes:
- Letras mayúsculas del alfabeto inglés:
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 minúsculas del alfabeto inglés:
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
- Dígitos decimales:
0 1 2 3 4 5 6 7 8 9
- Carácter de subrayado " _ "

El compilador C trata las letras mayúsculas y minúsculas como caracteres diferentes.
Por ejemplo los identificadores Pi y PI son diferentes.

Caracteres especiales y signos de puntuación
Este grupo de caracteres se utiliza de diferentes formas; por ejemplo, para indicar que un identificador es una función o un
array; para especificar una determinada operación aritmética, lógica o de relación; etc.
Son los siguientes:

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

Secuencias de escape

Cualquier carácter de los anteriores puede también ser representado por una secuencia de escape. Una
secuencia de escape está formada por el carácter \ seguido de una letra o de una combinación de
dígitos. Son utilizadas para acciones como nueva línea, 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 línea
\t Tabulador horizontal
\v Tabulador vertical (sólo para impresora)
\b Retroceso (backspace)
\r Retorno de carro sin avance de línea
\f Alimentación de página (sólo para impresora)
\a Alerta, pitido
\’ Comilla simple
\” Comilla doble
\\ Barra invertida (backslash)
\ddd Carácter ASCII. Representación octal
\xdd Carácter ASCII. Representación 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 línea como la siguiente:

int dato1, dato2, resultado;

La declaración 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 TAMAÑO CARACTERISTICAS
char -128 a 127 1 byte Carácter, 0-127 Equivalente a un carácter del código ASCII
unsigned char 0 a 255 1 byte Carácter, 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 máquina
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 declaración de un tipo enumerado es simplemente
una lista de valores que
pueden ser tomados por una variable de ese tipo.
Reales.
TIPO RANGO TAMAÑO CARCTERISTICAS
float
-3.4028238+38
a
-1.175494E-38
4 bytes
Datos reales de precisión simple para números negativos
1.175494E-38
a
3.4028238+38
Datos reales de precisión simple para números positivos
double
-1.79769E+308
a
-2.22507E-308
8 bytes
Datos reales de precisión doble para números negativos
2.22507E-308
a
1.79769E+308
Datos reales de precisión doble para números positivos
long double
-1.189731E+4932
a
-3.362103E-4932
10 bytes
Datos reales de precisión doble formato largo para números
negativos.
3.362103E-4932
a
1.189731E+4932
Datos reales de precisión doble formato largo para números
positivos

Curso de C++
3

void
El tipo void especifica un conjunto vacío 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 razón, 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 función no acepta argumentos. En el siguiente ejemplo, void indica que la función
fx no tiene argumentos.

double fx(void);

Para declarar funciones que no retornan un valor. En el siguiente ejemplo, void indica que la función 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 declaración typedef podemos declarar nuevos nombres de tipo de datos; esto es,
sinónimos de otros tipos ya sean fundamentales o derivados, los cuales pueden ser utilizados más tarde
para declarar variables de esos tipos. La sintaxis de typedef es la siguiente:

typedef declaración_tipo sinónimo[, sinónino]…

Por ejemplo, la sentencia siguiente declara el nuevo tipo ulong como sinónimo 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 declaración del tipo t_colores puede realizarse también 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 minúsculas, como están


COMENTARIOS .
Un comentario es un mensaje a cualquiera que lea el código fuente. Añadiendo comentarios se hace
más fácil la comprensión del programa. La finalidad de los comentarios es explicar el código 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 más de una línea, pero no pueden anidarse Por ejemplo,

int main() /* Función principal */
{
return 0;
}
Un comentario estilo C++ comienza con los caracteres // y termina al final de la línea. Estos comentarios no
pueden ocupar más de una línea. Por ejemplo,

main() // Función principal

// Este es un ejemplo de cómo trabajar con comentarios

/* Un comentario es un mensaje a cualquiera que lea el código fuente
Añadiendo comentarios se hace más
fácil la comprensión 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 ejecución 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;

también así:

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

INICIALIZACIÓN 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 continuación de ser declarada.
A diferencia de las constantes, este valor puede cambiarse a 1o largo de la ejecución del programa.
Por ejemplo,
int contador = 1;
int main ( )
{
int dia = 20, mes = 9, año = 1995;
float suma = 0, precio;
precio = 100;
return 0;
}

No hay ninguna razón para no inicializar una variable. Tiene que saber que el compilador C inicializa
automáticamente 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 tendrán un valor, para nosotros,
indefinido; se dice entonces que contienen basura (un valor que en principio no sirve).

EXPRESIONES NUMÉRICAS
Una expresión es una secuencia de operadores y operandos que especifican una operación determinada.
Por ejemplo,
a++;
suma += c;
cantidad * precio;
7 * sqrt(a) – b / 2 ;

Curso de C++
6

OPERADORES ARITMÉTICOS
Los operadores aritméticos los utilizamos para realizar operaciones matemáticas y
son los siguientes:

+ Suma. Los operandos pueden ser enteros o reales.
- Resta. Los operandos pueden ser enteros o reales.
* Multiplicación. Los operandos pueden ser enteros o reales.
/ División. 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.
% Módulo o resto de una división 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 lógicos
El resultado de una operación lógica (AND, OR y NOT) es un valor verdadero o falso (1 o 0). Por definición, un
valor distinto de cero es siempre verdadero y un valor cero es siempre falso. Los operadores lógicos de C son los
siguientes:

Operador Operación
&&
AND. Da como resultado el valor lógico 1 si ambos operandos son distintos de cero.
Si uno de ellos es cero el resultado es el valor lógico 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 carácter 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 operación lógica 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;
}
Tags