You are here

C programs

C program examples: These programs illustrate various programming concepts - operators, loops, functions, single and double dimensional arrays, performing operations on strings, files, pointers, etc. Browse the codes from simple C programs too complicated ones, the output of every one of them is provided. Download executable files and execute them without compiling the source file. Code::Blocks IDE is used to write the programs in C programming language, most of these will work with GCC and Dev C++ compilers. The first program prints "Hello World" on output device.

C programs list

C programming examples with output

Example 1 - C hello world program
/** My first C program */

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

Output of program:
"Hello World"

Example 2 - C program to get input from a user using scanf

#include <stdio.h>
 
int main()
{
  int x;
 
  printf("Input an integer\n");
  scanf("%d", &x); // %d is used for an integer
 
  printf("The integer is: %d\n", x);
 
  return 0;
}

Output:
Input an integer
7897
The integer is: 7897

Example 3 - using if else control instructions

#include <stdio.h>
 
main()
{
   int x = 1;
 
   if (x == 1)
      printf("x is equal to one.\n");
   else
      printf("For comparison use '==' as '=' is the assignment operator.\n");
 
   return 0;
}

Output:
x is equal to one.

Example 4 - while loop example

#include <stdio.h>
 
int main()
{
  int c = 1;  // Initializing variable
 
  while (c <= 10)  // While loop will execute till the condition is true
  {
    printf("%d ", c);  // Note the space after %d for gap in the numbers we want in output
    c++;
  }
 
  return 0;
}

Output:
1 2 3 4 5 6 7 8 9 10

Example 5 - C program check if an integer is prime or not

#include <stdio.h>
 
int main()
{
  int n, c;
 
  printf("Enter a number\n");
  scanf("%d", &n);
 
  if (n == 2)
    printf("Prime number.\n");
  else
  {
    for (c = 2; c <= n - 1; c++)
    {
      if (n % c == 0)
        break;
    }
    if (c != n)
      printf("Not prime.\n");
     else
       printf("Prime number.\n");
  }
  return 0;
}

Example 6 - command line arguments

#include <stdio.h>
 
int main(int argc, char *argv[])
{
  int c;
 
  printf("Number of command line arguments passed: %d\n", argc);
 
  for (c = 0; c < argc; c++)
    printf("%d argument is %s\n", c + 1, argv[c]);
 
  return 0;
}

This program prints the number of arguments passed, and the arguments which are passed to it.

Example 7 - Array program

#include <stdio.h>
 
main() 
{
    int array[100], n, c;
 
    printf("Enter number of elements in array\n");
    scanf("%d", &n);
 
    printf("Enter %d elements\n", n);
 
    for (c = 0; c < n; c++) 
        scanf("%d", &array[c]);
 
    printf("The array elements are:\n");
 
    for (c = 0; c < n; c++) 
        printf("%d\n", array[c]);
 
    return 0;
}

Example 8 - function program

#include <stdio.h>
 
void my_function();  // Declaring a function
 
main()
{
  printf("Main function.\n");
 
  my_function();  // Calling the function
 
  printf("Back in function main.\n");
 
  return 0;
}
 
// Defining the function
void my_function()
{
  printf("Welcome to my function. Feel at home.\n");
}

Example 9 - Using comments in a program

#include <stdio.h>
 
main()
{
   // Single line comment in a C program
 
   printf("Writing comments is very useful.\n");
 
   /*
    * Multi-line comment syntax
    * Comments help us to understand program later easily.
    * Will you write comments while writing programs?
    */
 
   printf("Good luck C programmer.\n"); 
 
   return 0;
}

Example 10 - using structures in C programming

#include <stdio.h>
#include <string.h>
 
struct game
{
  char game_name[50];
  int number_of_players;
};  // Note the semicolon
 
int main()
{
  struct game g;
 
  strcpy(g.game_name, "Cricket");
  g.number_of_players = 11;
 
  printf("Name of Game: %s\n", g.game_name);
  printf("Number of players: %d\n", g.number_of_players);
 
  return 0;
}

Example 11 - C program for Fibonacci series

#include <stdio.h>
 
