
Explore the recursive function in C by computing factorial through self calls, highlighting the base case n equals zero and the pattern of n times factorial of n minus one.
Write a program that reads numbers from an array and graphs the information in a bar chart. We display each number followed by a bar consisting of that many asterisks.
Write a program that reads an integer and displays the digits that appear more than once and the number of their appearances. For example, if the user enters 1868, the program should display that digit 8 appears twice. If no digit appears more than once, the program should display a related message.
Write a program that reads an integer and displays it in binary. Use an array to store the bits of the number. To display the bits of a negative number use the two’s complement technique. For example, if the user enters -5:
a. convert it to positive (i.e., 5).
b. reverse its bits (i.e., 101 becomes 11111111111111111111111111111010.
c. add 1 (i.e., the number becomes 11111111111111111111111111111011 and that should be the output value).
Write a program that simulates rolling two dice. The program should use rand twice to roll the first and second die, respectively, then calculate their sum. Because each die can have an integer value from 1 to 6, the sum of the values will vary from 2 to 12, with 7 being the most frequent sum and 2 and 12 the least frequent sums.
Your program should roll the two dice 36,000 times. Use a one-dimensional array to tally the numbers of times each possible sum appears. Print the results in tabular format. Also, determine whether the totals are reasonable—for example, there are six ways to roll a 7, so approximately one-sixth of all the rolls should be 7.
Use a one-dimensional array to solve the following problem. A company pays its salespeople on a commission basis. The salespeople receive $200 per week plus 9% of their gross sales for that week. For example, a salesperson who grosses $3000 in sales in a week receives $200 plus 9% of $3000 for a total of $470. Write a C program (using an array of counters) that determines how many salespeople earned salaries in each of the following ranges—assume that each salesperson’s salary is truncated to an integer amount:
a) $200–299
b) $300–399
c) $400–499
d) $500–599
e) $600–699
f) $700–799
g) $800–899
h) $900–999
i) $1000 and over
*New* Enroll in one course and receive a 100% free coupon for one of my other courses! Please contact me after registering for one of the courses and let me know which other course you prefer. Email address: shahram.taheri@antalya.edu.tr
This course is a complete, practical, and confidence-building journey into C programming, designed to take you from the very basics to advanced, real-world applications. Whether you are a beginner learning C for the first time or a student who wants to truly master it beyond syntax, this course is structured to help you think like a programmer.
You will start with simple, motivating examples and quickly move into core programming concepts such as variables, control structures, loops, and functions. Every topic is reinforced with clear explanations and many hands-on examples, so you don’t just learn how C works—you learn how to use it effectively to solve problems.
As the course progresses, you will gain a deep understanding of pointers, dynamic memory allocation, arrays, strings, and structures—topics that often confuse learners but are explained here step by step with intuition and practice. You will work with files, build reusable libraries, and see how C is used in real systems through system programming concepts like processes and inter-process communication.
What makes this course unique is its strong focus on applied learning. You will build complete programs, solve exam-level problems, and work through full case studies such as card games, spell correction systems, linked lists, and image processing tasks. Advanced examples, debugging insights, and clean coding practices are introduced naturally as your skills grow.
The course also smoothly prepares you for the next step by introducing C++ concepts such as object-oriented programming, templates, and operator overloading—helping you transition from procedural to modern programming paradigms.
By the end of this course, you will:
Write clean, efficient, and confident C programs
Understand memory and pointers at a deep level
Solve real programming problems independently
Be well prepared for exams, interviews, and advanced courses
If you want to truly understand programming fundamentals and build a strong foundation for systems programming, embedded systems, operating systems, or C++, this course will guide you every step of the way.