U1 Programación en ANSI C PDF
U1 Programación en ANSI C PDF
U1 Programación en ANSI C PDF
#include <iostream.h>
Esta directiva permitirá utilizar la función de lectura cin y la
función de escritura cout propias de C++.
#include <stdio.h>
Esta directiva permitirá utilizar las funciones de lectura y
escritura propias de C.
Directivas
Estas directivas también funcionan con C++, aunque
existen algunos compiladores que no las soportan en
cuyo caso es necesario hacer uso de los namespaces.
Un namespace es una declaración de región. El
propósito de estos es localizar el nombre de
identificadores para evitar colisiones.
Para tener compatibilidad, cuando un programa en
C++ incluye una librería de C, haremos uso del
namespace.
Ejemplo:
En C tenemos #include <iostream.h>
con el respectivo en C++ #include <iostream> using namespace std;
Palabras Reservadas en C
En C, como en cualquier otro lenguaje, existen una serie de palabras
clave (keywords) que el usuario no puede utilizar como identificadores
(nombres de variables y/o de funciones). Estas palabras sirven para
indicar al computador que realice una tarea muy determinada (desde
evaluar una comparación, hasta definir el tipo de una variable) y tienen
un especial significado para el compilador. El C es un lenguaje muy
conciso, con muchas menos palabras clave que otros lenguajes. A
continuación se presenta la lista de las 32 palabras clave del ANSI C.
Palabras reservadas en C++
Identificadores
Un identificador es un nombre con el que se hace referencia a una
función o al contenido de una zona de la memoria (variable). Cada
lenguaje tiene sus propias reglas respecto a las posibilidades de elección
de nombres para las funciones y variables. En ANSI C estas reglas son las
siguientes:
1. Un identificador se forma con una secuencia de letras (minúsculas
de la a a la z; mayúsculas de la A a la Z; y dígitos del 0 al 9).
2. El carácter subrayado o underscore (_) se considera como una letra
más.
3. Un identificador no puede contener espacios en blanco, ni otros
caracteres distintos de los citados, como por ejemplo (*,;.:-+, etc.).
4. El primer carácter de un identificador debe ser siempre una letra o un
(_), es decir, no puede ser un dígito.
5. Se hace distinción entre letras mayúsculas y minúsculas. Así, Masa es
considerado como un identificador distinto de masa y de MASA.
6. ANSI C permite definir identificadores de hasta 31 caracteres de
longitud.
Identificadores
(Los identificadores que comienzan con un guion bajo tienen
significados especiales en algunos sistemas C++, así que es mejor
empezar un identificador con una letra.)
A continuación se dan algunos ejemplos de identificadores válidos:
sum_of_squaresJ9 box_22A GetData Bin3D4 count
Y aquí se presentan algunos ejemplos de identificadores no válidos y
las razones por las que no son válidos:
Constantes
En C existen distintos tipos de constantes:
1. Constantes numéricas. Son valores numéricos, enteros o de punto flotante.
Se permiten también constantes octales (números enteros en base 8) y
hexadecimales (base 16).
2. Constantes carácter. Cualquier carácter individual encerrado entre
apóstrofos (tal como 'a', 'Y', ')', '+', etc.) es considerado por C como una
constante carácter, o en realidad como un número entero pequeño (entre 0 y
255, o entre -128 y 127, según los sistemas). Existe un código, llamado código
ASCII, que establece una equivalencia entre cada carácter y un valor
numérico correspondiente.
3. Cadenas de caracteres. Un conjunto de caracteres alfanuméricos encerrados
entre comillas es también un tipo de constante del lenguaje C, como por
ejemplo: "espacio", "Esto es una cadena de caracteres", etc.
4. Constantes simbólicas. Las constantes simbólicas tienen un nombre
(identificador) y en esto se parecen a las variables. Sin embargo, no pueden
cambiar de valor a lo largo de la ejecución del programa. En C se pueden
definir mediante el preprocesador o por medio de la palabra clave const. En
C++ se utiliza preferentemente esta segunda forma.
Ejemplos de constantes
Constantes de carácter.
Ej. ‘a’, ‘0’, ‘\0x5’, ‘\0’, ‘\n’, ‘\t’, ‘$’, ’\\’, NULL
Constantes enteras.
Ej. 5, +5, -5, \05, \0x5, 5L, 5U, 5lu, etc.
Constantes reales.
Ej. 0.5f, 0.5, 5e-01f, 5.0e-01, (float)5, etc.
Ejemplo:
const int a=10;
const char pais[]=“MÉXICO”;
const char *nombre=“VLADIMIR”;
Comentarios
El lenguaje C permite que el programador introduzca comentarios en
los ficheros fuente que contienen el código de su programa.
La misión de los comentarios es servir de explicación o aclaración
sobre cómo está hecho el programa, de forma que pueda ser
entendido por una persona diferente (o por el propio programador
algún tiempo después).
Los comentarios son también particularmente útiles (y peligrosos...)
cuando el programa forma parte de un examen que el profesor debe
corregir.
El compilador ignora por completo los comentarios.
Tipos de datos en C
Los elementos con los que se forman estas expresiones son valores lógicos; verdaderos
(true, o distintos de 0) y falsos (false, o iguales a 0), y los operadores lógicos ||, && y !.
También se pueden emplear los operadores relacionales (<, >, <=, >=, ==, !=) para
producir estos valores lógicos a partir de valores numéricos. Estas expresiones equivalen
siempre a un valor 1 (true) o a un valor 0 (false). Por ejemplo:
a = ((b>c) && (c>d)) || ((c==e) || (e==b));
donde de nuevo la expresión lógica es lo que está entre el operador de asignación (=) y
el (;). La variable a valdrá 1 si b es mayor que c y c mayor que d, ó si c es igual a e ó e es
igual a b.
Operadores de manipulación de bits
Los operadores de manipulación o tratamiento
de bits (bitwise) ejecutan operaciones lógicas
sobre cada uno de los bits de los operandos. Los
operadores de bits se aplican sólo a variables y
constantes char, int y long, y no a datos de
coma flotante.
Friendly Code: Buenas practicas de
programación, enmascaramiento de bits
Operadores de desplazamiento de bits << y >>
Efectúan un desplazamiento a la derecha ( >>) o a la
izquierda ( <<) de numero_de_bits posiciones de los bits de
operando, siendo numero_de_bits un número entero. Los
formatos de los operadores de desplazamiento son:
1. Valor << numero_de_bits;
2. Valor >> numero_de_bits;
Operadores de asignación adicionales
Los operadores de asignación abreviados están disponibles
también para operadores de manipulación de bits.
Operador condicional ?
El operador condicional ?, es un operador ternario
cuyo valor depende de la condición comprobada. El
formato del operador condicional es:
𝒆𝒙𝒑𝒓𝒆𝒔𝒊𝒐𝒏− 𝑳 ? 𝒆𝒙𝒑𝒓𝒆𝒔𝒊𝒐𝒏_𝒗 ∶ 𝒆𝒙𝒑𝒓𝒆𝒔𝒊𝒐𝒏_𝒇