[Curso] Introducción a la programación en C (III)

Moderadores: Kravenbcn, largeroliker, fidelcastro, cerealkiller, pspCaracas, m0skit0, LnD, ka69, zacky06

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

[Curso] Introducción a la programación en C (III)

Mensaje por m0skit0 »

<< Anterior Siguiente >>

¡Coño! Ya voy por el 3 (III para los italianos). Recordad que debéis recitar la misa vista en el capítulo II. Aquellos que se acaben de incorporar, plis vayan y recítenla o Stallman les... (CENSURADO).

Las variables

Bien, ahora vamos a introducir las variables. Para que entendamos el concepto, voy a poner un ejemplo muy sencillo: imaginemos que tenemos cajas que usamos para guardar objetos. Pero estas cajas tienen formas extrañas que sólo nos permiten guardar un cierto tipo de objetos. Hay cajas para zapatos, cajas para botellas, cajas para mosquitos, etc... Pues bueno, estas cajas son las variables, y guardan datos: números, palabras, etc... Se llaman variables porque se puede cambiar el objeto que llevan dentro, pero siempre que sea del mismo tipo.

Por ejemplo, el siguiente código:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int edad_pedrito = 5;
  int edad_josito = 12;
   
  printf("Edad de Pedro: %d\n", edad_pedrito);
  printf("Edad de Jose: %d\n", edad_josito);

  getch();
  return 0;
}


Código: Seleccionar todo

int edad_pedrito = 5;

Definimos una variable de tipo int con el nombre edad_pedrito, número entero, y le asignamos un valor de 5.

Código: Seleccionar todo

int edad_josito = 12;

Aquí otra variable de tipo número entero (int) con nombre edad_josito, y le asignamos el valor 12.

Código: Seleccionar todo

printf("Edad de Pedro: %d\n", edad_pedrito);

Como ya sabemos de la clase II, printf() imprime en pantalla. Pero aquí veréis que nos imprime el valor de la variable edad_pedrito. Podéis probar a cambiar el valor de la variables (cambiáis el 5 por otro número) y veréis cómo cambia lo que se escribe por pantalla. Veis que hay una frase entre dos comillas dobles ("Edad de Pedro: %d\n"), luego una coma, y una variable. De hecho, pueden aparecer varias variables. Por ejemplo:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  int edad_pedrito = 5;
  int edad_josito = 12;
   
  printf("Edad de Pedro y Jose: %d y %d\n", edad_pedrito, edad_josito);

  getch();
  return 0;
}

Aquí veréis que ambas edades aparecen en el mismo printf(). Se colocan todas las variables que queramos mostrar en pantalla separadas por comas tras la frase. Luego en la frase ponemos % seguido de un carácter de tipo (d para int por ahora, es decir, %d). Cada % corresponde en orden con la lista de variables. En todo caso, no os comáis mucho la cabeza con esto :lol:

Código: Seleccionar todo

getch();

Espera la pulsación de una tecla.

Otro ejemplo:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  float nota_teorico = 5.0;
  float nota_practico = 2.0;
   
  printf("Nota del examen teorico: %f\n", nota_teorico);
  printf("Nota del examen practico: %f\n", nota_practico);

  getch();
  return 0;
}


Ahora hemos declarado variables del tipo float, es decir, números decimales o reales (con coma):

Código: Seleccionar todo

float nota_teorico = 5.0;
float nota practico = 2.0;


Y como veréis, en printf() ya no usamos %d sino %f, porque las variables son float y no int.

Otro ejemplo más, esta vez con cadenas de caracteres:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  char* nombre_alumno = "Pedro De La Rosa";
  char* nombre_profesor = "Dark Sasuke";
   
  printf("Nombre del profesor: %s\n", nombre_profesor);
  printf("Nombre del mal alumno: %s\n", nombre_alumno);

  getch();
  return 0;
}


Ahora usamos el tipo de datos char* y por ello mismo hemos cambiado %f por %s en los printf().

Es importante resaltar que los nombres de las variables no pueden llevar espacios, ni empezar por un número. Sólo pueden estar compuestos por letras, números y el carácter guión bajo (_). Si no nos atenemos a estas reglas, el compilador nos dará un error, indicando la línea del error. Podéis probarlo.

Y como ejercicio, os dejo que me hagáis un programilla que, vistos estos ejemplos, imprima:

