SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
Programación 1
Introducción a C
Angel Vázquez-Patiño
angel.vazquezp@ucuenca.edu.ec
Departamento de Ciencias de la Computación
Universidad de Cuenca
5 de septiembre de 2017
05/09/17 Angel Vázquez-Patiño 2/38
Objetivos
1. Presentar C
2. Implementar programas simples en C
05/09/17 Angel Vázquez-Patiño 3/38
Contenido
Antecedentes
Qué es C
Pasos para crear y ejecutar un programa en C
¡Hola mundo!
Imprimiendo texto
Suma de enteros
Aritmética
Operadores relacionales y de igualdad
05/09/17 Angel Vázquez-Patiño 4/38
Antecedentes
05/09/17 Angel Vázquez-Patiño 5/38
Antecedentes
Solución de problemas y programación
1) Analizar el problema
2) Diseñar un algoritmo
3) Traducir el algoritmo
4) Depurar el programa
05/09/17 Angel Vázquez-Patiño 6/38
Qué es C
05/09/17 Angel Vázquez-Patiño 7/38
Qué es C
●
Paradigma imperativo (procedural), estructurado
●
Apreciado por la eficiencia del código que produce
●
Tipos de datos estáticos, débilmente tipificado, de
medio nivel
●
Adopción de estándar (ISO/IEC 9899:1990) hace que el
código sea portable entre plataformas y/o arquitecturas
●
Case sensitive
Medio nivel
●
Dispone de las estructuras típicas de los lenguajes de
alto nivel pero, a su vez, dispone de construcciones del
lenguaje que permiten un control a muy bajo nivel
05/09/17 Angel Vázquez-Patiño 8/38
Qué es C
●
Los compiladores suelen ofrecer extensiones al
lenguaje que posibilitan mezclar código en
ensamblador con código C o acceder
directamente a memoria o dispositivos
periféricos
●
Vea
http://www.topprogramminglanguages.com/
http://spectrum.ieee.org/computing/software/the
-2016-top-programming-languages
05/09/17 Angel Vázquez-Patiño 9/38
Qué es C
05/09/17 Angel Vázquez-Patiño 10/38
Qué es C
Bibliotecas C
●
Una biblioteca de C es una colección de
funciones utilizadas en el lenguaje de
programación C
Bibliotecas más comunes
1) Biblioteca estándar de C
2) Biblioteca del estándar ANSI C
05/09/17 Angel Vázquez-Patiño 11/38
Qué es C
Consejo de rendimiento
●
El uso de las bibliotecas de C en vez de escribir
nuestras propias versiones puede mejorar el
rendimiento porque son cuidadosamente
escritas para ejecutarse eficientemente.
Además, acorta del tiempo de desarrollo.
05/09/17 Angel Vázquez-Patiño 12/38
Pasos para crear y ejecutar un
programa en C
05/09/17 Angel Vázquez-Patiño 13/38
Crear y ejecutar un programa en C
Fases
1) Edición
2) Compilación
3) Ejecución
05/09/17 Angel Vázquez-Patiño 14/38
Crear y ejecutar un programa en C
Fases
05/09/17 Angel Vázquez-Patiño 15/38
Crear y ejecutar un programa en C
Tipos de errores
1) Errores de compilación
2) Errores en tiempo de ejecución
3) Errores lógicos
Vea https://goo.gl/gG9Y49
05/09/17 Angel Vázquez-Patiño 16/38
¡Hola mundo!
05/09/17 Angel Vázquez-Patiño 17/38
¡Hola mundo!
05/09/17 Angel Vázquez-Patiño 18/38
¡Hola mundo!
// necesario para utilizar printf()
#include <stdio.h>
int main(void)
{
printf("Hola Mundo");
return 0;
}
05/09/17 Angel Vázquez-Patiño 19/38
Imprimiendo texto
05/09/17 Angel Vázquez-Patiño 20/38
Imprimiendo texto
#include <stdio.h>
// Imprime en una línea
// con múltiples sentencias
int main(void)
{
printf("¡Bienvenido al ");
printf("lenguaje C!");
return 0;
}
05/09/17 Angel Vázquez-Patiño 21/38
Imprimiendo texto
#include <stdio.h>
// Imprime múltiples líneas
// con una sentencias
int main(void)
{
printf("¡Bienvenidon an lan
programaciónn enn C!");
return 0;
}
05/09/17 Angel Vázquez-Patiño 22/38
Secuencias de escape
Secuencia Valor
n Nueva línea
r Carriage return. El cursor pasa a la primera
posición de la línea en donde está
t Tabulación
 Muestra la barra invertida
” Muestra la comilla doble
? Muestra un signo de interrogación
número_octal Muestra el carácter ASCII correspondiente
según el número octal que se haya especificado
xnúmero_hexadecimal Muestra el carácter ASCII correspondiente al
número hexadecimal que se haya especificado
' Apóstrofe o comilla simple
05/09/17 Angel Vázquez-Patiño 23/38
Suma de enteros
05/09/17 Angel Vázquez-Patiño 24/38
Suma de enteros
#include <stdio.h>
int main(void)
{
int num1 = 0, num2 = 0, sum = 0; // inicialización
printf("Ingrese entero 1: "); // imprime en
pantalla
fflush(stdout); //vacía buffer de salida
scanf("%d",&num1); // guarda valor introducido
en la variable
05/09/17 Angel Vázquez-Patiño 25/38
Suma de enteros
printf("Ingrese entero 2: ");
fflush(stdout);
scanf("%d",&num2);
sum = num1 + num2; // asignación de valor
a variable
printf("Suma: %d", sum); // imprime la
suma como entero
return 0;
}
05/09/17 Angel Vázquez-Patiño 26/38
Aritmética
05/09/17 Angel Vázquez-Patiño 27/38
Operadores aritméticos
Operación Operador Expresión C
Adición + r = f+7
Sustracción - r = p - c
Multiplicación * r = b * m
División / r = x / y
Residuo (mod) % r = r % s
05/09/17 Angel Vázquez-Patiño 28/38
Precedencia de operadores
Operador Operación Orden de evaluación
* Multiplicación Evaluado primero. Si hay
varios operadores de este
tipo, son evaluados de
izquierda a derecha
/ División
% Residuo
+ Adición Evaluado a continuación. Si
hay varios operadores de este
tipo, son evaluados de
izquierda a derecha
- Sustracción
= Asignación Evaluado al final
05/09/17 Angel Vázquez-Patiño 29/38
Precedencia de operadores
Ejercicios
1) int j = 1 + 3 * 4;
2) int j = 1 + 3 - 4;
3) int j = (1 + 3) * 4;
4) int j = 6 / 3 * 2;
5) int j = 6 % 5 / 1 * 2;
6) int j = 3 * 3 % 2;
7) int j = 3 % 2 * 3;
1) 13
2) 0
3) 16
4) 4
5) 2
6) 1
7) 3
05/09/17 Angel Vázquez-Patiño 30/38
Operadores relacionales y de
igualdad
05/09/17 Angel Vázquez-Patiño 31/38
Operadores relacionales y de
igualdad
Operador algebraico Operador C Condición C de
ejemplo
Operadores de igualdad
= == x == y
≠ != x != y
Operadores relacionales
> > x > y
< < x < y
≥ >= x >= y
≤ <= x <= y
05/09/17 Angel Vázquez-Patiño 32/38
Precedencia y asociatividad de los
operadores
Operador Asociatividad Tipo
* / % Izquierda a derecha Multiplicativo
+ - Izquierda a derecha Aditivo
< <= > >= Izquierda a derecha Relacional
== != Izquierda a derecha Igualdad
= Derecha a izquierda Asignación
05/09/17 Angel Vázquez-Patiño 33/38
Comparación de enteros
#include <stdio.h>
int main(void) {
int num1, num2;
printf("Número 1: ");
fflush(stdout); //vacía buffer de salida
scanf("%d", &num1);
printf("Número 2: ");
fflush(stdout); scanf("%d", &num2);
if(num1 == num2) {
printf("%d = %dn", num1, num2);
} else
printf("%d != %dn", num1, num2);
05/09/17 Angel Vázquez-Patiño 34/38
Comparación de enteros
if(num1 < num2){
printf("%d < %dn", num1, num2); }
if(num1 > num2){
printf("%d > %dn", num1, num2); }
if(num1 <= num2){
printf("%d <= %dn", num1, num2); }
if(num1 >= num2){
printf("%d >= %dn", num1, num2); }
return 0;
}
05/09/17 Angel Vázquez-Patiño 35/38
Conceptos y términos importantes
05/09/17 Angel Vázquez-Patiño 36/38
Conceptos y términos importantes
●
Lenguaje de programación fuertemente tipado
●
Tipos de errores
●
Secuencias de escape
●
Operadores
● fflush()
05/09/17 Angel Vázquez-Patiño 37/38
Referencias
●
Is C strongly typed?, https://goo.gl/ZGzrST
●
C, https://goo.gl/kJz1sH
●
La Función fflush en Lenguaje C,
https://goo.gl/wxyJTV
●
printf y scanf en C/C++, https://goo.gl/WzMZLt
05/09/17 Angel Vázquez-Patiño 38/38
Preguntas

Más contenido relacionado

La actualidad más candente

Lenguaje C
Lenguaje CLenguaje C
Lenguaje Cfior
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje coswnes92
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bFRESH221 C.R
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++cemayoral
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++ Ronal Palomino
 
Prueba programacion
Prueba programacionPrueba programacion
Prueba programacionMarti Matura
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Kiim Kerrigan
 
Tema 2 - Programación básica en C (II)
Tema 2  - Programación básica en C (II)Tema 2  - Programación básica en C (II)
Tema 2 - Programación básica en C (II)Pablo Haya
 
Factura en borland c++
Factura en borland c++Factura en borland c++
Factura en borland c++Luis Coba
 
9. estructuras de control parte ii
9. estructuras de control parte ii9. estructuras de control parte ii
9. estructuras de control parte iircarrerah
 
Lenguajes de programacion c
Lenguajes de programacion cLenguajes de programacion c
Lenguajes de programacion ccharnisch
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)Pablo Haya
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en CAbraham
 
Bucles anidados 2012
Bucles anidados 2012Bucles anidados 2012
Bucles anidados 2012Gabii Méndez
 
Cuestionario Fundamentos de Programación
Cuestionario Fundamentos de ProgramaciónCuestionario Fundamentos de Programación
Cuestionario Fundamentos de ProgramaciónAnita Albán
 
