Este documento presenta una introducción al lenguaje de programación C. Explica los objetivos del curso, los pasos para crear y ejecutar programas en C, y proporciona ejemplos simples de "Hola Mundo", suma de enteros, operadores aritméticos y de comparación. El documento también define conceptos clave como tipos de errores, secuencias de escape y el uso de funciones como printf y scanf.
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
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.
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
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
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
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
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