Manual de c

28
MANUAL C/C++ Ing. Elsner González. DESCRIPCIÓN BREVE Manual básico sobre c/c++ para el conocimiento de nuevos pre saberes en la universidad. Oscar González Ingeniería en sistemas de información

Transcript of Manual de c

Page 1: Manual de c

manual c/c++

Ing. Elsner González.

DESCRIPCIÓN BREVEManual básico sobre c/c++ para el conocimiento de nuevos pre saberes en la universidad.

Oscar GonzálezIngeniería en sistemas de información

Page 2: Manual de c

1

Tabla de contenido

Contenido.......................................................................................................................................0

Tabla de contenido............................................................................................................1

Declaración de variables....................................................................................................2

Palabras reservadas............................................................................................................3

El uso de arreglos en c/c++...............................................................................................4

Arreglos unidimensionales:...........................................................................................4

Arreglos bidimensionales..............................................................................................4

Código ASCII....................................................................................................................6

Estructuras.........................................................................................................................6

Funciones de Bibliotecas...................................................................................................7

Tabla de referencia rápida:............................................................................................7

Tabla octal, decimal, hexadecimal y binario.................................................................8

Operadores de asignación en c.......................................................................................8

Ficheros en c..................................................................................................................8

Llenar un arreglo de estructuras.....................................................................................9

Resolucion de problemas en “c”....................................................................................9

Problemas resueltos en clases......................................................................................11

Las funciones...............................................................................................................12

Ciclos, iteraciones o bucles (sentencias de control)....................................................13

Page 3: Manual de c

2

Declaración de variables.¿Qué es una variable?

Es una posición de memoria con nombre que se usa para mantener un valor que puede ser modificado en el programa. Todas las variables deben ser declaradas antes de

usarlas. Una variable puede ser fija o constante con la sintaxis const tipo identificador= valor (por ejemplo const int a=10)

Tipos…existen cinco tipos básicos: entero, carácter, coma flotante de doble precisión y void.

Longitudes aproximadas en bits

Tipo Tamaño en bits Rango Char 8 -127 a 127

Unsigned char 8 0 a 255Signed char 8 -127 a 127

Int 16 -32767 a 32767Unsigned int 16 0 a 65535

Signed int 16 -32767 a 32767Shor int 16 -32767 a 32767

Unsigned short int 16 0 a 65535Signed short int 16 -32767 a 32767

Long int 32 -2147483647 a 2147483647Signed long int 32 -2147483647 a 2147483647

Unsigned long int 32 0 a 4294967295Float 32 Seis dígitos de precisión

Page 4: Manual de c

3

double 64 Diez dígitos de precisión Long double 64 Diez dígitos de precisión

Aquí hay algunos ejemplos de declaración de variables de tipo float, int, bool,char,double.

Para que puedas mandar a imprimir un rótulo o un mensaje en c++ debes establecer el siguiente mensaje cout<<la variable o el mensaje entre comillas<< endl; se debe aclarar al final de la impresión que hay un final de línea y no olvidarte de del punto y coma (;)

Palabras reservadas.palabra Su función palabra Su funciónAuto double Flotante de 10 números de

precisión después del puntoint Para declarar variable

enterastruct Colección de variables.

Break Al final del si o sino para que termine de buscar.

else El sino del si

Long Permite más espacios. caze En caso de bifurcacionesSwitch Para un sí, sino. Register Para variables locales y

argumentos de funciones.Enum typedefChar Para declarar un carácter externReturn Variable que retorna un

valor.union Una posición compartida por

una o más variablesconst Expresiones con un

significado invariablefloat Variable flotante o decimal

Short Flotante corto. Unsigned

No permite signos

Continue For Utilizado en repetir (bucles)Signed Variable permite signos void Sin tipo (uso especial).default La opción que no se

encuentra en el switchgoto

sizeof Para medir el tamaño de las variables

volatile

Page 5: Manual de c

4

