Mini-Tutorial en un paso C Básico
C Básico- Minilección: 1 - Hola, Mundo
El ejemplo básico en cualquier lenguaje de programación, aplicado a C: escribir "Hola, Mundo" en pantalla.
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:19:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/ */
#include <stdio.h> main() { printf("Hola"); }
C Básico- Minilección: 2 - Sumar dos números
Cómo sumar dos números prefijados en variables, usando el lenguaje C.
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:24:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/ */
#include <stdio.h> main() { int primerNumero; int segundoNumero; int suma; primerNumero = 234; segundoNumero = 567; suma = primerNumero + segundoNumero; printf("Su suma es %d", suma); }
C Básico- Minilección: 3 - Sumar dos números (2)
Cómo sumar dos números introducidos por el usuario, en lenguaje C.
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:26:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/ */
#include <stdio.h> main() /* Cuerpo del programa */ { int primerNumero, segundoNumero, suma; /* Nuestras variables */ printf("Introduce el primer numero "); scanf("%d", &primerNumero); printf("Introduce el segundo numero "); scanf("%d", &segundoNumero); suma = primerNumero + segundoNumero; printf("Su suma es %d", suma); }
C Básico- Minilección: 4 - Variables "float"
Ejemplo básico de variables "float" (números reales), en lenguaje C.
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:31:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/ */
#include <stdio.h> main() { float x = 12.56; printf("El valor de x es %f", x); printf(" pero lo podemos escribir con 2 decimales %5.2f", x); printf(" o solo con uno %5.1f", x); printf(" o con 7 cifras %7.1f", x); printf(" o alineado a la izquierda %-7.1f", x); printf(" o sin decimales %2.0f", x); printf(" o solo con una cifra %1.0f", x); }
C Básico- Minilección: 5 - "if" básico
Comprobación básica de condiciones, en lenguaje C: si se cumple la condición, se ejecuta una orden.
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:33:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int numero; printf("Escribe un numero: "); scanf("%d", &numero); if (numero>0) printf("El numero es positivo.\n"); }
C Básico- Minilección: 6 - "if" básico (2)
Comprobación básica de condiciones, en lenguaje C (2): si se cumple la condición, se ejecutan dos órdenes.
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:35:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int numero; printf("Escribe un numero: "); scanf("%d", &numero); if (numero>0) { printf("El numero es positivo.\n"); printf("Recuerde que tambien puede usar negativos.\n"); } /* Aqui acaba el "if" */ } /* Aqui acaba el cuerpo del programa */
C Básico- Minilección: 7 - "if" con "else"
Cómo comprobar una condición e indicar qué se debe hacer si la condición no se cumple, en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:45:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int numero; printf("Escribe un numero: "); scanf("%d", &numero); if (numero>0) printf("El numero es positivo.\n"); else printf("El numero es cero o negativo.\n"); }
C Básico- Minilección: 8 - "if" con "else" anidados
Cómo comprobar varias condiciones de forma sucesiva, en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:47:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int numero; printf("Escriba un numero: "); scanf("%d", &numero); if (numero < 0) printf("El numero es negativo.\n"); else if (numero == 0) printf("El numero es cero.\n"); else printf("El numero es positivo.\n"); }
C Básico- Minilección: 9 - Comparación errónea en C
Se debe recordar que en C, para comprobar si una cierta variable tiene un valor concreto, hay que usar "==". Si se utiliza "=", se está cambiando el valor de la variable, lo que puede provocar resultados inesperados...
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:49:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int numero; printf("Escriba un número: "); scanf("%d", &numero); if (numero < 0) printf("El número es negativo.\n"); else if (numero = 0) printf("El número es cero.\n"); else printf("El número es positivo.\n"); }
C Básico- Minilección: 10 - Operador condicional en C
Ejemplo de uso del "Operador condicional" (?), en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:51:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int a, b, mayor; printf("Escriba un número: "); scanf("%d", &a); printf("Escriba otro: "); scanf("%d", &b); mayor = (a>b) ? a : b; printf("El mayor de los números es %d.\n", mayor); }
C Básico- Minilección: 11 - "switch" en C
Ejemplo de uso de "switch", para escoger entre varias alternativas, en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:53:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { char tecla; printf("Pulse una tecla y luego Intro: "); scanf("%c", &tecla); switch (tecla) { case ' ': printf("Espacio.\n"); break; case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': case '0': printf("Dígito.\n"); break; default: printf("Ni espacio ni dígito.\n"); } }
C Básico- Minilección: 12 - "while" en C
Ejemplo de cómo repetir un bloque de programa mientras se cumpla una condición, usando "while", en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:54:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int numero; printf("Teclea un número (0 para salir): "); scanf("%d", &numero); while (numero!=0) { if (numero > 0) printf("Es positivo\n"); else printf("Es negativo\n"); printf("Teclea otro número (0 para salir): "); scanf("%d", &numero); } }
C Básico- Minilección: 13 - "do-while" en C
Ejemplo de cómo repetir un bloque de programa mientras se cumpla una condición, usando "do" y "while", en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:55:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int valida = 711; int clave; do { printf("Introduzca su clave numérica: "); scanf("%d", &clave); if (clave != valida) printf("No válida!\n"); } while (clave != valida); printf("Aceptada.\n"); }
C Básico- Minilección: 14 - Contar del 1 al 10 con "for" en C
Ejemplo de cómo escribir en pantalla los números del 1 al 10, usando "for", en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:57:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int contador; for (contador=1; contador<=10; contador++) printf("%d ", contador); }
C Básico- Minilección: 15 - Tablas de multiplicar en C
Ejemplo de cómo escribir en pantalla las tablas de multiplicar, usando "for" anidados, en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 07:59:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int tabla, numero; for (tabla=1; tabla<=5; tabla++) for (numero=1; numero<=10; numero++) printf("%d por %d es %d\n", tabla, numero, tabla*numero); }
C Básico- Minilección: 16 - Letras de "a" a "z", en C
Ejemplo de cómo escribir en pantalla las letras de "a" a "z", usando "for", en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 08:00:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { char letra; for (letra='a'; letra<='z'; letra++) printf("%c", letra); }
C Básico- Minilección: 17 - break, en C
Ejemplo de cómo usar "break" para interrumpir un bloque repetitivo "for", en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 08:02:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int i; for (i=0; i<=10; i++) { if (i==5) break; printf("%d ", i); } }
C Básico- Minilección: 18 - continue, en C
Ejemplo de cómo usar "continue" para saltar un paso de un bloque repetitivo "for", en lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-27 08:03:42 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc03.php */
#include <stdio.h> main() { int i; for (i=0; i<=10; i++) { if (i==5) continue; printf("%d ", i); } }
C Básico- Minilección: 19 - Sumar los elementos de un array
Un array (o tabla, o vector, o matriz) es un bloque de datos, todos los cuales son del mismo tipo. Éste es un ejemplo de como acceder a su contenido.
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:40:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc05.php */
#include <stdio.h> main() { int numero[5] = /* Un array de 5 números enteros */ {200, 150, 100, -50, 300}; int suma; /* Un entero que será la suma */ suma = 0; /* Valor inicial */ for (i=0; i<=4; i++) suma += numero[i]; printf("Su suma es %d", suma); }
C Básico- Minilección: 20 - Comparar dos cadenas de texto
Un array (o tabla, o vector, o matriz) es un bloque de datos, todos los cuales son del mismo tipo. Éste es un ejemplo de como acceder a su contenido.
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:42:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc05.php */
#include <stdio.h> #include <string.h> main() { char texto1[40], texto2[40]; int comparacion; printf("Introduce una palabra: "); gets(texto1); printf("Introduce otra palabra: "); gets(texto2); comparacion = strcmp(texto1, texto2); if (comparacion==0) printf("Son iguales\n"); else if (comparacion>0) printf("La primera palabra es mayor\n"); else printf("La segunda palabra es mayor\n"); }
C Básico- Minilección: 21 - Structs (1)
Ejemplo básico de structs (registros) en C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:45:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc05.php */
#include <stdio.h> struct datosPersona { char inicial; int edad; float nota; }; main() { struct datosPersona ficha; ficha.inicial = 'J'; ficha.edad = 20; ficha.nota = 7.5; printf("La edad es %d", ficha.edad); }
C Básico- Minilección: 22 - Structs anidados
Ejemplo básico de structs (registros) anidados en C: un "struct" que contiene a otro "struct"
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:47:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc05.php */
#include <stdio.h> struct fechaNacimiento { int dia; int mes; int anyo; }; struct { char inicial; struct fechaNacimiento diaDeNacimiento; float nota; } persona; main() { persona.inicial = 'I'; persona.diaDeNacimiento.mes = 8; persona.nota = 7.5; printf("La nota es %f", persona.nota); }
C Básico- Minilección: 23 - Escribir en un fichero de texto
Ejemplo básico de cómo escribir en un fichero de texto, usando el lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:49:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc06.php */
#include <stdio.h> main() { FILE* fichero; fichero = fopen("prueba.txt", "wt"); fputs("Esto es una línea\n", fichero); fputs("Esto es otra", fichero); fputs(" y esto es continuación de la anterior\n", fichero); fclose(fichero); }
C Básico- Minilección: 24 - Leer un fichero de texto
Ejemplo básico de cómo leer todo el contenido de un fichero de texto, usando el lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:50:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc06.php */
#include <stdio.h> main() { FILE* fichero; char nombre[80] = "c:\\autoexec.bat"; char linea[81]; fichero = fopen(nombre, "rt"); if (fichero == NULL) { printf("No existe el fichero!\n"); exit(1); } while (! feof(fichero)) { fgets(linea, 80, fichero); puts(linea); } fclose(fichero); }
C Básico- Minilección: 25 - Copiar un fichero
Ejemplo de cómo copiar contenido de un fichero en otro, usando el lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:51:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc06.php */
#include <stdio.h> FILE *fichOrg, *fichDest; /* Los dos ficheros */ char buffer[2048]; /* El buffer para guardar lo que leo */ char nombreOrg[80], /* Los nombres de los ficheros */ nombreDest[80]; int cantidad; /* El número de bytes leídos */ main() { /* Accedo al fichero de origen */ printf("Introduzca el nombre del fichero Origen: "); scanf("%s",nombreOrg); if ((fichOrg = fopen(nombreOrg, "rb")) == NULL) { printf("No existe el fichero origen!\n"); exit(1); } /* Y ahora al de destino */ printf("Introduzca el nombre del fichero Destino: "); scanf("%s",nombreDest); if ((fichDest = fopen(nombreDest, "wb")) == NULL) { printf("No se ha podido crear el fichero destino!\n"); exit(1); } /* Mientras quede algo que leer */ while (! feof(fichOrg) ) { /* Leo datos: cada uno de 1 byte, todos los que me caben */ cantidad = fread( buffer, 1, sizeof(buffer), fichOrg); /* Escribo tantos como haya leído */ fwrite(buffer, 1, cantidad, fichDest); } /* Cierro los ficheros */ fclose(fichOrg); fclose(fichDest); }
C Básico- Minilección: 26 - Función que devuelve un valor
Ejemplo básico de función que recibe un parámetro y devuelve un valor calculado a partir de él, usando el lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:53:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc07.php */
#include <stdio.h> int duplica(int n) { return n * 2; } main() { int n = 5; printf("n vale %d\n", n); n = duplica(n); printf("Ahora n vale %d\n", n); }
C Básico- Minilección: 27 - Números aleatorios
Ejemplo básico de cómo generar un número al azar, usando el lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:57:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc07.php */
#include <stdio.h> #include <stdlib.h> #include <time.h> main() { int n; srand(time(0)); n = rand() % 10 + 1; printf("Un número entre 1 y 10: %d\n", n); }
C Básico- Minilección: 28 - Factorial (recursivo)
Ejemplo básico de función recursiva: el factorial de un número
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 19:58:57 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc07.php */
#include <stdio.h> long fact(int n) { if (n==1) /* Aseguramos que termine */ return 1; return n * fact (n-1); /* Si no es 1, sigue la recursión */ } main() { int num; printf("Introduzca un número entero: "); scanf("%d", &num); printf("Su factorial es: %ld\n", fact(num)); }
C Básico- Minilección: 29 - Parámetro por referencia
Ejemplo básico de cómo pasar un parámetro por referencia usando el lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 20:00:54 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc09.php */
#include <stdio.h> void duplica(int *x) { *x = *x * 2; } main() { int n = 5; printf("n vale %d\n", n); duplica(&n); printf("Ahora n vale %d\n", n); }
C Básico- Minilección: 30 - Parámetros en línea de comandos
Ejemplo de cómo leer los parámetros que se indiquen en línea de comandos al lanzar nuestro programa, usando el lenguaje C
Lenguaje: C (compilador: GCC)
/* Fuente procedente de ErrorDeSintaxis.es */
/* Disponible desde 2011-06-28 20:02:54 */
/* Aportado por Nacho */
/* Autor original: Nacho Cabanes */
/* Web original: http://www.nachocabanes.com/c/curso/cc09.php */
#include <stdio.h> int main (int argc, char *argv[]) { int i; printf ("Nombre del programa:\"%s\".\n",argv[0]); if (argc > 0) for (i = 1; i<argc; i++) printf("Parámetro %d = %s\n", i, argv[i]); else printf("No se han indicado parámetros.\n"); return 0; }