SlideShare una empresa de Scribd logo
1 de 53
1
Programación en C/C++
2
Lauren Montenegro
Laboratorio de
Programación I
3
Indice
PORTADA
..........................................................................................................................1
INDICE..................................................................................................................3
INTRODUCCIÓN A C ................................................................................................6
UN PROGRAMA SENCILLO EN C: HOLA MUNDO....................................................................................... 6
ELEMENTOS DE UN PROGRAMA EN C............................................................................7
CARACTERES PERMITIDOS EN C............................................................................................................ 7
JUEGO DE CARACTERES EN C ............................................................................................................... 8
COMENTARIOS .......................................................................................................9
COMENTARIOS DE UNA LÍNEA.............................................................................................................. 9
COMENTARIOS DE MÚLTIPLES LÍNEAS..................................................................................................... 9
PALABRAS RESERVADAS.......................................................................................... 10
PALABRAS RESERVADAS EN C/C++ ................................................................................................... 10
IDENTIFICADORES .................................................................................................11
VARIABLES EN C....................................................................................................12
CONSTANTES ....................................................................................................... 12
OPERADORES EN C ................................................................................................ 14
OPERADORES ARITMÉTICOS .............................................................................................................. 14
OPERADORES RELACIONALES............................................................................................................. 14
OPERADORES LÓGICOS .................................................................................................................... 15
OPERADORES DE ASIGNACIÓN........................................................................................................... 15
ESTRUCTURA DE UN PROGRAMA EN C........................................................................ 16
DIRECTIVA #INCLUDE ...................................................................................................................... 16
FUNCIÓN MAIN()............................................................................................................................. 17
ARREGLOS EN C ....................................................................................................18
DECLARACIÓN DE UN ARREGLO EN C .................................................................................................. 19
ARREGLOS UNIDIMENSIONALES.......................................................................................................... 20
Declaración de un arreglo unidimensional ............................................................................ 20
DECLARACIÓN E INICIALIZACIÓN DE UN ARREGLO.................................................................................. 21
ARREGLOS BIDIMENSIONALES ............................................................................................................ 22
4
MODIFICACIÓN DE UN ELEMENTO DE UNA MATRIZ.................................................................................. 23
Resultado en consola. ............................................................................................................ 24
ESTRUCTURAS EN C/C++ ....................................................................................... 25
CONCEPTO.................................................................................................................................... 25
Un pequeño ejemplo .............................................................................................................. 26
ESTRUCTURAS ANIDADAS ....................................................................................... 28
MANEJO DE ARCHIVOS EN C .................................................................................... 29
UNA PEQUEÑA REFERENCIA ............................................................................................................... 29
ALGUNAS FUNCIONES PARA ARCHIVOS EN C ......................................................................................... 29
fopen ...................................................................................................................................... 29
Fclose ..................................................................................................................................... 31
Un ejemplo pequeño para abrir y cerrar el archivo llamado fichero.in en modo lectura: .............. 31
feof ......................................................................................................................................... 32
Sintaxis de feof ..................................................................................................................... 32
rewind .................................................................................................................................... 32
Sintaxis de rewind ................................................................................................................. 32
LECTURA DE ARCHIVOS .......................................................................................... 33
FUNCIONES PARA LEER ARCHIVOS....................................................................................................... 33
fgetc ....................................................................................................................................... 33
fgets ....................................................................................................................................... 33
fread....................................................................................................................................... 35
fscanf...................................................................................................................................... 35
ESCRITURA .................................................................................................................................... 36
fputc ....................................................................................................................................... 36
Fputs ...................................................................................................................................... 36
fwrite ...................................................................................................................................... 36
Fprintf..................................................................................................................................... 37
............................................................................................................................................... 37
FUNCIONES DE E/S EN C ......................................................................................... 38
ENTRADA DE DATOS: FUNCIÓN SCANF ().............................................................................................. 38
Sintaxis................................................................................................................................... 38
scanf (“cadena de control”, argumento1, argumento2…); ......................................................... 38
Tipos de datos y formatos en lenguaje C .............................................................................. 39
SALIDA DE DATOS: FUNCIÓN PRINTF()................................................................................................. 40
Sintaxis................................................................................................................................... 40
printf (“cadena de control”, argumento1,argumento2…); .......................................................... 40
5
Ejemplo en código................................................................................................................. 40
Secuencias de escape ............................................................................................................ 41
FUNCIONE EN LENGUAJE C ...................................................................................... 42
DEFINICIÓN:.................................................................................................................................. 42
CRITERIOS PARA CREARLAS:.............................................................................................................. 42
Ejemplo de función ................................................................................................................ 42
SENTENCIA RETURN......................................................................................................................... 42
FUNCIÓN MAIN();............................................................................................................................ 43
SCOPE DE VARIABLES ....................................................................................................................... 43
Ejercicios realizados con funciones: ...................................................................................... 44
ESTRUCTURAS DE CONTROL CONDICIONAL.................................................................47
TOMA DE DECISIONES...................................................................................................................... 47
La expresión condicional ....................................................................................................... 47
Anidamiento o escalonamiento si-si no-si (if-else-if) ......................................................... 47
Ejemplo de if/else .................................................................................................................. 48
ESTRUCTURA DE CONTROL REPETITIVA O DE ITERACIÓN CONDICIONAL ............................ 50
CONTADORES Y ACUMULADORES ....................................................................................................... 50
Contador ................................................................................................................................ 50
Un for en acción ..................................................................................................................... 51
ESTRUCTURA DE CONTROL REPETITIVA MIENTRAS (WHILE)....................................................................... 51
DO-WHILE.................................................................................................................................... 51
ESTRUCTURA DE CONTROL REPETITIVA DESDE (FOR)............................................................................... 52
6
Introducción a C
C es un lenguaje de programación originalmente desarrollado por Dennis M.
Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución del anterior
lenguaje B, a su vez basado en BCPL.
Al igual que B, es un lenguaje orientado a la implementación de Sistemas
Operativos, concretamente Unix. C es apreciado por la eficiencia del código que
produce y es el lenguaje de programación más popular para crear software de
sistemas, aunque también se utiliza para crear aplicaciones.
Un programa sencillo en C: Hola Mundo
En este caso lo que hacemos es, de una manera sencilla, escribir nuestro primer
“Hola Mundo” utilizando la sentencia cout de C++. Lo haremos así porla facilidad
al usar cout. Más adelante utilizaremos printf que es propio de C.
7
La sentencia cout nos sirve para imprimir en la consola. La función de la sentencia
endl es especificar el final de una línea.
Elementos de un programa en C
Caracteres permitidos en C.
Como entodo lenguaje deprogramación, existen juegos decaracteres. En el lenguaje
C hay un sinnúmero de caracteres. Es muy importante conocer cuáles son, saber
cuáles sonpermitidos porel lenguaje para así sabercuáles podemos usaren nuestros
programas.
8
Juego de caracteres en C
9
Comentarios
En lenguaje C existen dos formas para escribir comentarios. Existen comentarios de
una línea y cometarios de múltiples líneas.
Comentarios de una línea
Los comentarios de una línea se escriben utilizando la doble barra ( // ). Veamos un
ejemplo.
Comentarios de múltiples líneas
Muchas veces es necesario comentar muchas líneas de código, pero comentar línea
a línea sería muy molesto y tedioso. Es por lo anterior que existe la manera de
comentar bloques enteros de código de una manera muy fácil.
Para comentar múltiples líneas se usa barra y asterisco para iniciar (/*), para
finalizar asterisco y barra (*/).
10
Palabras Reservadas
En los lenguajes informáticos, una palabra reservada es una palabra que tiene un
significado gramatical especial para ese lenguaje y no puede ser utilizada como un
identificador de objetos en códigos del mismo, como ser variables.
Palabras reservadas en C/C++
No podemos usar palabras reservadas para nombrar a nuestros identificadores, esto
sería un completo error.
11
Como podemos observar en la imagen, se está usando la palabra reservada class
como nombre de identificador. Podemos apreciar a la izquierda de esta declaración
de variable que el IDE (en este caso CodeBlocks) nos muestra un cuadro pequeño
de color rojo, este cuadro rojo es sinónimo de error.
Identificadores
Los identificadores deben ser correcto. No se pueden usar palabras reservadas,
empezar con números, usar guiones o usar caracteres irreconocibles.
Como podemos ver en la imagen, el identificador es incorrecto, posee un guión en
medio.
12
Variables en C
Una variable es una posición de memoria con nombre (identificador) donde se
almacena un valor deun cierto tipo dedato. Todavariable que seusa en un programa
debe ser declarada previamente.
Una declaración de variable reserva un espacio de almacenamiento en memoria. El
proceso para crear una variable es escribir el tipo de dato, el identificador o nombre
de variable y, en ocasiones, un valor inicial. Por ejemplo:
Constantes
Una constante guarda un valor al igual que una variable, la diferencia está en que
este valor nunca podráser modificado durante todala ejecución de un programa. En
C/C++ existen cuatro tipo de constantes:constantes de tipo entero, caracter, flotante
y cadena.
Sintaxis: <const> <tipo> <nombre> <=> <valor>;
13
14
Operadores en C
Operadores Aritméticos
Los operadores aritméticos toman los valores numéricos (literales o variables) como
sus operando y devuelve un solo valor numérico.
Operadores Relacionales
Los operadores relacionales sonsímbolos que se usan para comparardos valores. Si
el resultado de la comparación es correcto la expresión consideradaes verdadera, en
caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se
representa por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor
que cuatro) es falsa, false.
15
Operadores Lógicos
Los operadores lógicos producen un resultado booleano y sus operandos son
también valores lógicos o asimilables a ellos (los valores numéricos sonasimilados
a cierto o falso según su valor sea cero o distinto de cero).
El operadorAND evalúa verdadero si se cumplen todas las condiciones. En cambio
el operadorOR evalúa verdadero si se cumple al menos uno. El NOT porsu parte es
un operador booleano que devuelve un valor TRUE (verdadero) si su operando es
FALSE, y FALSE si su operando es TRUE.
Operadores de Asignación
16
Estructura de un programa en C
Un programa en C se compone de una estructura que ya fue definida por sus
creadores. Esta estructura cuenta con componentes indispensables para el correcto
funcionamiento de los programas. Si omitimos parte de estos componentes es muy
probable que nuestros programas no funcionen como nosotros queremos.
Directiva #include
Como observamos en la figura anterior, en la parte superior encontramos #include.
La directiva de preprocesador #include se usa en los lenguajes C y C++ para
“incluir” las declaraciones de otro fichero en la compilación.
#include <stdio.h>
Es una directiva del preprocesador de C. Las líneas que comienzan con # son
procesadas porel preprocesador antes de que el programa se compile. Esta línea en
17
particular indica al preprocesador que incluya en el programa el contenido del
encabezado estándar de entrada/salida (stdio.h). Este encabezado contiene
información que el compilador utiliza cuando compila las llamadas a las funciones
de la biblioteca estándar de entrada/salida, como printf.
Función main()
La función main forma parte de todos los programas en C. Los paréntesis que
aparecen después de main indican que main es un bloque de construcción de
programas llamado función. Los programas en C contienen una o más funciones,
una de las cuales debe ser main. Todo programa en C comienza su ejecución en la
función main.
Cada programa de C tiene una función principal que se debe llamar main. Si su
código sigue el modelo de programación Unicode, puede utilizar la versión de
carácter ancho de main, wmain. La función main sirve como punto de partida para
la ejecución del programa. Normalmente, controla la ejecución del programa
dirigiendo las llamadas a otras funciones del programa. Un programa deja de
ejecutarse normalmente al final de main, aunque puede finalizar en otros puntos del
programa por distintos motivos. A veces, quizás cuando se detecta un error, puede
resultar conveniente forzar la finalización de un programa.
18
Arreglos en C
Un arreglo es un tipo de dato estructurado que almacena en una sola
variable un conjunto limitado de datos o elementos del mismo tipo.
Asimismo, es un conjunto de localidades de memoria contiguas
donde la dirección más baja corresponde al primer elemento y la
dirección más alta al último. Por sí mismo, el nombre del arreglo
apunta a la dirección del primer elemento del arreglo. Los datos se
llaman elementos del arreglo y su posición se numera
consecutivamente: 1, 2, 3…n. Un arreglo en lenguaje C inicia en la
posición cero, por lo tanto el i-ésimo elemento está en la posición i-
1, es decir si el arreglo llamado a tiene n elementos, sus nombres son
a[0], a[1], ..., a[n-1]. El tipo de elementos almacenados en el arreglo
puede ser cualquier tipo de dato.
Un arreglo se caracteriza por:
1. Ser una lista de un número finito de n elementos del mismo
tipo.
2. Almacenar los elementos del arreglo en memoria contigua.
3. Tener un único nombre de variable que representa a todos
los elementos y éstos se diferencian por un índice o subíndice.
4. Acceder de manera directa o aleatoria a los elementos
individuales del arreglo, por el nombre del arreglo y el índice o
subíndice.
19
Declaración de un arreglo en C
Primeramente se indica el tipo de dato, luego el nombre de la variable y luego entre
corchetes el tamaño del arreglo.
20
Arreglos Unidimensionales
Un arreglo unidimensional es un conjunto de n elementos del mismo
tipo almacenados en memoria continua en un vector o lista. Para
acceder a cada elemento del arreglo se requiere de un solo índice o
subíndice, el cual representa la posición en la que se encuentra.
Declaración de un arreglo unidimensional
Este arreglo contiene diez elementos almacenados entre la posición
(0-9). Para referirnos a un elemento en particular dentro del arreglo,
especificamos el nombre del arreglo y el número de posición donde
se encuentra ubicado. La posición del arreglo va entre paréntesis
cuadrados o corchetes (“[ ]”).
21
Declaración e inicialización de un arreglo.
22
Arreglos Bidimensionales
Un arreglo bidimensional es un conjunto de n elementos del mismo
tipo almacenados en memoria contigua en una matriz o tabla. A
diferencia de los arreglos unidimensionales que sólo requieren de un
subíndice, los arreglos bidimensionales paraacceder a cada elemento
del arreglo requieren de dos índices o subíndices declarados en dos
pares de corchetes, donde el primer corchete se refiere al tamaño de
filas y el segundo al tamaño de columnas.
23
Modificación de un elemento de una matriz
Los elementos de una matriz se pueden modificar en cualquier
momento, sólo es necesario especificar el nombre del arreglo
bidimensional, la posición tanto de la fila como de la columna y el
nuevo valor. En seguida se muestra la sintaxis a seguir:
24
Resultado en consola.
25
Estructuras en C/C++
Concepto
En la creación de soluciones para algunos problemas surge la necesidad de agrupar
datos de diferente tipo o de manejar datos que serían muy difícil de describir en los
tipos de datos primitivos, esta es la situación en la que debemos aprovecharnos de
las características que hacen al lenguaje C especial, o sea el uso de estructuras,
uniones y punteros. Una estructura contiene varios datos. La forma de definir una
estructura es haciendo uso de la palabra clave struct.
26
Un pequeño ejemplo
27
En la imagen anterior podemos observar que "datos" es una instancia de
"miEstructura" y no es necesario ponerla aquí. Se podríaomitir de la declaración de
"miEstructura" y más tarde declararla usando:
Como vemos, la instancia a la estructura está hecha desde el Main. Volvemos a
utilizar la palabra reservada Struct, seguido del nombre de la estructura y luego el
nombre de la nueva variable de tipo struct miEstructura.
28
Estructuras Anidadas
Como podemos ver, primero se crea una estructura llamada infopersona. Después se
crea otra estructura llamada empleado. Dentro de la estructura empleado se instancia
a estructura infopersona. Al hacer esto posee sus propiedades y también las de
infopersona; a esto conocemos como anidamiento de estructuras.
29
Manejo de Archivos en C
Una pequeña referencia
El estándar de C contiene varias funciones para la edición de ficheros, éstas están
definidas en la cabecera stdio.h y por lo general empiezan con la letra f, haciendo
referencia a file. Adicionalmente se agrega un tipo FILE, el cual se usará como
apuntador a la información del fichero. La secuencia que usaremos para realizar
operaciones será la siguiente:
 Crear un apuntador del tipo FILE *
 Abrir el archivo utilizando la función fopen y asignándole el resultado de la
