In this article, we will be getting started with C programming language and diving deeper into its fundamentals.
Table of Contents
We will cover the following topic:-
- What is a language
- Steps in learning languages
- Tokens
- Keywords
- Identifiers
- Literals
- Punctuators
- Operators
So please do not skip the content otherwise you may not understand the concepts fully.
Also, the points which we will discuss here are not only for the ‘C’ language or any other programming language but the basics of every language.
So, let’s get started with C without any delay by answering some easy questions.
Q-1 Try to read the following words and check whether you can read them or not?
Привет
你好
Dia dhuit
Answer: Actually you can’t read the above words if you are from India or not familiar with the words.
So, why can’t you read the above words?
Are you illiterate?
Definitely not because you can read and write English and other languages with which you are familiar. The reason you are not able to read the above words is that you are not familiar with the alphabet.
Remember the “Taare Zameen Par” movie where the father was not able to read Chinese or Japanese words written in the box?

I got it.
We need to learn alphabet first
So one thing is clear if we have to learn a language then first we have to learn its alphabet.
Alphabets
Alphabets are the smallest individual characters of any language.
Steps involved in learning a language.
Let’s see the steps involved in learning the English language for example.

Steps in learning C language

Now, let’s learn the alphabet of the C language.
Tokens
- Tokens are the smallest individual element of a programming language.
- Tokens are of 5 types
- Keywords
- Identifiers
- Literals
- Punctuators
- Operators
Let’s discuss all these one by one.
Keywords
- There are some predefined /reserved words that convey a special meaning to the compiler.
- These words provide the proper functionality of C programming.
- There are total of 32 keywords in C language.
char | double | int | float |
break | else | struct | switch |
case | enum | register | typedef |
auto | extern | return | union |
continue | for | const | void |
do | if | static | while |
default | goto | sizeof | volatile |
short | long | signed | unsigned |
Identifiers
- Identifiers are the name given to variables, functions, arrays, classes, etc.
- These are user-defined names.
- Can have alphabets (A-Z or a-z), digits(0-9) or underscore(_).
- Rules for creating identifiers
- Must start with either alphabet or the underscore only.
- Must not start with numbers.
- keywords cannot be used as identifiers
- Length must be less than or equal to 31 characters.
- Identifiers should be short and meaningful so that anyone can understand.
- C language is case sensitive i.e., A≠a (upper case letters are different from lower case letters)
- Examples of valid identifiers
- mybook, total_1, sum, _abc_, Sum_1.
- Examples of invalid identifiers
- my book, 1sum, if, etc..
Literals
- Literals are the constants values.
- These are assigned to constant variables.
- As we know constant means fixed so literals values cannot be changed.
- Eg:- const int num=10;
Types of Literals

Integer Literals
- Integer literals contain only integer-type numbers.
- Have no fractional or exponential parts.
- Can be divided into three categories
- Decimal number
- Contains numbers from 0-9
- Represented in base 10.
- eg: 85, 75, 123 etc
- Octal number
- Contains number from 0-7
- Represented by base 8
- eg 77, 12, 126 etc.
- Hexadecimal
- Contains number from 0-9, A(10), B(11), C(12), D(13), E(14), F(15)
- Represented by base 16
- eg 12C, BABA, FFFF, FACE etc.
- Decimal number
Float Literals
- Floating point literals or in short float literals contain real numbers.
- A real number is made up of integer part + real part + exponential part + fractional part.
- Must be represented in decimal form or exponential form.
- Decimal Form
- It may contain a decimal points, an exponential parts or both.
- Eg:- +5.0, 7.0, 3.2, -0.5 etc
- Exponential Form
- This form contains two parts i.e., mantissa and exponent.
- This form is used to express long-magnitude numbers
- Eg:- 5200000000000 can be represented as 5.2e12.
Character Literals
- Contains single characters enclosed within single quotes. eg ‘a’, ‘x’, ‘z’ etc
- There are some non-graphical characters which can use with ‘\’ called escape sequences. eg– ‘\n’, ‘\a’, ‘\t’ for new line, audible bell and horizontal tab respectively.
- ASCII value can be used. eg:- 97 is ‘a’.
String Literals
- Multiple character enclosed within double quotes.
- Contains an additional character called null character(‘\0’).
- Null character get inserted automatically at the end of string specifying the termination of string.
- eg:- str1=”aditya” str2= “pandey”
Punctuators
Punctuators or separators are used to separate two characters, words, sentences etc.
Following is the list of the punctuators
Punctuator | Use | Example |
---|---|---|
< > | Header name | #include <limits.h> |
[ ] | Array delimiter | char a[7]; |
{ } | Initializer list, function body, or compound statement delimiter | char x[4] = {'H', 'i', '!', '\0' }; |
( ) | Function parameter list delimiter; also used in expression grouping | int f (x,y) |
* | Pointer declaration | int *x; |
, | Argument list separator | char x[4] = { 'H', 'i', '!', '\0'}; |
: | Statement label | labela: if (x == 0) x += 1; |
= | Declaration initializer | char x[4] = { "Hi!" }; |
; | Statement end | x += 1; |
… | Variable-length argument list | int f ( int y, ...) |
# | Preprocessor directive | #include "limits.h" |
‘ ‘ | Character constant | char x = 'x'; |
” ” | String literal or header name | char x[] = "Hi!"; |
Operators

Watch my full video on the very same topic in the Hindi language.
I hope my article will help you in getting started with C programming language.
5 thoughts on “Getting Started with C”