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 differenttype-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;
}
int main()
{
int Variable1, Variable2, Variable3;
int abc, def, ghi;
return 0;
}
int main()
{
const float PI = 3.14;
char = 'A';
return 0;
}
Signed and unsigned variables
The difference between signed and unsigned variables is that signed variables can be either negative orpositive 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) |
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 readyknow).
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;
}
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 |