llamada a nuestro apuntador.
 Hacer las diversas operaciones (lectura, escritura, etc).
 Cerrar el archivo utilizando la función fclose.
Algunas funciones para archivos en C
fopen
Esta función sirve para abrir y crear ficheros en disco.
La sintaxis para abrir un archivo la podemos ver en la imagen.
30
Los parámetros de entrada de fopen son:
 filename: una cadena que contiene un nombre de fichero válido.
Opentype o tipo de forma en que se abre el archivo: especifica el tipo de
fichero que se abrirá o se creará:
 Una lista de parámetros opentype para la función fopen son:
 "r”: abrir un archivo para lectura, el fichero debeexistir.
 "w”: abrir un archivo para escritura, se crea si no existe o se
sobreescribesi existe.
 "a”: abrir un archivo para escritura al final del contenido, sino existe
se crea.
 "r+”: abrir un archivo para lectura y escritura, el fichero debeexistir.
 "w+”: crear un archivo para lectura y escritura, se crea si no existe
o se sobreescribesi existe.
 "r+b o rb+”: Abre un archivo en modo binario para actualización
(lectura y escritura).
 "rb": Abre un archivo en modo binario para lectura.
31
Fclose
Esta función sirve para poder cerrar un fichero que se ha abierto.
Un ejemplo pequeño para abrir y cerrar el archivo llamado fichero.in en modo lectura:
El ejemplo anterior crea un puntero de tipo FILE. Luego en el puntero almacena lo
que retorna la función fopen. fopen por su parte, está abriendo el archivo
“fichero.in”, y lo abre en modo lectura.
Luego secompruebasiese fichero contiene algo o si está vacío. Siel fichero es igual
a NULL, significa que el fichero no existe, y se manda a imprimir un mensaje de
error.
Por último se cierra el archivo utilizando la función fclose.
32
feof
Esta función sirve para determinar si el cursor dentro del archivo encontró el final
(end of file). Existe otra forma de verificar el final del archivo que es comparar el
caracter que trae fgetc del archivo con el macro EOF declarado dentro de stdio.h,
pero este método no ofrece la misma seguridad (en especial al tratar conlos archivos
"binarios"). La función feof siempre devolverá cero (Falso) si no es encontrado EOF
en el archivo, de lo contrario regresará un valor distinto de cero (Verdadero).
Sintaxis de feof
rewind
Literalmente significa "rebobinar", sitúa el cursor de lectura/escritura al principio
del archivo.
Sintaxis de rewind
33
Lectura de Archivos
Un archivo generalmente debe verse como un string (una cadena de caracteres) que
está guardado en el disco duro. Para trabajar con los archivos existen diferentes
formas y diferentes funciones.
Funciones para leer archivos
fgetc
Esta función lee un carácter a la vez del archivo que está siendo señalado con el
puntero *archivo. En caso de que la lectura sea exitosa devuelve el carácter leído y
en caso de que no lo sea o de encontrar el final del archivo devuelve EOF.
fgets
Esta función estádiseñada para leer cadenas decaracteres. Leerá hasta n-1 caracteres
o hasta que lea un cambio de línea 'n' o un final de archivo EOF. En este último
caso, el carácter de cambio de línea 'n' también es leído.
El primer parámetro buffer lo hemos llamado así porquees un puntero a un espacio
de memoria del tipo char (podríamos usarun arreglo dechar). El segundo parámetro
es tamaño que es el límite en cantidad de caracteres a leer para la función fgets. Y
por último el puntero del archivo por supuesto que es la forma en que fgets sabrá a
que archivo debe leer.
34
Nota: Este ejemplo no es de mi autoría.
35
fread
Esta función lee un bloque de una "stream" de datos. Efectúa la lectura de un arreglo
de elementos "count", cada uno de los cuales tiene un tamaño definido por "size".
Luego los guarda en el bloque de memoria especificado por "ptr". El indicador de
posición de la cadena de caracteres avanza hasta leer la totalidad de bytes. Si esto es
exitoso la cantidad de bytes leídos es (size*count).
fscanf
La función fscanf funciona igual que scanf en cuanto a parámetros, pero la entrada
se toma de un fichero en lugar del teclado.
36
Escritura
Así como podemos leer datos desde un fichero, también se pueden crear y escribir
ficheros conla información que deseamos almacenar, Para trabajar con los archivos
existen diferentes formas y diferentes funciones.
fputc
Esta función escribe un carácter a la vez del archivo que está siendo señalado con el
puntero *archivo. El valor de retorno es el carácter escrito, si la operación fue
completada conéxito, en caso contrario será EOF.
Fputs
La función fputs escribe una cadena en un fichero. La ejecución de la misma no
añade el carácter de retorno de línea ni el carácter nulo final. El valor de retorno es
un número no negativo o EOF en caso de error. Los parámetros de entrada son la
cadena a escribir y un puntero a la estructura FILE del fichero dondese realizará la
escritura.
fwrite
Esta función está pensada para trabajar con registros de longitud constante y forma
pareja con fread. Es capaz de escribir hacia un fichero uno o varios registros de la
misma longitud almacenados a partir de una dirección de memoria determinada. El
valor de retorno es el número de registros escritos, no el número de bytes. Los
parámetros son:un puntero a la zona de memoria de donde se obtendrán los datos a
escribir, el tamaño de cada registro, el número de registros a escribir y un puntero a
la estructura FILE del fichero al que se hará la escritura.
37
Fprintf
La función fprintf funciona igual que printf en cuanto a parámetros, pero la salida
se dirige a un archivo en lugar de a la pantalla.
38
Funciones de E/S en C
El lenguaje C no tiene palabras reservadas para la E/S estándar del sistema (teclado
y pantalla). Estas operaciones se realizan mediante funciones de biblioteca que
encontramos en el archivo de cabecerastdio.h (standard input-output header). La e/s
con formato se realiza por medio de las funciones scanf() y printf.
Las f de scanf() y de printf() significan “conformato”.
Entrada de datos: función scanf ()
La función scanf() se usa para la entrada y nos permite leer (introducir) datos desde
el teclado y asignarlos a variables de C, de acuerdo con el formato especificado.
Sintaxis
scanf(“cadena de control”, argumento1, argumento2…);
La cadena de controlse encarga de hacer saber qué datos se almacenarán , es decir,
qué tipos dedatos serán, en este caso, son%d para especificar que se trata de entero,
luego %f para real y %c para carácter, los siguientes argumentos pertenecen a cada
uno de los elementos de la cadena de control respectivamente.
39
Tipos de datos y formatos en lenguaje C
40
Salida de datos: función printf()
La función printf() es similar a la función scanf(), pero seusa para la salida; permite
escribir textos y datos en la pantalla con determinado formato.
Sintaxis
printf (“cadena de control”, argumento1,argumento2…);
Ejemplo en código
Esta función es similar a scanf, su diferencia radica en que este es para salida. Usa,
al igual que scanf(), cadenas de control, donde se especifican los tipos de datos a
imprimir. En los argumentos se especifican las variables a imprimir o los valores a
imprimir cada uno correspondiente a los elementos de la cadena de control.
41
La cadena de controldebe escribirse entre comillas (“ ”) y puede tener al menos uno
de los tres elementos siguientes:
 Los caracteres que se imprimirán en pantalla (los cuales se visualizarán
idénticos).
 Secuencias de escape.
 Uno o varios códigos de formato (indica de qué tipo de dato se trata); dichos
