Programming in C

 © Kishori Mundargi

Introduction to C Programming



This is an introductory course and covers the key features of the C language and its usage. The first five chapters help in thoroughly understanding the C syntax. The latter chapters focus on more complex concepts of the C language. This course will briefly touch upon some of the standard C library functions and the mechanism used in the implementation of the same. This course is based on industrial programming experience and extensive study of the language.


This course will meet the following objectives :
· a student will gain a thorough understanding of the fundamentals of C programming
· a student will be able to code, compile and test C programs.
· be able to take up Systems programming or Advanced C programming course.
· although this course does not deal with Object Oriented Programming methodology, this will help the student in building the necessary foundation for undertaking a course in C++ and OOP.

Organization of chapters:

The topics are arranged in a sequence most commonly used to teach the material in college courses.

Chapter 1: History of C Programming language
Chapter 2: Compiling a simple C program
Chapter 3: Variables, Data types and Constants
Chapter 4: Arithmetic expressions
Chapter 5: Control of Flow
Chapter 6: Arrays
Chapter 7: Functions
Chapter 8: Structures and Unions
Chapter 9: Strings
Chapter 10: Pointers
Chapter 11: Operation on Bits
Chapter 12: Input and output
Chapter 13: File handling
Chapter 14: C Preprocessor
Chapter 15: Miscellaneous
Appendix A : Some Standard C library functions
Appendix B : Answers to exercises

The list of chapters always appears on the left side of the screen so that one can quickly move from chapter to chapter when necessary.

Design of content:

This course is meant for students who have some prior programming experience and who are familiar with procedural programming concepts. If the students have knowledge of programming languages like Basic or Pascal or Fortran it will be easier to understand this language. Students without prior programming knowledge may require more time to assimilate the information provided in this course.

Studying approach:

One would normally read the text starting from chapter 1 and move on to each subsequent chapter as the material builds on concepts presented in previous chapters. One is urged to take careful notes as explained in studying recommendations.

After reading the text, the student is urged to use the review quizzes present at the end of each chapter. The quizzes test the knowledge of each concept in the chapter with giving a student the ability to link back to the chapter if it is not clear why the correct answer is what it is.


Taking the comprehensive test available at the end of the course should give a fair assessment of student's overall knowledge of course content. Because this content is fundamental for business studies a grade of 70 correct answers out of 100 is the very minimum that any student should achieve. If one does not achieve close to that, it is strongly recommended that a full text introductory course be used to clarify concepts misunderstood from reading this review course. For a complete introductory course, the provided comprehensive test is not sufficient for student evaluation: written assignments should be required.

One should note that the comprehensive test does not allow linking back to the underlying text. Although the questions and the answers in all tests are randomized to avoid memorizing correct answers (rather than understanding underlying concepts), this comprehensive test is inferior to review quizzes for learning purposes. The comprehensive test is only designed for a quick overall evaluation. Moreover, because test taking is not proctored and the student can use his/her notes, the reliability of the grade has some limitations.

The comprehensive test can be taken any number of times, and only the last result will count. Nevertheless, you are advised to take the comprehensive test seriously if you plan to use its results for further studies, such as enroll in a professional course. The grade received for the course appears in the public record of registered students.

See typical grade composition.

Registration and enrollment recommended:

We recommend that you register as a PEOI student, and enroll in fundamental courses as well as professional courses if you plan to study the content of these fundamental courses. By registering and enrolling you will have two major useful outcomes. First, once you sign in, the time and grade in each chapter will be recorded in a personal record seen only by you and your instructor (if you choose to have an instructor). This record will show your progress in the course and your instructor can offer suggestions for improvement (if necessary). Second, the combined result of your quizzes and comprehensive test will be entered in the public record and give you the ability to use this grade as proof of knowledge of the course content.

To register simply fill out the registration form which is accessible through the Registration menu. There is no fee. The information is kept strictly confidential.


Questions or comments:

Your comments, corrections and suggestions are most welcome: please email them to or you may contact us directly.


Go to Chapter I : Introduction