Skip to content
KnowledgeCity

Programming with C Intermediate

Learn some intermediate C programming skills and techniques, from syntax to data structures to recursion.
Preview the first lesson free — get full access to all 25 lessons.
Course: On-Demand
Intermediate Provider Mike McMillan  8 chapters ·  25 Lessons ·  1h 18m  in Arabic, German, English, Spanish, French, Portuguese, Chinese 

Course Description

The C programming language provides many advanced programming features other high-level languages provide. However, to master these features you first have to understand how C's syntax works. From there, you’ll be ready to master more advanced techniques and features.

In this course, we’ll cover the primary data structure of C, the array. This course covers all aspects of declaring arrays, assigning data to arrays, and using arrays to solve problems. We’ll also cover shortcuts for declaring and assigning data to arrays in one statement, thus saving the programmer a lot of time when the initial data for an array is known at design-time. Because lots of data is stored as tables, we’ll cover two-dimensional arrays next, including how to declare them, initialize them with data, store data in them after they are declared, and how to perform row-wise and column-wise computations on two-dimensional arrays.

Following that, we’ll move on to implementing and developing recursive functions using two fundamental examples, computing factorials and computing terms in the Fibonacci sequence. Finally, we’ll discuss two more advanced data structures, the struct and the union. Structs are useful for creating composite data—variables that can store more than one value—while unions are useful because they allow you to store data of different types in the same variable.

What You'll Learn

  • Understand C's block structure and core syntax for forming statements
  • Declare, initialize, and assign data to one-dimensional arrays
  • Declare, initialize, and work with two-dimensional and jagged arrays
  • Design and implement recursive functions such as factorial and power functions
  • Create and use structs for composite data types, including passing structs as function arguments
  • Create and use unions and constants in C

Key Takeaways

  • The array is presented as the primary data structure of C, covering declaration, data assignment, and problem solving.
  • Shortcuts allow declaring and assigning data to an array in one statement, saving time when initial data is known at design-time.
  • Two-dimensional arrays support storing tabular data and performing row-wise and column-wise computations.
  • Recursive functions are taught through computing factorials and computing terms in the Fibonacci sequence.
  • Structs store composite data with more than one value, while unions allow storing data of different types in the same variable.

Frequently Asked Questions

What does this course cover?

It covers C's block structure and syntax, declaring and using one- and two-dimensional arrays, jagged arrays, recursive functions (such as factorial and power functions), and the struct and union data structures, along with creating and using constants.

What will I be able to do after completing this course?

You will understand C's block structure, be able to declare and initialize one- and two-dimensional arrays, design and implement recursive functions, and use structures for composite data types.

How are arrays taught in this course?

The course covers all aspects of declaring arrays, assigning data to arrays, and using arrays to solve problems, including shortcuts for declaring and assigning data in one statement, plus two-dimensional arrays with row-wise and column-wise computations.

What is the difference between structs and unions in this course?

Structs are useful for creating composite data, variables that can store more than one value, while unions allow you to store data of different types in the same variable.

What skills does this course help build?

It builds skills in C programming, C data types, C-based programming languages, interactive C, modular programming in C, and general programming concepts.