SlideShare una empresa de Scribd logo
Programación en C / C++
http://www.cartagena99.com/recursos/recursos_programacion.php
Programación en C 1
EL SOFTWARE (PROGRAMAS)
Las operaciones que debe realizar el hardware son específicas por una lista de instrucciones,
llamadas programas o software. El software se divide en dos grandes grupos: software del
sistema y de aplicaciones
Software de sistema Es el conjunto de programas indispensable para que la máquina funcione,
se domina también programas del sistema. Estos programas son básicamente el Sistema
Operativo, los editores de texto, los compiladores/interpretes (lenguajes de
programación) y los programas de utilidad.
Uno de los programas masi importantes es el Sistema Operativo que sirve, esencialmente para
facilitar la escritura y usos de sus programas. Este dirige las operaciones globales de la
computadores e instruye a la computadora para ejecutar otros programas y controla el
almacenamiento y recuperación de archivos (programas y datos).
Gracias al Sistema Operativo es posible que el programador pueda introducir y grabar nuevos
programas así como instruir a la computadora para que los ejecute.
Los lenguajes de programación sirven para escribir programas que permitan la
comunicación usuario maquina. Unos programas especiales llamados traductores
(compiladores o interpretes) convierten las instrucciones escritas en lenguajes de
programación en instrucciones escritas en lenguajes de maquina que esta pueda
entender.
Los programas de utilidad facilitan el uso de la computadora. Por ejemplo el editor
de textos
Los programas que realizan tareas concretas como nominas, contabilidad análisis
estadístico, etc de denominan programas de aplicación.
LENGUAJE DE MAQUINA
LENGUAJE DE BAJO NIVEL
LENGUAJE DE BAJO NIVEL
LENGUAJE DE ALTO NIVEL
LENGUAJE DE ALTO NIVEL
TRADUCTORES DE LENGUAJE
Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en
lenguajes de alto nivel a código de máquina. Los traductores se dividen en: compiladores e interpretes
COMPILADOR
LA COMPILACION Y SUS FASES
La compilación es el proceso de traducción de programas fuente a programas objeto. El
programa objeto obtenido de la compilación ha sido traducido normalmente a código de
máquina.
Para conseguir el programa máquina real se debe utilizar un programa llamando montador o
enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina
directamente ejecutable.
El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un
compilador suele tener los siguientes pasos:
1. Escritura del programa fuente y guardarlo en un dispositivo de almacenamiento
2. Introducir el programa fuente en memoria
3. Compilar el programa con el compilador
4. Verificar y corregir errores de compilación
5. Obtención del programa objeto
6. El enlazador obtiene el programa ejecutable
7. Se ejecuta el programa y se tendrá la salida deseada
EJECUCION DE UN PROGRAMA
FASES DE EJECUCION DE UN PROGRAMA
PROGRAMACION
ESTRUCTURADA
VS
PROGRAMACION
ORIENTADA A OBJETOS
Programación en C 15
Programación en C 16
UNA FORMA NUEVA DE PENSAR
Es muy importante destacar que cuando hacemos referencia a la programación orientada a
objetos no estamos hablando de unas cuantas características nuevas añadidas a un lenguaje
de programación. Estamos hablando de una nueva forma de pensar acerca del proceso de
descomposición de problemas y de desarrollo de soluciones de programación.
La programación orientada a objetos surge en la historia como un intento para dominar la
complejidad que, de forma innata, posee el software. Tradicionalmente, la forma de
enfrentarse a esta complejidad ha sido empleando lo que llamamos programación
estructurada, que consiste en descomponer el problema objeto de resolución en
subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles de codificar.
Se trata de descomponer el problema en acciones, en verbos. En el ejemplo de un programa
que resuelva ecuaciones de segundo grado, descomponíamos el problema en las siguientes
acciones: primero, pedir el valor de los coeficientes a, b y c; después, calcular el valor del
discriminante; y por último, en función del signo del discriminante, calcular ninguna, una o
dos raíces.
Como podemos ver, descomponíamos el problema en acciones, en verbos; por ejemplo
el verbo pedir, el verbo hallar, el verbo comprobar, el verbo calcular…
Programación en C 17
La programación orientada a objetos es otra forma de descomponer problemas.
Este nuevo método de descomposición es la descomposición en objetos; vamos
a fijarnos no en lo que hay que hacer en el problema, sino en cuál es el
escenario real del mismo, y vamos a intentar simular ese escenario en nuestro
programa.
Los lenguajes de programación tradicionales no orientados a objetos, como C,
Pascal, BASIC, o Modula-2, basan su funcionamiento en el concepto de
procedimiento o función. Una función es simplemente un conjunto de
instrucciones que operan sobre unos argumentos y producen un resultado. De
este modo, un programa no es más que una sucesión de llamadas a funciones,
ya sean éstas del sistema operativo, proporcionadas por el propio lenguaje, o
desarrolladas por el mismo usuario.
PROGRAMACION ESTRUCTURADA VS P.O.O.
Programación en C 18
PROGRAMACION ESTRUCTURADA VS P.O.O.
En el caso de los lenguajes orientados a objetos, como es el caso de C++ y Java,
el elemento básico no es la función, sino un ente denominado precisamente
objeto. Un objeto es la representación en un programa de un concepto, y
contiene toda la información necesaria para abstraerlo: datos que describen sus
atributos y operaciones que pueden realizarse sobre los mismos.
Programación en C 19
EJEMPLOS DE OBJETOS.
Índice
• Estructura de un programa
C.
• Variables básicas.
• Operaciones aritméticas.
• Sentencias de control.
• Arrays y Strings.
• Funciones.
• Estructuras de datos.
• Entrada/Salida básica.
• Ejemplos I.
• Modificadores de
ámbito de las
variables.
• Punteros y memoria
dinámica.
• Operadores de bit.
• Preprocesador C y
compilación.
• Librerías estándar.
• Ejemplos II.
Programación en C 20
Programación en C 21
CONCEPTOS BASICOS DE C
Estructura de un programa en C
Programación en C 22
Todo programa en C se construye básicamente mediante tres
tipos de objetos:
 Funciones.
 Variables.
 Tipos de datos.
