Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/ysoroko/c_mini_challenges
- Owner: Ysoroko
- Created: 2021-09-22T07:56:18.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-07T22:03:58.000Z (12 months ago)
- Last Synced: 2024-01-08T17:40:09.459Z (12 months ago)
- Topics: c, challenge, everyday, intro, regular, tests
- Language: C
- Homepage:
- Size: 365 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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) | |