Simple C programs with outputs to learn C
Tags: cpp, programming, development, webdev
Published: 2024-03-29 17:37:37

Ever thought of Learning a Programming Language but instead got stuck with two major Questions:

- Which Programming Language to Learn??

- Where and How to Learn in the best possible way??

Well, I must say there are dozens of Programming Languages to choose from and it makes a tough question even tougher, But to answer a tough question you must start learning C Language. The reason is that it's considered the mother of all Programming Languages, because all of the concepts of modern programming languages were taken from this Language only, also being a Programming language that is close to machine-level coding it gives the best and maximum performance to the developer with control over hardware.

Let us discuss some Programs that can help you to learn C Language easily by coding some real-world Programs.

## Learn C Language by Coding

Let's take a look at some Programs that you can develop and focus on Learning the C language.

### Hello World Program

Let's be honest, Every developer has made a `Hello World` Program when they're learning a new Programming Language. With a `Hello World` Program, you can learn how to display Messages to the console for the End User. With a Hello World Program, you can also check whether the Installation of C language is correctly done or not.

#### Code

```
#include <stdio.h>int main(){ printf("Hello World"); return 0;}
```

##### Output

```
Hello World
```

### Take User Inputs

Taking User Input is the most important step in any Software, and learning to take input from the user in your very own Software Developed with C language will allow you to make your program Dynamic.

Things you'll learn from this program:

- Variables

- Handling User Inputs and data types

- DataType Conversions

#### Code

```
#include<stdio.h>int main(){ int numberOne, numberTwo; printf("Enter the Numbers : Number 1 and Number 2"); scanf("%d%i", &numberOne, &numberTwo); printf("\n\nYou entered %d and %i\n\n", numberOne, numberTwo); return 0;}
```

##### Output

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699371701491/858ea5e0-d707-41a0-8178-4d56d03110d9.png)

### Take Complete string as an Input

One of the main problems with `scanf` is that it only can take inputs until there's a Space between the String entered. That's where the `gets()` function get into play.

#### Code

```
#include<stdio.h>int main(){ char name[50]; printf("Enter your complete name:\n\n"); gets(str); printf("\n\nWelcome to Codedamn %s\n\n", name); return 0;}
```

##### Output

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699372913507/1d73c211-c67c-4adf-a5eb-777f4e4d7ed8.png)

### Conditional Statements

If you ever thought about how can a Program know what to do if you did something particular in software, That's something handled by Conditional Statements. Conditional Statements run based on the inputs given to the program.

Conditional Statements Include two types of Statements:-

- If-else Statements

- Switch Statement

#### If-Else Statements

If else statements work based on the inputs provided, it checks whether the input matches a certain condition provided by the developer, If the condition matches with the condition provided then it'll execute a set of lines of code often named as a block of Code, else the different block of Code will execute which is under the Else Block.

Let's take a Look at the code, it'll make everything clear

##### Code

```
#include<stdio.h>int main(){ int option; printf("Enter a Number : "); scanf("%d",&option); if(option < 100) printf("Entered Number is less than 100."); else if(option == 100) printf("Exactly 100"); else printf("Entered Number is more than 100."); return 0;}
```

###### Output

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699372926854/3b5b7596-f12e-413d-8ad1-7ec3485eec59.png)

#### Switch Statement

Sometimes the program gets very long and slow due to multiple conditions and checking every condition can take up a long time. To tackle this kind of problem the Language Developers came up with Switch Statements to speed up the execution time and fewer lines of Code.

##### Code

```
#include<stdio.h>int main(){ char marks; printf("Enter your Grade:\n"); scanf("%c", &marks); switch(marks) { case 'A': printf("You have a Score of 90+ percentage"); break; case 'B': printf("You have a score of 80+ percentage"); break; case 'C': printf("You have a score of 70+ percentage"); break; case 'D': printf("You have a score of 60+ percentage"); break; case 'F': printf("Sorry but you've to work hard"); break; default: printf("\t\tDefault Case : Invalid grade\n\n\n"); } printf("Grade : %c\n",marks); return 0;}
```

###### Output

```
Enter your Grade:AYou have a Score of 90+ percentageGrade : AEnter your Grade:BYou have a Score of 80+ percentageGrade : BEnter your Grade:CYou have a Score of 70+ percentageGrade : C
```

### Performing Arithmetic Operations using C Language

In Software Development, performing Artimatic Operations is a very basic task and to perform those tasks and store the output in the desired data type without the loss of Data is very crucial.

#### Code

```
#include <stdio.h>int main() { char Operator; double numberOne, numberTwo; printf("Select an Operator from the given options (+, -, *, /): "); scanf("%c", &Operator); printf("Enter the two numbers to perform the operations included with a space like this -> firstNumber secondNumber : "); scanf("%lf %lf", &numberOne, &numberTwo); switch (Operator) { case '+': printf("%.1lf + %.1lf = %.1lf", numberOne, numberTwo, numberOne + numberTwo); break; case '-': printf("%.1lf - %.1lf = %.1lf", numberOne, numberTwo, numberOne - numberTwo); break; case '*': printf("%.1lf * %.1lf = %.1lf", numberOne, numberTwo, numberOne * numberTwo); break; case '/': printf("%.1lf / %.1lf = %.1lf", numberOne, numberTwo, numberOne / numberTwo); break; default: printf("It was stated that to select from the given options of Operations, and yet you did not"); } return 0;}
```

