Programar en C – Diez consejos para aprender rápido
Deduzco que si quieres aprender a programar en C es que no tienes conocimientos de ningún otro lenguaje, de hecho es el lenguaje de programación mas común con el que se suele enseñar a programar. Así que intentaré hacer unas explicaciones muy básicas, rozando en muchos casos la inexactitud, sin embargo si quieres profundizar en el tema ya tendrás tiempo de leerte manuales como dios manda y aclarar términos.
- Para empezar necesitas compilar los códigos que escribas, yo suelo hacerlo desde el mismo terminal de Linux pero entiendo que no es lo mas habitual, así que instálate un compilador como codeblocks http://www.codeblocks.org/ aquí mismo lo puedes descargar: Descarga Code Blocks
- No trates de buscar significado a las lineas de código “obligatorias”, para empezar no necesitas saber para qué son, y en cambio si te propones entenderlas te pueden liar mucho. Guárdate esta plantilla y en un tiempo ya las entenderás:
#include <stdio.h>
int main (void){
/*Aquí va tu código*/
return 0;
}
int main (void){
/*Aquí va tu código*/
return 0;
}
- Variables: si no sabes absolutamente nada de programar, quédate con la idea de que una variable es una palabra a la que le asignamos un valor, con la que podremos ir trabajando. Las variables pueden ser de varios tipos, pero solo de uno a la vez: número entero (int, se representa con una d), número real (float, se representa con una f), carácter (char, se representa con una c), estos son los más básicos, hay muchos mas tipos. Las variables que utilizaremos se declaran al inicio del programa.
- Scanf: es la función que se encarga de leer del teclado (generalmente) y almacenar el valor en una variable. Ejemplos:
-scanf(“%d”,&entero);
-scanf(“%f”,&decimal);
-scanf(“%c”,&letra); - Printf: es la función que se encarga de imprimir por pantalla. Ejemplo:
-printf(“El resultado de la suma es %d”,entero);
-printf(“El resultado de la división es %f”,decimal);
-printf(“El caracter leído es %c”,letra); - Condiciones (if): sirven para separar dos caminos. Se pregunta una condición y si se cumple se ejecuta su contenido. Si no, (else) se puede ejecutar otro, opcional.
#include <stdio.h>
int main (void){
int edad;
printf(“Teclea tu edad: “);
scanf(“%d”,&edad);
if (edad<18) { printf(“Eres menor de edad\n”); }
else printf(“Eres mayor de edad”);
return 0;
}
int main (void){
int edad;
printf(“Teclea tu edad: “);
scanf(“%d”,&edad);
if (edad<18) { printf(“Eres menor de edad\n”); }
else printf(“Eres mayor de edad”);
return 0;
}
- Operadores lógicos para condiciones:
< if (num<num2) Entrará en la condición si num es mas pequeño que num2
<= if (num<=num2) Entrará en la condición si num es mas pequeño o igual a num2
== if (num==num2) Entrará en la condición si num es igual a num2
!= if (num!=num2) Entrará en la condición si num es diferente a num2
>= if (num>=num2) Entrará en la condición si num es mas grande o igual a num2
> if (num>num2) Entrará en la condición si num es mas grande que num2
&& Equivalente a una Y lógica. Las dos condiciones se deben cumplir
|| Equivalente a una O lógica. Una de las dos condiciones se deben cumplir - Bucles (while y for): son condiciones repetitivas.
La principal diferencia entre ellas, a parte de su forma de utilización,
es que utilizaremos for cuando sepamos cuantas repeticiones tiene el
bucle. Cuando sea indeterminado utilizaremos while.
-for (i=0;i<60;i++) printf (“Segundo %d”,i); /*Imprimirá 60 veces el valor de i*/
-while(tecla!=’N’) scanf(“%c”,&tecla); /*Se repetirá el bucle mientras tecla no sea N*/ - Las variables tipo string funcionan diferente. Este
nuevo tipo no son mas que cadenas de caracteres. Tantos char como
consideremos. Hay varias maneras de declarar un string. El mas sencillo
es “char palabra[20]” , donde habremos reservado 20 espacios char para
almacenar carateres en una variable con nombre palabra.
-No se utiliza & en scanf(“%s”,palabra);
-Muchas veces es necesario trabajar con la librería #include <string.h> para manipular strings.
-Si queremos podemos utilizar caracter por caracter de la siguiente forma:
palabra[0] /*Esto equivale a la primera letra de la palabra*/
palabra[1...19] /*En el caso de una variable de 20 caracteres*/
-Las string guardan al final un caracter nulo ‘\0′ con el que se indica el final de la palabra. - Librería string.h. Sirve para ahorrarnos trabajo y sudor con las strings.
-strlen(); Si por ejemplo escribimos largo=strlen(palabra); habremos guardado en largo un número equivalente al total de caracteres de palabra.
-strcmp(); Compara cadenas: valor=strcmp(palabra1,palabra2). Guarda en valor 0 si son iguales, o 1 si palabra1 es mas corta, o -1 si palabra2 es mas corta.
-strcpy(); Copia cadenas: strcpy(palabra1,palabra2); el contenido de palabra2 es copiado a palabra1.
-Hay muchas mas también interesantes, consultar en c.conclase
#include <stdio.h>
#include <string.h>
int main (void){
int largo,i,cont=0;
char palabra[30];
printf(“Teclea una palabra: “);
scanf(“%s”,palabra);
printf(“Teclea una letra: “);
scanf(“%c”,&letra);
largo=strlen(palabra);
for (i=0;i<largo;i++){
if (palabra[i]==letra) cont=cont+1;
}
printf(“La letra %c se repite %d veces en la palabra %s\n”,letra,cont,palabra);
return 0;
}
En este programa contamos cuantas veces se repite en la palabra la letra introducida.#include <string.h>
int main (void){
int largo,i,cont=0;
char palabra[30];
printf(“Teclea una palabra: “);
scanf(“%s”,palabra);
printf(“Teclea una letra: “);
scanf(“%c”,&letra);
largo=strlen(palabra);
for (i=0;i<largo;i++){
if (palabra[i]==letra) cont=cont+1;
}
printf(“La letra %c se repite %d veces en la palabra %s\n”,letra,cont,palabra);
return 0;
}
Bueno y hasta aquí los 10 principios mas básicos de la programación en C, tan básicos que otros seguro me han quedado por explicar. Si tenéis dudas podéis escribir aquí mismo e intentaré responder pronto.
Por otro lado a ver si puedo ir redactando una ampliación del tema y poco a poco tener un mini tutorial para aprender a programar.
Leony Li
By
Published: 2014-06-22T09:36:00-07:00
Programacion en C
By
Published: 2014-06-22T09:36:00-07:00
Programacion en C