A basic, and hopefully gentle, introduction to the C Programming Language.
This session covers the very basics of C i.e. concepts that are present in most other languages like variables, for loops, and arrays; this session will also introduce the concept of undefined behaviour and how C likes to handle - or not handle - things.
The C Course is a 4-week long course on the basics of C Programming made by UWCS (University of Warwick Computing Society).
You can find out more about the society at their website.
If you're using DCS machines and don't know how to navigate Linux, use the Linux 101 Guide.
- First, clone the repository. If you're new to git then go to the folder you want to store the session in, and run:
git clone https://github.com/RexMortem/C_Course-Introduction
-
Read Session1.pdf; if you're on DCS machines, you can do this using evince or okular among other tools. If you're using your own machine, then most web browsers should work. Regardless of the device, I personally prefer opening pdfs in Chrome, Firefox or similar.
- Note the pdf has HTML elements including links/anchor elements (which limited pdf readers may not read properly, including GitHub's file preview)
- The topics in the contents lists are hyperlinks which should make navigating the document much easier
- Alternatively, you can also read through the markdown file Session1.md
- Note the pdf has HTML elements including links/anchor elements (which limited pdf readers may not read properly, including GitHub's file preview)
-
If you're really struggling then you can find sample solutions to exercises from the session inside
cFiles/exerciseSolutions
. Do have a look at the solutions after you've written a solution that you're convinced is right; it might give you ideas for how to improve your code. Please don't just read the solutions without attempting the exercises:)
If there are any problems with the course or suggestions (especially with improving how digestible the content is), then please contact the society on discord (can be found on their site), or contact me on discord at RexMortem60
.
Originally made by Edward Denton, as Academic Officer for UWCS. Thanks to Alia Meek (President) for proof-reading Session 1.