Introducción al lenguaje C

Documentos relacionados
Tema 2. El lenguaje JAVA

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Elementos de un programa en C

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

Lenguajes de programación

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

Estructuras de Datos Declaraciones Tipos de Datos

Se guardan en archivos con extencion c y los cabezales con extension h

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Descripción de un Programa

LENGUAJE. Tema 2 Elementos de un programa

Operadores de comparación

TEMA 4. ESTRUCTURAS DE CONTROL

Fundamentos de Informática E.U.P. Universidad de Sevilla

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Sentencias de Procesamiento Iterativo: while y do-while

Programación en Lenguaje C

Lección 2 Introducción al lenguaje C

OPERADORES Y EXPRESIONES

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Java para programadores

Lenguaje C Elementos de un Programa. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

Programación Estructurada

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Palabras reservadas de C++ y C. Una palabra reservada no puede declararse como un identificador, esto haría un conflicto entre conectores y funciones.

El lenguaje C. 1. Identificadores, constantes y variables

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

Introducción rápida a la programación (estructurada ) con C++

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Construcciones del Lenguaje Java

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Lenguaje C Bucles, Condicionales, operadores y Algoritmos.

Tema 13: Apuntadores en C

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

Programación En Lenguaje C

Lenguaje de programación C. Introducción

REFERENCIA DEL LENGUAJE

UNIDAD 1. Algoritmo se define como un conjunto de instrucciones que la computadora debe seguir para resolver un problema.

Estatutos de Control C# Estatutos de Decisión (Selección)

INTRODUCCIÓN AL LENGUAJE C

Universidad Autónoma de Tlaxcala. M.C. José Juan Hernández Mora. Primera Sesión

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

Informática. JavaScript: Lenguaje de programación. Fco J. Martín Mateos Carmen Graciani

Unidad II Fundamentos de C++ M.C. Juan Carlos Olivares Rojas

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

El Lenguaje de Programación C (Pt. 1) Organización de Computadoras Depto. Cs. e Ing. de la Comp. Universidad Nacional del Sur

PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez

3.3 Conceptos Básicos del Lenguaje Java

UNIVERSIDAD DE LOS ANDES NUCLEO UNIVERSITARIO RAFAEL RANGEL (NURR) DEPARTAMENTO DE FISICA Y MATEMATICA AREA COMPUTACION TRUJILLO EDO.

Preliminares. Tipos de variables y Expresiones

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;

Fundamentos de Programación 2017-I

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Java para no Programadores

Principios de Computadoras II

Fundamentos de programación

Apuntadores (Punteros)

Introducción al lenguaje de programación C

Introducción al lenguaje C. Procesadores Digitales de Señal

ESTRUCTURAS DE CONTROL

Curso de Programación Avanzada en C

C# para no Programadores

LENGUAJE. Tema 1 - Introducción

Estructuración del programa en partes más pequeñas y sencillas

Descripción y Contenido del Curso. Programación C++ Capacity Academy.

Fundamentos de Programación 2017-I

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores

Contenido. Capítulo 1. Introducción a lenguaje C 1

Resolución de problemas mediante algoritmos

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

Estructuras de Repetición (Hacer-Mientras)

El lenguaje de Programación C. Fernando J. Pereda

Tema 2. El lenguaje de programación Java (Parte 1)

Programación. Test Autoevaluación Tema 3

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Uso avanzado de punteros

Estructuras de Control

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

INTRODUCCIÓN AL LENGUAJE C++

Uso Pseudocódigo Diagrama de flujo Codificación

Expresiones Aritméticas

Tema 4. Operadores y Expresiones

fundamentos de programación (unidad 4) programación estructurada en Java

Reglas básicas de la programación en lenguaje C

Lenguaje C. Tipos de Datos Simples y Estructuras de Control

Lenguaje de Programación: C++, INPUT OUTPUT(Variables)

TEMA 3: EL LENGUAJE C: PRESENTACIÓN

Transcripción:

Introducción al lenguaje C Programación 2 Profesorado de Informática CeRP del Suroeste, Colonia, Uruguay 15 de marzo de 2016 Programación 2 Introducción al lenguaje C 15 de marzo de 2016 1 / 34

