No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Declaración de variables

12/16
Recursos

Aportes 47

Preguntas 8

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Los placeholders (%d) o marcadores de posición son etiquetas que le indican al compilador, lo que debe imprimir en el lugar donde se encuentra la etiqueta

Existen varios placeholders que podemos usar en C, para imprimir variables de diferentes tipos, incluso en un formato particular (Ej. imprimir un dato float con una cantidad definida de decimales). Comparto una tabla que contiene los placeholders más importantes. Espero les sirva

%d Se utiliza para representar una parte de la memoria como un número entero.

Placeholders usados en C

%c - a character

%s - a string

%d - a decimal integer

%o - an octal integer

%x - a hexadecimal integer

%p - an address (pointer)

%f - for floats

%e - a floating point number in scientific notation

%E - a floating point number in scientific notation

%% - The % symbol

VALORES ENTEROS:

  • int = 4 Bytes (-2147483648 to 2147483647)

  • unsigned int = 4 Bytes (0 to 4294967295)

  • short = 2 Bytes (-32768 to 32767)

  • unsigned short = 2 Bytes (0 to 65535)

  • long = 8 Bytes (-9223372036854775808 to 9223372036854775807)

  • unsigned long = 8 Bytes (0 to 18446744073709551615)

FLOTANTES:

  • float = 4 Bytes (1.2E-38 to 3.4E+38) 6 decimal places

  • double = 8 Bytes (2.3E-308 to 1.7E+308) 15 decimal places

  • long double = 10 Bytes (3.4E-4932 to 1.1E+4932) 19 decimal places

CARÁCTER:

  • char = 1 Byte (-128 to 127)

  • unsigned char = 1 Byte (0 to 255)

Un tip muy útil para saber hasta que numero puedo representar con determinado tipo de dato es aprendiéndose solo sus bytes. Sabemos que cada byte se compone de 8 bits y que con cada bit puedo representar 2 números (ei, con un bit puedo representar 0 y 1; con 2 bits puedo representar 0,1,2,3; etc). Dicho esto la fórmula se resume a 2^n, siendo n el número de bits. Así, por ejemplo, un unsigned char sería 2^8 siendo el resultado 256 valores que van desde el 0 al 255; un int al tener 4 bytes (que son 32 bits) sería 2^32 = 4,294,967,296 que si lo dividimos entre dos y consideramos el 0 nos da el valor que aparece en la pantalla

no siempre las variables se inician a 0, así que es bueno iniciarlas a 0 por si las dudas

Por fin entiendo el uso de variables

#include<stdio.h> //instruccion inclue librerias manejo de entradas y salidas estandares
//declaracion de variables Variables Declarations
 // extern int //cuando las vas ocupar en diferentes arichivos a lo largo de tu codigo
int a, b, c;

float f,g,h;


int main () //cfuncion principal donde la ejecuncion programa comienxa
{
  //inicializacion de variables Variable Initialization 
    a = 1;
    b = 34;
    c = a + b; 
    
    printf ("Value of sum is: %d" , c ); //%d registra el tipo de dato la variable y posicion donde vamos imprimir
    return 0; //finaliza programa
}```
#include <stdio.h>

//Variable Declarations
int a, b, c;

float f, g, h;

int main ()
{
    //Variable inicialization
    a = 1;
    b = 34;

    c = a + b;
    printf("Value of sum is: %d" , c);
    return 0;
}```

Declaración de variables

Cuando declaramos la variable, en realidad estamos reservando la memoria que nos permitirá guardar la información.
Cada variable tendrá su tipo y ese tipo nos dice cuanta memoria requiere para almacenar el dato.

Tenemos dos instancias importantes que debemos tomar en cuenta.

  1. Declaración de la variable: Reservamos la memoria y le damos nombre.
    Ejemplo:
//Variable declarations

int a, b, c;

  

float f, g, h;

