Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Comprehensive C Programming Course
Rating: 4.2 out of 5(7 ratings)
1,101 students

Comprehensive C Programming Course

Master C programming and build real-world applications with our Comprehensive C Programming Course!
Last updated 9/2024
English

What you'll learn

  • Introduction to C Programming: Gain a foundational understanding of C, its history, and why it's crucial in programming.
  • Data Types and Variables: Learn about different data types, variable declaration, and usage in C programming.
  • Control Structures: Master the use of control structures like if-else, switch-case, and loops (for, while, do-while) for decision making and iteration.
  • Input/Output Functions: Understand and implement basic I/O functions to interact with users and perform data input and output operations.
  • Operators: Learn to use various operators (arithmetic, logical, unary) to manipulate data and perform calculations.
  • Arrays and Pointers: Understand the concepts of arrays and pointers, including one-dimensional and multi-dimensional arrays, and pointer arithmetic.
  • Functions: Develop modular and reusable code by creating and using functions, including passing arrays to functions and handling return values.
  • C Programming on Linux: Install and configure the GCC compiler, understand the compilation process, and learn debugging techniques on Linux.
  • Practical Projects: Apply learned concepts in real-world projects such as developing an online exam portal and a payroll processing system.
  • Problem Solving: Enhance problem-solving skills through various examples, case studies, and practice questions on arrays, pointers, and functions.

Course content

