C Language Tutorial For Beginners (With Notes) - CodeWithHarry
C Language Tutorial For Beginners (With Notes) - CodeWithHarry
Constants
An entity whose value doesn’t change is called a constant.
Types of constant
Primarily there are 3 types of constant:
1. Integer
-1,6,7,9
Constant
2. Real
-322.1,2.5,7.0
Constant
3. Character ‘a’,’$’,’@’(must be enclosed within single
Constant inverted commas)
Keywords
These are reserved words whose meaning is already known to the compiler. There are
32 keywords available in c:
do static if while
Our first C program
#include<stdio.h>
int main() {
File : first.c
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 4/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
printf(“This is %d”,i);
// %d for integers
// %c for characters
Types of variables
Integer
int a=3;
variables
int a=7.7 (wrong as 7.7 is
Real variables
real) ; float a=7.7;
Character
char a=’B’;
variables
& is the “address of” operator, and it means that the supplied value should be copied to
the address which is indicated by variable i.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 5/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Q4. Write a program to calculate simple interest for a set of values representing
principle, no of years, and rate of interest.
int a;
float b;
other variations:
int a,b,c,d;
Arithmetic Instructions
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 6/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Note:
1.No operator is assumed to be present
int i=ab ( Invalid )
int i=a*b ( valid )
2.There is no operator to perform exponentiation in c however we can use pow(x,y)
from <math.h>(More later).
Type conversion
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 7/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
NOTE:
int a = 3.5; //In this case, 3.5 (float) will be denoted to a 3 (int) bec
Quick Quiz:
Question- int k=3.0/9 value of k? and why?
Solution- 3.0/9=0.333, but since k is an int, it cannot store floats & value 0.33 is
demoted to 0.
Operator Precedence in C
3*x-8y is (3x)-(8y) or 3(x-8y)?
In the c language, simple mathematical rules like BODMAS no longer apply.
The answer to the above question is provided by operator precedence & associativity.
Operator precedence
The following table list the operator priority in C
Priority Operators
1st */%
2nd + -
3rd =
Operators of higher priority are evaluated first in the absence of parenthesis.
Operator associativity
When operators of equal priority are present in an expression, the tie is taken care of
by associativity
x * y / z => (x * y) / z
x / y * z => (x / y) * z
Control instructions
Determines the flow of control in a program.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 8/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
1. int a; b=a;
2. int v=3^3;
if ( condition to be checked) {
Statements-if-condition-true ;
else{
statements-if-condition-false ;
Code Example
int a=23;
if (a>18){
printf(“you can drive\n”);
}
Relational Operators in C
Relational operators are used to evaluate conditions (true or false) inside the if
statements. Some examples of relational operators are:
== equals to
greater than or
>=
equal to
!= not equal to
Important Note: '=' is used for an assignment, whereas '==' is used for an equality
check.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 10/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
As the number of conditions increases, the level of indentation increases. This reduces
readability. Logical operators come to the rescue in such cases.
Else if clause
Instead of using multiple if statements, we can also use else if along with if, thus
forming an if-else if-else ladder.
if {
// statements ;
else if { //statements;
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 11/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
else { //statements;
Using if-else if-else reduces indents. The last “else” is optional. Also, there can be any
number of “else if.”
Last else is executed only if all conditions fail.
Operator Precedence
Priority Operator
1st !
2nd *,/,%
3rd +,-
4th <>,<=,>=
5th ==,!=
6th &&
7th ||
8th =
Conditional operators
A shorthand “if-else” can be written using conditional or ternary operators.
Switch(integer-expression)
Case c1:
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 12/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Code;
Code; //Code
Case c3:
Code;
default:
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 13/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
int a=10;
if(a=11)
printf(“I am 11”);
else
printf(“I am not 11”);
2. Write a program to find out whether a student is pass or fail; if it requires a total of
40% and at least 33% in each subject to pass. Assume 3 subjects and take marks
as input from the user.
3. Calculate income tax paid by an employee to the government as per the slabs
mentioned below:
Income Slab Tax
2.5L-5.0L 5%
5.0L-10.0L 20%
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 14/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
While(condition is true) {
// Code
An example:
int i=0;
while (i<10){
printf(“The value of i is %d”,i); i++;
}
Note:
If the condition never becomes false, the while loop keeps getting executed. Such a
loop is known as an infinite loop.
Quick Quiz: Write a program to print natural numbers from 10 to 20 when the initial
loop counter i is initialized to 0.
The loop counter need not be int, it can be a float as well.
i++ (i is increased by 1)
i-- (i is decreased by 1)
printf(“—i=%d”,--i);
printf(“i--=%d”,i--);
+= is compound assignment operator just like -=, *=, /= & %= =>Also important
Do-while loop:
The syntax of do-while loop looks like this:
do {
//code;
//code;
}while(condition)
For Loop
The syntax of for loop looks like this:
//code;
//code;
for(i=0;i<3;i++)
{
printf(“%d”,i);
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 16/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
printf(“\n”);
}
Output:
0
1
2
Quick Quiz: Write a program to print first n natural numbers using for loop.
A case of Decrementing for loop
for(i=5; i; i--)
printf(“%d\n”,i);
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 17/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
int skip=5;
int i=0;
while(i<10){
if(i != skip)
continue;
else
printf(%d”,i);
}
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 18/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int main(){
int number, guess, nguesses=1;
srand(time(0));
number = rand()%100 + 1; // Generates a random number between 1 and 1
// printf("The number is %d\n", number);
// Keep running the loop until the number is guessed
do{
printf("Guess the number between 1 to 100\n");
scanf("%d", &guess);
if(guess>number){
printf("Lower number please!\n");
}
else if(guess<number){
printf("Higher number please!\n");
}
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 19/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Sometimes our program gets bigger in size, and its not possible for a programmer to
track which piece of code is doing what.
The function is a way to break our code into chunks so that it is possible for a
programmer to reuse them.
What is a function?
A function is a block of code that performs a particular task. A function can be reused
by the programmer in a given program any number of times.
Example and syntax of a function:
#include<stdio.h>
void display(); // Function prototype
int main(){
int a;
display(); // Function call
return(0);
}
Function prototype:
Function prototype is a way to tell the compiler about the function we are going to
define in the program.
Here void indicates that the function returns nothing.
Function call:
Function call is a way to tell the compiler to execute the function body at the time the
call is made.
Note that the program execution starts from the main function in the sequence the
instructions are written.
Function definition:
This part contains the exact set of instructions that are executed during the function
call. When a function is called from main(), the main function falls asleep and gets
temporarily suspended. During this time, the control goes to the function being called
when the function body is done executing main() resumes.
c=a+b;
return c;
Now we can call sum(2,3) [here 2 and 3 are arguments]; from main to get 5 in return.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 21/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Note:
1. Parameters are the values or variable placeholders in the function definition. Ex: a &
b
2. Arguments are the actual values passed to the function to make a call. Ex: 2 & 3
3. A function can return only one value at a time.
4. If the passed variable is changed inside the function, the function call doesn’t
change the value in the calling function.
return 0;
change is a function which changes a to 77. No, if we call it from main like this.
int b=22;
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 22/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Recursion
A function defined in C can call itself. This is called recursion.
A function calling itself is also called a recursive function.
Example of Recursion:
A very good example of recursion is factorial
factorial(n) = 1x 2 x 3...........x n
factorial(n)= 1 x 2 x 3...........n-1 x n
Since we can write factorial of a number in terms of itself, we can program it using
recursion.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 23/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Important Notes:
1. Recursion is sometimes the most direct way to code an algorithm
2. The condition which doesn’t call the function any further in a recursive function is
called the base condition.
3. Sometimes, due to a mistake made by the programmer, a recursive function can
keep running without returning, resulting in a memory error.
***
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 24/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
*****
Chapter 6 - Pointers
A pointer is a variable that stores the address of another variable.
j is a pointer
j points to i.
The "address of" (&) operator
The address of operator is used to obtain the address of a given variable
If you refer to the diagrams above
&i=> 87994
&j=>87998
*(&i) = 72
*(&j) = 87994
Just like pointer type integer, we also have pointers to char, float, etc.
Although it's a good practice to use meaningful variable names, we should be very
careful while reading & working on programs from fellow programmers.
#include<stdio.h>
int main()
{
int i=8;
int *j;
j=&i;
printf(“Add i=%u\n”,&i);
printf(“Add i=%u\n”,j);
printf(“Add j=%u\n”,&j);
printf(“Value i=%d\n”,i);
printf(“Value i=%d\n”,*(&i));
printf(“Value i=%d\n”,*j);
return 0;
}
Output:
Add i=87994
Add i=87994
Add j=87998
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 26/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Value i=8
Value i=8
Value i=8
This program sums it all. If you understand it, you have got the idea of pointers.
Pointers to a pointer:
Just like j is pointing to i or storing the address of i, we can have another variable, k
which can store the address of j. What will be the type of k?
int **k;
k= &j;
We can even go further one level and create a variable l of type int*** to store the
address of k. We mostly use int* and int** sometimes in real-world programs.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 27/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
If sum is defined as sum(int a, int b), the values 3 and 4 are copied to a and b. Now
even if we change a and b, nothing happens to the variables x and y.
This is call by value.
In C, we usually make a call by value.
Call by reference:
Here the address of the variable is passed to the function as arguments.
Now since the addresses are passed to the function, the function can now modify the
value of a variable in calling function using * and & operators. Example:
This function is capable of swapping the values passed to it. If a=3 and b=4 before a
call to swap(a,b), a=4 and b=3 after calling swap.
int main()
{
int a=3; // a is 3 and b is 4
int b=4;
swap(a,b)
return 0; // now a is 4 and b is 3
}
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 28/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
4. Write a program using a function that calculates the sum and average of two
numbers. Use pointers and print the values of sum and average in main().
5. Write a program to print the value of a variable i by using the "pointer to pointer"
type of variable.
6. Try problem 3 using call by value and verify that it doesn’t change the value of the
said variable.
Chapter 7 - Arrays
An array is a collection of similar elements.
One variable => Capable of storing multiple values
Syntax,
The syntax of declaring an array looks like this:
marks[0]=33;
marks[1]=12;
Note: It is very important to note that the array index starts with 0.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 29/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Accessing Elements
Elements of an array can be accessed using:
Quick Quiz: Write a program to accept marks of five students in an array and print
them to the screen.
Initialization of an array
There are many other ways in which an array can be initialized.
float marks[]={33,40}
Arrays in memory
Consider this array:
This will reserve 4x3=12 bytes in memory. 4 bytes for each integer.
1 2 3
int i = 32;
int *a = &i; ==> a =87994 (address = 87994)
a++; ==> now a = 87998
char a = 'A';
char *b = &a; ==> b = 87994
b++; ==> now b = 87995
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 30/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
float i = 1.7;
float*a = &i; ==> Address of i or a = 87994
a++; ==> Now a = 87998
ptr++;
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 31/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
or
Multidimensional arrays
An array can be of 2 dimension / 3 dimension / n dimensions.
A 2-dimensional array can be defined as:
We can access the elements of this array as arr [0] [0], arr [0] [1] & so on...
At arr [0] [0] value would be 1 and at arr [0] [1] value would be 4.
2-D arrays in Memory
A 2-d array like a 1-d array is stored in contiguous memory blocks like this:
Quick Quiz: Create a 2-d array by taking input from the user. Write a display function
to print the content of this 2-d array on the screen.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 32/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
1. Create an array of 10 numbers. Verify using pointer arithmetic that (ptr+2) points to
the third element where ptr is a pointer pointing to the first element of the array.
2. If S[3] is a 1-D array of integers, then *(S+3) refers to the third element:
True
False
Depends
3. Write a program to create an array of 10 integers and store a multiplication table of
5 in it.
4. Repeat problem 3 for a general input provided by the user using scanf()
5. Write a program containing a function that reverses the array passed to it.
6. Write a program containing functions that counts the number of positive integers in
an array.
7. Create an array of size 3x10 containing multiplication tables of the numbers 2,7 and
9, respectively.
8. Repeat problem 7 for a custom input given by the user.
9. Create a three-dimensional array and print the address of its elements in increasing
order.
Chapter 8 - Strings
A string is a 1-d character array terminated by a null(‘\0’) => {this is null character}
The null character is used to denote string termination, characters are stored in
contiguous memory locations.
Initializing Strings
Since string is an array of characters, it can be initialized as follows:
char s[]={‘H’,’A’,’R’,’R’,’Y’,’\0’}
Strings in memory
A string is sorted just like an array in the memory as shown below
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 33/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Quick Quiz: Create a string using " " and print its content using a loop.
Printing Strings
A string can be printed character by character using printf and %c.
But there is another convenient way to print strings in C.
char st[50];
scanf(“%s”,&st);
scanf automatically adds the null character when the enter key is pressed.
Note:
1. The string should be short enough to fit into the array.
2. scanf cannot be used to input multi-word strings with spaces.
gets() and puts()
gets() is a function that can be used to receive a multi-word string.
char st[30];
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 34/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
This tells the compilers to store the string in the memory and the assigned address is
stored in a char pointer.
Note:
1. Once a string is defined using char st[]= ”harry”, it cannot be initialized to something
else.
2. A string defined using pointers can be reinitialized. => ptr=”rohan”;
int length=strlen(st);
char target[30];
Target string should have enough capacity to store the source string.
strcat() - This function is used to concatenate two strings
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 35/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
strcmp() - This function is used to compare two strings. It returns: 0 if strings are equal
Negetive value if first strings mismatching character's ASCII value is not greater than
second string's corresponding mismatching character. It returns positive values
otherwise.
Chapter 9 - Structures
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 36/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
struct employee{
float salary;
char name[10];
}; • semicolon is important
Quick Quiz: Write a program to store the details of 3 employees from user-defined
data. Use the structure declared above.
Why use structures?
We can create the data types in the employee structure separately but when the
number of properties in a structure increases, it becomes difficult for us to create data
variables without structures. In a nutshell:
1. Structures keep the data organized.
2. Structures make data management easy for the programmer.
Array of Structures
Just like an array of integers, an array of floats, and an array of characters, we can
create an array of structures.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 37/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
facebook[0].code=100;
facebook[1].code=101;
..........and so on.
Initializing structures
Structures can also be initialized as follows:
Structures in memory
Structures are stored in contiguous memory locations for the structures e1 of type
struct employee, memory layout looks like this:
In an array of structures, these employee instances are stored adjacent to each other.
Pointer to structures
A pointer to the structure can be created as follows:
ptr=&e1;
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 38/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
printf(“%d”,*(ptr).code);
Arrow operator
Instead of writing *(ptr).code, we can use an arrow operator to access structure
properties as follows
*(ptr).code or ptr->code
Here -> is known as an arrow operator.
Passing Structure to a function
A structure can be passed to a function just like any other data type.
void show(struct employee e); =>Function prototype
Quick Quiz: Complete this show function to display the content of the employee.
Typedef keyword
We can use the typedef keyword to create an alias name for data types in c.
typedef is more commonly used with structures.
struct complex{
float real; // struct complex c1,c2; for defining c
float img;
};
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 39/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
15. Create an array of 5 complex numbers created in problem 5 and display them with
the help of a display function. The values must be taken as an input from the user.
16. Write problem 5’s structure using typedef keyword.
17. Create a structure representing a bank account of a customer. What fields did you
use and why?
18. Write a structure capable of storing date. Write a function to compare those dates.
19. Solve problem 9 for time using typedef keyword.
File pointer
The “File” is a structure that needs to be created for opening the file. A file pointer is a
pointer to this structure of the file.
File pointer is needed for communication between the file and the program.
A file pointer can be created as follows:
FILE *ptr;
ptr=fopen(“filename.ext”,”mode”);
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 40/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Types of Files
There are two types of files:
1. Text files(.txt, .c)
2. Binary files(.jpg, .dat)
Reading a file
A file can be opened for reading as follows:
FILE *ptr;
ptr=fopen(“Harry.txt”,”r”);
int num;
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 41/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
FILE *fptr;
fptr=fopen(“Harry.txt”,”w”);
int num=432;
fprintf(fptr,”%d”,num);
fclose(fptr);
while(1){
ch=fgetc(ptr); // When all the content of a file has been read, break
if(ch==EOF){
break;
}
//code
}
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 42/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
name1, 3300
name2, 7700
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
// Non-draw conditions
// Cases covered:
// sg
// gs
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 43/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
If the space is not sufficient, memory allocation fails and a NULL pointer is returned.
Quick Quiz: Write a program to create an array of size n using calloc() where n is an
integer entered by the user.
free() function
We can use free() function to allocate the memory.
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 44/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
Quick Quiz: Write a program to demonstrate the usage of free() with malloc().
realloc() function
Sometimes the dynamically allocated memory is insufficient or more than required.
realloc is used to allocate memory of new size using the previous pointer and size.
Syntax:
ptr = realloc(ptr,newSize);
ptr = realloc(ptr, 3* sizeof(int)) //ptr now points to this new block of m
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 45/46
8/27/24, 5:21 PM C Language Tutorial For Beginners (With Notes) | CodeWithHarry
https://www.codewithharry.com/videos/c-tutorial-in-hindi-with-notes/ 46/46