C Tutorial – variables and constants
In this C programming language tutorial we take a look at variables and constants.
Variables
If you declare a variable in C (later on we talk about how to do this), you ask the operating system for a piece of memory. This piece of memory you give a name and you can store something in that piece of memory (for later use). There are two basic kinds of variables in C which are numeric and character.
Numeric variables
Numeric variables can either be of the type integer (int) or of the type real (float). Integer (int) values are whole numbers (like 10 or -10). Real (float) values can have a decimal point in them. (Like 1.23 or -20.123).
Character variables
Character variables are letters of the alphabet, ASCII characters or numbers 0-9. If you declare a character variable you must always put the character between single quotes (like so ‘A’ ). So remember a number without single quotes is not the same as a character with single quotes.
Constants
The difference between variables and constants is that variables can change their value at any time but constants can never change their value. (The constants value is lockedfor the duration of the program). Constants can be very useful, Pi for instance is a good example to declare as a constant.
Data Types
So you now know that there are three types of variables: numeric – integer, numeric-real and character. A variable has a type-name, a type and a range (minimum / maximum). In the following table you can see the type-name, type and range:
Type-name | Type | Range |
---|---|---|
int | Numeric – Integer | -32 768 to 32 767 |
short | Numeric – Integer | -32 768 to 32 767 |
long | Numeric – Integer | -2 147 483 648 to 2 147 483 647 |
float | Numeric – Real | 1.2 X 10-38 to 3.4 X 1038 |
double | Numeric – Real | 2.2 X 10-308 to 1.8 X 10308 |
char | Character | All ASCII characters |
Declaring
So we now know different
type-names and types of variables, but how do we declare them. Declaring a variable is very easy. First you have to declare the type-name. After the type-name you place the name of the variable. The name of a variable can be anything you like as long it includes only letters, underscores or numbers (However you cannot start the name with a number). But remember choose the names wisely. It is easier if a variable name reflects the use of that variable. (For instance: if you name a float PI, you always know what it means).
Now let’s declare some variables, a variable MyIntegerVariable and MyCharacterVariable:
int main()
{
int MyIntegerVariable;
int MyCharacterVariable;
return 0;
}
It is possible to declare more than one variable at the same time:
int main()
{
int Variable1, Variable2, Variable3;
int abc, def, ghi;
return 0;
}
To declare a constant is not much different then declaring a variable. The only difference is that you haveΒ the word const in front of it:
int main()
{
const float PI = 3.14;
char = 'A';
return 0;
}
Note: As you can see, you can assign a value with the equal sign during declaration.
Signed and unsigned variables
The difference between signed and unsigned variables is that signed variables can be either negative or
positive but unsigned variables can only be positive. By using an unsigned variable you can increase the maximum positive range. When you declare a variable in the normal way it is automatically a signed variable. To declare an unsigned variable you just put the word unsigned before your variable declaration or signed for a signed variable although there is no reason to declare a variable as signed since they already are.
int main()
{
unsigned int MyOnlyPositiveVar;
signed int MyNegativeAndPositiveVar;
int MyNegativeAndPositiveVar;
}
Calculations and variables
There are different operators that can be used for calculations which are listed in the following table:
Operator |
Operation |
---|---|
+ |
Addition |
– |
Subtraction |
* |
Multiplication |
/ |
Division |
% |
Modulus(Remainder of integer division) |
Now that we know the different operators, let’s calculate something:
int main()
{
int a, b;
a = 1;
b = a + 1;
a = b - 1;
return 0;
}
Reading and printing
Calculating something without reading input or printing something on the screen is not much fun. To read input from the keyboard we will use the command scanf. (How to print something to the screen we all ready
know).
So let’s make a program that can do all these things:
#include<stdio.h>
int main()
{
int inputvalue;
scanf("%d", &inputvalue);
inputvalue = inputvalue * 10;
printf("Ten times the input equals %d\n",inputvalue);
return 0;
}
Note: The input must be a whole number (integer).
The & sign will be explained in a later tutorial. The %d is for reading or printing a decimal integer value (It is also possible to use %i). In the table below you can find the commands for other types:
%i or %d | int |
%c | char |
%f | float |
%lf | double |
%s | string |
That was all for now. In the next tutorial we take a look at the “if statement” and “switch statement”.
really usefull info
Thanks buddy u help me alot so a lot of thanks if
u publish a book from that it will be a good Idea
And i need info about Socket Programing if u include Socket programing in it
so it wil b grate
God, bless you.
Thank you this is very useful.
you rock man
really usefull info,but how to susbcribe ?
nice work guys.. π
Thanks Man
thanks
How Many variables can we declare of a type,in single line???
@Yogesh: Don’t know, I guess it depends on what compiler you use and how long the text line is that it can interpret. Why don’t you give it a try and declare a lot of integers on the same line?? (This is a quick test that you can do yourself!).
main()
{
int x=20,y=35;
x=y++ + x++;
y= ++y + ++x;
printf(β%d%dnβ,x,y);
}
how can i solve it please help me freinds…
I found this site Accidentally. But its very good because it is a good source for the beginners. My request to you is to please continue this practice for others Languages. thanks.
The site is good. Plz.give also example of programming output.
Wow! I am lucky to find this site.
The stepwise example made us clear about the things i am searching for.
Great jobs guys.
This site helped me alot.
Thanks
This is a great resource for a beginner. I am new to this and so far this has been the best site to get information on C programming. I am loving it. Thanks
I think we can declare a lot of variables in a single line, However i’ll rise this question infront of our teacher, BTW~!! Useful site, now i came to know what’s the difference b/w variable and Constant .. Site Bookmarked π
Thanks man! Great JOB….U R AWESOME
Thank you this is very useful. and important for fresher…..
awsm…. thnx π
I wouldn’t say i found dis site accidentally…. Dis is a gud job.. I must really commend u guys 4 dis great work……. But wat are d features of dis language (c language)
great work
Well, But i think, every page of this site should must provide output with more programming and explaination.
By the way, thanks to provide these precious knowledge.
This is great help for me because it has helped understand with ease. Thanks again
#include
int main(){
int i;
for(i=1;i<1337;i++){
printf("THANK YOU!!!\n");
}
getchar();
return 0
}
awsome !!
awsome
well………..good tutorial………..
tnx for sharing……..
Thanks a lot …
it’s easy to learn from c tutorial
Thanks a lot ,all concepts are nicely explained.
thanks a lot ,your way of understanding is very nice ,i am very thankful to you for the answer……………..its really workz…………awesome yaar…
Nice tutorial thankss…………s alot.
main()
{
int x=20,y=35;
x=y++ + x++;
y= ++y + ++x;
printf(β%d%dnβ,x,y);
}
how can i solve it please help me freindsβ¦
The O/P is x=56, y=93
nice
@ravi: x=56 bcoz in the 1st set of incrementation “x=y++ x++” it is post increment so only the incremented value of y is taken and x remains same i.e.,35. Hence x=36+20=56;
in next set “y=++y + ++x” it is pre increment both x and y gets incremented and x is not 20 as we have declared but it will take the last step’s value x=56 now;after incrementation x=57 and y=37 therefore y=57+37=94..not 93
@santosh: ……why y++ is incremented. in postfix increment y++ should not be incremented
wonderful,dilip
This article is super helpful. The way it is structured and these concepts are explained makes for much easier comprehension. Thank you so much for publishing this!
I have actually seen the solution, Thanks
Thanx ..awsome site.good job..carry on
just like refreshing
this is very good job
how to declare a constant in c language..?? give an easy explanation and an easy prgrm…