Programación en C 23
#include <biblioteca1.h>
#include <biblioteca2.h>
... declaraciones de funciones ...
... definiciones (cuerpos de funciones) ...
... declaraciones de variables globales ...
main()
{
... cuerpo del main ...
}
... otras definiciones de funciones ...
Definición de
Cabecera y/o
Ficheros
Declaración
de Datos
Función Principal
Otras Funciones
y/o
Procedimientos
/*Variantes de Definición*/
#include<nombre_de_la_biblioteca>
#define nombre_de_la_constante
//Función principal
void main()
{
definición de variables locales;
instrucciones del programa;
}
• Estructura de un programa en C
Estructura de un programa en C
Función main():
#include <stdio.h>
int main()
{
printf(“Hola mundo!!n”);
return(0);
}
Programación en C 24
Estructura de un programa en C
Fichero hola.c
# include <stdio.h>
int main()
{
printf(“Hola mundo!!n”);
return(0);
}
Programación en C 25
Compilación
Ejecución
Características de C
• Sensible a mayúsculas y minúsculas: sum y Sum
• Indentación y espacios en blanco.
• Sentencias (terminan con un punto y coma).
• Bloques (delimitados entre llaves).
• Elementos de un programa:
• Palabras reservadas (muy pocas).
• Funciones de librería estándar.
• Variables y funciones definidas por el programador.
Programación en C 26
ESTRUCTURA DE UN PROGRAMA
El inicio del programa debe llevar:
El símbolo de numeral (#) la sentencia “include”, y entre
signos de mayor y menor que (<>) el nombre de la librería o
fichero.
Seguidas de las librerías, para que “Incluya” en el programa
la directiva la cual contiene las funciones para procesar
datos.
#include <fichero>
27
ESTRUCTURA DE UN PROGRAMA
#include <stdio.h>.- Contiene las funciones de entrada y
salida de datos.
#include <conio.h>.- Declara varias funciones usadas
llamando la consola del sistema operativo.
#include <string.h>.- Manejo de cadenas.
#include <stdlib.h >.- Memoria dinámica.
#include <math.h >.- Rutinas matemáticas.
28
Comentarios
• Los comentarios en C pueden ocupar varias líneas y se
encuentran delimitados entre /* y */.
int main()
{
/* Esto es un comentario de varias
lineas.*/
return(0);
}
Programación en C 29
ENTRADA Y SALIDA DE DATOS
Se utiliza las funciones de biblioteca:
“scanf” para la entrada de valores.
Sintaxis es la siguiente:
Lee el valor y lo guarda en una variable.
“printf” para la salida de información.
Sintaxis es la siguiente:
Imprime en pantalla el texto y el valor
30
scanf ("%d", &variable);
printf ("El valor es %d", variable);
La función COUT
Programación en C 31
#include <iostream>
int main()
{
int x = 5;
int y = 7;
cout << "n";
cout << x + y << " " << x * y;
cout << "n";
return 0;
}
Programación en C
Variables básicas
Programación en C 32
CONCEPTOS BASICOS
Programación en C 33
Ámbito de las variables
• La declaración de las variables lleva asociado un ámbito,
dentro del cual la variable es visible:
• Ámbito global: La variable es visible para todas las funciones
del programa.
• Ámbito local: La variable es visible sólo dentro de la función.
(Tiene prioridad sobre el ámbito global)
Programación en C 34
Ámbito de las variables
int x,y;
int main()
{
float x,z;
/* Aquí x y z son reales e y un entero */
}
/* Aquí x e y son variables enteras */
/* La variable z no existe fuera de la
función */
Programación en C 35
AMBITO DE LAS VARIABLES
36
Variable Global Variable Local
#include <stdio.h>
int x;
int main()
{
}
#include <stdio.h>
int main()
{
int x;
}
Programación en C 37
C++ dispone del operador (::), llamado operador de resolución de visibilidad (scope
resolution operator). Este operador, antepuesto al nombre de una variable global que está
oculta por una variable local del mismo nombre, permite acceder al valor de la variable
globa l6.
Considérese el siguiente ejemplo:
int a = 2; // declaración de una variable global a
void main(void)
{
...
printf("a = %d", a); // se escribe a = 2
int a = 10; // declaración de una variable local a
printf("a = %d", a); // se escribe a = 10
printf("a = %d", ::a); // se escribe a = 2
}
El operador (::) no permite acceder a una variable local definida en un bloque más exterior
oculta por otra variable local del mismo nombre. Este operador sólo permite acceder a una
variable
global oculta por una variable local del mismo nombre.
OPERADOR DE VISIBILIDAD
Tipos de variables
Programación en C 50
long double 96 18 3.3621e-4932 1.18973e+493
Llamada sizeof()
• La llamada sizeof() se utiliza para determinar el número
de bytes que ocupa una variable o un tipo:
int a;
sizeof(a);
sizeof(unsigned int);
Programación en C 51
SetConsoleTextAttribute(GetStdHandle (STD_OUTPUT_HANDLE),X);
0 = Negro
1 = Azul
2 = Verde
3 = Aguamarina
4 = Rojo
5 = Purpura
6 = Amarillo
7 = Blanco
8 = Gris
9 = Azul claro
A = Verde claro
B = Aguamarina claro
C = Rojo claro
D = Purpura claro
E = Amarillo claro
F = Blanco brillante
SetConsoleTextAttribute(GetStdHandle (STD_OUTPUT_HANDLE),X);
MODIFICADORES DE FORMATO
Programación en C 61
MODIFICADORES DE FORMATO
Programación en C 62
MODIFICADORES DE FORMATO
#include <stdio.h>
int main(void) {
int x=45;
double y=23.354;
char z[]="Esto es vida";
/* utilizamos barras inclinadas (/) para ver claramente la anchura del campo de caracteres */
printf("1) Voy a escribir /45/ utilizando el formato %%d: /%d/n", x);
printf("2)Voy a escribir /45/ utilizando el formato %%1d: /%1d/n", x);
printf("3)Voy a escribir /45/ utilizando el formato %%10d: /%10d/nn", x);
printf("4)Voy a escribir /23.354/ utilizando el formato %%f:/%f/n", y);
printf("5)Voy a escribir /23.354/ utilizando el formato %%.3f: /%.3f/n", y);
printf("6)Voy a escribir /23.354/ utilizando el formato %%5.1f: /%5.1f/n", y);
printf("7)Voy a escribir /23.354/ utilizando el formato %%-10.3f:/%-10.3f/n", y);
printf("8)Voy a escribir /23.354/ utilizando el formato %%5f: /%5f/nn", y);
printf("9)Voy a escribir /Esto es vida/ utilizando el formato %%s: /%s/n", z);
printf("10)Voy a escribir /Esto es vida/ utilizando el formato %%.7s:/%.7s/n", z);
printf("11)Voy a escribir /Esto es vida/ utilizando el formato %%-15.10s: /%-15.10s/n", z);
printf("12)Voy a escribir /Esto es vida/ utilizando el formato %%15s: /%15s/n", z);
}
ENTRADA Y SALIDA DE DATOS
ENTRADA DE TIPO CARÁCTER.
Se declara una variable de tipo carácter y se guarda en: getch() o
getche().
La diferencia es que getche() muestra en pantalla el carácter
introducido.
getch() lo mantiene oculto.
Sintaxis:
char opc;
opc=getch();
opc=getche();
65
Ejemplos
CONSTANTES
Una constante es un valor que, una vez fijado por el compilador, no cambia durante la
ejecución del programa. Una constante en C puede ser un entero, un real, un carácter, o
una cadena de caracteres.
DECLARACION DE CONSTANTES SIMBOLICAS
Declarar una constante simbólica significa decir al compilador de C el nombre de la
constante y su valor. Esto se hace generalmente antes de la función main utilizando la
directriz #define, cuya sintaxis es:
#define NOMBRE VALOR
#define PI 3.14159
#define NL ‘n’
#define MENSAJE “Pulse un tecla para continuar n”
CONSTANTES C++
C++ y algunos compiladores de C admiten una forma adicional de declarar una constante;
anteponer el calificador const al nombre de la constante .
const int k=12;
Programación en C
EXPRESIONES
OPERADORES
Una expresión es una secuencia de operadores y
operandos que especifican una operación determinada
Programación en C 72
Programación en C 73
Operaciones aritméticas
• El operador de asignación es el igual (=).
Programación en C 74
Ejemplo Operaciones Aritmeticas
main()
{
unsigned char a=255,r=0,m=32;
int res;
r=a&15;/*r=15 . Pone a cero todos los bits de a
excepto los 4 bits de menor peso*/
res=(int)r;
cout<<r<<" "<<res<<endl;
r=r|m;/*r=47.Pone a 1 todos los bits de r que estan
a 1 en m */
res=(int)r;
cout<<r<<" "<<res<<endl;
r=a& ~7;/* r=248. Pone a 0 los 3 bits de menor peso de a*/
res=(int)r;
cout<<r<<" "<<res<<endl;
r=a>>7;/*r=1. Desplazamiento de 7 bits a la derecha*/
res=(int)r;
cout<<r<<" "<<res<<endl;
}
Programación en C 82
Pre/post-incrementos
Los operadores unarios (++) y (--) representan
operaciones de incremento y decremento,
respectivamente.
a++; /* similar a a=a+1 */
Ejemplos:
a=3; b=a++; /* a=4, b=3 */
a=3; b=++a; /* a=4, b=4 */
a=3; b=a--; /* a=2, b=3 */
Programación en C 83
Operaciones de asignación
El operador de asignación en C es el igual(=)
a=b+3;
Existen otras variantes de asignación:
a+=3; /* Equivalente a a=a+3 */
a*=c+d; /* Equivalente a a=a*(c+d) */
a/=a+1; /* Equivalente a a=a/(a+1) */
Para las asignaciones entre variables o expresiones de
tipos diferentes se recomienda hacer casting:
a=(int)(x/2.34);
Programación en C 84
Ejercicio
#include <stdio.h>
main()
{
int x=0,n=10,i=1;
x++;//incrementa el valor de x en 1
++x;//incrementa el valor de x en 1
x=--n;//decrementa n en 1 y asigna el resultado a x
x=n--;//asigna el valor de n a x y despues decrementa n en 1
i+=2; //realiza i=i+2
x*=n-3;//Realiza x=x*(n-3) y no x=x*n-3
n>>=1;//Realiza n=n>>1 desplaza el contenido de n un bit
//a la derecha
}
OPERADORES
Programación en C 86
Dentro de c++ tenemos los típicos operadores matemáticos + - * / y también los operadores
unarios (++ --) En este primer ejemplo vemos operadores unarios y la asignación múltiple.
#include <iostream>
int main ()
{
// Sacamos por salida standar un mensaje
cout << "Vamos a probar los peradoresn";
unsigned int test = 0;
unsigned int a = 0, b = 0, c;
// Sacamos el valor por pantalla de test
cout << "Valor de test: " << test << endl;
// Sacamos el valor por pantalla de test++
cout << "Valor de test++: " << (test++) << endl;
cout <<“El valor de test es”<<test<<endl;
// Sacamos el valor por pantalla de ++test
cout << "Valor de ++test: " << (++test) << endl;
cout << "Valor de test actual: " << test << endl;
// asignacion multiple
c = b = a = test;
// Veamos el resto de valores
cout << "Y los demas: " << c << " " << b << " " << a << endl;
return 0;
}
Operador ?
El operador condicional es el único operador ternario de la gramática C++ y sirve para
tomar decisiones. Proporciona un resultado entre dos posibilidades en función de una
condición.
Sintaxis
expresion-relacional ? expr1 : expr2
El operador condicional ? : produce un resultado. En la expresión E1 ? E2 : E3, E1 es una
expresión relacional ( 4.9.12) que se evalúa primero. Si el resultado es cierto, entonces
se evalúa E2 y este es el resultado. En caso contrario (si E1 resulta falso), entonces se
evalúa E3 y este es el resultado. Observe que si la premisa E1 es cierta, entonces no llega
a evaluarse la expresión E3.
El operador ? : puede usarse para sustituir ciertas sentencias del tipo if-then-else,
aunque puede conducir a expresiones más compactas que las correspondientes if...else.
En el ejemplo que sigue, a y se le asigna el valor 100:
x = 10;
y = x > 9 ? 100 : 200;
Operador ?
int main()
{
int a,b=4,c=5;
a=b>0 ? c : c+1;
/* Equivalente a
if(b>0)
a=c;
else
a=c+1; */
}
Programación en C 88
Operador Dirección &
Operador de Indireccion *
Operador sizeof()
PRIORIDAD Y ORDEN DE EVALUACION
Ejemplos
a=3;
x=(a++-8)*(a-6);
CONVERSIONES DE TIPO
CONVERSIONES DE TIPO
Casting (Conversion explísita)
Casting: mecanismo usado para cambiar de tipo
expresiones y variables:
La forma de generar un casting es:
(tipo) expresión
Donde
• Tipo; es uno de los tipos estándares del lenguaje
• Expresion, es una esprexion de cualquier tipo
int a;
float b;
char c;
b=65.0;
a=(int)b; /* a vale 65 */
c=(char)a; /* c vale 65 (Código ASCII
de ‘A’) */Programación en C 94
Casting
Programación en C 95
/* ejemplo 4.- realizamos conversiones de tipos implícitas y explícitas */
#include <stdio.h>
int main()
{
double d , e , f = 2.33 ;
int i = 6 ;
e = f * i ; /* e es un double de valor 13.98*/
printf( "Resultado = %f", e);
d = (int) ( f * i ) ; /* d es un double de valor 13.00*/
printf( "Resultado = %f", d);
d = (int) f * i ; /* f se ha convertido a un entero truncando sus*/
/*decimales, d es un double de valor 12.00*/
printf( "Resultado = %f", d);
return 0;
}
Ejercicio
Laboratorio

Más contenido relacionado

La actualidad más candente

Lenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantesLenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantesJhon Jairo C Q
 
Complementos
ComplementosComplementos
Complementos
Tensor
 
El software 2
El software 2El software 2
El software 2
Naudelyn
 
Manual 1 de lenguaje c
Manual 1 de lenguaje cManual 1 de lenguaje c
Manual 1 de lenguaje cgechenique
 
Curso c
Curso cCurso c
Curso c
AnzurezBrayan
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
Eliezer Cordova
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Jorge Rodriguez
 
Passage
PassagePassage
Passage
passage
 
Manual C/C++ Jason Martinez
Manual C/C++ Jason MartinezManual C/C++ Jason Martinez
Manual C/C++ Jason Martinez
Estudiantes ISI_UCA
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c
Liz O
 
Presentacion
PresentacionPresentacion
Introducción
IntroducciónIntroducción
Introducción
Tensor
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castro
criistiancas
 

La actualidad más candente (15)

Lenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantesLenguaje c completo 6 g x revisar x los estudiantes
Lenguaje c completo 6 g x revisar x los estudiantes
 
Complementos
ComplementosComplementos
Complementos
 
El software 2
El software 2El software 2
El software 2
 
Manual 1 de lenguaje c
Manual 1 de lenguaje cManual 1 de lenguaje c
Manual 1 de lenguaje c
 
Curso c
Curso cCurso c
Curso c
 
2 estructura programa-c
2 estructura programa-c2 estructura programa-c
2 estructura programa-c
 
Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...Traducción de un programa: compilación, enlace de un programa, errores en tie...
Traducción de un programa: compilación, enlace de un programa, errores en tie...
 
Passage
PassagePassage
Passage
 
Manual C/C++ Jason Martinez
Manual C/C++ Jason MartinezManual C/C++ Jason Martinez
Manual C/C++ Jason Martinez
 
Unmsm02 2008
Unmsm02 2008Unmsm02 2008
Unmsm02 2008
 
ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C ENSAYO SOBRE EL LENGUAJE C
ENSAYO SOBRE EL LENGUAJE C
 
manual básico de programación en c
manual básico de programación en c manual básico de programación en c
manual básico de programación en c
 
Presentacion
PresentacionPresentacion
Presentacion
 
Introducción
IntroducciónIntroducción
Introducción
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castro
 

Similar a Parte i curso c

Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
DavidGarca147527
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmascritina26
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasSergio Naspiran
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas94daniel
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmassergiio27
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasmauro38
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasyiyi153
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasyiyi153
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasdianis22
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasmauro38
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas94daniel
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasCAMINSUASTY
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmasdianis22
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)dianis22
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)dianis22
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmascritina26
 