códigos determinan cómo se verán en pantalla los argumentos.
Secuencias de escape
42
Funcione en lenguaje C
Definición:
– Las funciones sonlos bloques de construcciónbásicos deC. Dentro de
ellas se da toda la actividad del programa.
Criterios para crearlas:
– Se usa la estrategia de “Dividir y Vencerás”, en otras palabras, es
realizar la partición de la tarea en subtareas más fáciles de abordar.
Todo problema se puede resolver con funciones o sin ellas, pero su uso adecuado
hace que el programa sea más eficiente, fácil de leer y probar.
Ejemplo de función
void : especifica el tipo de valor que devuelve la función. Si no se especifica tipo, el
compilador asume que es entero (int), en este caso es void, por ende, la función no
devuelve nada.
Parámetros : es la lista de nombres de variables separados por comas con sus tipos
asociados que reciben los valores de los argumentos actuales de la llamada a la
función.
Sentencia return
La sentencia return es muy usada en las funciones, es indispensable en las funciones
distintas a void, ya que estas retornan algún valor luego de su ejecución: return es
usado para eso, para retornar valores.
La palabra reservada return es la que permite que una función pueda devolver un
valor al lugar de dondefue llamada.
43
Las funciones terminan su ejecución ya sea a través de la ejecución de la última
instrucción o utilizando la sentencia return.
Una función puede retornar valor sólo cuando el tipo de retorno no es void, como se
ha explicado antes.
Las funciones que son de tipos distintos de void pueden ser utilizadas como
operando en otras expresiones del lenguaje.
función main();
La función main() es la función principal y cuenta conlas características quecuentan
otras funciones. La funcion main() puede recibir parámetros, puede retornar valores
y puede llamar a otras funciones desde su interior.
Cada programa de C tiene una función principal que se debe llamar main. La
función main sirve como punto de partida para la ejecución del programa.
Normalmente, controla la ejecución del programa dirigiendo las llamadas a otras
funciones del programa. Un programa deja de ejecutarse normalmente al final
de main, aunque puede finalizar en otros puntos delprograma pordistintos motivos.
A veces, quizás cuando se detecta un error, puede resultar conveniente forzar la
finalización de un programa.
Scope de variables
 Variables Locales:
 Se declaran dentro de la función y sólo están disponibles durante su
ejecución.
 Se crean cuando se entra en ejecución una función y se destruyen cuando
se termina.
 Variables globales:
 Se declaran fuera de las funciones. Pueden ser utilizadas portodas las
funciones.
 Existen durante toda la vida del programa.
