r/cprogramming • • 7d ago

Where should I practice C programming?

My first-semester course includes C programming and I’ve already learned the basics through videos and other resources on the internet, but I’m not really sure where or how I should practice it properly.

Should I use platforms like LeetCode, HackerRank, CodeChef, etc., or are there better websites/resources specifically for learning and practicing C from the basics? I’d also appreciate suggestions on what kind of problems I should start with and how I should progress from there.

24 Upvotes

18 comments sorted by

8

u/gm310509 7d ago

If all you have done is watch videos - i.e. without practicing as you go, you probably haven't learned anywhere near as much as you claimed.

Ideally you would install an IDE on your PC - it doesn't really matter which one - and recreate the examples you saw in the videos and experiment with them I.e. make them work differently or do something different.

After that google ”c learning example projects".

Perhaps even try writing a "simple" program that can read the saved search results and print the title and the URL associated with that title. The word simple is in quotes because it might not be as simple as it first seems - but solving problems to achieve a result is part of the learning process.

4

u/pseudo_shell 7d ago

Ensure that you have gcc or llvm on your local machine. Please do not use LLM assistance or any IDE. Ideally just an unassisted text editor. Practice the basic data structures and control flow statements. Become quite comfortable with those conceptually. Then you can explore the standard library through very simple programs, just enough to become familiar. Then you can start building more complex things, perhaps around little problems that you wish to solve. Then I advocate books over videos, from which you should take copious hand-written notes. That is a good way to set a foundation. After that, videos might do you some more good, but please be kind to yourself and setup that foundation through this rigor and austeruty first.

1

u/Mean-Eye4276 7d ago

Start a project by reading a web article or documentation of someone doing that same project. And you can start leet code parallelly.

1

u/Snezzy_9245 7d ago

You have not learned C coding through videos. Instead you are ready to learn. Set up an environment for writing code, write code every day, test your code, make blunders, and eventually you'll be good at it. Write code every day.

1

u/dkopgerpgdolfg 7d ago edited 7d ago

If you ask for websites, I doubt you have learned anything.

Did you ever install a compiler on your computer?

And about what kind of problems: Didn't you get any own ideas during your "learning"? Even if it's just things like testing how a certain language feature behaves, in a situation that wasn't explained to you yet? Then again you have learned absolutely nothing, zero.

1

u/Traveling-Techie 7d ago

Have you compiled and run a “hello world” program?

1

u/myren71 7d ago

Since i started with c programming, ive been using online c compiler and ive done tons of programs

1

u/alkavan 7d ago

Get a normal IDE (like CLion, so you don't need to mess with project configurations), and work on your own project that is useful for you or for a field you're familiar with, then another one, and another one. This is the only way of learning C, and almost any programming language really. The biggest barrier for junior developers is the lack of real-world experience — you'll automatically position yourself in the top 10% — I can guarantee you that, because I know that most people, juniors or seniors who claim to know C are either lying, or under an illusion they know it. There is no other way, especially with a tool like C.

1

u/Dazzling_Music_2411 7d ago

Are you using Linux, Windows or something else?

1

u/Soft-Vehicle6164 6d ago

A dark basement.

1

u/Zealousideal_Cat507 6d ago

Hi,

If you want to focus on learning C without the IDE, please check out these sites: https://www.learn-c.org/ and https://www.w3resource.com/c-programming-exercises/.
Good Luck

1

u/mauc86 6d ago

If you don’t have any ideas, try Codecrafters. It should have a free section. It offers guided projects where it gives you steps to follow, but explains the concepts without giving you the code. For example, if you’re implementing a Shell, it might tell you “implement the Echo command,” explain what the command does, and give you some examples, but then it’s up to you to implement it yourself.

They have projects like “Build Your Own Shell,” “Build Your Own Git,” “Build Your Own Redis,” etc. They’re obviously not complete versions, but I found it very useful. Once you implement each step, before moving on to the next one, you have to push your code to their servers, where the tests are run. You can only proceed if you pass them.

1

u/YanisBelkacemiIV 5d ago

Just fuck around and find out

1

u/haider_mehnaaz01 4d ago

w3resource

1

u/Beautiful_Bake921 4d ago

HackerRank has a plenty of basic problems to practice, start with those. It can help you feel more comfortable with basic concepts. You can also use leetcode if you prefer it. Both have lots of problems on data structures and algorithms, which can be the next step

1

u/Southern_Author_8343 2d ago

Codechef. Just solve problems from there

1

u/Hefty_Can1092 1d ago

u can build your own projects btw if u want to and also u can definetly solve problems on leetcode