Skip to content

Instantly share code, notes, and snippets.

@mesaglio
Last active April 24, 2020 20:19
Show Gist options
  • Save mesaglio/66ab877ab19c5f6ac813740e15b33355 to your computer and use it in GitHub Desktop.
Save mesaglio/66ab877ab19c5f6ac813740e15b33355 to your computer and use it in GitHub Desktop.
C-Practice

Practica de C

Introduccion a tipos de datos

Contenido

  1. Tipos de datos simples
  2. Tipos de datos compuestos
  3. Variables
  4. Punteros
  5. Operadores(Capaz no)
  6. Funciones
  7. Memoria
  8. Archivos
  9. Serializacion
  10. Estructura de un proyecto en c

1. Tipos de datos simples

Contamos con 5 tipos de datos basicos.

Estos son:

  • char, son los caracteres. Como por ejemplo 'c'.
  • int, son numeros positivos y negativos. Sus respectivos valores maximos son 2147483647 y -2147483648.
  • long, tambien son numeros positivos y negativos como los int, pero de mayor tamaño. [-9223372036854775808;9223372036854775807]
  • float, numeros positivos y negativos con coma. Como el 3.14159
  • void, tipo nulo o vacio.
  • los booleanos true y false, estan representados por 1 y 0 respectivamente.

Ejercicio:

{"Informacion","Nombre de la variable"}

Queremos guardar la siguiente informacion en las distintas variables:

  • {"Saldo de una cuenta bancaria, como maximo los clientes pueden tener 20000","saldoBanco"}
  • {"Cantidad de alumnos en el aula", "cantidadDeAlumnos"}
  • {"Primer letra de tu nombre","inicial"}

2. Tipos de datos compuestos

Ademas, contamos con tipos de datos compuestos.

  • Estructuras
  • Arrays
  • Enums

Los enums son tipos de datos enumerables. La asignacion de los numeros arranca desde 0 de izquierda a derecha en la definicion. Salvo que se desee cambiar el valor de inicio del enum. AL momento de definirlo se hace de la siguiente manera:

    enum nombreDelEnum {nombreDeLosEnums}

Por ejemplo, queremos definir los meses del año y los dias de semana.

    enum meses {ENERO,FEBRERO,MARZO,ABRIL,MAYO,JUNIO,JULIO,AGOSTO,SEPTIEMBRE,OCTUBRE,NOVIEMBRE,DICIEMBRE};
    enum dias {LUNES,MARTES,MIERCOLES,JUEVES,VIERNES,SABADO,DOMINGO};

En este ejemplo ENERO y LUNES tienen el valor 0, FEBRERO y MARTES el 1, ... Esto sirve mucho para que el codigo quede mas Las estructuras pueden tener cualquier tipo de dato adentro. Se definen de la siguiente manera:

    struct NombreDeLaEstructura{
        tipoDeDato nombreDelAtributo;
    };

Queremos definir a una persona que tiene

    struct Persona{
        char* nombre;
        char* apellido;
        int edad;

    };

3. Variables

Las variables pueden ser globales o locales.

Las variables globales estan definidas entes del main y pueden ser utilizadas en cualquier funcion. Al cambiar su valor, quien vuelva a utilizarla tendra el ultimo valor asignado.

Las variables locales, estan definidas dentro de cualquier funcion. Al salir de la funcion dichas variables son eliminadas/perdida. Salvo que sean retornadas ejemplo.

Ejemplo:

int anio = 2019; //Variable global
int main(){
    printf("Anio original: %d",anio);
    sumarAnioGlobal();
    printf("Anio siguiente: %d",anio);
    return 0;
}
void sumarAnioGlobal(){
    anio = anio+1;
}

En este ejemplo vemos que la variable anio es global y es accedida en la funcion sumarAnio. Tambien vemos que actualiza su valor.

int main(){
    int anio = 2019;

}
void sumarAnioA(int anio){
    int anio + 1;
    printf(anio);
}

5. Operadores

Veremos distintos tipos de operadores. Entre los cuales tenemos:

  • Aritmeticos
    • + : suma.
    • - : resta.
    • ++ : incremento en 1.
    • -- : decremento en 1.
    • * : multiplicador.
    • / : division.
    • % : resto.
  • Relacionales
    • == : chequea que sean iguales.
    • != : chequea que sean distintos.
    • > : chequea que el valor a izquierda sea mayor que el de la derecha.
    • >= : chequea que el valor a izquierda sea mayor o igual que el de la derecha.
    • < : chequea que el valor a izquierda sea menor que el de la derecha.
    • <= : chequea que el valor a izquierda sea menor o igual que el de la derecha.
  • Lógicos
    • && : corresponde al operador logico and
    • || : corresponde al operador logico or
    • ! : corresponde al operador logico not
@mesaglio
Copy link
Author

Introduccion a conceptos mediante ejercicios con textos

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment