2. Introducción Teórica
Creador:
Dennis Ritchie (Laboratorios Bell) el 1972, cuando
trabajaba junto con Ken Thompson en el diseño del
sistema operativo UNIX.
El ‘C’ se cree como herramienta para programadores, en
consecuencia su principal objetivo es ser un lenguaje útil.
*INTRODUCCIÓN
3. El “C” es un lenguaje de programación de “alto nivel” (alto nivel
quiere decir “próximo al lenguaje humano”), pero con
características de “bajo nivel” (bajo nivel= próximo al lenguaje
máquina).
Es de alto nivel porque es racional, estructurado y fácil de
aprender.
Es de bajo nivel porque permite trabajar con “bits”, registros de
la C.P.U. y posiciones de memoria.
*CARACTERÍSTICAS
4. El lenguaje ‘C’ es poderoso y flexible: la mayor parte del sistema
operativo UNIX está escrito en ‘C’.
Incluso están escritos en ‘C’ los compiladores e intérpretes de
otros lenguajes, como FORTRAN, APL,
PASCAL, LISP, LOGO y BASIC.
El lenguaje ‘C’ es “amistoso” porque es lo suficientemente
estructurado para ejercer buenos hábitos de programación.
Es el lenguaje de programación más utilizado por el
programador de sistemas.
*¿PORQUÉ EL “C”?
5. * ESTRUCTURA DE UN PROGRAMAEN “C”
Código fuente Código objeto Programa
ejecutable
compilar linkar
Código Fuente: es el programa que nosotros escribimos, extensión CPP
Código Objeto: es el programa fuente pero traducido a lenguaje máquina
(sucesión de ceros y unos), se graba con la extensión OBJ
Programa Ejecutable: es el programa objeto más las “librerías del C”.
El ‘C’ es un lenguaje compilado, vamos a ver que es esto
gráficamente:
6. * RELACIONES DEL “C” CON OTROS LENGUAJES DE
PROGRAMACIÓN
FORTRAN (1955)
ANSI C(1985) )
C(1972)
PL/1 (1965) PASCAL (1970)
ALGOL (1960)
C++(1985)
7. #include <stdio.h>
void main()
{ printf("Curso de Programación en C"); }
Recuerda:
• Escribe el programa anterior utilizando tu compilador.
• Grábalo con el nombre Prog001.cpp en Tu Carpeta.
• Ejecútalo un par o tres de veces
* PRIMEROS PROGRAMAS EN ‘C’
ejemplo
8. /* */: Todo lo que escribimos entre los símbolos anteriores son
“comentarios "que no influyen para nada en la ejecución del programa.
#include <librería.h>: parte donde colocamos las librerías que vamos a
usar.
void main() { }: Función o programa principal (main), que no devuelve
nada (void).
n : Es equivalente a un [Return]. Se le llama manipulador de formato.
* CONCEPTOS PARA RECORDAR
9. Tipo entero (int): representa números enteros con o sin signo, El tipo de datos
entero se define en el lenguaje de programación C por la palabra reservada int.
Para definir un tipo de dato en C se escribe lo siguiente:
int nombre_variable = valor;
Tipo real (float): Se emplean para representar números reales (con decimales).
Para definir datos reales se antepone la palabra reservada float al identificador
de la variable.
float nombre_variable = valor;
Tipo carácter (char): se emplea para representar un carácter, este tipo de dato se
antepone la palabra reservada char al identificador de la variable, Una constante
tipo char se representa como un solo carácter encerrado entre comillas simples.
Char nombre_variable = ‘valor’;
* DATOS MÁS IMPORTANTES
10. Tipo cadena de caracteres: una cadena de caracteres es un número de
caracteres consecutivos encerrado entre unos delimitadores determinados, que
en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena,
estas se definen como vectores de caracteres, esto es, anteponiendo la palabra
reservada char al identificador de la variable, y después entre corchetes la
longitud máxima de cadena.
Char nombre_variable[cantidad] = “ mensaje ”;
long (abreviatura de signed long int = entero largo con signo) : corresponde a un
número entero que puede ser mayor (o menor) a un int.
Observa el formato correspondiente: %ld, a diferencia del %d que correspondía a
int.
Doublé: numero real de doble precisión
Ejemplo
11. * MEMORIA QUE UTILIZALOS DATOS
Tipo de dato Descripción memoria
Int Cantidad entera 2 bytes (1palabra )
Char Carácter 1 byte
Float valores reales 4 byte (1 palabra)
Double valores reales de doble precisión 8 bytes (2 palabras)
Void Se utiliza para definir una función que no devuelve
ningún valor o declarar punteros genéricos (lo veremos
más tarde)
12. * RANGOS DE DATOS
TIPO Número de bits Rango
char 8 -128 a 127
unsigned char 8 0 a 255
signed char 8 -128 a 127
short 16 -32768 a 32767
int 16 -32768 a 32767
unsigned int 16 0 a 65535
signed int 16 -32768 a 32767
short int 16 -32768 a 32767
unsigned short int 16 0 a 65535
signed short int 16 -32768 a 32767
long int 32 -2147483648 a 2147483647
signed long int 32 -2147483648 a 2147483647
unsigned long int 32 0 a 4294967295
long 32 -2147483648 a 2147483647
unsigned long 32 0 a 4294967295
float 32 3.4E-38 a 3.4E+38
double 64 1.7E-308 a 1.7E+308
long double 64 ó 80 (según versión). 1.7E-308 a 1.7E+308 ó 3.4E-4932 a 1.1E+4932
13. * FORMATOSDE DATOS
Tipo de dato Formato Comentario
Int %d o %i Entero con signo
Float %f Real con signo
Float %.1f
Para escoger la cantidad de decimales solo cambia el
numero
Char %c carácter
Char [n] %s Cadena de caracteres
14. Elemento o zona de almacenamiento de datos, cuyo valor puede variar
en el desarrollo o proceso del programa. El uso de variables en C++
requiere el seguimiento de los siguientes aspectos:
Declaración De Variables: Consiste en escribir una sentencia que
proporciona información al compilador de C++ para que este reserve un
espacio de almacenamiento en memoria. Toda variable utilizada en un
programa debe ser declarada previamente. El procedimiento es el
siguiente:
<tipo_de_dato> <nombre_de_variable>; int x;
<tipo_de_dato> <lista_de_variables>; char x, y, z;
<tipo_de_dato> <nombre_de_variable> = valor; int x = 10;
*VARIABLES
15. Reglas Para Identificar Variables: Toda variable está constituida por un
nombre al que llamaremos identificador. Para asignar este identificador
deben seguirse las reglas que a continuación se señalan:
• Pueden llevar caracteres alfanuméricos: Letras de la A ala Z >
(mayúsculas o minúsculas) y números.
• Deben comenzar por una letra y no por un numero o signo.
• Solo se acepta el signo _ (guión bajo) dentro del identificador.
• No pueden usarse palabras reservadas como identificadores.
• El numero de caracteres de un identificador no debe sobrepasar la
cantidad de 31.
• Es recomendable utilizar identificadores que hagan referencia al dato
que almacenan.
16. Asignación De Valores: Una vez que la variable ha sido definida, esta
lista para albergar datos en su interior. Dicho dato solo podrá ser del
mismo tipo con el que se ha declarado la variable. Es posible también
asignar un valor a una variable al mismo momento de declararla.
int recetaDelMes = 12301;
Tipo de Dato Identificador Valor Asignado
Variables globales: son las que se declaran después del llamado a las
cabeceras, pero antes de cualquier función, y son útiles para cualquier
parte del programa.
Variables locales: son las que se declaran dentro de una función, y solo
sirven para ser usadas dentro de esa función.
17. Constante: Hace que una variable tome el valor con el que la
inicialicemos el cual ya no podrá ser cambiado.
Declaración De Constantes: Constantes declaradas const La palabra
reservada const indica que el valor de la variable no se puede modificar.
Su sintaxis es la siguiente:
const <tipo_de_dato> <nombre_de_constante> = <valor> ;
Constantes definidas: Se declaran mediante la directiva #define. Su
sintaxis es la siguiente:
#define <nombre_de_constante> <valor>
*CONSTANTES
18. Asignación De Valores: Los valores de una constante se asignan en el
mismo momento en que estas son declaradas.
const recetaDelMes = 12301;
Además, las constantes pueden ser:
Números Enteros
Números Reales
Caracteres
Cadenas de Caracteres
Variable Volátil: Indica que el valor de la variable puede cambiar incluso
por condiciones eternas al programa que la declara.
19. Los operadores son elementos que disparan ciertos cálculos cuando son
aplicados a variables o a otros objetos en una expresión.
Operando: cada una de las constantes, variables o expresiones que
intervienen en una expresión.
Operador: cada uno de los símbolos que indican las operaciones a
realizar sobre los operandos, así como los operandos a los que afecta.
Expresión: según el diccionario, "Conjunto de términos que representan
una cantidad", para nosotros es cualquier conjunto de operadores y
operandos, que dan como resultado un valor.
*OPERADORES
20. Operadores De Asignación:
Operador Acción Ejemplo Resultado
= Asignación Básica X=6 X vale 6
*= Asigna Producto X*=5 X vale 30
/= Asigna División x/=2 X vale 3
+= Asigna Suma X+=4 X vale 10
-= Asigna Resta X-=1 X vale 5
%= Asigna Modulo X%=5 X vale 1
<<= Asigna Desplazamiento Izquierda X<<=1 X vale 12
>>= Asigna Desplazamiento Derecha X>>=1 X vale 3
&= Asigna AND entre Bits X&=1 X vale 0
ˆ= Asigna XOR entre Bits xˆ=1 X vale 7
|= Asigna OR entre Bits X|=1 X vale 7
21. Operadores aritméticos: Los operadores aritméticos se usan para realizar
cálculos y operaciones con números reales y punteros básicamente
permiten hacer cualquier operación aritmética que se necesite Los
operadores más comunes son :
Operador Acción Ejemplo Resultado
- Resta X=5-3; X vale 2
+ Suma X=5+3; X vale 8
* Multiplicación x=2*3; X vale 6
/ División X=6/3; X vale 2
% Modulo X=5%2; X vale 1
-- Decremento X=1;-- X vale 0
++ Incremento X=1;++ X vale 2
22. Operadores Relacionales: Los operadores relacionales también
denominados operadores binarios lógicos y de comparación se utilizan
para comprobar la veracidad o falsedad de determinadas propuestas
de relación.
Operador Relación Ejemplo Resultado
< Menor X=5; y=3; if(x<y) x+1; X vale 2 Y vale 3
> Mayor X=5; y=3; if(x>y) x+1; X vale 6 Y vale 3
<= Menor Igual X=5; y=3; if(x<=y) x+1; X vale 3 Y vale 3
>= Mayor Igual X=5; y=3; if(x>=y) x+1; X vale 6 Y vale 3
== Igual X=5; y=5; if(x==y) x+1; X vale 6 Y vale 5
!= Diferente X=5; y=3; if(x!=y) y+1; X vale 5 Y vale 4
23. Operadores Lógicos: Los operadores lógicos producen un resultado
booleano y sus operandos son también valores lógicos o asimilables a
ellos (los valores numéricos son asimilados a cierto o falso según su valor
sea cero o distinto de cero) Por el contrario las operaciones entre bits
producen valores arbitrarios Los operadores lógicos son tres dos de ellos
son binarios y el último (negación).
Operador Acción Ejemplo Resultado
&& AND Lógico A && B Si ambos son verdaderos se
obtiene verdadero(true).
|| OR Lógico A || B Verdadero si alguno es
verdadero
! Negación Lógica !A Negación de a
24. Operadores De Bits: Los operadores de movimiento son operadores a
nivel de bits y lo que hacen es convertir una determinada cantidad a su
equivalente en bits para posteriormente realizar un desplazamiento de
dicho valor Estos operadores son:
Operador Acción Ejemplo Resultado
<< Desplazamiento a Izquierda A << B X vale 2
>> Desplazamiento a Derecha X=5+3; X vale 8
˜ Complemento X=2*3; X vale 6
& AND X=2&-2; X vale 2
ˆ XOR X=7ˆ-2 X vale -7
| OR X=6|13 X vale 15