Codificaciones c++
Codificaciones c++Codificaciones c++
Codificaciones c++mario_10
 

La actualidad más candente (20)

Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
Trabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje cTrabajo de ejercicios de lenguaje c
Trabajo de ejercicios de lenguaje c
 
Problemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2bProblemas+resueltos+de+c$2 b$2b
Problemas+resueltos+de+c$2 b$2b
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
Algoritmos - Funciones C++
Algoritmos - Funciones C++ Algoritmos - Funciones C++
Algoritmos - Funciones C++
 
Prueba programacion
Prueba programacionPrueba programacion
Prueba programacion
 
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)Ejemplos de algoritmos en C básicos (aprendiendo a programar)
Ejemplos de algoritmos en C básicos (aprendiendo a programar)
 
Divisores de un número (código Dev C++)
Divisores de un número (código Dev C++)Divisores de un número (código Dev C++)
Divisores de un número (código Dev C++)
 
Tema 2 - Programación básica en C (II)
Tema 2  - Programación básica en C (II)Tema 2  - Programación básica en C (II)
Tema 2 - Programación básica en C (II)
 
Revista digital
Revista digitalRevista digital
Revista digital
 
Estructura de un programa
Estructura de un programaEstructura de un programa
Estructura de un programa
 
Factura en borland c++
Factura en borland c++Factura en borland c++
Factura en borland c++
 
9. estructuras de control parte ii
9. estructuras de control parte ii9. estructuras de control parte ii
9. estructuras de control parte ii
 
Lenguajes de programacion c
Lenguajes de programacion cLenguajes de programacion c
Lenguajes de programacion c
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
 
Serie Fibonacci en C
Serie Fibonacci en CSerie Fibonacci en C
Serie Fibonacci en C
 
Bucles anidados 2012
Bucles anidados 2012Bucles anidados 2012
Bucles anidados 2012
 
Cuestionario Fundamentos de Programación
Cuestionario Fundamentos de ProgramaciónCuestionario Fundamentos de Programación
Cuestionario Fundamentos de Programación
 