##### Output

```
Select an Operator from the given options (+, -, *, /): *Enter the two numbers to perform the operations included with a space like this -> firstNumber secondNumber : 1.5 4.51.5 * 4.5 = 6.8
```

### Loops in C Programming

A Loop consists of three parts which are mentioned below

- Initialization

- Condition

- Update

Let's look at some of the loops in C Programming

#### For Loop

```
// Format of For loop in C languagefor ( Initialization; Condition; Updating ){ Code;}
```

##### Code

```
#include<stdio.h>int main(){ int i = 0; for(i = 0; i < 10; i++) { printf("i = %d\n", i); } printf("\nValue of i after the Loop ends : %d", i); return 0;}
```

#### While Loop

While loop is the same as For loop you can consider this as an upgraded version of For loop, Just compare this syntax with for loop.

```
Initialization;while( Condition ){ Code; Updation;}
```

##### Code

```
#include<stdio.h>int main(){ int i = 0; printf("Print the Numbers from 0 to 9"); while(i<10) { printf("%d\n",i); i++; } return 0;}
```

###### Output

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699373026671/0b42f5ff-ca35-4fb9-ae54-1557d26c5d61.png)

#### Do-while loops in C Language

The main difference between `Do-while loops` and `While Loops` is that the while loop will run once even if the condition is not satisfied due to the condition being checked at the end of the execution of `Do while Loop`.

```
Initialization;do{ Code; Updation;}while( Condition )
```

##### Code

```
#include<stdio.h>int main(){ int i = 10; do { printf("i = %d\n",i); i = i-1; }while(i > 0); return 0;}
```

###### The output of Do While Loop in C Programming

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699373192338/c3572a7d-3191-4c78-a96d-e985b8bace93.png)

### Programs to Practice

#### Program to get the Factorial of a Number

```
#include<stdio.h>void main(){ int num; long int factorial = 1; printf("Enter a Number to find the factorial : "); scanf("%d" , &num); int i = num; while(i) { factorial = factorial * i; i--; } printf("Factorial of %d is %ld", n , fact);}
```

##### Output

```
Enter the number: 3Factorial of 3 is 6
```

#### Fibonacci Series

The Fibonacci series is a series of Numbers developed from adding the previous two numbers. It requires just two numbers it can be even 0 and 1 and it'll generate Fibonacci Series up to n number.

```
#include<stdio.h>#include<conio.h>void fibonacci(int n){ int a, b, c, i = 3; a = 0; b = 1; if(n == 1) printf("%d",a); if(n >= 2) printf("%d\t%d",a,b); while(i <= n) { c = a+b; printf("\t%d", c); a = b; b = c; i++; }}void main(){ int n = 0; clrscr(); printf("Enter number of items to produce: "); scanf("%d", &n); fibonacci(n); getch();}
```

##### The output of the Program above

```
Enter number of terms 60 1 1 2 3 5
```

#### Palindrome or not

A Palindrome number means a number written backward and still being the same.

```
#include<stdio.h>#include<conio.h>void main(){ int x, y, z, i = 0; clrscr(); printf("Enter a number:\t"); scanf("%d", &x); z = x; while(x > 0){ y = x%10; i = (i*10)+y; x = x/10; } if(i == z){ printf("It is Palindrome"); } else{ printf("It is not a Palindrome"); } getch();}
```

###### Output

```
Enter the number: 121The number 121 is a palindrome
```

#### Program to reverse a String in C Language

```
#include <stdio.h>int main(){ char str[1000], rev[1000]; int i, j, count = 0; scanf("%s", str); printf("\nString Before Reverse: %s", str); //finding the length of the string while (str[count] != '\0') { count++; } j = count - 1; //reversing the string by swapping for (i = 0; i < count; i++) { rev[i] = str[j]; j--; } printf("\nString After Reverse: %s", rev);}
```

##### Output

```
HelloString Before Reverse: HelloString After Reverse: olleH
```

#### Print the Sum of N Input Numbers

```
#include<stdio.h>int main(){ int n,sum=0,c,num; printf("Enter the numbers you want to add provided with a Space in between them: "); scanf("%d", &n); printf("Enter %d number of integers to add: ",n); for(int i = 1; i <= n; i++) { scanf("%d", &num); sum += num; } printf("Sum of the Numbers entered are = %d", sum); return 0;}
```

##### Output

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699373212054/b9f7c1be-928d-4b5b-9071-77c80e75f8af.png)

#### Program to find the largest of n Numbers

```
#include<stdio.h>int main(){ int num,i; float x,largest; printf("Enter the Number of Elements you want to search among: "); scanf("%d", &num); printf("Enter the numbers to search from\n"); printf("Element 1: "); scanf("%f", &largest); for(i = 2; i <= num; i++) { printf("\nEnter Element %d : ", i); scanf("%f", &x); if(largest < x) largest = x; } printf("\nThe largest of the %d numbers is %f ", num, largest); return 0;}
```

##### Output

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699373223058/aa91ae12-15b4-47b8-a0ca-0bc4849b8e8e.png)

### Arrays

Arrays are a certain type of data structure that can help you to store multiple data within a single variable instead of creating variables for every other data that we acquire from the user.

Arrays are fixed in nature which means when you specify the length of the Array then you cannot change it during the execution of the Program until it's been modified and compiled to run again.

There are two types of Arrays

- 1D Array also known as Linear Array

- 2D Array also known as Matrix

Let's look at some of the Programs to practice 1D Array

#### C Program to Insert Elements in an Array

Inserting an Element in an Array is the first step in Developing Array Programs.

```
#include<stdio.h>int main(){ int array[100], position, c, n, value; printf("\n\nEnter number of elements in array:"); scanf("%d", &n); printf("\n\nEnter %d elements\n", n); for(c = 0; c < n; c++) scanf("%d", &array[c]); printf("\n\nEnter the location where you want to insert new element: "); scanf("%d", &position); printf("\n\nEnter the value to insert: "); scanf("%d", &value); for(c = n-1; c >= position-1; c--) array[c+1] = array[c]; array[position - 1] = value; printf("\n\nResultant array is: "); for(c = 0; c <= n; c++) printf("%d ", array[c]); return 0;}
```

##### Output

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699373240659/31420c74-12b3-4187-b52c-00a4eb20b399.png)

#### Program to Delete an Element from an Array

```
#include<stdio.h>int main(){ int array[100], position, c, n; printf("\n\nEnter number of elements in array:"); scanf("%d", &n); printf("\n\nEnter %d elements\n", n); for(c = 0; c < n; c++) scanf("%d", &array[c]); printf("\n\nEnter the location where you want to delete element from: "); scanf("%d", &position); if(position >= n+1) printf("\n\nDeletion not possible\n\n"); else{ for(c = position-1; c < n-1; c++) array[c] = array[c+1]; } printf("\n\nResultant array is: "); for(c = 0; c < n-1; c++) printf("%d ", array[c]); return 0;}
```

##### Output

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699373254210/04dfce98-8778-4acb-9daf-8c7d0948020b.png)

### Pointers

Pointer is a concept in which the program manipulates the memory of the System and produces the desired output as the developer wants. Not all of the Programming Language provides support for Pointers as it lead to memory leaks and system failure if not handled properly.

#### Code to Practice Pointers

```
#include <stdio.h>int main(){ int pointerLocation = 85; int *p = pointerLocation; p = &pointerLocation; printf("Address of Pointer Location is: %x \n\n", &pointerLocation); printf("Address at which Pointer Variable is stored: %x", p); printf("\nThe Value which is stored at Pointer p is %d ", *p); return 0;}
```

##### Output

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1699373284116/35e54cf4-7b05-44a5-91a2-d59baa2a50d2.png)

## Tough Program

After doing all these programs, let's code two programs that are more difficult than all the programs listed above.

The two programs are

- Store the Inputs of the user in a file and then Print it to the console.

- Write a Program to remove all duplicates from an Array of Strings.

## Conclusion

In this complete article, we learned different types of programs that we can practice to learn C Programming Language a bit faster and in an efficient way. C Programming language can be a bit tough to learn but by practicing some Programs it can become easy.

Hope this article was helpful to you, to learn C Language try `developing a Banking System with the use of a File System`, it'll surely boost the learning of Programming in C.

All of the source code with a Playground is available on our in-browser IDE named Playground, which you can access by [clicking here](https://codedamn.com/playground/L6PYWr0hVLGsC_Hk_xmLI), you can execute the code without the hassle of setting up the IDE and other things, just open up and code.

This article was originally written back when I was starting but as a private article, I was afraid of building in Public but now Let's do this.

So my Web App which I am rebuilding is available on justaman045.vercel.app you can visit it now also but it's currently under heavy maintenance and the look and feel will change in about 2 or 3 weeks.

### Promotion

Currently, I am also focused on building the Community mentioned below:

1. Anime Community:- [Instagram/lethal_astra](https://instagram.com/lethal_astra)

2. Motivational Theme Page:- [Instagram/trying_to_be_consistent](https://instagram.com/trying_to_be_consistent)

also, I'm currently focused on building my Brand named Otaku Outfits currently it's in the approval stage on Etsy but once it is live I'll be sharing it with you all by making sure to subscribe to my Newsletter from the Newsletter tab.

Also, it'll be helpful if you can just follow this [link to Medium](https://justaman045.medium.com/4f8c92cfbb8f?source=friends_link&sk=cd115cbec34f873f98454a9faaf8fab7) and give me a like and follow there too.

### Contact

To contact you can join my Discord Server where I intend to keep the community in one place and also serve the community  
Discord Link:- [https://discord.gg/ZfAKPZvT](https://discord.gg/ZfAKPZvT) ( It's brand new and I'm okay if you help me out on setting up this ).

Thanks for Reading  
Happy Hacking