Similar a Parte i curso c (20)

37975756-Guia-de-C
37975756-Guia-de-C37975756-Guia-de-C
37975756-Guia-de-C
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Algoritmos - Curso UNE
Algoritmos - Curso UNEAlgoritmos - Curso UNE
Algoritmos - Curso UNE
 
Introducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptxIntroducción a Programación I (Clase1).pptx
Introducción a Programación I (Clase1).pptx
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)
 
Principios de paradigmas(2)
Principios de paradigmas(2)Principios de paradigmas(2)
Principios de paradigmas(2)
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 

Más de Cesar Oswaldo Osorio Agualongo

Aprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación PythonAprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación Python
Cesar Oswaldo Osorio Agualongo
 
Notas 2 do parcial
Notas 2 do parcialNotas 2 do parcial
Notas 2 do parcial
Cesar Oswaldo Osorio Agualongo
 
Repaso excel
Repaso excelRepaso excel
Notas 2490
Notas 2490Notas 2490
Notas 2625
Notas 2625Notas 2625
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Punteros y funciones
Punteros y funciones Punteros y funciones
Punteros y funciones
Cesar Oswaldo Osorio Agualongo
 
Algoritmos
AlgoritmosAlgoritmos
Memoria dinamica
Memoria dinamicaMemoria dinamica
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
Cesar Oswaldo Osorio Agualongo
 
Punteros presentacion
Punteros presentacionPunteros presentacion
Punteros presentacion
Cesar Oswaldo Osorio Agualongo
 
Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1
Cesar Oswaldo Osorio Agualongo
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
Cesar Oswaldo Osorio Agualongo
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
Cesar Oswaldo Osorio Agualongo
 
Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016
Cesar Oswaldo Osorio Agualongo
 
Programacion semanal programacion i
Programacion semanal programacion iProgramacion semanal programacion i
Programacion semanal programacion i
Cesar Oswaldo Osorio Agualongo
 
Silabo programacion i abril2016 agosto2016
Silabo programacion i abril2016 agosto2016Silabo programacion i abril2016 agosto2016
Silabo programacion i abril2016 agosto2016
Cesar Oswaldo Osorio Agualongo
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
Cesar Oswaldo Osorio Agualongo
 

Más de Cesar Oswaldo Osorio Agualongo (20)

Aprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación PythonAprendizaje de Lenguaje de Programación Python
Aprendizaje de Lenguaje de Programación Python
 
Notas 2 do parcial
Notas 2 do parcialNotas 2 do parcial
Notas 2 do parcial
 
Repaso excel
Repaso excelRepaso excel
Repaso excel
 
Notas 2490
Notas 2490Notas 2490
Notas 2490
 
