«

»

Ago 09 2009

Imprimir esta Entrada

Programacion en C (II)

El primer paso para poder crear un programa en “C” es un compilador, como ya sabréis un compilador es el programa que se encarga de pasar de líneas de comandos a códigos binarios. Hay bastantes compiladores por la red, yo utilizo el “C++ Builder 6” pero cada uno es libre de utilizar el que quiera.

Una vez abierto nuestro compilador nos aparecerá la posibilidad de empezar a programar en C o en otro tipo de lenguaje (por ejemplo “C++ Builder 6” nos deja escribir en diferentes lenguajes)

Lo primero que debemos saber es que toda programación en C tiene que tener un inicio de directorios a los que se hace referencia, esto es, son accesos a directorios en los que se encuentran parte de los comandos que se van a utilizar.

Al principio utilizaremos solamente el “#include ” que son los comandos mas sesillos y los primeros que utilizaremos.

Estructura de un programa

La estructuración de un programa en C se hace a partir de funciones que se llaman unas a otras, se hacen de la siguiente manera:


tipo nombre (parámetros)
	{
	sentencias;
	}

  • Tipo: el valor que devuelve la función
  • Nombre de la función
  • Parámetros: de entrada de la función
  • Además hay una función que ha de existir siempre, que es la función main(), un ejemplo de algo de programación es esto:

    
    #include 
    
    main()
    	{
    		int suma(int x, int y)
    		{
    		return(x+y)
    		}
    	}
    

    Tipos de variables

    Entero

    Variable que toma un valor de entero con signo definible con 16 o 32 Bit

  • Int variable; (16 Bit)
  • Short int variable; (16 Bit)
  • Long int variable; (32 Bit)

  • Si se quiere dedicar todos los Bit al valor y ninguno al signo se utiliza el tipo unsigned

    Real

    Variable que toma un valor real en coma flotante con signo definible con 32 o 64 Bits

  • float variable; (32 Bit)
  • double variable; (64 Bit)
  • Caracter

    Variable que toma valor definible con 8 Bits que corresponde a un carácter ASCII

  • Char Variable (8 Bits)
  • Lógica

    Variable que toma un valor binario TRUE o FALSE

  • Bool Variable;
  • Aquí tenéis todas en tabla

    Tipo de Dato Espacio de Memoria Rango
    unsigned char 8 bits 0 a 255
    char 8 bits -128 a 127
    short int 16 bits 16 bits -32,768 a 32,767
    unsigned int 32 bits 0 a 4,294,967,295
    int 32 bits -2,147,483,648 a 2,147,483,647
    unsigned long 32 bits 0 a 4,294,967,295
    enum 16 bits -2,147,483,648 a 2,147,483,647
    long 32 bits -2,147,483,648 a 2,147,483,647
    float 32 bits 3.4×10-38 a 3.4×1038
    double 64 bits 1.7×10-308 a 1.7×10+308
    long double 80 bits 3.4×10-4932 a 1.1×10+4932
    void sin valor

    Estas son muchas de las variables que se pueden llegar a utilizar en programación “C” (existen muchas más), no utilizaremos todas, al menos en el curso.

    Operadores

  • Matemáticos: +, -, *, /, %(resto entero de una división)
  • Relacionales: >, <, >=, <=, !=, ==
  • Lógicos: &&, ||, !

    Estos los utilizaremos muy a menudo, sobre todo cuando empecemos a hacer bucles.

    Comentarios

    Los comentarios se introducen de esta manera:
    /*Comentario de más de una línea*/
    //Comentario de una línea

    Los comentarios tienen la misma utilidad que en HTML, sirven para determinar cosas sin que repercuta en el programa.
    Un truco que yo suelo utilizar es: cuando no sé si una función funcionara o no sé si esto sirve o no…lo que hago, en vez de eliminarlo, es dejarlo como comentario, ya que el compilador no lo utilizara para el programa de modo que no interfiere en el programa, y si alguna vez lo vuelvo a necesitar…le quito las barras de comentario y ya está.

    Con esto ya podemos empezar a programar, lo primero que debemos aprender son las funciones de la programación y como se utilizan y para qué sirven.

    Tipos de Instrucciones

    Funciones de entrada/salida

    Esta función printf(“”); es una función que imprime lo que tenga dentro de los paréntesis, por ejemplo:

    
    /* Programa Prueba printf */
    #include
    
    main()
    {
    	printf("
    Hola mundo");
    }
    

    NOTA: Hay que tener en cuenta un par de cosas a la hora de programar, todas las funciones han de terminar siempre con “;”, esto es para decirle al programa que ahí se termina lo que queremos hacer, sino nos dará errores de líneas y no nos dejara copilar.

    Este sería el programa más sencillo de todos, solamente nos aparecería en la pantalla: Hola mundo.

    Examinemos con detenimiento el programa, para que sepamos qué es lo que tiene y sepamos sus funciones:

  • Librería: la librería stdio.h(STardarD Input/Output) contiene las funciones de entrada y salida y entre ellas se encuentra la función printf (además de muchas otras)
  • Función: la función printf(“”); es una función de salida, siempre ha de terminar con punto y coma, para que el compilador sepa que esa línea de instrucciones termina ahí, sino, nos dará errores con las demás líneas
  • Llaves: las llaves sirven para abrir y cerrar funciones, mas adelante aprenderemos cuanto de repetitivas serán
  • Comentarios: este tipo de comentarios nos son útiles para diferenciar partes importantes del programa y de esa manera si ocurre algún tipo de fallo, podemos saber de qué parte del programa es y de ese modo no perder tiempo buscando entre tanta programación (que ahora parece que no es mucho…pero ya será…tranquilos xD)
  • Modificadores: los modificadores son comando que representan cosas que de normal no podríamos representar, por ejemplo una nueva línea se debe de representar con un comando o nos pondrá todo el rato “Hola MundoHola Mundo…” pero si antes de “Hola Mundo” ponemos /n como esta puesto en el ejemplo…imprimirá esto en la pantalla:
    Hola mundo
    Hola mundo
    Hola mundo
    

    Hay muchos más modificadores, aquí os pongo una lista:(seguramente existan mas)

  • Nueva línea \n
    Tabulador horizontal \t
    Tabulador Vertical \v
    Backspace (c-) \b
    Retorno del carro \r
    Avance de página \f
    Pitido (alerta) \a
    Caracter \ \\
    Caracter ? \?
    Caracter ‘ \’
    Caracter ” \”
    Numero Octal (ooo) \ooo
    Numero Hexadecimal (hh) \xhh

    Cada vez que queramos representar el valor de una variable con printf hay que indicar de que tipo se trata:

    Entero en notación decimal con signo d,i
    Entero en notación octal sin signo o
    Entero en notación he hexadecimal sin signo x,X
    Entero en notación decimal sin signo u
    Entero como carácter simple c
    Cadena de caracteres s
    tipo double (o float) de la forma [-]mmm.ddd. f
    Tipo double(o float) en notacion cientifica
    o exponencial [-]m.dddde+-xx o [-]m.ddddE+-xx.
    e,E
    Tipo puntero p

    Reconozco que es mucha información para un principio de programación, pero no tenéis que saberla (ni entenderla) toda, solamente la he puesto para que podáis dirigiros aun sitio en concreto cuando queráis buscar algo, de manera que no tengáis que estar buscando entre toda la información las cosas básicas, así será todo más rápido y más sencillo.

    Lo que aquí e puesto son cosas que poco a poco se irán entendiendo, comprendiendo y usando. Todo a su tiempo, que parece complicado pero al final es todo muy lógico.

    Con estos previos conocimiento podemos empezar a crear nuestros primeros programas sencillos, en el siguiente apartado (programación en C III) empezaremos con programas algo más complicados de utilizar, de programar y de entender.

    Aquí os dejo algunos ejemplos de algunos programas que podéis empezar a hacer:

    #include
    main()
    {
    float e,v,t;
    v = 30; /* Velocidad del móvil en Km/h */
    t = 5; /* Tiempo durante el cual se mueve */
    e = v*t;
    printf ("\nVelocidad : %f\nTiempo : %f",v,t);
    printf ("\nEspacio recorrido : %f",e);
    }

    #include
    main()
    {
    int i;
    float a,b;
    i = 10;
    a = 30.456;
    b = 678.12;
    printf ("\nvar1:%d var2:%6.2f var3:%6.1f",i,a,b);
    }

    Si tenéis alguna duda de algo, alguna pregunta...etc., ya sabéis lo que tenéis que hacer.

    Un saludo

    Sobre el Autor

    Sakrow

    Creador del blog e informático de nacimiento. Siempre investigando nuevas cosas.

    Todo el día conectado a la red. También diseño y creo sitios webs. Me gusta la informática e intento hacérsela mas sencilla a todo el mundo.
     
    Mi Web |
    Sakrow en Twitter |

    11 comentarios

    Ir al formulario de comentarios

    1. Semproms

      Antes de nada muchas gracias de nuevo por el curso, y para continuar estoy buscando por internet el programa que dices C++ Builder 6 y encuentro diversos, dime cual es el que me recomiendas, encuentro los siguientes:

      SolarSockets C++ Builder 6.0 v0.7.0
      Borland C++ Builder 6

      Gracias, a ver si hay suerte y me aclaro con esto ;).

      Un Saludo.

    2. sakrow

      Yo tengo el Borland C++ Builder, pero puedes utilizar todo copilador que deje utilizar programacion C y C++

    3. Semproms

      Hola Sakrow, una pequeña duda, lo estoy intentando, pero el compilador siempre me da error de sintaxis:

      /* Programa Prueba printf */
      #include

      main()
      {
      printf(“
      Hola mundo”);
      }

      Y me lo da en “hola mundo” el código está puesto como el tuyo ¿cuál puede ser el problema?.

      Gracias.

      Un Saludo.

    4. sakrow

      Vale, ya se cual es el error, supongo que estes utilizando el “Borland C++ Builder”, ese copilador tiene “truco”, no lo he puesto porque no en todos pasa y asi nos haciamos menos lios xD.

      Tienes que añadir en todos los programas que hagas, esto:

      /* Programa Prueba printf */
      #include
      #include

      main()
      {
      printf(“\nHola mundo”);
      system(“PAUSE”)
      }

      una vez añadas el stdlib.h y el system(“PAUSE”) te deberia de funcionar.

      Ya me contaras, siento la espera xD

    5. Semproms

      Vale, con los comandos que pones en la entrada creo que lo he consegido solucionar, a medias, el compilador no me da error, cuando termina me sale esto:

      [IMG]http://i26.tinypic.com/2q883zd.jpg[/IMG]

      Una pantalla en la que pone Form 1 y está en blanco, el siguiente paso a segie ¿cuál es? creo que me voy a tener que hacer por la red con algún tutorial xDD.

      Gracias de todos modos.

      Un Saludo.

    6. sakrow

      Por lo que pueo ver, tu pantalla (la de atar la de programar) esta con lo que te escribe el programa, cuando pones lo de #include…etc etc, solo tiene que aparecer eso, como aqui:
      http://yfrog.com/5aholamundoj

      de todos modos e colgado en megaupload el ejecutable y la prueba como yo la tengo hecha por si te da algun tipo de error, aqui la tienes
      http://www.megaupload.com/?d=QEN8N64N

    7. Semproms

      Me he descargado de megaupload el archivo, y me ocurre una cosa rara, abro el ejecutable y me aparece esto:

      [IMG]http://i25.tinypic.com/33nhxg3.jpg[/IMG]

      Si no me equivoco parece una ventana de MS-DOS, pone algo de welcome to darwin y presione cualquier tecla para continuar, pero al presionarla desaparece la pantalla y no pasa nada.

      De todas formas probaré en el otro pc que tengo en casa, y gracias de nuevo.

      Un Saludo.

    8. sakrow

      Ok, eso te ha pasado con el ejecutable, pero ¿has podido abrir con el “Borland c++” la prueba en “.ccp” que te pase? esa prueba es con el que puedes crear el ejecutable y el que puedes modificar, solamente debes darle a “run” para que lo cree.

    9. Semproms

      Si, si que puedo ejecutarla con el programa, me hace falta saber como crear el ejecutable a partir de ahí, abro con el programa el código que me pasaste y ¿cómo continuo para crear el ejecutable?

      Un Saludo.

    10. juan

      holaaa amigo he intentado hacer el pequeño codigo que pones de ejemplo y siempre me aparece error en esto mira:
      main ()
      me aparece que falta algo pero no se que es, si me podrias ayudar a quiero preguntarte si estos codigos funcionan en turboc
      suerte y excelente blog

    11. Sakrow

      No conozco el programa “TurboC”, asique puede que tenga truco, como el “Borland C++”.

      Informate sobre el programa y si encuentras algo me dices, yo intentare buscarlo también.

      De todas formas te recomiendo el “Borland C++” que es el que yo utilizo.

      un saludo

      Sakrow

    Deja un comentario

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

    Uso de cookies

    Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

    ACEPTAR
    Aviso de cookies