Códigos y diapositivas de Lenguaje C
Fuente: no fuí capaz de encontrarla… esta caricatura es de FOXTROT (http://www.foxtrot.com/). Finalmente observe que falta un \n
al final del printf();
aun mejor, debió haber utilizado un puts()
en vez del printf()
, simplemente para hacer el código más veloz.
01 - Introducción al lenguaje C
- 01_hello.asm
- 01_hello.c
- 01_miprimerprograma.c
- 01_mpp.zip (versión que usa
#include" "
)
02 - Conceptos fundamentales sobre el tratamiento de datos
- 02_char.c
- 02_int.c
- 02_ejemplo_bool.c
- 02_complemento_a_2.c
- 02_evite_usar_float.c
- 02_DBL_EPSILON.c
- 02_complex.c
- 02_pointer.c
- 02_imprimir_ASCII.c
- 02_big_little_endian.c
- 02_limites_para_enteros.c
- 02_limites_para_reales.c
- 02_wrap.c
- 02_compara_reales.c
- 02_increm.c
- 02_operador_or.c
- 02_division.c
- 02_casting.c
03 - Entrada y salida en lenguaje C
- 03_putchar.c
- 03_puts.c
- 03_printf.c
- 03_ejemplo_contador.c
- 03_locale.c
- 03_scanf.c
- 03_unicode.c
- 03_getchar.c
- 03_gets.c
- 03_gets_s.c
- 03_fgets.c
- 03_problem_scanf.c
- 03_sol_problem_scanf.c
Programas con curses.h/ncurses.h:
- 03_hello_world_ncurses.c
- 03_init_func_example.c
- 03_scanw_example.c
- 03_colores_curses.c
- 03_chars_curses.c
- 03_keys_curses.c
- 03_mouse_curses.c
04 - Sentencias de control condicionales y ciclos
- 04_if_else.c
- 04_switch_case_default.c
- 04_while.c
- 04_do_while.c
- 04_for.c
- 04_imprimir_binario.c
- 04_break.c
- 04_continue.c
- 04_goto.c
05 - Funciones
- 05_declaracion_funciones.c
- 05_global_vs_local.c
- 05_ambito.c
- 05_static.c
- 05_call_stack.c
- 05_par_ref_valor.c
- 05_retorna_2_par.c
- 05_circulo.c
- 05_inline.c
- 05_recursion.c
- 05_nested_functions.c
- 05_salida_main.c
- 05_noreturn.c
- 05_main_con_par.c
- 05_args.c
- 05_stdarg.c
- 05_agotando_memoria_pila.c
- 05_puntero_a_fun1.c
- 05_puntero_a_fun2.c
Escriba un programa el cual contiene una función que evalúa el coseno de su argumento. Utilice la siguiente serie de funciones para aproximar la respuesta:
[[math]]
\cos \theta = \sum^{\infty}_{m=0} \frac{(-1)^m}{(2m)!} \theta^{2m} = 1 - \frac{\theta^2}{2!} + \frac{\theta^4}{4!} - \cdots\quad\text{ para todo } \theta
[[math]]
La función debe diferir a lo más en 1e-10 del valor verdadero. Cree una función recursiva llamada factorial(n)
la cual retorna n! y otra función llamada potencia(x,n)
la cual retorna el valor de x^n; utilice ambas funciones en el programa anterior.
06 - Arrays y matrices
- 06_inicializacion.c
- 06_array_bound_checking.c
- 06_compound_literal.c
- 06_ejemplo_compound_literal_arrays.c
- 06_array3d.c
- 06_filas_matriz.c
- 06_compound_literal_matrix.c
- 06_loop_interchange.c
- 06_cadena.c
- 06_array_cadenas.c
- 06_array_cadenas2.c
- 06_memcpy_vs_for.c
- 06_alg_ordenamiento.c
- 06_alg_busqueda.c
- 06_vector_malloc.c
- 06_matrix_malloc.c
- 06_big_matrix_crash.c
- 06_big_matrix_crash_sol1.c
- 06_big_matrix_crash_sol2.c
- 06_matrices_par_func.c
- Ted Jensen (2003) - A tutorial on pointers and arrays in C
Sin invocar a la librería string.h
, escriba un programa que contiene una función que reciba como argumento dos cadenas y retorne lo siguiente: si ambas cadenas son iguales, retorne 0; si la primera cadena va antes que la segunda cadena al ordenarlas alfabéticamente, retorne un número negativo. Si la primera cadena va después que la segunda cadena al ordenarlas alfabéticamente, retorne un número positivo.
Sin invocar a la librería string.h
, escriba un programa que contiene una función que reciba como argumento dos cadenas y retorne lo siguiente: si la primera cadena es una subcadena de la segunda, retorne un puntero a la primera ocurrencia de esta en el segundo argumento, de lo contrario retorne el puntero NULL
.
07 - Tipos de datos definidos por el programador
- 07_enum.c
- 07_enum_warning.c
- 07_for_enum.c
- 07_struct.c
- 07_igual_igual_struct.c
- 07_compound_literals.c
- 07_funciones_retornando_arrays.c
- 07_ej_uniones.c
- 07_struct_padding.c
- 07_struct_padding2.c
08 - Punteros
- 02_pointer.c
- 08_aritmetica_punteros2.c
- 08_aritmetica_punteros1.c
- 08_truco_arrays_cadenas.c
- 08_puntero_a_constante.c
- 08_puntero_a_constante2.c
- 08_puntero_constante.c
- 08_puntero_constante_a_constante.c
- 08_puntero_void.c
- 08_puntero_void_aritmetica.c
- 08_comparacion_punteros.c
- 08_array_punteros.c
- 08_array_punteros_vs_puntero_a_array.c
- 08_puntero_a_matriz.c
- 08_punteros_a_funciones.c
- 08_puntero_a_puntero.c
- 08_puntero_a_puntero2.c
- 06_big_matrix_crash_sol2.c
- 08_typedef_con_punteros.c
- 08_realloc.c
- 08_memcpy.c
- 08_memmove.c
- 08_memmove2.c
- 08_memset.c
Ejemplos con restrict
:
- 08_mi_memcpy.c
- 08_restrict.c
- 08_lista_simplemente_enlazada.c (NOTA: este código se puede mejorar)
09 - Archivos
- 09_crear_archivo.c
- 09_fclose.c
- 09_feof_ferror.c
- 09_fgetc.c
- 09_fgets_fputs.c
- 09_fprintf_fscanf.c
- 09_fread.c
- 09_fseek.c
- 09_ftell.c
- 09_fwrite.c
- 09_imprimir_archivo.c
- 09_leer_archivo.c
- 09_perror.c
- 09_reverse.c
- 09_rewind.c
- 09_stdin_stdout_stderr.c
- 09_tmpfile.c
- 09_ungetc.c
Códigos varios de programación
- Juego para adivinar un número entre 0 y 100:
- Mastermind (tambien conocido como “picas y palas”)
- Detector de minas
- Programa para resolver laberintos (como lo debería hacer alguien que está dentro de uno)
- Programa para resolver sudokus
- Programa para resolver laberintos (encontrando la ruta más corta)
- Buscaminas
- buscaminas_curses.c (requiere de: la librería pdcurses - mingw_pdcurses.zip)
-
Pong
- Snake
- snake.c (requiere de: la librería pdcurses - mingw_pdcurses.zip)
- Pacman
- pacman.c (requiere de: la librería pdcurses - mingw_pdcurses.zip) [[image:pacman.png]]
-
Sokoban + FBS
- rotar3d (SDL)