(Nombre del alumno) obtuvo una nota de (Nota teórico) en el examen del día (Fecha del teórico)

Naturalmente sustituyendo lo que va entre paréntesis por las variables que correspondan. Pista: la fecha es como el nombre.

Ahí os dejo hasta la próxima :geek:

EL PDF de esta lección para descargar (gracias a Kracker :oki: ):
leccion III_C.rar


<< Anterior Siguiente >>
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Imagen

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3379
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

Re: [Curso] Introducción a la programación en C (III)

Mensaje por dark_sasuke »

gracias profe :)

edito: ya he terminado mi tarea.....como me la revisa profe? XDDD
Imagen

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (III)

Mensaje por m0skit0 »

Posteála :)
Imagen

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

Re: [Curso] Introducción a la programación en C (III)

Mensaje por arisma »

Código: Seleccionar todo

#include <stdio.h>

int main()
{

        char* nombreAlumno = "Pedro de la Rosa";
        char* fechaExamen = "9 de octubre de 2009";
        float notaExamen = 5.0;

        printf("%s obtuvo una nota de %.2f en el examen del dia %s\n",nombreAlumno, notaExamen, fechaExamen);

        return 0;
}


No he puesto el getch() ya que como compilo y ejecuto desde linea de comandos no es necesario. Si prefieres que lo modifique me lo dices ;)

Un saludo.
Última edición por arisma el 09 Oct 2009, 16:52, editado 1 vez en total.

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (III)

Mensaje por m0skit0 »

Perfecto nen, pero el tuyo no vale que ya sabes xDDD
Imagen

arisma
Habitual
Habitual
Mensajes: 497
Registrado: 18 Sep 2009, 08:41

Re: [Curso] Introducción a la programación en C (III)

Mensaje por arisma »

m0skit0 escribió:Perfecto nen, pero el tuyo no vale que ya sabes xDDD


Que va :( hace mucho que no le doy al C y tampoco le di en serio. Tengo muchos "vicios", poco a poco iré mejorando y si enseñas luego algo de consolas estupendo.

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3379
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

Re: [Curso] Introducción a la programación en C (III)

Mensaje por dark_sasuke »

profe posteo el codigo fuente o posteo el ejecutable?...bueno no se si se llame ejecutable pero lo que me manda el compilador XDD
Imagen

Avatar de Usuario
driKton
Moderador
Moderador
Mensajes: 1099
Registrado: 04 Sep 2009, 14:30
PSN ID: DarkCarlx10
Steam ID: drikton
Twitter: driKton
Ubicación: Santa Cruz de Tenerife
Contactar:

Re: [Curso] Introducción a la programación en C (III)

Mensaje por driKton »

Ahí va profe :roll:

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int arcg, char *argv[])
{
    char* nombrealumno = "DarkCarlx";
    float nota_teorico = 7.6;
    char* fecha_examen = "3 de Julio de 2050";
   
    printf("El Alumno %s obtuvo una nota de %f en el examen del dia %s",nombrealumno, nota_teorico, fecha_examen);
   
    getch();
    return 0;
   
}     
Imagen

Avatar de Usuario
dark_sasuke
Moderador Global
Moderador Global
Mensajes: 3379
Registrado: 03 Sep 2009, 02:13
Twitter: D4rkyt0

Re: [Curso] Introducción a la programación en C (III)

Mensaje por dark_sasuke »

bueno pues ya que todos pegaron el codigo fuente...yo tambien lo hago XD

Código: Seleccionar todo

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  char* nombre_alumno = "dark_sasuke";
  char* fecha_examen = "08/10/2009";
  int  nota_alumno = 10;
 
  printf("el nombre del alumno es :%s\n", nombre_alumno);
  printf("obtuvo la siguiente calificacion en el teorico :%d\n", nota_alumno);
  printf("el dia del teorico fue :%s\n", fecha_examen);
 
 return 0;
}
Imagen

Avatar de Usuario
m0skit0
Administrador
Administrador
Mensajes: 5585
Registrado: 03 Sep 2009, 09:35
Ubicación: 0xdeadbeef

Re: [Curso] Introducción a la programación en C (III)

Mensaje por m0skit0 »

Buena dark_sasuke. Tampoco es tan difícil, ¿no? Veo que tu paso de Pascal a C va sobre 4 ruedas ;)
Imagen

Responder