Objetivos Mostrar las principales características del lenguaje que será utilizado en el curso Programación 2 Introducción al lenguaje C 15 de marzo de 2016 2 / 34

Objetivos Mostrar las principales características del lenguaje que será utilizado en el curso A partir de esta clase van a necesitar salir a practicar bastante de C para familiarizarse. Esta clase apunta a ser una ayuda inicial. Programación 2 Introducción al lenguaje C 15 de marzo de 2016 2 / 34

Objetivos Mostrar las principales características del lenguaje que será utilizado en el curso A partir de esta clase van a necesitar salir a practicar bastante de C para familiarizarse. Esta clase apunta a ser una ayuda inicial. Recordar que Programación 2 no es un curso sobre C, sino sobre Estructuras de Datos y Algoritmos. Programación 2 Introducción al lenguaje C 15 de marzo de 2016 2 / 34

Lenguaje Posible Lenguaje: C* Es el lenguaje C, pero sumándole algunas (pocas) cosas de C++ Es ficticio Programación 2 Introducción al lenguaje C 15 de marzo de 2016 3 / 34

Hola mundo! hola.cpp: #include <stdio.h> int main() { printf(" Hola, mundo!\n"); return 0; } Programación 2 Introducción al lenguaje C 15 de marzo de 2016 4 / 34

Hola mundo! hola.cpp: #include <stdio.h> int main() { printf(" Hola, mundo!\n"); return 0; } main es una función especial, a partir de la cual comienza la ejecución del programa Programación 2 Introducción al lenguaje C 15 de marzo de 2016 4 / 34

Compilación Archivos con extensión.cpp Programación 2 Introducción al lenguaje C 15 de marzo de 2016 5 / 34

Compilación Archivos con extensión.cpp Se compila y enlaza con g++ (compilador de C++) Programación 2 Introducción al lenguaje C 15 de marzo de 2016 5 / 34

Compilación Archivos con extensión.cpp Se compila y enlaza con g++ (compilador de C++) Compilo programa.cpp: g++ c programa.cpp generando elarchivo programa.o Programación 2 Introducción al lenguaje C 15 de marzo de 2016 5 / 34

Compilación Archivos con extensión.cpp Se compila y enlaza con g++ (compilador de C++) Compilo programa.cpp: g++ c programa.cpp generando elarchivo programa.o Enlazo: g++ programa.o o programa generando el ejecutable programa Programación 2 Introducción al lenguaje C 15 de marzo de 2016 5 / 34

Compilación Archivos con extensión.cpp Se compila y enlaza con g++ (compilador de C++) Compilo programa.cpp: g++ c programa.cpp generando elarchivo programa.o Enlazo: g++ programa.o o programa generando el ejecutable programa O directamente: g++ programa.cpp o programa Programación 2 Introducción al lenguaje C 15 de marzo de 2016 5 / 34

Tipos de datos elementales Entero: int Programación 2 Introducción al lenguaje C 15 de marzo de 2016 6 / 34

Tipos de datos elementales Entero: int Caracter: char Programación 2 Introducción al lenguaje C 15 de marzo de 2016 6 / 34

Tipos de datos elementales Entero: int Caracter: char Real: float Programación 2 Introducción al lenguaje C 15 de marzo de 2016 6 / 34

Tipos de datos elementales Entero: int Caracter: char Real: float Booleano: bool (de C++) Programación 2 Introducción al lenguaje C 15 de marzo de 2016 6 / 34

Tipos de datos elementales Entero: int Caracter: char Real: float Booleano: bool (de C++) Ejemplos: int i; char c; float f; bool b; i = 1; b = false; Programación 2 Introducción al lenguaje C 15 de marzo de 2016 6 / 34

Declaración de variables Las variables pueden ser declaradas en cualquier lugar. Programación 2 Introducción al lenguaje C 15 de marzo de 2016 7 / 34

Declaración de variables Las variables pueden ser declaradas en cualquier lugar. Recomendación: declararlas cuando se usan por primera vez. Programación 2 Introducción al lenguaje C 15 de marzo de 2016 7 / 34

Declaración de variables Las variables pueden ser declaradas en cualquier lugar. Recomendación: declararlas cuando se usan por primera vez. Mito común: pensar que declararlas fuera de bucles es más eficiente. Programación 2 Introducción al lenguaje C 15 de marzo de 2016 7 / 34

Declaración de variables Las variables pueden ser declaradas en cualquier lugar. Recomendación: declararlas cuando se usan por primera vez. Mito común: pensar que declararlas fuera de bucles es más eficiente. int minimo(int tam, int[] arreglo) { int imin = 0; for (int i = 1; i < tam; i++) if (arreglo[i] < arreglo[imin]) imin = i; return arreglo[imin]; } Programación 2 Introducción al lenguaje C 15 de marzo de 2016 7 / 34

Comentarios /* comentario de varias lineas */ int i = 1; /* asigno 1 a i */ char c; // comentario de una linea (C++) float f; // otro comentario Programación 2 Introducción al lenguaje C 15 de marzo de 2016 8 / 34

Expresiones I Operador de asignación: = int a; int b = 2; a = 7; a = b; Programación 2 Introducción al lenguaje C 15 de marzo de 2016 9 / 34

Expresiones I Operador de asignación: = int a; int b = 2; a = 7; a = b; La asignación retorna un valor, por lo que es válido: a = b = 9 Error común: confundir con comparación booleana de otro Lenguaje, ejemplo Pascal Programación 2 Introducción al lenguaje C 15 de marzo de 2016 9 / 34

Expresiones II Operadores de comparación: ==,!=, <, <=, > y >= Programación 2 Introducción al lenguaje C 15 de marzo de 2016 10 / 34

Expresiones II Operadores de comparación: ==,!=, <, <=, > y >= Operadores lógicos: &&, y! Programación 2 Introducción al lenguaje C 15 de marzo de 2016 10 / 34

Expresiones II Operadores de comparación: ==,!=, <, <=, > y >= Operadores lógicos: &&, y! Operadores aritméticos: +, -, *, / y % Programación 2 Introducción al lenguaje C 15 de marzo de 2016 10 / 34

Expresiones II Operadores de comparación: ==,!=, <, <=, > y >= Operadores lógicos: &&, y! Operadores aritméticos: +, -, *, / y % Precedencia: a+1 < b && c == 9*d e < 7 equivale a: (((a+1) < b) && (c == (9*d))) (e < 7) Programación 2 Introducción al lenguaje C 15 de marzo de 2016 10 / 34

Expresiones III Incremento y decremento: ++ y -- Programación 2 Introducción al lenguaje C 15 de marzo de 2016 11 / 34

Expresiones III Incremento y decremento: ++ y -- ++a incrementa el valor de a y retorna su valor luego del incremento Programación 2 Introducción al lenguaje C 15 de marzo de 2016 11 / 34

Expresiones III Incremento y decremento: ++ y -- ++a incrementa el valor de a y retorna su valor luego del incremento Programación 2 Introducción al lenguaje C 15 de marzo de 2016 11 / 34

Expresiones III Incremento y decremento: ++ y -- ++a incrementa el valor de a y retorna su valor luego del incremento a++ incrementa el valor de a y retorna su valor antes del incremento Análogo para decrementar Programación 2 Introducción al lenguaje C 15 de marzo de 2016 11 / 34

Expresiones III Incremento y decremento: ++ y -- ++a incrementa el valor de a y retorna su valor luego del incremento a++ incrementa el valor de a y retorna su valor antes del incremento Análogo para decrementar int a = 1; int b, c; b = ++a; c = a++; Programación 2 Introducción al lenguaje C 15 de marzo de 2016 11 / 34

Programación 2 Introducción al lenguaje C 15 de marzo de 2016 11 / 34 Expresiones III Incremento y decremento: ++ y -- ++a incrementa el valor de a y retorna su valor luego del incremento a++ incrementa el valor de a y retorna su valor antes del incremento Análogo para decrementar int a = 1; int b, c; b = ++a; c = a++; Valores finales:

Expresiones III Incremento y decremento: ++ y -- ++a incrementa el valor de a y retorna su valor luego del incremento a++ incrementa el valor de a y retorna su valor antes del incremento Análogo para decrementar int a = 1; int b, c; b = ++a; c = a++; Valores finales: a 3 Programación 2 Introducción al lenguaje C 15 de marzo de 2016 11 / 34

Expresiones III Incremento y decremento: ++ y -- ++a incrementa el valor de a y retorna su valor luego del incremento a++ incrementa el valor de a y retorna su valor antes del incremento Análogo para decrementar int a = 1; int b, c; b = ++a; c = a++; Valores finales: a 3 b 2 Programación 2 Introducción al lenguaje C 15 de marzo de 2016 11 / 34

Programación 2 Introducción al lenguaje C 15 de marzo de 2016 11 / 34 Expresiones III Incremento y decremento: ++ y -- ++a incrementa el valor de a y retorna su valor luego del incremento a++ incrementa el valor de a y retorna su valor antes del incremento Análogo para decrementar int a = 1; int b, c; b = ++a; c = a++; Valores finales: a 3 b 2 c 2

Constantes I Se pueden definir utilizando define: #include <stdio.h> #define BASE 10 #define ALTURA 5 int main() { int area = BASE * ALTURA; printf("area: %d", area); return 0; } Programación 2 Introducción al lenguaje C 15 de marzo de 2016 12 / 34

Constantes II O usando const: #include <stdio.h> int main() { const int BASE = 10; const int ALTURA = 5; int area = BASE * ALTURA; printf("area: %d", area); return 0; } Programación 2 Introducción al lenguaje C 15 de marzo de 2016 13 / 34

Constantes II O usando const: #include <stdio.h> int main() { const int BASE = 10; const int ALTURA = 5; int area = BASE * ALTURA; printf("area: %d", area); return 0; } La diferencia es que define es un reemplazo de texto antes de compilar y const utiliza variables (y por lo tanto tiene su espacio de memoria, su tipo, etc.) que no se pueden modificar. Programación 2 Introducción al lenguaje C 15 de marzo de 2016 13 / 34

Constantes II O usando const: #include <stdio.h> int main() { const int BASE = 10; const int ALTURA = 5; int area = BASE * ALTURA; printf("area: %d", area); return 0; } La diferencia es que define es un reemplazo de texto antes de compilar y const utiliza variables (y por lo tanto tiene su espacio de memoria, su tipo, etc.) que no se pueden modificar. Es buena práctica definir los nombres de las constantes en mayúsculas. Programación 2 Introducción al lenguaje C 15 de marzo de 2016 13 / 34

Estructuras de control I Selección Sentencia if : if (6 <= valor && valor <= 12) { printf("aprobado"); cantidad_aprobados++; } else if (valor >= 3) printf("examen"); else if (valor >= 0) printf("reprobado"); else printf("valor incorrecto"); Programación 2 Introducción al lenguaje C 15 de marzo de 2016 14 / 34

Estructuras de control II Selección Sentencia switch : switch (valor) { case 6: case 7: case 8: case 9: case 10: case 11: case 12: printf("aprobado"); cantidad_aprobados++; break; case 3: case 4: case 5: printf("examen"); break; case 0: case 1: case 2: printf("reprobado"); break; default: printf("valor incorrecto"); } Programación 2 Introducción al lenguaje C 15 de marzo de 2016 15 / 34

Estructuras de control III Iteración Programación 2 Introducción al lenguaje C 15 de marzo de 2016 16 / 34

Estructuras de control III Iteración Sentencia while: while (condicion) cuerpo int i = 0; while (i < 10) { printf("*"); i++; } Programación 2 Introducción al lenguaje C 15 de marzo de 2016 16 / 34

Estructuras de control IV Iteración Sentencia for: for (inicio; condicion; paso) cuerpo for (int i = 0; i < 10; i++) printf("*"); Programación 2 Introducción al lenguaje C 15 de marzo de 2016 17 / 34

Continuará Programación 2 Introducción al lenguaje C 15 de marzo de 2016 18 / 34