Las variables declaradas dentro de una función solo podrán ser usadas desde este
ámbito, pero si las variables songlobales, es decir, están fuera de cualquier función,
estas podrán ser utilizadas por cualquier función del programa.
44
Ejercicios realizados con funciones:
45
46
47
Estructuras de control condicional
Es una estructura con una sola entrada y una sola salida en la cual se realiza una
acción (una o varias instrucciones) de entre varias, según una condición; o se realiza
una acción según el cumplimiento o no de una determinada condición. La condición
puede ser simple o compuesta.
Los programas, para un mejor funcionamiento y para poder realizar un número
mayor de tareas, deben permitir emplear acciones alternativas a fin de poder elegir
una de ellas cuando la situación lo requiera. Por lo tanto, la ejecución de una línea o
grupos de líneas del programa depende de si cumplen o no una condición.
Toma de decisiones
La instrucción si (if/else) nos permite tomar decisiones, podemos haceruna pregunta
y la contestación sólo puede ser verdadera o falsa, es decir, sí o no.
La expresión condicional
La condición es una expresión booleana. Si el resultado de la expresión:
• Es cero, se considera una condición falsa.
• No es cero, se considera una condición cierta.
Dentro del if debe haber una condición, que podráevaluarse verdadera o falsa. Si es
verdadera se ejecutará lo que esté dentro del if, en caso contrario no lo hará y
ejecutará el else.
Anidamiento o escalonamiento si-si no-si (if-else-if)
El concepto de anidamiento es muy utilizado en la programación y consiste en
insertar (anidar) una estructura dentro de otra.
48
La expresión “si anidados” se refiere a que podemos utilizar una sentencia si (if )
dentro de otra sentencia si (if ). Esto se emplea cuando se tienen que cumplir varias
condiciones para poderejecutar una acción.
Uno de los aspectos más confusos de las sentencias si (if ) en el lenguaje de
programación es el si (if ) anidado. Un si (if ) anidado es una sentencia si (if ) que es
el objeto de otro si (if ) o sino (else). La razón por la que los si(if ) anidados sontan
problemáticos es que resulta confuso saber qué else se asocia conqué si (if).
Ejemplo de if/else
En este caso la condición siempre es entorno a salario anual, si resulta falsa la
primera condición del primer if, se sigue con las demás condiciones hasta que una
se cumpla.
49
50
Estructura de control repetitiva o de iteración condicional
La repetición de una acción (una o varias instrucciones) se lleva acabo mientras se
cumpla cierta condición; para que la acción termine, la acción misma debemodificar
la(s) variable(s) de controlque interviene(n) en la condición. Dicha condición puede
estar predefinida como en el ciclo desde (for); o no predeterminada, como en los
bucles mientras (while) y hacer-mientras (do_while).
Bucles, ciclo o iteración. Es un segmento de un algoritmo o programa, cuya(s)
instrucción(es) se repite(n) un número conocido o indefinido de veces mientras se
cumpla una determinada condición. En cada vuelta del ciclo comprueba si la
condición es verdadera, rompiéndoseel ciclo cuando es falsa. La condición en algún
momento tiene que ser falsa ya que en caso contrario el bucle se hará infinito.
Contadores y acumuladores
Estas dos palabras se usan mucho en programación para referirse a variables que van
incrementando o decrementando su valor a lo largo de la ejecución del algoritmo o
programa. Normalmente serán de tipo numérico.
Contador
Un contador es una forma de controlar a un bucle. Es una variable cuyo valor se
incrementa o decrementa en una cantidad constante cada vez que se produce un
determinado suceso o acción en cadarepetición; dicha variable controla o determina
la cantidad de veces que se repite un proceso o dato. Sintaxis:
51
Un for en acción
Este for serepite de0 a 99, es decir 100 veces. Porcadaiteración seimprime el valor
de i, el cual va a aumentando en uno porcada vuelta.
Estructura de control repetitiva mientras (while)
Al ejecutarse la instrucción mientras (while), se evaluará la expresión booleana
suministrada en los paréntesis (condición), y si su valor es verdadero (distinto de
cero) se realizará el ciclo o bucle (una o varias instrucciones).
Después, la condición es reevaluada y se procede de la misma manera. Cuando la
condición se vuelve falsa (es decir, cero), en la siguiente evaluación se dará por
terminado el ciclo mientras (while).
Do-While
52
Funciona de la mismo forma que un while con la única diferencia de que do-while
ejecuta las instrucciones al menos una vez ya que evalúa la condición al final.
Estructura de control repetitiva desde (for)
El desde (for) es la estructura repetitiva más utilizada y simple de manejar, ya que
repite un conjunto de instrucciones un número determinado de veces. Una de sus
aplicaciones principales sonlos arreglos.
En la instrucción for, primero se ejecutará la(s) inicialización(es), posteriormente se
evaluará la condición y, en caso de ser verdadera (no ser cero), se ejecutará(n) la(s)
instrucción(es) que compone(n) el ciclo.
53
Imprime los valores de i en cada vuelta.

Más contenido relacionado

La actualidad más candente

Guías de estudio para el examen de diciembre 3er año
Guías de estudio para el examen de diciembre  3er añoGuías de estudio para el examen de diciembre  3er año
Guías de estudio para el examen de diciembre 3er añopatrimoni
 
Plan de estudio inglés 2016 com.
Plan de estudio inglés 2016 com.Plan de estudio inglés 2016 com.
Plan de estudio inglés 2016 com.Luk Mosquera
 
Dossier prensa puravera 04-06-2012
Dossier prensa puravera 04-06-2012Dossier prensa puravera 04-06-2012
Dossier prensa puravera 04-06-2012Roy Ortiz
 
Libro Intercativo "Los dinosaurios"
Libro Intercativo "Los dinosaurios"Libro Intercativo "Los dinosaurios"
Libro Intercativo "Los dinosaurios"patrimoni
 
Gramatica noruega basica completa
Gramatica noruega basica completaGramatica noruega basica completa
Gramatica noruega basica completayuri espinoza
 
Diseño de camara frigorifica
Diseño de camara frigorificaDiseño de camara frigorifica
Diseño de camara frigorificajlighto
 
Guia didactica hebrea_en_linea
Guia didactica hebrea_en_lineaGuia didactica hebrea_en_linea
Guia didactica hebrea_en_lineacamilo
 
Area libertador
Area libertador Area libertador
Area libertador Halliburton
 
Microsoft Access _ Objetos
Microsoft Access _ Objetos Microsoft Access _ Objetos
Microsoft Access _ Objetos Liss Granja
 

La actualidad más candente (18)

Guías de estudio para el examen de diciembre 3er año
Guías de estudio para el examen de diciembre  3er añoGuías de estudio para el examen de diciembre  3er año
Guías de estudio para el examen de diciembre 3er año
 
Plan de estudio inglés 2016 com.
Plan de estudio inglés 2016 com.Plan de estudio inglés 2016 com.
Plan de estudio inglés 2016 com.
 
Dossier prensa puravera 04-06-2012
Dossier prensa puravera 04-06-2012Dossier prensa puravera 04-06-2012
Dossier prensa puravera 04-06-2012
 
Libro Intercativo "Los dinosaurios"
Libro Intercativo "Los dinosaurios"Libro Intercativo "Los dinosaurios"
Libro Intercativo "Los dinosaurios"
 
Portafolio de algebra
Portafolio de algebraPortafolio de algebra
Portafolio de algebra
 
Poo manual de ejercicios
Poo manual de ejercicios Poo manual de ejercicios
Poo manual de ejercicios
 
Gramatica noruega basica completa
Gramatica noruega basica completaGramatica noruega basica completa
Gramatica noruega basica completa
 
Manual informatico
Manual informaticoManual informatico
Manual informatico
 
Diseño de camara frigorifica
Diseño de camara frigorificaDiseño de camara frigorifica
Diseño de camara frigorifica
 
Guia didactica hebrea_en_linea
Guia didactica hebrea_en_lineaGuia didactica hebrea_en_linea
Guia didactica hebrea_en_linea
 
Modulo 3
Modulo 3Modulo 3
Modulo 3
 
Geografía Mundial Contemporánea
Geografía Mundial ContemporáneaGeografía Mundial Contemporánea
Geografía Mundial Contemporánea
 
Area libertador
Area libertador Area libertador
Area libertador
 
Modulo 1
Modulo 1Modulo 1
Modulo 1
 
Microsoft Access _ Objetos
Microsoft Access _ Objetos Microsoft Access _ Objetos
Microsoft Access _ Objetos
 
TUTORIAL COMPUTACION BASICA II
TUTORIAL COMPUTACION BASICA IITUTORIAL COMPUTACION BASICA II
TUTORIAL COMPUTACION BASICA II
 
Antologia 2b borrador
Antologia 2b borradorAntologia 2b borrador
Antologia 2b borrador
 
Esp tec..piscicola
Esp tec..piscicolaEsp tec..piscicola
Esp tec..piscicola
 

Destacado (6)

Manual de c c++
Manual de c c++Manual de c c++
Manual de c c++
 
Manual C-C++ Pablo
Manual C-C++ PabloManual C-C++ Pablo
Manual C-C++ Pablo
 
Manual programación
Manual programaciónManual programación
Manual programación
 
Manual
ManualManual
Manual
 
Manual C/C++
Manual C/C++ Manual C/C++
Manual C/C++
 
Manual C/C++ Jason Martinez
Manual C/C++ Jason MartinezManual C/C++ Jason Martinez
Manual C/C++ Jason Martinez
 

Similar a Manual de programación en C/C++

Manual usuario ECR SAMPOS ER-009
Manual usuario ECR SAMPOS ER-009Manual usuario ECR SAMPOS ER-009
Manual usuario ECR SAMPOS ER-009PCMIRA - ECR&POS
 