Programa 2
Programa 2Programa 2
Programa 2
 
Codificaciones c++
Codificaciones c++Codificaciones c++
Codificaciones c++
 

Similar a Introducción C programación

Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en Chack3 Org
 
Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1SANTIAGO PABLO ALBERTO
 
Practi04 investigacion operativa_i-2015
Practi04 investigacion operativa_i-2015Practi04 investigacion operativa_i-2015
Practi04 investigacion operativa_i-2015Kelly Rafael O
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacionneyvajms
 
Trampas en c ++
Trampas en c ++Trampas en c ++
Trampas en c ++DTQ4
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXReyna FalcÓn
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigoLiliana Nieto
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasSol Hernández
 

Similar a Introducción C programación (20)

Ejercicios introduccion a la programación en C
Ejercicios  introduccion a la programación en CEjercicios  introduccion a la programación en C
Ejercicios introduccion a la programación en C
 
Introduccion Lenguaje C Blanca
Introduccion Lenguaje  C BlancaIntroduccion Lenguaje  C Blanca
Introduccion Lenguaje C Blanca
 
Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1Microcontroladores: Programación de microcontroladores tomo 1
Microcontroladores: Programación de microcontroladores tomo 1
 
Lenguaje C_Curso Secap
Lenguaje C_Curso SecapLenguaje C_Curso Secap
Lenguaje C_Curso Secap
 
Diseno instruccional
Diseno instruccionalDiseno instruccional
Diseno instruccional
 
Practi04 investigacion operativa_i-2015
Practi04 investigacion operativa_i-2015Practi04 investigacion operativa_i-2015
Practi04 investigacion operativa_i-2015
 
Lenguaje c
Lenguaje c Lenguaje c
Lenguaje c
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Trampas en c ++
Trampas en c ++Trampas en c ++
Trampas en c ++
 
Desarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTXDesarrollo de lógica algorítmica_PARTE 1.PPTX
Desarrollo de lógica algorítmica_PARTE 1.PPTX
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigo
 
Manual p se int
Manual p se intManual p se int
Manual p se int
 
Manual p se int
Manual p se intManual p se int
Manual p se int
 
Manual p se int (1)
Manual p se int (1)Manual p se int (1)
Manual p se int (1)
 
Introduccion a C++.pdf
Introduccion a C++.pdfIntroduccion a C++.pdf
Introduccion a C++.pdf
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Tercera unidad
Tercera unidadTercera unidad
Tercera unidad
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemas
 

Más de Angel Vázquez Patiño

Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasAngel Vázquez Patiño
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Angel Vázquez Patiño
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorAngel Vázquez Patiño
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealAngel Vázquez Patiño
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesAngel Vázquez Patiño
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Angel Vázquez Patiño
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesAngel Vázquez Patiño
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer ordenAngel Vázquez Patiño
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Angel Vázquez Patiño
 
Caracterización básica del río Tomebamba, Cuenca, Ecuador
Caracterización básica del río Tomebamba, Cuenca, EcuadorCaracterización básica del río Tomebamba, Cuenca, Ecuador
Caracterización básica del río Tomebamba, Cuenca, EcuadorAngel Vázquez Patiño
 

Más de Angel Vázquez Patiño (20)

Funciones, límites y continuidad
Funciones, límites y continuidadFunciones, límites y continuidad
Funciones, límites y continuidad
 
Integral definida e integración
Integral definida e integraciónIntegral definida e integración
Integral definida e integración
 
Valores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficasValores extremos y comportamiento de las funciones y de sus gráficas
Valores extremos y comportamiento de las funciones y de sus gráficas
 
Derivada y diferenciación
Derivada y diferenciaciónDerivada y diferenciación
Derivada y diferenciación
 
Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...Causality and climate networks approaches for evaluating climate models, trac...
Causality and climate networks approaches for evaluating climate models, trac...
 
Diferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calorDiferencias finitas y Ecuación de calor
Diferencias finitas y Ecuación de calor
 
Puntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO linealPuntos ordinarios y singularidades de una EDO lineal
Puntos ordinarios y singularidades de una EDO lineal
 