Declaramos 6 variables

  1. Inicialización de variables: Le damos el valor que tendrá la variable.
    Ejemplo:
//Variable initialization

    a = 1;

    b = 34;

  

    c = a + b;

Le damos valor a nuestras variables enteras

Variable.
Espacio reservado en la memoria para almacenar información.
Cada variable tiene un tipo de dato que determina el tamaño & la estructura que se reserva en memoria.

tipoDato nombreVariable = valorVariable ;
char name = "Moises";
int year = 1994;

Donde escriba el tipo de la variable es donde lo va a imprimir.

<

Para aquellos que se quedaron con la duda de la función de “extern” aquí les paso un articulo en el cual se menciona su propósito, sus usos y se añaden algunos ejemplos prácticos.
https://www.geeksforgeeks.org/understanding-extern-keyword-in-c/

Para integrar los conocimientos de las primeras clases se podría haber declarado a las variables utilizadas en el último ejercicio (cuando el profe sumó 1 + 34) como de tipo ‘unsigned short’ en vez de ‘int’ 😛

En C, para declarar una variable, se debe especificar su tipo de datos y su nombre. Algunos tipos de datos disponibles en C son:

  • int: para enteros
  • float: para números con decimales
  • double: también para números con decimales, pero con mayor precisión que float
  • char: para caracteres
  • bool: para valores booleanos (verdadero o falso)

Por ejemplo, se pueden declarar variables de la siguiente manera:

int edad = 25;
float precio = 4.99;
double cantidad = 123456789.123456789;
char letra = 'a';
bool es_verdadero = true;

En este caso, se están declarando variables llamadas ‘edad’, ‘precio’, ‘cantidad’, ‘letra’ y ‘es_verdadero’, respectivamente, y se les está asignando un valor de tipo int, float, double, char y bool, respectivamente.

Es importante tener en cuenta que, en C, también se puede declarar una variable sin asignarle un valor inicial. En este caso, la variable contendrá un valor basura hasta que se le asigne un valor válido.
<\markdown>

Como es el scope en C?, lo investigare mas tarde, pero se me hace que las variables siempre que esten afuera de toda la funcion son globales no?

Mucho video para explicar muy poco prefiero los crash courses

Quise realizar una calculadora para velocidades cercanas a la velocidad de la luz desde un sistema de referencia externo, a grandes rasgos esto se obtiene mediante una operación “&” donde a&b=(a+b)/(1+a*b/c^2) donde “c” es la velocidad de la luz.
Bueno usé c=30 la idea es la misma, si opero valores menores o iguales a 30 obtengo valores menores o iguales a 30, y si al menos uno de los operandos es 30, obtengo 30… EL punto es que se me dificultó más de lo que esperaba, al final está el código funcional:

Fue necesario incluir math.h para utilizar sin problemas la función pow para hacer 30^2.
Me preocupe por hacer operacion por operacion, como a y b son enteros, c=a+b también lo es, d=a*b también lo es y e=pow(30,2) también lo es, el problema fue al definir f=d/e que por ser cociente de enteros es racional por lo que usé un float, igual para g=f+1 y para h =c/g.
Pero esto no es suficiente al darle print a f=d/e por mas de que f era un float me expresaba como resultado 0 como forzándolo a ser entero, revisando encontré eso de poner (float) previo al cociente para obtener un número decimal. Aún encima de todo eso fue necesario poner %f en el print para que el valor fuera una expresión decimal, sino simplemente me daba cero. No se quería contarles esa experiencia.

#include <stdio.h>
#include <math.h>

//Variable Declartions

int a, b, c, d, e;
float f, g, h;

int main()
{
    //Variable initialization
    a = 1;
    b = 30;
    //We want to calculate (a+b)/(1+a*b/30^2)
    c = (a+b);
    d = a*b;
    e = pow(30,2);
    f = (float)d/e;
    g = f+1;
    h = c/g;

    printf("Value of sum %f", h);
    return 0;
}
Estoy cursando este curso para refrescar cosas, mi pregunta es... cual es el curso que le sigue en c ?porque no he encontrado cursos de c de nivel intermedio o avanzado