Manual de Programación SAM4S SPS-2000 ver 1.37
Manual de Programación SAM4S SPS-2000 ver 1.37Manual de Programación SAM4S SPS-2000 ver 1.37
Manual de Programación SAM4S SPS-2000 ver 1.37PCMIRA - ECR&POS
 
Manual blackberry b8520_[www.gsmspain.com]
Manual blackberry b8520_[www.gsmspain.com]Manual blackberry b8520_[www.gsmspain.com]
Manual blackberry b8520_[www.gsmspain.com]panchochelo18
 
Manual Noiseware EspañOl
Manual Noiseware EspañOlManual Noiseware EspañOl
Manual Noiseware EspañOlguest50e5ae5
 
Manual Noiseware EspañOl
Manual Noiseware EspañOlManual Noiseware EspañOl
Manual Noiseware EspañOlguest50e5ae5
 
Manual usuario ECR SAMPOS ER-059
Manual usuario ECR SAMPOS ER-059Manual usuario ECR SAMPOS ER-059
Manual usuario ECR SAMPOS ER-059PCMIRA - ECR&POS
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!gealgaro
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!gealgaro
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!gealgaro
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!gealgaro
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!gealgaro
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!gealgaro
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!gealgaro
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!gealgaro
 

Similar a Manual de programación en C/C++ (20)

Manual usuario ECR SAMPOS ER-009
Manual usuario ECR SAMPOS ER-009Manual usuario ECR SAMPOS ER-009
Manual usuario ECR SAMPOS ER-009
 
Proyectos final
Proyectos finalProyectos final
Proyectos final
 
PLC
PLC PLC
PLC
 
Tutorial computacion basica ii
Tutorial computacion basica iiTutorial computacion basica ii
Tutorial computacion basica ii
 
Manual de Programación SAM4S SPS-2000 ver 1.37
Manual de Programación SAM4S SPS-2000 ver 1.37Manual de Programación SAM4S SPS-2000 ver 1.37
Manual de Programación SAM4S SPS-2000 ver 1.37
 
Manual excel 1
Manual excel 1Manual excel 1
Manual excel 1
 
Manual blackberry b8520_[www.gsmspain.com]
Manual blackberry b8520_[www.gsmspain.com]Manual blackberry b8520_[www.gsmspain.com]
Manual blackberry b8520_[www.gsmspain.com]
 
Ikertia y la innovación
Ikertia y la innovaciónIkertia y la innovación
Ikertia y la innovación
 
Manual Noiseware EspañOl
Manual Noiseware EspañOlManual Noiseware EspañOl
Manual Noiseware EspañOl
 
Manual Noiseware EspañOl
Manual Noiseware EspañOlManual Noiseware EspañOl
Manual Noiseware EspañOl
 
Curso de C++
Curso de C++Curso de C++
Curso de C++
 
Manual usuario ECR SAMPOS ER-059
Manual usuario ECR SAMPOS ER-059Manual usuario ECR SAMPOS ER-059
Manual usuario ECR SAMPOS ER-059
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 
My cool new Slideshow!
My cool new Slideshow!My cool new Slideshow!
My cool new Slideshow!
 

Más de Estudiantes ISI_UCA (20)

Manual C/C++ Carlos Diaz
Manual C/C++ Carlos Diaz Manual C/C++ Carlos Diaz
Manual C/C++ Carlos Diaz
 
Manual de usuario c
Manual de usuario  cManual de usuario  c
Manual de usuario c
 
Manual C/C++ Néstor Flores
Manual C/C++ Néstor FloresManual C/C++ Néstor Flores
Manual C/C++ Néstor Flores
 
Manual AGFV
Manual AGFVManual AGFV
Manual AGFV
 
Manual C / C++ Melvin
Manual C / C++ MelvinManual C / C++ Melvin
Manual C / C++ Melvin
 
Manual laboratorio de programación#1
Manual laboratorio de programación#1Manual laboratorio de programación#1
Manual laboratorio de programación#1
 
Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky Bonilla
 
Manual programación
Manual programaciónManual programación
Manual programación
 
Manual de usuario (C/C++)
Manual de usuario (C/C++)Manual de usuario (C/C++)
Manual de usuario (C/C++)
 
Manualito C/C++ - Leonardo Aquino
Manualito C/C++ - Leonardo AquinoManualito C/C++ - Leonardo Aquino
Manualito C/C++ - Leonardo Aquino
 
Lenguaje de programacion en c
Lenguaje de programacion en cLenguaje de programacion en c
Lenguaje de programacion en c
 
manualitoRodolfo
manualitoRodolfomanualitoRodolfo
manualitoRodolfo
 
Manual Francis Jarquin R
Manual Francis Jarquin RManual Francis Jarquin R
Manual Francis Jarquin R
 
Manual C/C++
Manual C/C++Manual C/C++
Manual C/C++
 
Manual c
Manual cManual c
Manual c
 
Manual de c/c++
Manual de c/c++Manual de c/c++
Manual de c/c++
 
Manual de usuario - christian García
Manual de usuario - christian GarcíaManual de usuario - christian García
Manual de usuario - christian García
 
Manual henry hernadez
Manual henry hernadezManual henry hernadez
Manual henry hernadez
 
Manual laboratorio de programación i
Manual laboratorio de programación iManual laboratorio de programación i
Manual laboratorio de programación i
 
Manual de c
Manual de cManual de c
Manual de c
 

Último

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 

Último (16)

Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 