La ecuación diferencial de Legendre
La ecuación diferencial de LegendreLa ecuación diferencial de Legendre
La ecuación diferencial de Legendre
 
Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)Solución en series de y' = f(x,y)
Solución en series de y' = f(x,y)
 
Métodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante seriesMétodos de resolución de EDOs mediante series
Métodos de resolución de EDOs mediante series
 
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
Solución en series de EDOs no lineales de orden mayor a uno y de un sistema d...
 
Problemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuacionesProblemas que originan sistemas de ecuaciones
Problemas que originan sistemas de ecuaciones
 
Linealización de sistemas de primer orden
Linealización de sistemas de primer ordenLinealización de sistemas de primer orden
Linealización de sistemas de primer orden
 
Sistemas de EDOs
Sistemas de EDOsSistemas de EDOs
Sistemas de EDOs
 
Método de la secante
Método de la secanteMétodo de la secante
Método de la secante
 
Iteraciones de punto fijo
Iteraciones de punto fijoIteraciones de punto fijo
Iteraciones de punto fijo
 
Objetos y variables en Python
Objetos y variables en PythonObjetos y variables en Python
Objetos y variables en Python
 
Definiciones de Error
Definiciones de ErrorDefiniciones de Error
Definiciones de Error
 
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
Causality Strength Signatures for Measuring GCMs Performance: The South Ameri...
 
Caracterización básica del río Tomebamba, Cuenca, Ecuador
Caracterización básica del río Tomebamba, Cuenca, EcuadorCaracterización básica del río Tomebamba, Cuenca, Ecuador
Caracterización básica del río Tomebamba, Cuenca, Ecuador
 

Último

TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfXimenaFallaLecca1
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesMIGUELANGEL2658
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónXimenaFallaLecca1
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfs7yl3dr4g0n01
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesgovovo2388
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfmatepura
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfbcondort
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDEdith Puclla
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILProblemSolved
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCarlosGabriel96
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfvladimirpaucarmontes
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralsantirangelcor
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrialGibranDiaz7
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfalexquispenieto2
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfdanielJAlejosC
 

Último (20)

TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdfTEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
TEXTO UNICO DE LA LEY-DE-CONTRATACIONES-ESTADO.pdf
 
clasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias localesclasificasion de vias arteriales , vias locales
clasificasion de vias arteriales , vias locales
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
Quimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdfQuimica Raymond Chang 12va Edicion___pdf
Quimica Raymond Chang 12va Edicion___pdf
 
introducción a las comunicaciones satelitales
introducción a las comunicaciones satelitalesintroducción a las comunicaciones satelitales
introducción a las comunicaciones satelitales
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
ECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdfECONOMIA APLICADA SEMANA 555555555544.pdf
ECONOMIA APLICADA SEMANA 555555555544.pdf
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
PostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCDPostgreSQL on Kubernetes Using GitOps and ArgoCD
PostgreSQL on Kubernetes Using GitOps and ArgoCD
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptxCALCULO DE ENGRANAJES RECTOS SB-2024.pptx
CALCULO DE ENGRANAJES RECTOS SB-2024.pptx
 
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdfMODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
MODIFICADO - CAPITULO II DISEÑO SISMORRESISTENTE DE VIGAS Y COLUMNAS.pdf
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
Falla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integralFalla de san andres y el gran cañon : enfoque integral
Falla de san andres y el gran cañon : enfoque integral
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
PPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdfPPT ELABORARACION DE ADOBES 2023 (1).pdf
PPT ELABORARACION DE ADOBES 2023 (1).pdf
 
Maquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdfMaquinaria Agricola utilizada en la produccion de Piña.pdf
Maquinaria Agricola utilizada en la produccion de Piña.pdf
 