El uso de arreglos en c/c++Arreglos unidimensionales:Para declarar un arreglo en c/c++ se debe establecer primero el tipo de variable más la cantidad de datos que va a guardar. Si la cantidad de datos que va a guardar es n cantidad, en esta se establecerán n+1 posiciones porque se comienza a contar desde la posición 0 y no desde la posición 1, lo que indica que siempre vamos a tener una posición más de para un tipo de arreglo de n cantidades.

En la siguiente captura se muestra un ejemplo de cómo se declara en arreglo de tipo entero.

aquí vemos como declaramos e inicializamos un arreglo, unidimensional. Cabe mencionar que si un arreglo es de tipo de dato entero, en todas sus posiciones se debe inicializar datos entero, de otro modo si pones un carácter en vez de un entero, este se va a convertir a un tipo de dato entero al

momeno de correr el programa como lo muestra el siguiente ejemplo.

Como se fijan en esta lamina, hemos declarado dentro del arreglo de tipo entero, un carácter.

Si hago una operación con este tipo de dato, será convertido en un entero lo que significa que “n” va a valer 110 a como vale en el código ASCII y fácilmente pueden realizarse operaciones con el

“numero” n.

aquí se puede apreciar como se pudo realizar una operación aritmetica (suma) con el carater n + la posicion 2 del arreglo (queda claro que n en esta en la posicion 0 y equivale a 110 en el codigo ASCII).

Arreglos bidimensionalesEn esta ocasión el arreglo será bidimensional, se declara de la misma manera pero con algunas diferencias y con la siguiente estructura. Cabe tener en cuenta que, este, al igual que los unidimensionales pueden ser tanto caracteres como enteros o flotantes.

Veamos el siguiente ejemplo:

Page 6: Manual de c

5

“arreglobi”, es una variable de tipo entero para un arreglo bidimensional

En el arreglo se le dan las dimensiones, en donde “2” es la cantidad de filas y “3” la cantidad de columnas.

Para darle valor a una variable, se debe inicializar en la fila “0” y en la columna “0”

Si es un arreglo de 2x3 este guardara 6 posiciones es decir que se multiplican la cantidad de filas por columnas.

Al igual que los demás arreglos, un arreglo bidimensional, también puede realizar operaciones aritméticas.

Veamos el siguiente ejemplo

(Apoyado de la imagen anterior) vemos que vamos a sumar la posición de la fila 0 y la columna 4 mas la posición de la fila 0 y la columna 1. Si vemos imagen anterior, estas posiciones corresponden a: 2 y 20 a lo cual lleva la suma de 22.

Si podemos observar la operación aritmética da el resultado esperado.

Page 7: Manual de c

6

Código ASCII.

Estructuras Una estructura se declara en c/c++ mediante la decalaracion de una variable de tipo estructura, fuera del main o modulo principal. Cada estructura debe tener la siguiente organización:

Primero definimos una variable de tipo estructura. Abrimos corchete y declaramos dentro del, una serie de variables que posteriormente vamos a ocupar.Cerramos corchetes y le asignamos un nombre a esa estructura para que después podamos llamar a esas variables en el main.

Aquí en main ya podemos leer las variables declaradas anteriormente.

Page 8: Manual de c

7

“Nombre” es un miembro de una estructura que se va a leer.

“Empleados” es la estructura a la que vamos a solicitar un miembro.

Funciones de BibliotecasTabla de referencia rápida:Función Valores

isalnum (A - Z o a - z) o (0 - 9)

isalpha (A - Z o a - z)

isascii 0 - 127 (0x00-0x7F)

iscntrl (0x7F o 0x00-0x1F)

isdigit (0 - 9)

isgraph Imprimibles menos ' '

islower (a - z)

isprint Imprimibles incluido ' '

ispunct Signos de puntuación

isspace

espacio, tab, retorno de línea, cambio de

línea, tab vertical, salto de página (0x09

a 0x0D, 0x20).

isupper (A-Z)

isxdigit (0 to 9, A to F, a to f)

Funciones

tolower toupper

Macros

isalnum isalpha isascii iscntrl

isdigit isgraph islower isprint

ispunct isspace isupper isxdigit

toascii

Page 9: Manual de c

8

