Introducción Al Lenguaje C
Introducción Al Lenguaje C
Introducción Al Lenguaje C
FACULTAD POLITÉCNICA
Construyendo el futuro
Presentación de la
asignatura e
Introducción a C
Programación - Departamento de Informática
Objetivos de la Presentación
• Presentación de la asignatura: objetivos, contenido y
bibliografía
• Motivar al estudiante al aprendizaje sobre lenguajes de
programación (en especial C) a través de aplicaciones en la
vida moderna.
• Familiarizar al estudiante con el entorno de programación
sugerido, y que pueda aplicarlo para sus primeros programas
en C.
4. Punteros.
1. Declaración de punteros.
2. Operaciones con punteros.
8. Archivos.
1. Introducción
2. Apertura de un archivo
3. Cierre de un archivo
4. Control de final de archivo.
5. Escritura y lectura de un archivo.
6. Acceso secuencial
7. Acceso directo.
Facultad Politécnica - UNA 8
Bibliografía
1“THE C PROGRAMING LANGUAGE” Kermighan y Ritchie – Prentice – Hall, Segunda
Edición;
2“FUNDAMENTOS DE PROGRAMACIÓN: ALGORITMOS, ESTRUCTURAS DE DATOS Y
OBJETOS” Luis Joyanes Aguilar – McGraw – Hill – Cuarta Edición.
3 “COMO PROGRAMAR EN C/C++ Y JAVA” Deitel, Deitel – Prentice – Hall – Cuarta
Edición;
tinyurl.com/ProgFPUNA
Recomendaciones:
• Buscar un grupo de estudio.
• Mucha práctica!! Es la mejor forma de aprender. No tener miedo a
equivocarse ni asustarse con los errores marcados por el compilador.
Herramientas:
• Para las prácticas de lenguaje C utilizaremos un
entorno de distribución gratuita Dev-C++ o
Codeblocks. Facultad Politécnica - UNA 10
Algoritmo
Alumnos de doctorado
en Princeton!!
https://www.youtube.com/watch?v=kiFfp-HAu64
Facultad Politécnica - UNA 13
Ejemplo: Google Maps
Lenguaje C
Características
comunes entre C y C++
https://www.tiobe.com/tiobe-index/
Facultad Politécnica - UNA 22
The Top Programming Languages 2017 y 2018
IEEE Spectrum magazine
http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017
http://spectrum.ieee.org/static/interactive-the-top-programming-languages-2018
2017 2018
#include<stdio.h>
int main() {
printf("Hola mundo!! (Programacion)");
return 0;
}
Más de 60 opciones posibles: para Windows, Unix, MacOS, DOS, IBM mainframe,
Tipo de licencias: Propietarias, LGPL, GPL, Freeware, etc
int main() {
int a, b;
printf(“Introduzca dos variables enteras “);
scanf(“%d%d”, &a, &b);
printf(“La suma es %d\n”, a + b);
return 0;
}
math.h Preprocesador
stdio.h
Código expandido
Archivos cabecera Compilador
Código ensamblado
Prototipos
//: Todo lo que viene después (en la línea) es ignorado por el compilador.
/**/: Todo lo que está en medio es ignorado por el compilador
* En el estándar C11 ya existe un tipo _Bool , puede utilizarse para hacer más claro
el código pero su uso no es obligatorio.
• Asignación:
o Operador de igualdad: =
o Operadores +=, -=, *= y /= . Es lo mismo poner a+=1; que a=a+1; (y
análogamente para los demás casos).
o Operadores incrementales (++ y --)
▪ i = 2;
▪ j = 2;
▪ m = i++; // después de ejecutarse esta sentencia m=2 e i=3
▪ n = ++j; // después de ejecutarse esta sentencia n=3 y j=3
Facultad Politécnica - UNA 49
Operadores más comunes
• Relacionales:
o Igual que: ==
o Menor que: <
o Mayor que: >
o Menor o igual que: <=
o Mayor o igual que: >=
o Distinto que: !=
• Lógicos:
o And: &&
o Or: ||
o Operador negación lógica (!): Este operador devuelve un cero
(false) si se aplica a un valor distinto de cero (true), y devuelve
un 1 (true) si se aplica a un valor cero (false). Su forma general
es: !expresion
Facultad Politécnica - UNA 50
Resumen de precedencia de algunos
operadores
c = (d = 10) * 2; ??
Facultad Politécnica - UNA 53
Entrada/Salida
Se realizan a través de funciones pre-incorporadas
de tipo estándar
Formato Interpretación
%d Decimal entero
%f Float
%c Carácter
%s Cadena
%lf Double
3500
int a
&a = dirección
de la variable a
• getch() y getche()
Están incluidos en conio.h (Console input and output). Introducen caracteres sin la
necesidad de un “enter” al final. La diferencia entre ambas es que con getch() lo
ingresado por teclado no aparece en pantalla, pero con getche() sí.
int main(){
char test = getchar();
getchar(); //por el enter
printf("\n(1): %c\n",test);
test = getch();
printf("\n(1): %c\n",test);
test = getche();
printf("\n(2): %c",test);
return 0;
}
Facultad Politécnica - UNA 61
Definiendo constantes
Usando #define Usando const
#include <stdio.h> #include <stdio.h>