Introducción C programación

  • 1. Programación 1 Introducción a C Angel Vázquez-Patiño angel.vazquezp@ucuenca.edu.ec Departamento de Ciencias de la Computación Universidad de Cuenca 5 de septiembre de 2017
  • 2. 05/09/17 Angel Vázquez-Patiño 2/38 Objetivos 1. Presentar C 2. Implementar programas simples en C
  • 3. 05/09/17 Angel Vázquez-Patiño 3/38 Contenido Antecedentes Qué es C Pasos para crear y ejecutar un programa en C ¡Hola mundo! Imprimiendo texto Suma de enteros Aritmética Operadores relacionales y de igualdad
  • 5. 05/09/17 Angel Vázquez-Patiño 5/38 Antecedentes Solución de problemas y programación 1) Analizar el problema 2) Diseñar un algoritmo 3) Traducir el algoritmo 4) Depurar el programa
  • 7. 05/09/17 Angel Vázquez-Patiño 7/38 Qué es C ● Paradigma imperativo (procedural), estructurado ● Apreciado por la eficiencia del código que produce ● Tipos de datos estáticos, débilmente tipificado, de medio nivel ● Adopción de estándar (ISO/IEC 9899:1990) hace que el código sea portable entre plataformas y/o arquitecturas ● Case sensitive Medio nivel ● Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel
  • 8. 05/09/17 Angel Vázquez-Patiño 8/38 Qué es C ● Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar código en ensamblador con código C o acceder directamente a memoria o dispositivos periféricos ● Vea http://www.topprogramminglanguages.com/ http://spectrum.ieee.org/computing/software/the -2016-top-programming-languages
  • 10. 05/09/17 Angel Vázquez-Patiño 10/38 Qué es C Bibliotecas C ● Una biblioteca de C es una colección de funciones utilizadas en el lenguaje de programación C Bibliotecas más comunes 1) Biblioteca estándar de C 2) Biblioteca del estándar ANSI C
  • 11. 05/09/17 Angel Vázquez-Patiño 11/38 Qué es C Consejo de rendimiento ● El uso de las bibliotecas de C en vez de escribir nuestras propias versiones puede mejorar el rendimiento porque son cuidadosamente escritas para ejecutarse eficientemente. Además, acorta del tiempo de desarrollo.
  • 12. 05/09/17 Angel Vázquez-Patiño 12/38 Pasos para crear y ejecutar un programa en C
  • 13. 05/09/17 Angel Vázquez-Patiño 13/38 Crear y ejecutar un programa en C Fases 1) Edición 2) Compilación 3) Ejecución
  • 14. 05/09/17 Angel Vázquez-Patiño 14/38 Crear y ejecutar un programa en C Fases
  • 15. 05/09/17 Angel Vázquez-Patiño 15/38 Crear y ejecutar un programa en C Tipos de errores 1) Errores de compilación 2) Errores en tiempo de ejecución 3) Errores lógicos Vea https://goo.gl/gG9Y49
  • 16. 05/09/17 Angel Vázquez-Patiño 16/38 ¡Hola mundo!
  • 17. 05/09/17 Angel Vázquez-Patiño 17/38 ¡Hola mundo!
  • 18. 05/09/17 Angel Vázquez-Patiño 18/38 ¡Hola mundo! // necesario para utilizar printf() #include <stdio.h> int main(void) { printf("Hola Mundo"); return 0; }
  • 19. 05/09/17 Angel Vázquez-Patiño 19/38 Imprimiendo texto
  • 20. 05/09/17 Angel Vázquez-Patiño 20/38 Imprimiendo texto #include <stdio.h> // Imprime en una línea // con múltiples sentencias int main(void) { printf("¡Bienvenido al "); printf("lenguaje C!"); return 0; }
  • 21. 05/09/17 Angel Vázquez-Patiño 21/38 Imprimiendo texto #include <stdio.h> // Imprime múltiples líneas // con una sentencias int main(void) { printf("¡Bienvenidon an lan programaciónn enn C!"); return 0; }
  • 22. 05/09/17 Angel Vázquez-Patiño 22/38 Secuencias de escape Secuencia Valor n Nueva línea r Carriage return. El cursor pasa a la primera posición de la línea en donde está t Tabulación Muestra la barra invertida ” Muestra la comilla doble ? Muestra un signo de interrogación número_octal Muestra el carácter ASCII correspondiente según el número octal que se haya especificado xnúmero_hexadecimal Muestra el carácter ASCII correspondiente al número hexadecimal que se haya especificado ' Apóstrofe o comilla simple
  • 23. 05/09/17 Angel Vázquez-Patiño 23/38 Suma de enteros
  • 24. 05/09/17 Angel Vázquez-Patiño 24/38 Suma de enteros #include <stdio.h> int main(void) { int num1 = 0, num2 = 0, sum = 0; // inicialización printf("Ingrese entero 1: "); // imprime en pantalla fflush(stdout); //vacía buffer de salida scanf("%d",&num1); // guarda valor introducido en la variable
  • 25. 05/09/17 Angel Vázquez-Patiño 25/38 Suma de enteros printf("Ingrese entero 2: "); fflush(stdout); scanf("%d",&num2); sum = num1 + num2; // asignación de valor a variable printf("Suma: %d", sum); // imprime la suma como entero return 0; }
  • 26. 05/09/17 Angel Vázquez-Patiño 26/38 Aritmética
  • 27. 05/09/17 Angel Vázquez-Patiño 27/38 Operadores aritméticos Operación Operador Expresión C Adición + r = f+7 Sustracción - r = p - c Multiplicación * r = b * m División / r = x / y Residuo (mod) % r = r % s
  • 28. 05/09/17 Angel Vázquez-Patiño 28/38 Precedencia de operadores Operador Operación Orden de evaluación * Multiplicación Evaluado primero. Si hay varios operadores de este tipo, son evaluados de izquierda a derecha / División % Residuo + Adición Evaluado a continuación. Si hay varios operadores de este tipo, son evaluados de izquierda a derecha - Sustracción = Asignación Evaluado al final
  • 29. 05/09/17 Angel Vázquez-Patiño 29/38 Precedencia de operadores Ejercicios 1) int j = 1 + 3 * 4; 2) int j = 1 + 3 - 4; 3) int j = (1 + 3) * 4; 4) int j = 6 / 3 * 2; 5) int j = 6 % 5 / 1 * 2; 6) int j = 3 * 3 % 2; 7) int j = 3 % 2 * 3; 1) 13 2) 0 3) 16 4) 4 5) 2 6) 1 7) 3
  • 30. 05/09/17 Angel Vázquez-Patiño 30/38 Operadores relacionales y de igualdad
  • 31. 05/09/17 Angel Vázquez-Patiño 31/38 Operadores relacionales y de igualdad Operador algebraico Operador C Condición C de ejemplo Operadores de igualdad = == x == y ≠ != x != y Operadores relacionales > > x > y < < x < y ≥ >= x >= y ≤ <= x <= y
  • 32. 05/09/17 Angel Vázquez-Patiño 32/38 Precedencia y asociatividad de los operadores Operador Asociatividad Tipo * / % Izquierda a derecha Multiplicativo + - Izquierda a derecha Aditivo < <= > >= Izquierda a derecha Relacional == != Izquierda a derecha Igualdad = Derecha a izquierda Asignación
  • 33. 05/09/17 Angel Vázquez-Patiño 33/38 Comparación de enteros #include <stdio.h> int main(void) { int num1, num2; printf("Número 1: "); fflush(stdout); //vacía buffer de salida scanf("%d", &num1); printf("Número 2: "); fflush(stdout); scanf("%d", &num2); if(num1 == num2) { printf("%d = %dn", num1, num2); } else printf("%d != %dn", num1, num2);
  • 34. 05/09/17 Angel Vázquez-Patiño 34/38 Comparación de enteros if(num1 < num2){ printf("%d < %dn", num1, num2); } if(num1 > num2){ printf("%d > %dn", num1, num2); } if(num1 <= num2){ printf("%d <= %dn", num1, num2); } if(num1 >= num2){ printf("%d >= %dn", num1, num2); } return 0; }
  • 35. 05/09/17 Angel Vázquez-Patiño 35/38 Conceptos y términos importantes
  • 36. 05/09/17 Angel Vázquez-Patiño 36/38 Conceptos y términos importantes ● Lenguaje de programación fuertemente tipado ● Tipos de errores ● Secuencias de escape ● Operadores ● fflush()
  • 37. 05/09/17 Angel Vázquez-Patiño 37/38 Referencias ● Is C strongly typed?, https://goo.gl/ZGzrST ● C, https://goo.gl/kJz1sH ● La Función fflush en Lenguaje C, https://goo.gl/wxyJTV ● printf y scanf en C/C++, https://goo.gl/WzMZLt