8 sections196 lectures27h 39m total length
  • Introduction to C5:52

    Explore how the C language evolved from the B language and its compiler-based design, and identify core features like pointers, memory allocation, recursion, and bit manipulation for low-level programming.

  • Quiz on C intro
  • Data Types In C11:51
  • Structure of C program6:13

    Learn to write a simple C program and understand its structure, including the main function, printf for printing, and using /* */ for comments with semicolons to end statements.

  • Program in C Part 17:31

    Install turbo c and configure its window layout. Write a c program with main and void return type that prints good morning with printf, including stdio.h, then compile and run.

  • Program in C Part 26:47

    Compile your c program to generate an exe, run it with control f9, and pause output with a get function; include stdio.h and conio.h, save as program1.c, and use comments.

  • Program in C Part 310:10

    Learn to declare int variables N1 and N2, store their sum in sum, and print the result with printf while reading inputs with scanf.

  • Quiz on Data Types, Structure and Program in C
  • IO Functions13:03

    Explore c's input output functions through standard streams, using getc and putc to read keyboard input and display on the video, with buffering and flushing via fflush.

  • IfElse Construct Part 18:13
  • IfElse Construct Part 28:43

    Explains the if else construct, including simple if, nested if else, and if else ladder, with dry-run examples and case-sensitive grade logic.

  • Switch Case12:24
  • While dowhile Part 19:13

    Explore how to use while and do while loops in C to print a message multiple times, manage a counter, and format output with printf and escape sequences like \n.

  • While dowhile Part 29:41

    Learn to print even numbers with a while loop, understand do-while behavior and syntax, and compare with for loops and menu-driven usage.

  • For Loop12:28

    Master the for loop in C by learning its syntax, initialization, condition, and increment/decrement, with multiple initializations, one-line bodies, and practical examples like 1–10 and reverse orders.

  • Break Continue7:58

    Apply the break and continue keywords in C to a while loop that sums ten user inputs, stopping at zero and skipping negative numbers.

  • Working with Operators Part 16:30
  • Working with Operators Part 29:03

    Explore the six categories of C operators, relational, logical, unary, binary, ternary, and compound assignment, and see how operands (constants or variables) with precedence and truth tables govern decisions.

  • Logical Operators and Unary Operators8:13

    Learn how to evaluate conditions using operator precedence—from not to and to or—and master unary, binary, and ternary operators, including pre and post increment and decrement.

  • Problem solving Using Operators10:07

    Learn pre and post increment and decrement effects in C, use binary and modulo operators, and explore character and arithmetic operations through examples like leap year checks.

  • Case Study in C programming language9:01
  • Explaining C language and its different functions using Case studies8:37
  • reverse of a number7:34
  • More Examples of C Program writing6:42

    Take three numbers from the user and determine the smallest using if statements, comparing n1, n2, and n3, and print the smallest value; handle the all-equal case.

  • Writing Programs in C using case studies12:40

    Learn to count lowercase and uppercase letters from a 20-character input, validate alphabetic input, and display whether lowercase counts exceed, match, or fall behind uppercase counts using a for loop.

  • More examples of program writing in C6:33
  • Working with Arrays part 19:33
  • Working with Arrays part 27:50
  • One Dimensional Array4:55
  • Working with One Dimensional Array13:43

    Learn to declare one dimensional arrays for characters and integers, including null terminator rules, store prices and item numbers, and convert input to lowercase by adding 32 to uppercase letters.

  • Some Examples and Problem Solving on One Dimensional Array11:42
  • Practice Problem Solving on One Dimensional Array10:07

    Practice solving a one dimensional array sorting problem in C with a nested for loop using i and j, swapping via a temporary variable, and printing the sorted array.

  • Practice Questions on One Dimensional Array Part 12:00
  • Practice Questions on One Dimensional Array Part 26:08
  • Practice Questions on One Dimensional Array Part 35:49

    Shows extracting a substring from a one dimensional array by using start position minus one, copying NC characters into substr with a for loop, then null-terminating and printing with %s.

  • Practice Questions on One Dimensional Array Part 41:40
  • Practice Questions on One Dimensional Array Part 510:01
  • Practice Questions on One Dimensional Array Part 612:59
  • Working with Pointers and Declaring10:50
  • Manipulating Pointers10:54
  • Practise questions Pointer arithmetics10:54
  • Practice Questions on Pointers5:29

    Explore pointer arithmetic in C by incrementing pointers, printing values with %s versus addresses with %d, and understanding how integer sizes affect byte-wise pointer movement.

  • Practise question on working with pointer 27:18

    Explore pointer arithmetic and how to manipulate one-dimensional character arrays using pointers, distinguishing static pointers (array name) from dynamic pointers, and printing with printf using %s.

  • TwoDimensional Arrays and Pointers7:41

    Explore two-dimensional arrays and pointers to manipulate multiple strings, using an array of pointers to store strings and print them with %s in a loop.

  • Pointer Arithmetic in Two Dimensional Arrays9:02
  • Practice Questions on Two Dimensional Arrays and Pointers7:53
  • Additional Practice Questions on 2D Array10:11
  • Working with Functions12:02

    Discover how to build modular C programs by creating and calling your own functions, passing parameters, and leveraging library functions like printf and scanf to enhance reusability and organization.

  • Practice Programming on Functions3:44

    Identify functions called from main, including user defined functions output and Kelsey, and compare call by value versus call by reference using scanf, printf, and fflush.

  • Call by Value Call by Reference Continued6:21

    Demonstrate call by value versus call by reference in C by swapping two integers. Pass addresses with pointers to modify the main variables.

  • Passing Arrays to Functions5:59

    Explore how C passes arrays to functions as references by default. See three parameter styles for arrays: no size, specified size, or pointer.

  • Practice Questions on Passing Arrays to Functions6:31
  • Practice Questions on Passing Arrays to Functions Continue7:48

    Analyze call by value and call by reference through max and min functions, explore program flow back to main and printing with printf, and implement a by-reference power function.

  • Returning the value from a function8:55
  • Returning the value from a function continued9:09
  • String functions8:02

    Discover how to use string.h functions in C, including strcmp for comparing strings, strcpy for copying, strcat for concatenation, and strlen for length.

  • string to numeric conversion function6:11
  • Conclusion C1:33

    Review the advantages and features of the C language, and cover data types, loops, if-else constructs, printf and scanf, arrays, character arrays, pointers, and functions.

Requirements

  • Basic Computer Literacy: Familiarity with using a computer, including navigating file systems and using basic software applications.
  • Interest in Programming: A keen interest in learning programming and solving problems using code.
  • Logical Thinking: Basic understanding of logical thinking and problem-solving techniques.
  • No Prior Programming Experience Required: This course is designed for beginners with no prior experience in programming.
  • Access to a Computer: A computer with an internet connection to access course materials, install software, and complete programming assignments.
  • Operating System: Preferably, a computer running Windows, macOS, or Linux to install and use the necessary tools and compilers.
  • Text Editor or IDE: Installation of a text editor or an Integrated Development Environment (IDE) such as Code::Blocks, Visual Studio Code, or any other C-compatible editor.
  • C Compiler: Installation of a C compiler like GCC (GNU Compiler Collection) for compiling and running C programs.
  • Basic Math Skills: Understanding of basic mathematical concepts, as they are often used in programming.
  • Motivation and Persistence: A willingness to learn, practice, and persist through challenges encountered while learning to program.