Notas 2625
Notas 2625Notas 2625
Notas 2625
 
Material iii parcial
Material iii parcialMaterial iii parcial
Material iii parcial
 
Unidad 2 curso c
Unidad 2 curso cUnidad 2 curso c
Unidad 2 curso c
 
Punteros y funciones
Punteros y funciones Punteros y funciones
Punteros y funciones
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Punteros presentacion
Punteros presentacionPunteros presentacion
Punteros presentacion
 
Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1Practica 6 manejo de archivos v1
Practica 6 manejo de archivos v1
 
Estructuras en c++
Estructuras en c++Estructuras en c++
Estructuras en c++
 
Funciones recursivas
Funciones recursivasFunciones recursivas
Funciones recursivas
 
Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016Punteros y funciones abril agosto 2016
Punteros y funciones abril agosto 2016
 
Programacion semanal programacion i
Programacion semanal programacion iProgramacion semanal programacion i
Programacion semanal programacion i
 
Silabo programacion i abril2016 agosto2016
Silabo programacion i abril2016 agosto2016Silabo programacion i abril2016 agosto2016
Silabo programacion i abril2016 agosto2016
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
 

Último

Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
nievesjiesc03
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
20minutos
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
YasneidyGonzalez
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
YasneidyGonzalez
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
MasielPMP
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
Demetrio Ccesa Rayme
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
20minutos
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
rosannatasaycoyactay
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 

Último (20)

Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
Presentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos DigitalesPresentación Revistas y Periódicos Digitales
Presentación Revistas y Periódicos Digitales
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de MadridHorarios Exámenes EVAU Ordinaria 2024 de Madrid
Horarios Exámenes EVAU Ordinaria 2024 de Madrid
 
Fase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometricoFase 2, Pensamiento variacional y trigonometrico
Fase 2, Pensamiento variacional y trigonometrico
 
Fase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría AnalíticaFase 3; Estudio de la Geometría Analítica
Fase 3; Estudio de la Geometría Analítica
 
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCIONCAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
CAPACIDADES SOCIOMOTRICES LENGUAJE, INTROYECCIÓN, INTROSPECCION
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
Educar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdfEducar por Competencias GS2 Ccesa007.pdf
Educar por Competencias GS2 Ccesa007.pdf
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
Horarios y fechas de la PAU 2024 en la Comunidad Valenciana.
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 