Manual de programación en C/C++

  • 3. 3 Indice PORTADA ..........................................................................................................................1 INDICE..................................................................................................................3 INTRODUCCIÓN A C ................................................................................................6 UN PROGRAMA SENCILLO EN C: HOLA MUNDO....................................................................................... 6 ELEMENTOS DE UN PROGRAMA EN C............................................................................7 CARACTERES PERMITIDOS EN C............................................................................................................ 7 JUEGO DE CARACTERES EN C ............................................................................................................... 8 COMENTARIOS .......................................................................................................9 COMENTARIOS DE UNA LÍNEA.............................................................................................................. 9 COMENTARIOS DE MÚLTIPLES LÍNEAS..................................................................................................... 9 PALABRAS RESERVADAS.......................................................................................... 10 PALABRAS RESERVADAS EN C/C++ ................................................................................................... 10 IDENTIFICADORES .................................................................................................11 VARIABLES EN C....................................................................................................12 CONSTANTES ....................................................................................................... 12 OPERADORES EN C ................................................................................................ 14 OPERADORES ARITMÉTICOS .............................................................................................................. 14 OPERADORES RELACIONALES............................................................................................................. 14 OPERADORES LÓGICOS .................................................................................................................... 15 OPERADORES DE ASIGNACIÓN........................................................................................................... 15 ESTRUCTURA DE UN PROGRAMA EN C........................................................................ 16 DIRECTIVA #INCLUDE ...................................................................................................................... 16 FUNCIÓN MAIN()............................................................................................................................. 17 ARREGLOS EN C ....................................................................................................18 DECLARACIÓN DE UN ARREGLO EN C .................................................................................................. 19 ARREGLOS UNIDIMENSIONALES.......................................................................................................... 20 Declaración de un arreglo unidimensional ............................................................................ 20 DECLARACIÓN E INICIALIZACIÓN DE UN ARREGLO.................................................................................. 21 ARREGLOS BIDIMENSIONALES ............................................................................................................ 22
  • 4. 4 MODIFICACIÓN DE UN ELEMENTO DE UNA MATRIZ.................................................................................. 23 Resultado en consola. ............................................................................................................ 24 ESTRUCTURAS EN C/C++ ....................................................................................... 25 CONCEPTO.................................................................................................................................... 25 Un pequeño ejemplo .............................................................................................................. 26 ESTRUCTURAS ANIDADAS ....................................................................................... 28 MANEJO DE ARCHIVOS EN C .................................................................................... 29 UNA PEQUEÑA REFERENCIA ............................................................................................................... 29 ALGUNAS FUNCIONES PARA ARCHIVOS EN C ......................................................................................... 29 fopen ...................................................................................................................................... 29 Fclose ..................................................................................................................................... 31 Un ejemplo pequeño para abrir y cerrar el archivo llamado fichero.in en modo lectura: .............. 31 feof ......................................................................................................................................... 32 Sintaxis de feof ..................................................................................................................... 32 rewind .................................................................................................................................... 32 Sintaxis de rewind ................................................................................................................. 32 LECTURA DE ARCHIVOS .......................................................................................... 33 FUNCIONES PARA LEER ARCHIVOS....................................................................................................... 33 fgetc ....................................................................................................................................... 33 fgets ....................................................................................................................................... 33 fread....................................................................................................................................... 35 fscanf...................................................................................................................................... 35 ESCRITURA .................................................................................................................................... 36 fputc ....................................................................................................................................... 36 Fputs ...................................................................................................................................... 36 fwrite ...................................................................................................................................... 36 Fprintf..................................................................................................................................... 37 ............................................................................................................................................... 37 FUNCIONES DE E/S EN C ......................................................................................... 38 ENTRADA DE DATOS: FUNCIÓN SCANF ().............................................................................................. 38 Sintaxis................................................................................................................................... 38 scanf (“cadena de control”, argumento1, argumento2…); ......................................................... 38 Tipos de datos y formatos en lenguaje C .............................................................................. 39 SALIDA DE DATOS: FUNCIÓN PRINTF()................................................................................................. 40 Sintaxis................................................................................................................................... 40 printf (“cadena de control”, argumento1,argumento2…); .......................................................... 40
  • 5. 5 Ejemplo en código................................................................................................................. 40 Secuencias de escape ............................................................................................................ 41 FUNCIONE EN LENGUAJE C ...................................................................................... 42 DEFINICIÓN:.................................................................................................................................. 42 CRITERIOS PARA CREARLAS:.............................................................................................................. 42 Ejemplo de función ................................................................................................................ 42 SENTENCIA RETURN......................................................................................................................... 42 FUNCIÓN MAIN();............................................................................................................................ 43 SCOPE DE VARIABLES ....................................................................................................................... 43 Ejercicios realizados con funciones: ...................................................................................... 44 ESTRUCTURAS DE CONTROL CONDICIONAL.................................................................47 TOMA DE DECISIONES...................................................................................................................... 47 La expresión condicional ....................................................................................................... 47 Anidamiento o escalonamiento si-si no-si (if-else-if) ......................................................... 47 Ejemplo de if/else .................................................................................................................. 48 ESTRUCTURA DE CONTROL REPETITIVA O DE ITERACIÓN CONDICIONAL ............................ 50 CONTADORES Y ACUMULADORES ....................................................................................................... 50 Contador ................................................................................................................................ 50 Un for en acción ..................................................................................................................... 51 ESTRUCTURA DE CONTROL REPETITIVA MIENTRAS (WHILE)....................................................................... 51 DO-WHILE.................................................................................................................................... 51 ESTRUCTURA DE CONTROL REPETITIVA DESDE (FOR)............................................................................... 52
  • 6. 6 Introducción a C C es un lenguaje de programación originalmente desarrollado por Dennis M. Ritchie entre 1969 y 1972 en los Laboratorios Bell, como evolución del anterior lenguaje B, a su vez basado en BCPL. Al igual que B, es un lenguaje orientado a la implementación de Sistemas Operativos, concretamente Unix. C es apreciado por la eficiencia del código que produce y es el lenguaje de programación más popular para crear software de sistemas, aunque también se utiliza para crear aplicaciones. Un programa sencillo en C: Hola Mundo En este caso lo que hacemos es, de una manera sencilla, escribir nuestro primer “Hola Mundo” utilizando la sentencia cout de C++. Lo haremos así porla facilidad al usar cout. Más adelante utilizaremos printf que es propio de C.
  • 7. 7 La sentencia cout nos sirve para imprimir en la consola. La función de la sentencia endl es especificar el final de una línea. Elementos de un programa en C Caracteres permitidos en C. Como entodo lenguaje deprogramación, existen juegos decaracteres. En el lenguaje C hay un sinnúmero de caracteres. Es muy importante conocer cuáles son, saber cuáles sonpermitidos porel lenguaje para así sabercuáles podemos usaren nuestros programas.
  • 9. 9 Comentarios En lenguaje C existen dos formas para escribir comentarios. Existen comentarios de una línea y cometarios de múltiples líneas. Comentarios de una línea Los comentarios de una línea se escriben utilizando la doble barra ( // ). Veamos un ejemplo. Comentarios de múltiples líneas Muchas veces es necesario comentar muchas líneas de código, pero comentar línea a línea sería muy molesto y tedioso. Es por lo anterior que existe la manera de comentar bloques enteros de código de una manera muy fácil. Para comentar múltiples líneas se usa barra y asterisco para iniciar (/*), para finalizar asterisco y barra (*/).
  • 10. 10 Palabras Reservadas En los lenguajes informáticos, una palabra reservada es una palabra que tiene un significado gramatical especial para ese lenguaje y no puede ser utilizada como un identificador de objetos en códigos del mismo, como ser variables. Palabras reservadas en C/C++ No podemos usar palabras reservadas para nombrar a nuestros identificadores, esto sería un completo error.
  • 11. 11 Como podemos observar en la imagen, se está usando la palabra reservada class como nombre de identificador. Podemos apreciar a la izquierda de esta declaración de variable que el IDE (en este caso CodeBlocks) nos muestra un cuadro pequeño de color rojo, este cuadro rojo es sinónimo de error. Identificadores Los identificadores deben ser correcto. No se pueden usar palabras reservadas, empezar con números, usar guiones o usar caracteres irreconocibles. Como podemos ver en la imagen, el identificador es incorrecto, posee un guión en medio.
  • 12. 12 Variables en C Una variable es una posición de memoria con nombre (identificador) donde se almacena un valor deun cierto tipo dedato. Todavariable que seusa en un programa debe ser declarada previamente. Una declaración de variable reserva un espacio de almacenamiento en memoria. El proceso para crear una variable es escribir el tipo de dato, el identificador o nombre de variable y, en ocasiones, un valor inicial. Por ejemplo: Constantes Una constante guarda un valor al igual que una variable, la diferencia está en que este valor nunca podráser modificado durante todala ejecución de un programa. En C/C++ existen cuatro tipo de constantes:constantes de tipo entero, caracter, flotante y cadena. Sintaxis: <const> <tipo> <nombre> <=> <valor>;
  • 13. 13
  • 14. 14 Operadores en C Operadores Aritméticos Los operadores aritméticos toman los valores numéricos (literales o variables) como sus operando y devuelve un solo valor numérico. Operadores Relacionales Los operadores relacionales sonsímbolos que se usan para comparardos valores. Si el resultado de la comparación es correcto la expresión consideradaes verdadera, en caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es verdadera, se representa por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa, false.
  • 15. 15 Operadores Lógicos Los operadores lógicos producen un resultado booleano y sus operandos son también valores lógicos o asimilables a ellos (los valores numéricos sonasimilados a cierto o falso según su valor sea cero o distinto de cero). El operadorAND evalúa verdadero si se cumplen todas las condiciones. En cambio el operadorOR evalúa verdadero si se cumple al menos uno. El NOT porsu parte es un operador booleano que devuelve un valor TRUE (verdadero) si su operando es FALSE, y FALSE si su operando es TRUE. Operadores de Asignación
  • 16. 16 Estructura de un programa en C Un programa en C se compone de una estructura que ya fue definida por sus creadores. Esta estructura cuenta con componentes indispensables para el correcto funcionamiento de los programas. Si omitimos parte de estos componentes es muy probable que nuestros programas no funcionen como nosotros queremos. Directiva #include Como observamos en la figura anterior, en la parte superior encontramos #include. La directiva de preprocesador #include se usa en los lenguajes C y C++ para “incluir” las declaraciones de otro fichero en la compilación. #include <stdio.h> Es una directiva del preprocesador de C. Las líneas que comienzan con # son procesadas porel preprocesador antes de que el programa se compile. Esta línea en
  • 17. 17 particular indica al preprocesador que incluya en el programa el contenido del encabezado estándar de entrada/salida (stdio.h). Este encabezado contiene información que el compilador utiliza cuando compila las llamadas a las funciones de la biblioteca estándar de entrada/salida, como printf. Función main() La función main forma parte de todos los programas en C. Los paréntesis que aparecen después de main indican que main es un bloque de construcción de programas llamado función. Los programas en C contienen una o más funciones, una de las cuales debe ser main. Todo programa en C comienza su ejecución en la función main. Cada programa de C tiene una función principal que se debe llamar main. Si su código sigue el modelo de programación Unicode, puede utilizar la versión de carácter ancho de main, wmain. La función main sirve como punto de partida para la ejecución del programa. Normalmente, controla la ejecución del programa dirigiendo las llamadas a otras funciones del programa. Un programa deja de ejecutarse normalmente al final de main, aunque puede finalizar en otros puntos del programa por distintos motivos. A veces, quizás cuando se detecta un error, puede resultar conveniente forzar la finalización de un programa.
  • 18. 18 Arreglos en C Un arreglo es un tipo de dato estructurado que almacena en una sola variable un conjunto limitado de datos o elementos del mismo tipo. Asimismo, es un conjunto de localidades de memoria contiguas donde la dirección más baja corresponde al primer elemento y la dirección más alta al último. Por sí mismo, el nombre del arreglo apunta a la dirección del primer elemento del arreglo. Los datos se llaman elementos del arreglo y su posición se numera consecutivamente: 1, 2, 3…n. Un arreglo en lenguaje C inicia en la posición cero, por lo tanto el i-ésimo elemento está en la posición i- 1, es decir si el arreglo llamado a tiene n elementos, sus nombres son a[0], a[1], ..., a[n-1]. El tipo de elementos almacenados en el arreglo puede ser cualquier tipo de dato. Un arreglo se caracteriza por: 1. Ser una lista de un número finito de n elementos del mismo tipo. 2. Almacenar los elementos del arreglo en memoria contigua. 3. Tener un único nombre de variable que representa a todos los elementos y éstos se diferencian por un índice o subíndice. 4. Acceder de manera directa o aleatoria a los elementos individuales del arreglo, por el nombre del arreglo y el índice o subíndice.
  • 19. 19 Declaración de un arreglo en C Primeramente se indica el tipo de dato, luego el nombre de la variable y luego entre corchetes el tamaño del arreglo.
  • 20. 20 Arreglos Unidimensionales Un arreglo unidimensional es un conjunto de n elementos del mismo tipo almacenados en memoria continua en un vector o lista. Para acceder a cada elemento del arreglo se requiere de un solo índice o subíndice, el cual representa la posición en la que se encuentra. Declaración de un arreglo unidimensional Este arreglo contiene diez elementos almacenados entre la posición (0-9). Para referirnos a un elemento en particular dentro del arreglo, especificamos el nombre del arreglo y el número de posición donde se encuentra ubicado. La posición del arreglo va entre paréntesis cuadrados o corchetes (“[ ]”).
  • 22. 22 Arreglos Bidimensionales Un arreglo bidimensional es un conjunto de n elementos del mismo tipo almacenados en memoria contigua en una matriz o tabla. A diferencia de los arreglos unidimensionales que sólo requieren de un subíndice, los arreglos bidimensionales paraacceder a cada elemento del arreglo requieren de dos índices o subíndices declarados en dos pares de corchetes, donde el primer corchete se refiere al tamaño de filas y el segundo al tamaño de columnas.
  • 23. 23 Modificación de un elemento de una matriz Los elementos de una matriz se pueden modificar en cualquier momento, sólo es necesario especificar el nombre del arreglo bidimensional, la posición tanto de la fila como de la columna y el nuevo valor. En seguida se muestra la sintaxis a seguir:
  • 25. 25 Estructuras en C/C++ Concepto En la creación de soluciones para algunos problemas surge la necesidad de agrupar datos de diferente tipo o de manejar datos que serían muy difícil de describir en los tipos de datos primitivos, esta es la situación en la que debemos aprovecharnos de las características que hacen al lenguaje C especial, o sea el uso de estructuras, uniones y punteros. Una estructura contiene varios datos. La forma de definir una estructura es haciendo uso de la palabra clave struct.
  • 27. 27 En la imagen anterior podemos observar que "datos" es una instancia de "miEstructura" y no es necesario ponerla aquí. Se podríaomitir de la declaración de "miEstructura" y más tarde declararla usando: Como vemos, la instancia a la estructura está hecha desde el Main. Volvemos a utilizar la palabra reservada Struct, seguido del nombre de la estructura y luego el nombre de la nueva variable de tipo struct miEstructura.
  • 28. 28 Estructuras Anidadas Como podemos ver, primero se crea una estructura llamada infopersona. Después se crea otra estructura llamada empleado. Dentro de la estructura empleado se instancia a estructura infopersona. Al hacer esto posee sus propiedades y también las de infopersona; a esto conocemos como anidamiento de estructuras.
  • 29. 29 Manejo de Archivos en C Una pequeña referencia El estándar de C contiene varias funciones para la edición de ficheros, éstas están definidas en la cabecera stdio.h y por lo general empiezan con la letra f, haciendo referencia a file. Adicionalmente se agrega un tipo FILE, el cual se usará como apuntador a la información del fichero. La secuencia que usaremos para realizar operaciones será la siguiente:  Crear un apuntador del tipo FILE *  Abrir el archivo utilizando la función fopen y asignándole el resultado de la llamada a nuestro apuntador.  Hacer las diversas operaciones (lectura, escritura, etc).  Cerrar el archivo utilizando la función fclose. Algunas funciones para archivos en C fopen Esta función sirve para abrir y crear ficheros en disco. La sintaxis para abrir un archivo la podemos ver en la imagen.
  • 30. 30 Los parámetros de entrada de fopen son:  filename: una cadena que contiene un nombre de fichero válido. Opentype o tipo de forma en que se abre el archivo: especifica el tipo de fichero que se abrirá o se creará:  Una lista de parámetros opentype para la función fopen son:  "r”: abrir un archivo para lectura, el fichero debeexistir.  "w”: abrir un archivo para escritura, se crea si no existe o se sobreescribesi existe.  "a”: abrir un archivo para escritura al final del contenido, sino existe se crea.  "r+”: abrir un archivo para lectura y escritura, el fichero debeexistir.  "w+”: crear un archivo para lectura y escritura, se crea si no existe o se sobreescribesi existe.  "r+b o rb+”: Abre un archivo en modo binario para actualización (lectura y escritura).  "rb": Abre un archivo en modo binario para lectura.
  • 31. 31 Fclose Esta función sirve para poder cerrar un fichero que se ha abierto. Un ejemplo pequeño para abrir y cerrar el archivo llamado fichero.in en modo lectura: El ejemplo anterior crea un puntero de tipo FILE. Luego en el puntero almacena lo que retorna la función fopen. fopen por su parte, está abriendo el archivo “fichero.in”, y lo abre en modo lectura. Luego secompruebasiese fichero contiene algo o si está vacío. Siel fichero es igual a NULL, significa que el fichero no existe, y se manda a imprimir un mensaje de error. Por último se cierra el archivo utilizando la función fclose.
  • 32. 32 feof Esta función sirve para determinar si el cursor dentro del archivo encontró el final (end of file). Existe otra forma de verificar el final del archivo que es comparar el caracter que trae fgetc del archivo con el macro EOF declarado dentro de stdio.h, pero este método no ofrece la misma seguridad (en especial al tratar conlos archivos "binarios"). La función feof siempre devolverá cero (Falso) si no es encontrado EOF en el archivo, de lo contrario regresará un valor distinto de cero (Verdadero). Sintaxis de feof rewind Literalmente significa "rebobinar", sitúa el cursor de lectura/escritura al principio del archivo. Sintaxis de rewind
  • 33. 33 Lectura de Archivos Un archivo generalmente debe verse como un string (una cadena de caracteres) que está guardado en el disco duro. Para trabajar con los archivos existen diferentes formas y diferentes funciones. Funciones para leer archivos fgetc Esta función lee un carácter a la vez del archivo que está siendo señalado con el puntero *archivo. En caso de que la lectura sea exitosa devuelve el carácter leído y en caso de que no lo sea o de encontrar el final del archivo devuelve EOF. fgets Esta función estádiseñada para leer cadenas decaracteres. Leerá hasta n-1 caracteres o hasta que lea un cambio de línea 'n' o un final de archivo EOF. En este último caso, el carácter de cambio de línea 'n' también es leído. El primer parámetro buffer lo hemos llamado así porquees un puntero a un espacio de memoria del tipo char (podríamos usarun arreglo dechar). El segundo parámetro es tamaño que es el límite en cantidad de caracteres a leer para la función fgets. Y por último el puntero del archivo por supuesto que es la forma en que fgets sabrá a que archivo debe leer.
  • 34. 34 Nota: Este ejemplo no es de mi autoría.
  • 35. 35 fread Esta función lee un bloque de una "stream" de datos. Efectúa la lectura de un arreglo de elementos "count", cada uno de los cuales tiene un tamaño definido por "size". Luego los guarda en el bloque de memoria especificado por "ptr". El indicador de posición de la cadena de caracteres avanza hasta leer la totalidad de bytes. Si esto es exitoso la cantidad de bytes leídos es (size*count). fscanf La función fscanf funciona igual que scanf en cuanto a parámetros, pero la entrada se toma de un fichero en lugar del teclado.
  • 36. 36 Escritura Así como podemos leer datos desde un fichero, también se pueden crear y escribir ficheros conla información que deseamos almacenar, Para trabajar con los archivos existen diferentes formas y diferentes funciones. fputc Esta función escribe un carácter a la vez del archivo que está siendo señalado con el puntero *archivo. El valor de retorno es el carácter escrito, si la operación fue completada conéxito, en caso contrario será EOF. Fputs La función fputs escribe una cadena en un fichero. La ejecución de la misma no añade el carácter de retorno de línea ni el carácter nulo final. El valor de retorno es un número no negativo o EOF en caso de error. Los parámetros de entrada son la cadena a escribir y un puntero a la estructura FILE del fichero dondese realizará la escritura. fwrite Esta función está pensada para trabajar con registros de longitud constante y forma pareja con fread. Es capaz de escribir hacia un fichero uno o varios registros de la misma longitud almacenados a partir de una dirección de memoria determinada. El valor de retorno es el número de registros escritos, no el número de bytes. Los parámetros son:un puntero a la zona de memoria de donde se obtendrán los datos a escribir, el tamaño de cada registro, el número de registros a escribir y un puntero a la estructura FILE del fichero al que se hará la escritura.
  • 37. 37 Fprintf La función fprintf funciona igual que printf en cuanto a parámetros, pero la salida se dirige a un archivo en lugar de a la pantalla.
  • 38. 38 Funciones de E/S en C El lenguaje C no tiene palabras reservadas para la E/S estándar del sistema (teclado y pantalla). Estas operaciones se realizan mediante funciones de biblioteca que encontramos en el archivo de cabecerastdio.h (standard input-output header). La e/s con formato se realiza por medio de las funciones scanf() y printf. Las f de scanf() y de printf() significan “conformato”. Entrada de datos: función scanf () La función scanf() se usa para la entrada y nos permite leer (introducir) datos desde el teclado y asignarlos a variables de C, de acuerdo con el formato especificado. Sintaxis scanf(“cadena de control”, argumento1, argumento2…); La cadena de controlse encarga de hacer saber qué datos se almacenarán , es decir, qué tipos dedatos serán, en este caso, son%d para especificar que se trata de entero, luego %f para real y %c para carácter, los siguientes argumentos pertenecen a cada uno de los elementos de la cadena de control respectivamente.
  • 39. 39 Tipos de datos y formatos en lenguaje C
  • 40. 40 Salida de datos: función printf() La función printf() es similar a la función scanf(), pero seusa para la salida; permite escribir textos y datos en la pantalla con determinado formato. Sintaxis printf (“cadena de control”, argumento1,argumento2…); Ejemplo en código Esta función es similar a scanf, su diferencia radica en que este es para salida. Usa, al igual que scanf(), cadenas de control, donde se especifican los tipos de datos a imprimir. En los argumentos se especifican las variables a imprimir o los valores a imprimir cada uno correspondiente a los elementos de la cadena de control.
  • 41. 41 La cadena de controldebe escribirse entre comillas (“ ”) y puede tener al menos uno de los tres elementos siguientes:  Los caracteres que se imprimirán en pantalla (los cuales se visualizarán idénticos).  Secuencias de escape.  Uno o varios códigos de formato (indica de qué tipo de dato se trata); dichos códigos determinan cómo se verán en pantalla los argumentos. Secuencias de escape
  • 42. 42 Funcione en lenguaje C Definición: – Las funciones sonlos bloques de construcciónbásicos deC. Dentro de ellas se da toda la actividad del programa. Criterios para crearlas: – Se usa la estrategia de “Dividir y Vencerás”, en otras palabras, es realizar la partición de la tarea en subtareas más fáciles de abordar. Todo problema se puede resolver con funciones o sin ellas, pero su uso adecuado hace que el programa sea más eficiente, fácil de leer y probar. Ejemplo de función void : especifica el tipo de valor que devuelve la función. Si no se especifica tipo, el compilador asume que es entero (int), en este caso es void, por ende, la función no devuelve nada. Parámetros : es la lista de nombres de variables separados por comas con sus tipos asociados que reciben los valores de los argumentos actuales de la llamada a la función. Sentencia return La sentencia return es muy usada en las funciones, es indispensable en las funciones distintas a void, ya que estas retornan algún valor luego de su ejecución: return es usado para eso, para retornar valores. La palabra reservada return es la que permite que una función pueda devolver un valor al lugar de dondefue llamada.
  • 43. 43 Las funciones terminan su ejecución ya sea a través de la ejecución de la última instrucción o utilizando la sentencia return. Una función puede retornar valor sólo cuando el tipo de retorno no es void, como se ha explicado antes. Las funciones que son de tipos distintos de void pueden ser utilizadas como operando en otras expresiones del lenguaje. función main(); La función main() es la función principal y cuenta conlas características quecuentan otras funciones. La funcion main() puede recibir parámetros, puede retornar valores y puede llamar a otras funciones desde su interior. Cada programa de C tiene una función principal que se debe llamar main. La función main sirve como punto de partida para la ejecución del programa. Normalmente, controla la ejecución del programa dirigiendo las llamadas a otras funciones del programa. Un programa deja de ejecutarse normalmente al final de main, aunque puede finalizar en otros puntos delprograma pordistintos motivos. A veces, quizás cuando se detecta un error, puede resultar conveniente forzar la finalización de un programa. Scope de variables  Variables Locales:  Se declaran dentro de la función y sólo están disponibles durante su ejecución.  Se crean cuando se entra en ejecución una función y se destruyen cuando se termina.  Variables globales:  Se declaran fuera de las funciones. Pueden ser utilizadas portodas las funciones.  Existen durante toda la vida del programa. Las variables declaradas dentro de una función solo podrán ser usadas desde este ámbito, pero si las variables songlobales, es decir, están fuera de cualquier función, estas podrán ser utilizadas por cualquier función del programa.
  • 45. 45
  • 46. 46
  • 47. 47 Estructuras de control condicional Es una estructura con una sola entrada y una sola salida en la cual se realiza una acción (una o varias instrucciones) de entre varias, según una condición; o se realiza una acción según el cumplimiento o no de una determinada condición. La condición puede ser simple o compuesta. Los programas, para un mejor funcionamiento y para poder realizar un número mayor de tareas, deben permitir emplear acciones alternativas a fin de poder elegir una de ellas cuando la situación lo requiera. Por lo tanto, la ejecución de una línea o grupos de líneas del programa depende de si cumplen o no una condición. Toma de decisiones La instrucción si (if/else) nos permite tomar decisiones, podemos haceruna pregunta y la contestación sólo puede ser verdadera o falsa, es decir, sí o no. La expresión condicional La condición es una expresión booleana. Si el resultado de la expresión: • Es cero, se considera una condición falsa. • No es cero, se considera una condición cierta. Dentro del if debe haber una condición, que podráevaluarse verdadera o falsa. Si es verdadera se ejecutará lo que esté dentro del if, en caso contrario no lo hará y ejecutará el else. Anidamiento o escalonamiento si-si no-si (if-else-if) El concepto de anidamiento es muy utilizado en la programación y consiste en insertar (anidar) una estructura dentro de otra.
  • 48. 48 La expresión “si anidados” se refiere a que podemos utilizar una sentencia si (if ) dentro de otra sentencia si (if ). Esto se emplea cuando se tienen que cumplir varias condiciones para poderejecutar una acción. Uno de los aspectos más confusos de las sentencias si (if ) en el lenguaje de programación es el si (if ) anidado. Un si (if ) anidado es una sentencia si (if ) que es el objeto de otro si (if ) o sino (else). La razón por la que los si(if ) anidados sontan problemáticos es que resulta confuso saber qué else se asocia conqué si (if). Ejemplo de if/else En este caso la condición siempre es entorno a salario anual, si resulta falsa la primera condición del primer if, se sigue con las demás condiciones hasta que una se cumpla.
  • 49. 49
  • 50. 50 Estructura de control repetitiva o de iteración condicional La repetición de una acción (una o varias instrucciones) se lleva acabo mientras se cumpla cierta condición; para que la acción termine, la acción misma debemodificar la(s) variable(s) de controlque interviene(n) en la condición. Dicha condición puede estar predefinida como en el ciclo desde (for); o no predeterminada, como en los bucles mientras (while) y hacer-mientras (do_while). Bucles, ciclo o iteración. Es un segmento de un algoritmo o programa, cuya(s) instrucción(es) se repite(n) un número conocido o indefinido de veces mientras se cumpla una determinada condición. En cada vuelta del ciclo comprueba si la condición es verdadera, rompiéndoseel ciclo cuando es falsa. La condición en algún momento tiene que ser falsa ya que en caso contrario el bucle se hará infinito. Contadores y acumuladores Estas dos palabras se usan mucho en programación para referirse a variables que van incrementando o decrementando su valor a lo largo de la ejecución del algoritmo o programa. Normalmente serán de tipo numérico. Contador Un contador es una forma de controlar a un bucle. Es una variable cuyo valor se incrementa o decrementa en una cantidad constante cada vez que se produce un determinado suceso o acción en cadarepetición; dicha variable controla o determina la cantidad de veces que se repite un proceso o dato. Sintaxis:
  • 51. 51 Un for en acción Este for serepite de0 a 99, es decir 100 veces. Porcadaiteración seimprime el valor de i, el cual va a aumentando en uno porcada vuelta. Estructura de control repetitiva mientras (while) Al ejecutarse la instrucción mientras (while), se evaluará la expresión booleana suministrada en los paréntesis (condición), y si su valor es verdadero (distinto de cero) se realizará el ciclo o bucle (una o varias instrucciones). Después, la condición es reevaluada y se procede de la misma manera. Cuando la condición se vuelve falsa (es decir, cero), en la siguiente evaluación se dará por terminado el ciclo mientras (while). Do-While
  • 52. 52 Funciona de la mismo forma que un while con la única diferencia de que do-while ejecuta las instrucciones al menos una vez ya que evalúa la condición al final. Estructura de control repetitiva desde (for) El desde (for) es la estructura repetitiva más utilizada y simple de manejar, ya que repite un conjunto de instrucciones un número determinado de veces. Una de sus aplicaciones principales sonlos arreglos. En la instrucción for, primero se ejecutará la(s) inicialización(es), posteriormente se evaluará la condición y, en caso de ser verdadera (no ser cero), se ejecutará(n) la(s) instrucción(es) que compone(n) el ciclo.
  • 53. 53 Imprime los valores de i en cada vuelta.