Featured Courses
Students who take C, also register the below courses:
This hands-on self-paced C programming course provides a comprehensive introduction to the ANSI C language, emphasizing portability and structured design. Students are introduced to all major language elements including fundamental data types, flow and control. Thorough treatment is given to the topics of string and character manipulation, dynamic memory allocation, standard I/O, macro definition, and the C runtime library.
The course explains the use of aggregate structures, unions, and pointers early on so the students can practice extensively in the hands-on labs.
Learning Objectives
In this course, you will learn the following:
- Components of a C program
- Using the C preprocessor
- Using standard runtime libraries
- Using make to build programs
- Working with debugger utilities
- Using data types, storage classes and scope
- Using typedef to make code more readable and portable
- Using operators and expressions
- Working with conditional and looping constructs
- Initializing a pointer
- Accessing the value addressed by a pointer
- Declaring and initializing arrays and multidimensional arrays
- I/O functions
Topics and Subtopics
The following topics and subtopics are covered in this course:
1- Overview of C Programming Language
- Operating System Independence
- Design Goals and Capabilities
- Flavors of C
2- Compiler Directives and the C Preprocessor
- Compile-Time Directives
- Use of typedef
- C Preprocessor Syntax
3- Fundamental Data Types, Storage Classes, and Scope
- Fundamental Data Types and Qualifiers
- Constants and Strings
- Storage Classes
- Scope and Block Structure
- Scope and Data Hiding
- Data Initialization
4- Pointers and Dynamic Allocation
- Advantages of Pointers
- User of Pointers
- Pointer and Address Arithmetic
- Dynamic Storage Allocation
- sizeof Operator
- Double Indirection
5- Macros
- Functions vs. Inlining
- Purpose of Macros
- Use of Macros
- Making Code More Readable
- Auto Adjustment of Compile Time Values
- Conditional Compilation
- Making Code Portable
- Simplifying Complex Access Calculations
- Advanced Micro Design Tips
- Using Macros to Help Write Portable Programs
- When to Use a Macro instead of a Function
- Using Macros for Debugging
6- Arrays
- Purpose of Arrays
- Declaring an Array
- Initializing an Array
- Addressing Elements
- Stepping Through an Array
- Variable Size Arrays
- Arrays of Pointers
- Arrays of Strings
- Passing an Array to a Function
- Dynamic Memory Allocation
- Multidimensional Arrays
7- Basic Formatted I/O
- Standard I/O Library
- Character Set Encoding
- Standard Input and Output
- Character I/O Functions
- Formatted I/O Functions
- String Constants
8- Program Debugging
- Problem Analysis
- Instrumenting with printif
- Instrumenting with ctrace
- The Purpose of Debuggers
- How Not to Use Debuggers
- Symbolic Debuggers
9- Operators and Expressions
- Arithmetic, Logical, and Bit Operators
- Precedence and Associativity
- Assignment and Casting
- The Conditional Operator
10- Flow Control Constructs
- Conditional Constructs: if, switch
- Looping Constructs: while, do, for
- Programming Style
Project 1- C Program to check whether the given integer is positive or negative
Project 2- C Program to find greatest of three numbers
Project 3- C Program to display Fibonacci series
Project 4- C Program to check if number is even or odd
Project 5- C Program to arrange numbers in ascending order
Project 6- C Program to convert uppercase string to lowercase string
Requirements
None.
Related Courses
- Introduction to Java Programming
- Introduction to Go Programming
- Learn Kotlin Programming by Examples
- Introduction to Python Programming
Complete Training Bundle
If you are serious about becoming a pro software engineer, you should enroll in our Complete Training Bundle for Software Engineers class, This bundle covers all essential and practical topics related to software design and development. For $290 monthly subscription, you can have access to 300+ hours of hands-on project-based training covering all courses related to software development like Python, Java, Kotlin, C/C++ Go and more. Click here to learn more.
Private Tutoring Classes
To take skills you learn from this course to the next level, taking the Coding Bootcamps school tutoring classes are highly recommended. It is also a great opportunity to discuss your questions and problems related to this course with an experienced instructor:
- Private tutoring sessions for software design and engineering- Weekly and monthly plans
- C and C++ programming languages- Private tutoring sessions
What Is Next?
After finishing this course, you can enroll in any of following classes:
- Intermediate level C programming language with hands-on examples
- Learn C++ Programming by Examples
- Introduction to Database Design
- Learn SQL Programming by Examples
- Intro to Blockchain Technology
- Introduction to Linux OS
- Intro to Linux Bash Scripting
Recommended Free Courses
If you are new to the IT or programming, we suggest the following free courses:
Course Curriculum
- What you'll learn in this course (1:53)
- 1- Overview of C Programming Language (15:53)
- 2- Compiler Directives and the C Preprocessor (13:20)
- 3- Fundamental Data Types, Storage Classes, and Scope in C (18:58)
- 4- Pointers and Dynamic Allocation in C (32:04)
- 5- Macros in C (22:49)
- 6- Arrays in C (27:26)
- 7- Basic Formatted I/O in C (22:18)
- 8- Program Debugging in C (9:44)
- 9- Operators and Expressions in C (23:45)
- 10- Flow Control like Loop and Conditional Constructs in C (23:50)
- Next steps (0:52)
- Project 1- C Program to check whether the given integer is positive or negative (12:32)
- Project 2- C Program to find greatest of three numbers (25:51)
- Project 3- C Program to display Fibonacci series (37:25)
- Project 4- C Program to check if number is even or odd (34:14)
- Project 5- C Program to arrange numbers in ascending order (23:45)
- Project 6- C Program to convert uppercase string to lowercase string (8:39)
Tom Brownlee - Junior C/C++ and Linux Developer
Tom has been working with computers since his childhood. When he was about 12, he learned the very fundamentals of C++ during a summer camp.
Currently he is a CS major at DigiPen Institute of Technology, specializing in Linux development, network programming, and game development.
He is an adept C/C++ developer with strong background in Linux bash scripting.
He has taught C/C++ and Linux as a tutor to many students.
Featured Courses
Students who take C, also register the below courses: