Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ysoroko/c_mini_challenges

Tests to teach C basics
https://github.com/ysoroko/c_mini_challenges

c challenge everyday intro regular tests

Last synced: about 2 months ago
JSON representation

Tests to teach C basics

Awesome Lists containing this project

README

        

# c_mini_challenges

## Tests to teach C basics

### Prerequisites:
[- Install Windows Subshell Linux if learning on Windows](https://learn.microsoft.com/en-us/windows/wsl/install)

[- Install Visual Studio Code](https://code.visualstudio.com/)

[- Install C/C++ extension for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)

[- Install Makefile tools extension for VS Code](https://marketplace.visualstudio.com/items?itemName=ms-vscode.makefile-tools)

[- Learn some Shell basics](https://github.com/Ysoroko/c_mini_challenges/blob/main/Shell-functions.pdf)

[- Learn some Git basics]

### How to work with C:
1) Create a file ending by ".c" (Example: example.c)
2) Write your code inside
3) When it's ready, compile it using the command ```gcc -Wall -Wextra -Werror example.c```
4) This will create an executable. By default, it will be named "a.out". You can then run your code with the command ```./a.out``` if you are in the same directory
5) Note: to test your code you will need a main function. If the exercice is asking for a *program*, include the main function in your code. If the exercice is asking for a *function*, do not include the main function in your code. (You can leave it commented)

### First steps:
1) Read the code in [intro.c file](https://github.com/Ysoroko/c_mini_challenges/blob/main/intro.c)
2) Download it to your computer
3) Compile it and run the executable
4) Try to play with the code. Change the values, add lines of code, understand every line of code

