SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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
 

Tendances (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++
 

Similaire à 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
 

Similaire à 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
 

Plus 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
 

Plus 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
 

Dernier

Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
Estabilización de suelos (Física, Química y Mecánica)
Estabilización de suelos (Física, Química y Mecánica)Estabilización de suelos (Física, Química y Mecánica)
Estabilización de suelos (Física, Química y Mecánica)CristianSalas68
 
Informe Mensual MARZO DE SUPERVISION.docx
Informe Mensual MARZO DE SUPERVISION.docxInforme Mensual MARZO DE SUPERVISION.docx
Informe Mensual MARZO DE SUPERVISION.docxTAKESHISAC
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptxJOSLUISCALLATAENRIQU
 
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdfLIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdfManuelVillarreal44
 
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfPRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfAuraGabriela2
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfAnthony Gualpa
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptxEfrain Yungan
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaSebastianQP1
 
Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)dianamateo1513
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Estudio de materiales asfalticos para utilizar en obras viales
Estudio de materiales asfalticos para utilizar en obras vialesEstudio de materiales asfalticos para utilizar en obras viales
Estudio de materiales asfalticos para utilizar en obras vialesRamonCortez4
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasAhmedMontaoSnchez1
 
Categorización de las industrias mas relevantes del ecuador.pdf
Categorización de las industrias mas relevantes del ecuador.pdfCategorización de las industrias mas relevantes del ecuador.pdf
Categorización de las industrias mas relevantes del ecuador.pdfAnthony Gualpa
 
electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejerciciosEfrain Yungan
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......dianamontserratmayor
 
Mano de obra.pdf Curso Costos SENA Colombia
Mano de obra.pdf Curso Costos SENA ColombiaMano de obra.pdf Curso Costos SENA Colombia
Mano de obra.pdf Curso Costos SENA ColombiaCulturaGeneral1
 
JimyPomalaza vivienda rural huancavelica .pdf
JimyPomalaza vivienda rural huancavelica .pdfJimyPomalaza vivienda rural huancavelica .pdf
JimyPomalaza vivienda rural huancavelica .pdfJimyPomalaza
 

Dernier (20)

Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
Estabilización de suelos (Física, Química y Mecánica)
Estabilización de suelos (Física, Química y Mecánica)Estabilización de suelos (Física, Química y Mecánica)
Estabilización de suelos (Física, Química y Mecánica)
 
Informe Mensual MARZO DE SUPERVISION.docx
Informe Mensual MARZO DE SUPERVISION.docxInforme Mensual MARZO DE SUPERVISION.docx
Informe Mensual MARZO DE SUPERVISION.docx
 
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx5. MATERIAL COMPLEMENTARIO - PPT  de la Sesión 02.pptx
5. MATERIAL COMPLEMENTARIO - PPT de la Sesión 02.pptx
 
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdfLIQUIDACION OBRAS PUBLICAS  POR CONTRATA.pdf
LIQUIDACION OBRAS PUBLICAS POR CONTRATA.pdf
 
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdfPRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
PRIMER Y SEGUNDO TEOREMA DE CASTIGLIANO.pdf
 
La Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdfLa Evolución Industrial en el Ecuador.pdf
La Evolución Industrial en el Ecuador.pdf
 
presentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafilpresentación manipulación manual de cargas sunafil
presentación manipulación manual de cargas sunafil
 
4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx4.3 Subestaciones eléctricas componentes principales .pptx
4.3 Subestaciones eléctricas componentes principales .pptx
 
Tarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieriaTarea de UTP matematices y soluciones ingenieria
Tarea de UTP matematices y soluciones ingenieria
 
Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)Sistema de Gestión de Freelancers (Base de Datos)
Sistema de Gestión de Freelancers (Base de Datos)
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
Estudio de materiales asfalticos para utilizar en obras viales
Estudio de materiales asfalticos para utilizar en obras vialesEstudio de materiales asfalticos para utilizar en obras viales
Estudio de materiales asfalticos para utilizar en obras viales
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 
Procedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnasProcedimientos constructivos superestructura, columnas
Procedimientos constructivos superestructura, columnas
 
Categorización de las industrias mas relevantes del ecuador.pdf
Categorización de las industrias mas relevantes del ecuador.pdfCategorización de las industrias mas relevantes del ecuador.pdf
Categorización de las industrias mas relevantes del ecuador.pdf
 
electricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicioselectricidad básica, ejemplos prácticos y ejercicios
electricidad básica, ejemplos prácticos y ejercicios
 
POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......POBLACIONES CICLICAS Y NO CICLICAS ......
POBLACIONES CICLICAS Y NO CICLICAS ......
 
Mano de obra.pdf Curso Costos SENA Colombia
Mano de obra.pdf Curso Costos SENA ColombiaMano de obra.pdf Curso Costos SENA Colombia
Mano de obra.pdf Curso Costos SENA Colombia
 
JimyPomalaza vivienda rural huancavelica .pdf
JimyPomalaza vivienda rural huancavelica .pdfJimyPomalaza vivienda rural huancavelica .pdf
JimyPomalaza vivienda rural huancavelica .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