Tutorial Playlist
132 Lessons1. Introduction to C Tutorial
2. Addition of Two Numbers in C
3. Anagram Program in C
4. Armstrong Number in C
5. Array in C
6. Array of Pointers in C
7. Array of Structure in C
8. C Program to Find ASCII Value of a Character
9. Assignment Operator in C
10. Binary Search in C
11. Binary to Decimal in C
12. Bitwise Operators in C
13. Boolean in C
14. C Compiler for Mac
15. C Compiler for Windows
16. C Function Call Stack
17. C Language Download
18. Operators in C
19. C/C++ Preprocessors
20. C Program for Bubble Sort
21. C Program for Factorial
22. C Program for Prime Numbers
23. C Program for String Palindrome
24. C Program to Reverse a Number
25. Reverse a String in C
26. C string declaration
27. String Input Output Functions in C
28. Calculator Program in C
29. Call by Value and Call by Reference in C
30. Ceil Function in C
31. Coding Vs. Programming
32. Command Line Arguments in C/C++
33. Comments in C
34. Compilation process in C
35. Conditional Statements in C
36. Conditional operator in the C
37. Constant Pointer in C
38. Constants in C
39. Dangling Pointer in C
40. Data Structures in C
41. Data Types in C
42. Debugging C Program
43. Convert Decimal to Binary in C
44. Define And include in C
45. Difference Between Arguments And Parameters
46. Difference Between Compiler and Interpreter
47. Difference Between If Else and Switch
48. Do While Loop In C
49. Double In C
50. Dynamic Array in C
51. Dynamic Memory Allocation in C
52. Enumeration (or enum) in C
53. Evaluation of Arithmetic Expression
54. Factorial of A Number in C
55. Features of C Language
56. Fibonacci Series Program in C Using Recursion
57. File Handling in C
58. For Loop in C
59. Format Specifiers in C
60. Functions in C
61. Function Pointer in C
62. goto statement in C
63. C Hello World Program
64. Header Files in C
65. Heap Sort in C Program
66. Hello World Program in C
67. History of C Language
68. How to compile a C program in Linux
69. How to Find a Leap Year Using C Programming
70. Identifiers in C
71. If Else Statement in C
72. If Statement in C
73. Implementation of Queue Using Linked List
74. Increment and decrement operators in c
75. Input and Output Functions in C
76. How To Install C Language In Mac
77. Jump Statements in C
78. Lcm of Two Numbers in C
79. Length of an Array in C
80. Library Function in C
81. Linked list in C
82. Logical Operators in C
83. Macros in C
84. Matrix multiplication in C
85. Nested if else statement in C
86. Nested Loop in C
87. One Dimensional Array in C
88. Operator Precedence and Associativity in C
89. Overflow And Underflow in C
90. Palindrome Program in C
91. Pattern Programs in C
92. Pointer to Pointer in C
93. Pointers in C: A Comprehensive Tutorial
94. Pre-increment And Post-increment
95. Prime Number Program in C
96. Program for Linear Search in C
97. Pseudo-Code In C
98. Random Access Files in C
99. Random Number Generator in C
100. Recursion in C
101. Relational Operators in C
102. Simple interest program in C
103. Square Root in C
104. Stack in C
105. Stack Using Linked List in C
106. Static function in C
107. Stdio.h in C
108. Storage Classes in C
109. strcat() in C
110. Strcmp in C
111. Strcpy in C
112. String Comparison in C
113. String Functions in C
114. String Length in C
115. String Pointer in C
116. strlen() in C
117. Structures in C
118. Structure of C Program
Now Reading
119. Switch Case in C
120. C Ternary Operator
121. Tokens in C
122. Toupper Function in C
123. Transpose of a Matrix in C
124. Two Dimensional Array in C
125. Type Casting in C
126. Types of Error in C
127. Unary Operator in C
128. Use of C Language
129. User Defined Functions in C
130. What is Variables in C
131. Is C language case sensitive
132. Fibonacci Series in C
Programming in C is like constructing a building. You need to set up the foundation, erect the pillars, and finally, build the floors. In C, the foundation is the header files, the pillars are the functions, and the floors are the statements and expressions. Understanding this structure is vital for writing effective and efficient C programs.
Created in 1972, this procedural language was designed to offer users a system language that is efficient and flexible to both users as well as the system. It has a structure that is easy to understand and follow, which makes it a great language to start with if you're new to programming.
In the subsequent sections, we will cover the basic structure of a C program, including header files, main functions, and other functions.
The structure of a C program consists of the following sections:
Header files are the files that contain the definitions of preprocessor commands. These commands tell the compiler to preprocess the source code before compiling. They typically end with the ".h" extension.
Some commonly used header files include-
For example, to include the stdio.h header file in your program, you would write:
#include<stdio.h> |
As we mentioned earlier, a typical C program consists of the following sections:
The basic structure of C program is as follows:
// Documentation section |
In the basic structure of a C program given above, we first have the documentation section, where we provide comments about the program, its author, and other details. This is followed by the preprocessor directives or the header files section, where we include the header files needed for our program.
Next, we declare the global variables that are accessible throughout the program. After that, we have the main function where the execution of the program starts. Inside the main function, we write our statements and expressions. At the end of the main function, we return an integer value, usually 0, to indicate that the program has ended successfully.
Finally, we define any other functions we may need in our program. These functions can be called from the main function or from any other function in the program.
Let's explore each section in more detail:
Here is a simple main function:
int main() { |
In this example, we print "Hello, World!" to the console and then return 0 to indicate successful execution.
3. Other Functions: Other functions can be user-defined and help modularise the code, making it more readable and maintainable. Here's an example of one such function that determines the sum of two values:
int sum(int a, int b) { |
Now, let's write a complete C program to understand its structure better. We will write a program that calculates the area of a circle.
// Documentation section |
In this program, we start with the documentation section where we describe the program. Then we include the necessary header files. In this case, we only need stdio.h for input and output functions.
We declare a global constant PI which is accessible throughout the program. Then, we define a function calculateArea() that takes the radius of a circle as input and returns the area.
In the main function, we ask the user for the circle's radius, calculate the area using the calculateArea() function, and print the result.
Apart from the barebones structure that we have discussed so far, let’s navigate through a few more crucial concepts found in the structure of C program!
The C language comes with a rich set of functions, collectively known as the standard library. These functions are declared in various header files, and you can use them by including the appropriate header file in your program.
Standard library functions are grouped into several categories, including:
Here's an example of using a standard library function:
#include <stdio.h> |
In this program, we use the sqrt() function from the math.h header file to calculate the square root of a number.
Control structures control the flow of execution of the program. They are divided into three categories:
Here's an example of using a control structure in a C program:
#include <stdio.h> |
In this program, we use the if-else control structure to check whether a number is even or odd.
While writing a C program, it's essential to handle errors that might occur during the execution of the program. The error handling mechanisms in C are limited, but we can use some methods like function return values and the errno global variable to handle errors.
For instance, when a function fails, it can return a special value indicating the failure. The program can then check this value to determine whether the function has failed and take appropriate action.
Here's an example:
#include <stdio.h> |
In this program, the ‘divide’ function returns -1 when an error occurs (when trying to divide by zero). In the main function, we check the return value of ‘divide’ to see whether an error has occurred.
Remember that proper error handling is crucial for developing reliable and robust software. It allows your program to react gracefully to unexpected situations and makes it easier to debug and maintain.
In this tutorial, we have learned about the structure of a C program, including the roles of header files, the main function, and other functions. We have also seen how to write a simple C program. Understanding this structure is crucial for writing effective C programs. As you continue learning, you will come across more complex structures, but the basic structure remains the same.
Along with navigating the challenging yet insightful journey of improving your programming skills, enrolling in Full Stack Software Development Bootcamp offered by upGrad can be an exceptional addition to your resume. From in-demand topics taught by industry experts, this program will ensure you emerge as a leading developer in the full-stack industry!
PAVAN VADAPALLI
Director of Engineering
Director of Engineering @ upGrad. Motivated to leverage technology to solve problems. Seasoned leader for startups and fast moving orgs. Working …Read More
Popular
Talk to our experts. We’re available 24/7.
Indian Nationals
1800 210 2020
Foreign Nationals
+918045604032
upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enrolling. upGrad does not make any representations regarding the recognition or equivalence of the credits or credentials awarded, unless otherwise expressly stated. Success depends on individual qualifications, experience, and efforts in seeking employment.
upGrad does not grant credit; credits are granted, accepted or transferred at the sole discretion of the relevant educational institution offering the diploma or degree. We advise you to enquire further regarding the suitability of this program for your academic, professional requirements and job prospects before enr...