Muy buena clase

Es importante mencionar que si no pones el placeholder o marcador de posición que corresponde, al momento de imprimir el resultado te va a devolver como decimos popularmente basura.

Desbordamiento de memoria. Excedimos el especios que teniamos asignados a los valores pocitivos y el número se fue a los valores de los numeros negativos.

Buena practica dejar espacios.

Inicialización de variables. Cuando les asignamos valores a nuestra variables.

Comando extern. Declarar variables cuando se van a ocupar en diferentes archivos a los largo del caodigo.

//Comentarios sencillo. En una sola linea. /* Comentarios en multiples lineas. */

Tambien las buenas practicas siempre dejar comentarios. Para que alguien más que lea el codigo sepa a que se refiere.

Recomendable buena practica, dejar variables inicializadas, excpeto cuando son auxiliares.

Las variables deben de empezar con una letra o con "_". Recomendable seguir estructura de camelCase o lowerCamelCase. Nunca declarar variables con un simbolo porque puede ser confuso. Se pueden declarar variables de un mismo tipo separadas por comas. Las variables pueden estar inicializadas o no. Es decir tener un valor de inicio.

Cuando se declaran variable afuera de la estructura del programa se llaman variables globales. Lo que signfica que pueden ser usadas o llamadas en toda la ejecuión del programa.

Variable: Nombre que le damos a un espacio recerbado en memoria, para almacenar información en nuestro programa. Cada variable tiene un tipo de dato.

Nice

nunca explico nada de lo que dijo de “mas adelante lo vemos”

  • Una variable es el nombre que se le va a dar en el espacio reservado de la memoria para poder almacenar la info del programa.
  • Cada variable va a tener un tipo específico, determinando el tamaño y estructura que se esta reservando en la memoria.
  • Se pueden declarar variables fuera del main.
  • Al programar se debe pensar cuál es el tipo de datos que mas va a servir, analizando los máximos datos que se pueden almacenar.
  • Se pueden declarar variables de un mismo tipo y se pueden separar por comas.
  • Se pueden inicializar variables en un valor o no:
    E.G: int minutos = 20;
    int minutos;
  • Respeta los espacios como el profesor lo hizo en el ejemplo, esto me estaba generando un error y perdí bastante tiempo buscándolo

Placeholders usados en C
%c - a character (caracter)
%s - a string (alfanumérico o cadena)
%d - a decimal integer (numero entero): Se utiliza para representar una parte de la memoria como un número entero.
%o - an octal integer (numero octal)
%x - a hexadecimal integer (numero hexadecimal)
%f - for floats (decimal)

y si le restan 1 al número mas pequeño -2.147.483.648 le da positivo (2.147.483.647 el máximo positivo)

Comando extern.

Comentario de una línea //.

Ejemplo de uso y manipulación de variables.

Gracias!

%i = integer tambien funciona en vez de %d.

Al inicializar una variable char, ¿es más recomendable hacerlo utilizando comillas simples o dobles?

Es que he visto que eventualmente dentro de comillas dobles podemos necesitar utilizar comillas simples y a lo mejor es buena práctica reservarlas.

Declaración e inicialización de variables de diferentes tipos.

Al la hora de programar es importante tener en cuenta el tamaño de las variables. Ya que si llegamos a usar una variable pequeña, el programa se puede desbordar.

Es el mismo espacio de memoria de un dato tipo int con respecto a unsigned int?

exelente video, aprendiendo los tipos de caracteres.

buen curso profe, motivacion al 100%

int i, j, k;
unsigned int minimumMinutes = 30;

char y = ‘y’;
unsigned char dailyWorkedHours = 0;

Buena practica el incializar variables a menos de que sean auxiliares como i, j, k