Tabla octal, decimal, hexadecimal y binario

Operadores de asignación en c

Ficheros en c

Page 10: Manual de c

9

Llenar un arreglo de estructuras

Llenadas este arreglo de estructuras con una sentencia de control, “for”.

El sumador se utiliza para llenar cada persona en un arreglo de estructura.

Resolucion de problemas en “c”Problema Posible soluciónNo puedo declarar e inicializar una variable al mismo tiempo.

Debe ser porque está en un arreglo de estructuras.En algunas computadoras no se puede en la sentencia de control for.

Page 11: Manual de c

10

Al hacer que abra el archivo y me muestre un arreglo de estructura, me aparece 1 de más o duplicado

Pueda que al mandar a imprimir uses este ejemplo

Se pone fread antes de vaciar el archivo y al momento de hacerlo

Porque mi proyecto deja de funcionar

Posiblemente haga falta un anspersan al momento de leer una variable o el porcentaje con su respectiva asignación (%d, %f, %s).Al momento de mandar a imprimir no se pone anspersan y pero si el porcentaje.

Mi proyecto no arranca Hay muchos errores que pueden ser, pero los más comunes son:1- Falta punto y coma.2- Una variable puede estar mal escrita y el compilador no la reconoce.3- Posiblemente hayas declarado una variable 2 veces.4- Si es una sentencia de control, verifica las llaves y no pongas punto y coma al

comienzo de la iteración (;). Solo se puede hacer el final del do-while, sin embargo debe llevar también las llaves de apertura y cierre. ( } { ).

5- No has declarado una variable.6- Los parámetros en las funciones no son válidos.7- Una variable está capturando un parámetro y está declarado de otro.

Me sale numero o cadenas basura en pantalla

No has inicializado la variable.Tu variable tomo un parámetro de la que no está declarada.Una variable esta en conflicto con otra.

No se inicia el for o el compilador lo salta

En algunas máquinas no se puede inicializar y declara una variable dentro de un for.Pusiste punto y coma ( ; ) al inicio de la iteración en vez de llaves ( } { ).

Page 12: Manual de c

11

Problemas resueltos en clases

Practica evaluada

Lo que hace el ejercicio anterior es, recopilar los datos guardarlos en un archivo y luego mandarlos a imprimir desde el.

Page 13: Manual de c

12

Las funcionesLas funciones en el lenguaje c permiten que la programación sea más fácil y que podamos resolver un gran problema mediante el “Divide y vencerás”.

Para declarar una función se requiere de la siguiente estructura

Tipo de función_nombre de la función (parámetros de la función)

{

Declaración de variables

}

Aquí se muestra un ejemplo de una función que no devuelve ningún valor.

Hay funciones que pueden retornar algún valor. En la siguiente imagen se muestra la misma función con parámetros.

Esta función tiene como parámetros un archivo de tipo FILE que se puede usar en esa función. Si en otro función queremos usar el mismo archivo, entre los paréntesis de la función ponemos lo que está en el ejemplo. Significa que el archivo que se está usando en esta función también puede ser

usado en otras funciones tomando como referencia el puntero de esa función a la que pertenece.

Page 14: Manual de c

13

Ciclos, iteraciones o bucles (sentencias de control)

Un ciclo o iteración es una repetición de una acción en un proceso. En programación, por lo general se le conoce como bucle. En un bucle se le puede decir al programa que haga tal cosa hasta que suceda lo contrario.

Hay varios tipos de bucles, en c se conocen 3 y 3 iteraciones

1. For: es el ciclo por excelencia, una manera de decirle a un programa que repita algo comenzando de un valor hasta llegar al otro con pos incremento. Mientras está llegando a ese valor, el bucle puede hacer una serie de pasos u operaciones.

2. While: indica que un proceso se tiene que repetir hasta que algo sea verdadero, mientras no sea así, este va a seguir recorriendo por el mismo punto.

3. Do-while: muy parecido al for. Un bucle que puede controlar el flujo de un algoritmo. Su función es similar, le dices que haga algo hasta que se cumpla verdadero, esta iteración puede, al menos una vez realizar un proceso.

4. Switch: este no es un bucle pero ayuda mucho al momento de elegir varios “caminos”, es decir, lee una opción mediante una variable y luego puedes elegir qué hacer con ella. Esta es muy usada en los menús, porque según la opción, va a realizar un proceso.

5. If: en el if, se le dice al programa que si esto esto es igual a esto, así como comparar 2 variables. Muy usada para el logeo, al momento de comparar las contraseñas. Esta iteración define si algo se va a realizar o no.

6. If-else: igual que el anterior solo que estaba vez sino se cumple una cosa automáticamente se hace otra.

Veamos algunos ejemplos de bucles

Bucle for

Page 15: Manual de c

14

Bucle while

Bucle do-while

Page 16: Manual de c

15

Switch

If

If- else

Page 17: Manual de c

16

Page 18: Manual de c

17

Impresión y guardado en archivos de c.Los ficheros o archivos en c, sirven para que puedas almacenar la información, ya sea de estructuras o de una variable en específica. En los archivos no se puede hacer operaciones aritméticas, pues, si ya se sabe, dentro de cada archivo guardado en texto plano o archivo binario, existen dentro de ellos símbolos especiales que son de difícil lectura. Para poder usar las variables guardadas en ficheros, se debe sustraer primero la información, editarla y luego volverla a guardar.

A continuación mostraremos como guardar, imprimir, editar y borrar desde un archivo que guarda un arreglo de estructuras.

Crear un archivo c para su posterior uso

Primero declaramos un puntero de tipo “FILE”, quien tendrá la dirección de un archivo al que nombraremos después, cuando abramos el puntero y ultimo, como lo abrimos, es decir la manera en la que se va a ejecutar el puntero (en este caso w)

Page 19: Manual de c

18

Guardar un arreglo de estructura

Primero abrimos el archivo y verificamos que en realidad lo haya hecho, si es asi primero, pedimos todos los datos y luego seguimos esa estructura para guardar.

Page 20: Manual de c

19

Como buscar en un archivo

aquí se compara una variable del mismo tipo de identificador a la que vamos a buscar, si la variable es encontrada, entonces muestra todo lo que existe en esa estructura, sino es asi, se le imprime al usuario que no lo encontró.

Page 21: Manual de c

20

Como borrar desde un archivo

Cuando se va a eliminar desde un archivo, primero se pide una variable para compararla con un registro, luego, ese registro queda en blanco y asi se pueda volver a sustituir.

Mandar a modificar desde un archivo

Page 22: Manual de c

21

Mandar a imprimir desde un archivo

Page 23: Manual de c

22

Una de las opciones más fáciles, es similar a la de mandar a guardar a un archivo, solo que esta vez la con la condición de que mientras no sea el final del archivo, mandar a imprimir todo lo que hay en él. Esto se puede hacer gracias a que existe una función llamada fread, que es como fwrite, pero está en vez de guardar, manda a imprimir.

Page 24: Manual de c

23

Conclusión

La programación es la base fundamental de todo ingeniero en sistemas y esto quiere decir que no nos vamos a acostumbrar a que todos los proyectos que hagamos sean compilados sin errores desde el primer intento, esto es normal, lo que no es tolerable es, darse por vencido al primer intento y pensar que no se puede hacer, debemos ser insistentes y sabes que en la vida de un programador siempre habrán fallos.

La programación en el lenguaje C es muy bonita y útil, pues, la mayoría de los lenguajes son hechos a partir de este.

Quiero opinar que personalmente me gusto trabajar con el IDE code::block y que el lenguaje C es bastante fácil de aprender, bueno, al menos las cosas básicas. Considero necesario buscar más información para futuros propósitos, aparte de que también me gustaría conocer más de las 5 funciones básicas (crear, llenar, ver, buscar, modificar y eliminar desde un archivo) que de alguna u otra manera me han servido de mucho en el conocimiento de la clase.

Agradezco al profesor Elsner González, por haber sido un buen profesor y enseñarnos de manera adecuada y entendible, además de ser razonable con los alumnos.