Description

Introduction

Welcome to the Comprehensive C Programming Course, a detailed and hands-on journey into the world of C programming. This course is designed to provide a solid foundation in C, covering fundamental concepts, advanced techniques, and practical projects. Whether you are a beginner looking to learn programming from scratch or an experienced developer seeking to enhance your skills, this course will equip you with the knowledge and confidence to write efficient and effective C programs.

Section 1: Fundamentals of C Programming

This section introduces the basics of C programming, starting with the history and significance of C. Students will learn about data types, variable declarations, and the overall structure of a C program. The section also covers basic input/output functions and control structures such as if-else statements, switch-case, loops (while, do-while, for), and the use of break and continue statements. By the end of this section, students will be comfortable writing simple C programs and controlling program flow.

Section 2: Advanced C Programming Techniques

Building on the fundamentals, this section delves into more advanced topics. Students will explore the use of operators, including logical and unary operators, and will solve problems using these operators. This section also covers arrays, pointers, and functions in great detail. Students will learn how to manipulate data using one-dimensional and two-dimensional arrays, perform pointer arithmetic, and implement various function types, including passing arrays to functions and returning values from functions. Case studies and practical examples will help solidify these concepts.

Section 3: C Programming on Linux

This section focuses on developing C programs in a Linux environment. Students will learn how to install and use the GCC compiler, understand GCC architecture, and explore various compiler options. The section covers the stages of compilation, variable types, arithmetic operators, control loops, and functions, with practical exercises to reinforce learning. By the end of this section, students will be proficient in writing, compiling, and debugging C programs on Linux.

Section 4: Project on C and POP - Online Exam Portal

In this project-based section, students will apply their C programming skills to create an online exam portal. They will learn how to create a menu-driven interface, implement various functions for saving and retrieving data, and understand score generation and output. This hands-on project will provide practical experience in developing a complete application using C.

Section 5: Project on C Programming - Payroll Processing

This section involves developing a payroll processing system. Students will create modules for the main menu, monthly transaction processing, and pay slip generation. This project will help students understand the application of C programming in real-world business scenarios, reinforcing their understanding of data management and processing.

Section 6: Project in C Programming - Employee Management System

In this project, students will build an employee management system. They will create and manipulate data structures, implement selection menus, and perform operations such as adding, modifying, and deleting employee records. This section emphasizes the practical use of C programming for managing data and developing user-friendly interfaces.

Section 7: Project in C Programming - 2 Players Tic-Tac-Toe Game

Students will develop a 2-player Tic-Tac-Toe game in this section. They will create the game board, accept player input, and determine the game outcome. This project will help students understand game logic and improve their problem-solving skills using C.

Section 8: Project in C Programming - Hangman Game

The final project involves creating a Hangman game. Students will implement a choice menu, select random words, hide words, evaluate player guesses, and create the main game loop. This project will consolidate their understanding of C programming concepts and provide a fun and interactive way to practice coding.

Conclusion

The Comprehensive C Programming Course offers an in-depth exploration of C programming, from fundamental concepts to advanced techniques and practical projects. By the end of this course, students will have a thorough understanding of C programming and the ability to develop complex applications. This course is perfect for anyone looking to build a strong foundation in programming and enhance their coding skills.

Who this course is for:

  • Beginners in Programming: Individuals with no prior programming experience who want to start their journey in software development.
  • Students: High school or college students looking to strengthen their understanding of C programming for academic purposes.
  • Aspiring Software Developers: Those aiming to build a strong foundation in programming concepts before moving on to more advanced languages and frameworks.
  • Professionals Seeking a Career Change: Professionals from non-technical backgrounds who wish to transition into a career in software development.
  • Engineering Students: Students pursuing degrees in computer science, electronics, or related fields, who need a solid understanding of C programming.
  • Hobbyists: Enthusiasts who enjoy coding and wish to add another programming language to their skillset.
  • Self-Learners: Individuals who prefer self-paced learning and want to gain proficiency in C programming.
  • IT Professionals: IT professionals looking to enhance their programming skills and knowledge of the C language.
  • Embedded Systems Developers: Developers interested in or working with embedded systems where C is commonly used.
  • Anyone Interested in Programming Fundamentals: Anyone who wants to understand the core principles of programming through one of the most widely-used and fundamental programming languages.