main()
{
  int n, first = 0, second = 1, next, c;
 
  printf("Enter the number of terms\n");
  scanf("%d", &n);
 
  printf("First %d terms of Fibonacci series are:\n", n);
 
  for (c = 0; c < n; c++)
  {
    if (c <= 1)
      next = c;
    else
    {
      next = first + second;
      first = second;
      second = next;
    }
    printf("%d\n", next);
  }
 
  return 0;
}

Example 12 - C graphics programming

#include <graphics.h>
#include <conio.h>
 
main()
{
    int gd = DETECT, gm;
 
    initgraph(&gd, &gm,"C:\\TC\\BGI");
 
    outtextxy(10, 20, "Graphics programming is fun!");
 
    circle(200, 200, 50);
 
    setcolor(BLUE);
 
    line(350, 250, 450, 50);
 
    getch();
    closegraph( );
    return 0;
}

Compiling C programs with GCC compiler

If you are using GCC on Linux operating system, then you may need to modify the programs. For example, consider the following program which prints first ten natural numbers

#include <stdio.h>
#include <conio.h>
 
int main()
{
    int c;
 
    for (c = 1; c <= 10; c++)
        printf("%d\n", c);
 
    getch();
    return 0;
}

Above program includes a header file <conio.h> and uses function getch, but this file is Borland specific, so it works in Turbo C compiler but not in GCC. The program for GCC should be like:

#include <stdio.h>
 
int main()
{
    int c;
 
    /* for loop */
 
    for (c = 1; c <= 10; c++)
        printf("%d\n", c);
 
    return 0;
}

If using GCC then save the program in a file say “numbers.c” to compile the program open the terminal and enter the command “gcc numbers.c” this will compile the program and to execute the program enter the command “./a.out” do not use quotes while executing commands.

C programming tutorial

A C program consists of functions and declarations or instructions given to the computer to perform a particular task. The process of writing a program involves designing the algorithm, a flowchart can be drawn, and then writing the source code, after developing the program you need to test it and debug it if it does not meet the requirement.

To make a program, you need a text editor and a compiler. You can use any text editor of your choice and a compiler. C compiler converts source code into machine code that consists of zero's, and one's only, and execution is done on a machine.

An IDE (Integrated Development Environment) provides a text editor, compiler, debugger, etc. for developing programs and managing projects. Code::Blocks IDE provides an ideal environment for development. It can import Microsoft Visual C++ projects, extendable as it uses plug-ins, open source, and cross-platform.

Writing a C program

A C program must have at least one function which must be main. A function consists of declarations and statements, a statement is an expression followed by a semicolon, for example, a + b, printf("C program examples") are expressions and a + b; and printf("C is an easy to learn computer programming language."); are statements.

To use a variable, we must indicate its type whether it is an integer, float, character, etc. C language has many built-in data types, and we can make our own using structures and unions. Every data type has its size that may depend on the machine; for example, an integer may be of 2 or 4 Bytes. Data is stored in a binary form, i.e., group of bits where each bit may be '0' or '1'.

Keywords such as "switch," "case," "default," "register," etc. are special words with predefined meaning and can't be used for other purposes such as a variable name. Memory can be allocated at compile time or run-time using malloc and calloc functions. C language has many features such as recursion, preprocessor, conditional compilation, portability, pointers, multi-threading by using external libraries, dynamic memory allocation due to which it is used for making portable software programs and applications. Networking API's are available using which computer users can communicate and interact with each other, share files, etc.

C standard library offers functions for mathematical operations, character strings and input/output and time. The process of making a program which is known as coding requires knowledge of programming language and logic to achieve the desired output. So you should learn C programming basics and start making programs.

Learning data structures such as stacks, queues, linked lists, etc. using C programming provides you a greater understanding as you learn everything in detail. A general belief is to go for other high-level languages, but it's a good idea to learn C before learning C++ or Java. C++ programming language is object-oriented, and it contains all the features of C language so learning C first will help you to learn C++ easily and then you can go for Java programming.

C programming PDF

C programming books

If you are a beginner, then buy anyone of first two books mentioned below, and if you have previous programming experience or you know basics of C language, then you can buy the third one.

  • Let Us C By Yashavant Kanetkar
  • PROGRAMMING WITH C By Byron Gottfried, Jitender Chhabra
  • The C Programming By Brian Kernighan and Dennis Ritchie