Parte i curso c

  • 1. Programación en C / C++ http://www.cartagena99.com/recursos/recursos_programacion.php Programación en C 1
  • 2. EL SOFTWARE (PROGRAMAS) Las operaciones que debe realizar el hardware son específicas por una lista de instrucciones, llamadas programas o software. El software se divide en dos grandes grupos: software del sistema y de aplicaciones Software de sistema Es el conjunto de programas indispensable para que la máquina funcione, se domina también programas del sistema. Estos programas son básicamente el Sistema Operativo, los editores de texto, los compiladores/interpretes (lenguajes de programación) y los programas de utilidad. Uno de los programas masi importantes es el Sistema Operativo que sirve, esencialmente para facilitar la escritura y usos de sus programas. Este dirige las operaciones globales de la computadores e instruye a la computadora para ejecutar otros programas y controla el almacenamiento y recuperación de archivos (programas y datos). Gracias al Sistema Operativo es posible que el programador pueda introducir y grabar nuevos programas así como instruir a la computadora para que los ejecute.
  • 3.
  • 4. Los lenguajes de programación sirven para escribir programas que permitan la comunicación usuario maquina. Unos programas especiales llamados traductores (compiladores o interpretes) convierten las instrucciones escritas en lenguajes de programación en instrucciones escritas en lenguajes de maquina que esta pueda entender. Los programas de utilidad facilitan el uso de la computadora. Por ejemplo el editor de textos Los programas que realizan tareas concretas como nominas, contabilidad análisis estadístico, etc de denominan programas de aplicación.
  • 10. TRADUCTORES DE LENGUAJE Los traductores de lenguaje son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código de máquina. Los traductores se dividen en: compiladores e interpretes
  • 12.
  • 13. LA COMPILACION Y SUS FASES La compilación es el proceso de traducción de programas fuente a programas objeto. El programa objeto obtenido de la compilación ha sido traducido normalmente a código de máquina. Para conseguir el programa máquina real se debe utilizar un programa llamando montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable. El proceso de ejecución de un programa escrito en un lenguaje de programación y mediante un compilador suele tener los siguientes pasos: 1. Escritura del programa fuente y guardarlo en un dispositivo de almacenamiento 2. Introducir el programa fuente en memoria 3. Compilar el programa con el compilador 4. Verificar y corregir errores de compilación 5. Obtención del programa objeto 6. El enlazador obtiene el programa ejecutable 7. Se ejecuta el programa y se tendrá la salida deseada EJECUCION DE UN PROGRAMA
  • 14. FASES DE EJECUCION DE UN PROGRAMA
  • 16. Programación en C 16 UNA FORMA NUEVA DE PENSAR Es muy importante destacar que cuando hacemos referencia a la programación orientada a objetos no estamos hablando de unas cuantas características nuevas añadidas a un lenguaje de programación. Estamos hablando de una nueva forma de pensar acerca del proceso de descomposición de problemas y de desarrollo de soluciones de programación. La programación orientada a objetos surge en la historia como un intento para dominar la complejidad que, de forma innata, posee el software. Tradicionalmente, la forma de enfrentarse a esta complejidad ha sido empleando lo que llamamos programación estructurada, que consiste en descomponer el problema objeto de resolución en subproblemas y más subproblemas hasta llegar a acciones muy simples y fáciles de codificar. Se trata de descomponer el problema en acciones, en verbos. En el ejemplo de un programa que resuelva ecuaciones de segundo grado, descomponíamos el problema en las siguientes acciones: primero, pedir el valor de los coeficientes a, b y c; después, calcular el valor del discriminante; y por último, en función del signo del discriminante, calcular ninguna, una o dos raíces. Como podemos ver, descomponíamos el problema en acciones, en verbos; por ejemplo el verbo pedir, el verbo hallar, el verbo comprobar, el verbo calcular…
  • 17. Programación en C 17 La programación orientada a objetos es otra forma de descomponer problemas. Este nuevo método de descomposición es la descomposición en objetos; vamos a fijarnos no en lo que hay que hacer en el problema, sino en cuál es el escenario real del mismo, y vamos a intentar simular ese escenario en nuestro programa. Los lenguajes de programación tradicionales no orientados a objetos, como C, Pascal, BASIC, o Modula-2, basan su funcionamiento en el concepto de procedimiento o función. Una función es simplemente un conjunto de instrucciones que operan sobre unos argumentos y producen un resultado. De este modo, un programa no es más que una sucesión de llamadas a funciones, ya sean éstas del sistema operativo, proporcionadas por el propio lenguaje, o desarrolladas por el mismo usuario. PROGRAMACION ESTRUCTURADA VS P.O.O.
  • 18. Programación en C 18 PROGRAMACION ESTRUCTURADA VS P.O.O. En el caso de los lenguajes orientados a objetos, como es el caso de C++ y Java, el elemento básico no es la función, sino un ente denominado precisamente objeto. Un objeto es la representación en un programa de un concepto, y contiene toda la información necesaria para abstraerlo: datos que describen sus atributos y operaciones que pueden realizarse sobre los mismos.
  • 19. Programación en C 19 EJEMPLOS DE OBJETOS.
  • 20. Índice • Estructura de un programa C. • Variables básicas. • Operaciones aritméticas. • Sentencias de control. • Arrays y Strings. • Funciones. • Estructuras de datos. • Entrada/Salida básica. • Ejemplos I. • Modificadores de ámbito de las variables. • Punteros y memoria dinámica. • Operadores de bit. • Preprocesador C y compilación. • Librerías estándar. • Ejemplos II. Programación en C 20
  • 21. Programación en C 21 CONCEPTOS BASICOS DE C
  • 22. Estructura de un programa en C Programación en C 22 Todo programa en C se construye básicamente mediante tres tipos de objetos:  Funciones.  Variables.  Tipos de datos.
  • 23. Programación en C 23 #include <biblioteca1.h> #include <biblioteca2.h> ... declaraciones de funciones ... ... definiciones (cuerpos de funciones) ... ... declaraciones de variables globales ... main() { ... cuerpo del main ... } ... otras definiciones de funciones ... Definición de Cabecera y/o Ficheros Declaración de Datos Función Principal Otras Funciones y/o Procedimientos /*Variantes de Definición*/ #include<nombre_de_la_biblioteca> #define nombre_de_la_constante //Función principal void main() { definición de variables locales; instrucciones del programa; } • Estructura de un programa en C
  • 24. Estructura de un programa en C Función main(): #include <stdio.h> int main() { printf(“Hola mundo!!n”); return(0); } Programación en C 24
  • 25. Estructura de un programa en C Fichero hola.c # include <stdio.h> int main() { printf(“Hola mundo!!n”); return(0); } Programación en C 25 Compilación Ejecución
  • 26. Características de C • Sensible a mayúsculas y minúsculas: sum y Sum • Indentación y espacios en blanco. • Sentencias (terminan con un punto y coma). • Bloques (delimitados entre llaves). • Elementos de un programa: • Palabras reservadas (muy pocas). • Funciones de librería estándar. • Variables y funciones definidas por el programador. Programación en C 26
  • 27. ESTRUCTURA DE UN PROGRAMA El inicio del programa debe llevar: El símbolo de numeral (#) la sentencia “include”, y entre signos de mayor y menor que (<>) el nombre de la librería o fichero. Seguidas de las librerías, para que “Incluya” en el programa la directiva la cual contiene las funciones para procesar datos. #include <fichero> 27
  • 28. ESTRUCTURA DE UN PROGRAMA #include <stdio.h>.- Contiene las funciones de entrada y salida de datos. #include <conio.h>.- Declara varias funciones usadas llamando la consola del sistema operativo. #include <string.h>.- Manejo de cadenas. #include <stdlib.h >.- Memoria dinámica. #include <math.h >.- Rutinas matemáticas. 28
  • 29. Comentarios • Los comentarios en C pueden ocupar varias líneas y se encuentran delimitados entre /* y */. int main() { /* Esto es un comentario de varias lineas.*/ return(0); } Programación en C 29
  • 30. ENTRADA Y SALIDA DE DATOS Se utiliza las funciones de biblioteca: “scanf” para la entrada de valores. Sintaxis es la siguiente: Lee el valor y lo guarda en una variable. “printf” para la salida de información. Sintaxis es la siguiente: Imprime en pantalla el texto y el valor 30 scanf ("%d", &variable); printf ("El valor es %d", variable);
  • 31. La función COUT Programación en C 31 #include <iostream> int main() { int x = 5; int y = 7; cout << "n"; cout << x + y << " " << x * y; cout << "n"; return 0; }
  • 32. Programación en C Variables básicas Programación en C 32
  • 34. Ámbito de las variables • La declaración de las variables lleva asociado un ámbito, dentro del cual la variable es visible: • Ámbito global: La variable es visible para todas las funciones del programa. • Ámbito local: La variable es visible sólo dentro de la función. (Tiene prioridad sobre el ámbito global) Programación en C 34
  • 35. Ámbito de las variables int x,y; int main() { float x,z; /* Aquí x y z son reales e y un entero */ } /* Aquí x e y son variables enteras */ /* La variable z no existe fuera de la función */ Programación en C 35
  • 36. AMBITO DE LAS VARIABLES 36 Variable Global Variable Local #include <stdio.h> int x; int main() { } #include <stdio.h> int main() { int x; }
  • 37. Programación en C 37 C++ dispone del operador (::), llamado operador de resolución de visibilidad (scope resolution operator). Este operador, antepuesto al nombre de una variable global que está oculta por una variable local del mismo nombre, permite acceder al valor de la variable globa l6. Considérese el siguiente ejemplo: int a = 2; // declaración de una variable global a void main(void) { ... printf("a = %d", a); // se escribe a = 2 int a = 10; // declaración de una variable local a printf("a = %d", a); // se escribe a = 10 printf("a = %d", ::a); // se escribe a = 2 } El operador (::) no permite acceder a una variable local definida en un bloque más exterior oculta por otra variable local del mismo nombre. Este operador sólo permite acceder a una variable global oculta por una variable local del mismo nombre. OPERADOR DE VISIBILIDAD
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. Tipos de variables Programación en C 50 long double 96 18 3.3621e-4932 1.18973e+493
  • 51. Llamada sizeof() • La llamada sizeof() se utiliza para determinar el número de bytes que ocupa una variable o un tipo: int a; sizeof(a); sizeof(unsigned int); Programación en C 51
  • 52.
  • 53.
  • 54.
  • 56. 0 = Negro 1 = Azul 2 = Verde 3 = Aguamarina 4 = Rojo 5 = Purpura 6 = Amarillo 7 = Blanco 8 = Gris 9 = Azul claro A = Verde claro B = Aguamarina claro C = Rojo claro D = Purpura claro E = Amarillo claro F = Blanco brillante SetConsoleTextAttribute(GetStdHandle (STD_OUTPUT_HANDLE),X);
  • 57.
  • 58.
  • 59.
  • 61. Programación en C 61 MODIFICADORES DE FORMATO
  • 62. Programación en C 62 MODIFICADORES DE FORMATO
  • 63. #include <stdio.h> int main(void) { int x=45; double y=23.354; char z[]="Esto es vida"; /* utilizamos barras inclinadas (/) para ver claramente la anchura del campo de caracteres */ printf("1) Voy a escribir /45/ utilizando el formato %%d: /%d/n", x); printf("2)Voy a escribir /45/ utilizando el formato %%1d: /%1d/n", x); printf("3)Voy a escribir /45/ utilizando el formato %%10d: /%10d/nn", x); printf("4)Voy a escribir /23.354/ utilizando el formato %%f:/%f/n", y); printf("5)Voy a escribir /23.354/ utilizando el formato %%.3f: /%.3f/n", y); printf("6)Voy a escribir /23.354/ utilizando el formato %%5.1f: /%5.1f/n", y); printf("7)Voy a escribir /23.354/ utilizando el formato %%-10.3f:/%-10.3f/n", y); printf("8)Voy a escribir /23.354/ utilizando el formato %%5f: /%5f/nn", y); printf("9)Voy a escribir /Esto es vida/ utilizando el formato %%s: /%s/n", z); printf("10)Voy a escribir /Esto es vida/ utilizando el formato %%.7s:/%.7s/n", z); printf("11)Voy a escribir /Esto es vida/ utilizando el formato %%-15.10s: /%-15.10s/n", z); printf("12)Voy a escribir /Esto es vida/ utilizando el formato %%15s: /%15s/n", z); }
  • 64. ENTRADA Y SALIDA DE DATOS ENTRADA DE TIPO CARÁCTER. Se declara una variable de tipo carácter y se guarda en: getch() o getche(). La diferencia es que getche() muestra en pantalla el carácter introducido. getch() lo mantiene oculto. Sintaxis: char opc; opc=getch(); opc=getche(); 65
  • 65.
  • 67. CONSTANTES Una constante es un valor que, una vez fijado por el compilador, no cambia durante la ejecución del programa. Una constante en C puede ser un entero, un real, un carácter, o una cadena de caracteres.
  • 68.
  • 69.
  • 70. DECLARACION DE CONSTANTES SIMBOLICAS Declarar una constante simbólica significa decir al compilador de C el nombre de la constante y su valor. Esto se hace generalmente antes de la función main utilizando la directriz #define, cuya sintaxis es: #define NOMBRE VALOR #define PI 3.14159 #define NL ‘n’ #define MENSAJE “Pulse un tecla para continuar n” CONSTANTES C++ C++ y algunos compiladores de C admiten una forma adicional de declarar una constante; anteponer el calificador const al nombre de la constante . const int k=12;
  • 71. Programación en C EXPRESIONES OPERADORES Una expresión es una secuencia de operadores y operandos que especifican una operación determinada Programación en C 72
  • 73. Operaciones aritméticas • El operador de asignación es el igual (=). Programación en C 74
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80. main() { unsigned char a=255,r=0,m=32; int res; r=a&15;/*r=15 . Pone a cero todos los bits de a excepto los 4 bits de menor peso*/ res=(int)r; cout<<r<<" "<<res<<endl; r=r|m;/*r=47.Pone a 1 todos los bits de r que estan a 1 en m */ res=(int)r; cout<<r<<" "<<res<<endl; r=a& ~7;/* r=248. Pone a 0 los 3 bits de menor peso de a*/ res=(int)r; cout<<r<<" "<<res<<endl; r=a>>7;/*r=1. Desplazamiento de 7 bits a la derecha*/ res=(int)r; cout<<r<<" "<<res<<endl; }
  • 82. Pre/post-incrementos Los operadores unarios (++) y (--) representan operaciones de incremento y decremento, respectivamente. a++; /* similar a a=a+1 */ Ejemplos: a=3; b=a++; /* a=4, b=3 */ a=3; b=++a; /* a=4, b=4 */ a=3; b=a--; /* a=2, b=3 */ Programación en C 83
  • 83. Operaciones de asignación El operador de asignación en C es el igual(=) a=b+3; Existen otras variantes de asignación: a+=3; /* Equivalente a a=a+3 */ a*=c+d; /* Equivalente a a=a*(c+d) */ a/=a+1; /* Equivalente a a=a/(a+1) */ Para las asignaciones entre variables o expresiones de tipos diferentes se recomienda hacer casting: a=(int)(x/2.34); Programación en C 84
  • 84. Ejercicio #include <stdio.h> main() { int x=0,n=10,i=1; x++;//incrementa el valor de x en 1 ++x;//incrementa el valor de x en 1 x=--n;//decrementa n en 1 y asigna el resultado a x x=n--;//asigna el valor de n a x y despues decrementa n en 1 i+=2; //realiza i=i+2 x*=n-3;//Realiza x=x*(n-3) y no x=x*n-3 n>>=1;//Realiza n=n>>1 desplaza el contenido de n un bit //a la derecha }
  • 85. OPERADORES Programación en C 86 Dentro de c++ tenemos los típicos operadores matemáticos + - * / y también los operadores unarios (++ --) En este primer ejemplo vemos operadores unarios y la asignación múltiple. #include <iostream> int main () { // Sacamos por salida standar un mensaje cout << "Vamos a probar los peradoresn"; unsigned int test = 0; unsigned int a = 0, b = 0, c; // Sacamos el valor por pantalla de test cout << "Valor de test: " << test << endl; // Sacamos el valor por pantalla de test++ cout << "Valor de test++: " << (test++) << endl; cout <<“El valor de test es”<<test<<endl; // Sacamos el valor por pantalla de ++test cout << "Valor de ++test: " << (++test) << endl; cout << "Valor de test actual: " << test << endl; // asignacion multiple c = b = a = test; // Veamos el resto de valores cout << "Y los demas: " << c << " " << b << " " << a << endl; return 0; }
  • 86. Operador ? El operador condicional es el único operador ternario de la gramática C++ y sirve para tomar decisiones. Proporciona un resultado entre dos posibilidades en función de una condición. Sintaxis expresion-relacional ? expr1 : expr2 El operador condicional ? : produce un resultado. En la expresión E1 ? E2 : E3, E1 es una expresión relacional ( 4.9.12) que se evalúa primero. Si el resultado es cierto, entonces se evalúa E2 y este es el resultado. En caso contrario (si E1 resulta falso), entonces se evalúa E3 y este es el resultado. Observe que si la premisa E1 es cierta, entonces no llega a evaluarse la expresión E3. El operador ? : puede usarse para sustituir ciertas sentencias del tipo if-then-else, aunque puede conducir a expresiones más compactas que las correspondientes if...else. En el ejemplo que sigue, a y se le asigna el valor 100: x = 10; y = x > 9 ? 100 : 200;
  • 87. Operador ? int main() { int a,b=4,c=5; a=b>0 ? c : c+1; /* Equivalente a if(b>0) a=c; else a=c+1; */ } Programación en C 88
  • 88. Operador Dirección & Operador de Indireccion * Operador sizeof()
  • 89. PRIORIDAD Y ORDEN DE EVALUACION
  • 93. Casting (Conversion explísita) Casting: mecanismo usado para cambiar de tipo expresiones y variables: La forma de generar un casting es: (tipo) expresión Donde • Tipo; es uno de los tipos estándares del lenguaje • Expresion, es una esprexion de cualquier tipo int a; float b; char c; b=65.0; a=(int)b; /* a vale 65 */ c=(char)a; /* c vale 65 (Código ASCII de ‘A’) */Programación en C 94
  • 94. Casting Programación en C 95 /* ejemplo 4.- realizamos conversiones de tipos implícitas y explícitas */ #include <stdio.h> int main() { double d , e , f = 2.33 ; int i = 6 ; e = f * i ; /* e es un double de valor 13.98*/ printf( "Resultado = %f", e); d = (int) ( f * i ) ; /* d es un double de valor 13.00*/ printf( "Resultado = %f", d); d = (int) f * i ; /* f se ha convertido a un entero truncando sus*/ /*decimales, d es un double de valor 12.00*/ printf( "Resultado = %f", d); return 0; }

Notas del editor

  1. http://www.it.uc3m.es/abel/as/DSP/M1/CDataTypes_es.html
  2. NCR 2625