C Programming

(Redirected from C)
Wikibooks has a book on the topic of C Programming.

For technical reasons, "C#" redirects here. For the programming language C#, see C Sharp.

Completion status: About halfway there. You may help to clarify and expand it.
Educational level: this is a tertiary (university) resource.

Introduction edit


C is one of the most widely used programming languages in the world,[1] whose application are in all fields of computer sciences, telecom and electronics embedded devices, graphic applications,... Therefore, C is a common choice for people wanting to learn how to program. This course assumes no previous programming experience and will guide you through all of the aspects of programming in C.

The course will roughly follow the C Programming book at Wikibooks as well as provide supplementary reading material for each lesson primarily through Wikipedia. Exercises will be given at the end of each course along with possible solutions. It is highly recommended that all of the exercises be worked because programming is learned by doing, not just reading.

Beginner level edit

The beginner course, which can be considered as an introduction to C, consists of 15 lessons, plus exercise and answer. This course will give student an overview of C, tools setup to run C program, variables, functions, basic data type and data structure and simple techniques to develop a multi-source files program (with preprocessors and header file). This course gives student knowledge to develop software running at "CLI level", the ability to solve basic data structure and algorithm problem, or providing base knowledge for further investigation on software development with C on embedded devices (micro-controller or Linux embedded single board computer), system programming (Linux, Windows), device driver, desktop application,...

Lesson list:

  1. Before You Start: Introduction about the course, a brief history of C programming language and overview of tools required to start the course
  2. Introduction: Fundamental concepts of hardware and software, compiler, how the computer executes software, and start with your very first C program
  3. Variables
  4. Data types
  5. Operators
  6. Syntax
  7. Functions, Flow control
  8. Arrays
  9. Strings
  10. Structs
  11. Preprocessors:
  12. Headers
  13. Basic Output, Input and Output
  14. Memory Management
  15. Pointers

Linux system programming edit

  • Socket programming

WINAPI programming edit

Advanced level edit

Additional resources edit

Main contributors edit

This section is for any Wikiversity user who contributes to that course and is ready to support the students

  • DamienBlack: Creator of the course
  • I8086: Main contributor to introduction lessons
  • Dave Braunschweig: Main contributor to introduction lessons
  • Guywan: Main contributor to introduction lessons
  • Anonymous Agent: Be always available to answer any questions related to this C programming course, as well as other embedded software programming question related to C/CPP programming. Feel free to reach me on my talk page or open a talk on the discusion page then tag me on it.

References edit

  1. "Programming Language Popularity". 2009. Archived from the original on 7 January 2009. Retrieved 16 January 2009.

See also edit

External links edit