September| October | November | December | January |
-------------|-------------|-------------|-------------|-------------|
[1) ft_square](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/001_22_09_ft_square.MD) | [20) ft_descriptive_hundred](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/020_01_10_ft_descriptive_hundred.MD) | [38) ft_write_backwards](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/038_03_11_ft_write_backwards.MD) | [51) ft_files](https://github.com/Ysoroko/c_mini_challenges/blob/main/December/051_06_12_ft_files.MD) | [57) ft_strdup](https://github.com/Ysoroko/c_mini_challenges/blob/main/January/057_05_01_ft_strdup.MD) |
[2) ft_mushka](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/002_22_09_ft_mushka.MD) | [21) ft_descriptive_int](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/021_02_10_ft_descriptive_int.MD) | [39) ft_write_one_in_two_chars](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/039_06_11_ft_write_one_in_two_chars.MD) | [52) ft_read_n_chars](https://github.com/Ysoroko/c_mini_challenges/blob/main/December/052_08_12_ft_read_n_chars.MD) | [58) ft_strjoin](https://github.com/Ysoroko/c_mini_challenges/blob/main/January/058_11_01_ft_strjoin.MD) |
[3) ft_first_n_chars](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/003_23_09_ft_first_n_chars.MD) | [22) ft_descriptive_sum](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/022_02_10_ft_descriptive_sum.MD) | [40) ft_strcpy](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/040_08_11_ft_strcpy.MD) | [53) ft_heap_string](https://github.com/Ysoroko/c_mini_challenges/blob/main/December/053_10_12_ft_heap_string.MD) | [59) ft_digit_split](https://github.com/Ysoroko/c_mini_challenges/blob/main/January/059_12_01_ft_digit_split.MD) |
[4) ft_to_print_or_not_to_print](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/004_24_09_ft_to_print_or_not_to_print.MD) | [23) ft_functions](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/023_07_10_ft_functions.MD) | [41) ft_write_last_word](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/041_08_11_ft_write_last_word.MD) | [54) ft_str_sep](https://github.com/Ysoroko/c_mini_challenges/blob/main/December/054_13_12_ft_str_sep.MD) | [60) ft_macros_header](https://github.com/Ysoroko/c_mini_challenges/blob/main/January/060_16_01_ft_macros_header.MD) |
[5) ft_sign](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/005_24_09_ft_sign.MD) | [24) ft_decrements](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/024_08_10_ft_decrements.MD) | [42) ft_mini_atoi](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/042_14_11_ft_mini_atoi.MD) | [55) ft_heap_int_array](https://github.com/Ysoroko/c_mini_challenges/blob/main/December/055_14_12_ft_heap_int_array.MD) | [61) ft_point_in_rectangle](https://github.com/Ysoroko/c_mini_challenges/blob/main/January/061_18_01_ft_point_in_rectangle.MD) |
[6) ft_sign_char](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/006_24_09_ft_sign_char.MD) | [25) ft_call_the_president](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/025_10_10_ft_call_the_president.MD) | [43) ft_real_atoi](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/043_15_11_ft_real_atoi.MD) | [56) ft_binary_to_char](https://github.com/Ysoroko/c_mini_challenges/blob/main/December/056_17_12_ft_binary_to_char.MD) | [62) makefile](https://github.com/Ysoroko/c_mini_challenges/blob/main/January/062_23_01_makefile.MD) |
[7) ft_sign_char_print](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/007_24_09_ft_sign_char_print.MD) | [26) ft_bank](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/026_11_10_ft_bank.MD) | [44) ft_count_main_arguments](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/044_16_11_ft_count_main_arguments.MD) | |[63) ft_draw](https://github.com/Ysoroko/c_mini_challenges/blob/main/January/063_26_01_ft_draw.MD) |
[8) ft_sign_string_print](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/008_24_09_ft_sign_string_print.MD) | [27) ft_calculator_fct](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/027_18_10_ft_calculator_fct.MD) | [45) ft_print_program_name](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/045_16_11_ft_print_program_name.MD) |
[9) ft_n_chars_d](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/009_25_09_ft_n_chars_d.MD) | [28) ft_uppercase](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/028_19_10_ft_uppercase.MD) | [46) ft_print_args_backwards](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/046_17_11_ft_print_args_backwards.MD) |
[10) ft_n_chars](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/010_26_09_ft_n_chars.MD) | [29) ft_strcmp](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/029_19_10_ft_strcmp.MD) | [47) ft_easy_putnbr](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/047_18_11_ft_easy_putnbr.MD) |
[11) ft_ifs](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/011_26_09_ft_ifs.MD) | [30) ft_strchr](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/030_21_10_ft_strchr.MD) | [48) ft_putnbr](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/048_19_11_ft_putnbr.MD) |
[12) ft_if_zeroes](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/012_26_09_ft_if_zeroes.MD) | [31) ft_ptr](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/031_22_10_ft_ptr.MD) | [49) ft_random_n](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/049_21_11_ft_random_n.MD) |
[13) ft_if_threes](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/013_27_09_ft_if_threes.MD) | [32) ft_got_meme_generator](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/032_23_10_ft_got_meme_generator.MD) | [50) ft_atoi_base](https://github.com/Ysoroko/c_mini_challenges/blob/main/November/050_29_11_ft_atoi_base.MD) |
[14) ft_if_str_has_D_char](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/014_27_09_ft_if_str_has_D_char.MD) | [33) ft_equals](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/033_24_10_ft_equals.MD) |
[15) ft_whiles](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/015_28_09_ft_whiles.MD) | [34) ft_comp_ptr](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/034_25_10_ft_comp_ptr.MD) |
[16) ft_descending](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/016_29_09_ft_descending.MD) | [35) ft_isspace](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/035_26_10_ft_isspace.MD) |
[17) ft_until_zero](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/017_29_09_ft_until_zero.MD) | [36) ft_write_first_word](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/036_26_10_ft_write_first_word.MD) |
[18) ft_odd_numbers](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/018_30_09_ft_odd_numbers.MD) | [37) ft_write_after_char](https://github.com/Ysoroko/c_mini_challenges/blob/main/October/037_28_10_ft_write_after_char.MD) |
[19) ft_calculator](https://github.com/Ysoroko/c_mini_challenges/blob/main/September/019_30_09_ft_calculator.MD) | |