Rules for Constructing int, float, char constants: C

We’ve already learnt how to use int, float and char in our previous video tutorial. Now lets learn the rules to construct integer, float/real, character constants in C programming language.

Related Read:
Rules for Constructing Variable Names: C

Rules for Constructing int, float, char constants: C


[youtube https://www.youtube.com/watch?v=4o-ZJfi559Q]

YouTube Link: https://www.youtube.com/watch?v=4o-ZJfi559Q [Watch the Video In Full Screen.]


Rules for Constructing Integer Constants

1. It must have atleast 1 digit. We can have anything from 0 to 9.
2. If user enters decimal point, it’ll be discarded by the program and only the integer part will be stored in the int variable.
3. We can assign positive or negative digit by appending the digit with + or – symbol. If nothing is specified it’ll be considered as positive.
4. Comma, space etc are not allowed.
5. Allowed range for integer constant is -2147483648 to +2147483647 for Visual Studio and gcc compilers. For Turbo C / C++ compilers allowed range for integer constants is -32768 to +32767.

Invalid Integer Constants
10,000
10 000
999999999999

Rules for Constructing Real Constants

1. It must have atleast 1 digit. Anything from 0 to 9 is allowed. If decimal value is not specified compiler will insert 0s for decimal value.
2. It can be either positive or negative value. If + or – symbol is not specified, it’ll be considered as positive.
3. No comma or space allowed.

Rules for Constructing Character Constants

1. Character constant must have only single alphabetic or Single digit or special symbol and must be enclosed in single quote.

Invalid Integer Constants
“A”
“Microsoft”
‘Apple’
‘123’
“$%^”

Using Scanf in C Program

In our previous video tutorial you learnt about Integers, Float and Character data types and their format specifier. In today’s video lets see an example of using all 3 data types along with strings.

You’ll also learn to get user input from console using scanf function/method present in stdio.h header file.

Example: int, float, char

 
#include< stdio.h >

int main()
{
    int a;
    float b;
    char ltr;

    printf("Enter 2 numbers and a single character\n");
    scanf("%d %f %c", &a, &b, <r);

    printf("\nYou entered %d, %f and %c", a, b, ltr);

    return 0;
}

Output:
Enter 2 numbers and a single character
1 2 i

You entered 1, 2.000000 and i

Example for string type

 
#include < stdio.h >

int main()
{
    char c[10];

    printf("Enter a company name\n");
    scanf("%s", c);

    printf("\nYou entered %s", c);

    return 0;
}

Output:
Enter a company name
Microsoft
You entered Microsoft

Using Scanf() To Read Int, Float, Char and String Data Type: C Programming


[youtube https://www.youtube.com/watch?v=myqWGZePUgg]

YouTube Link: https://www.youtube.com/watch?v=myqWGZePUgg [Watch the Video In Full Screen.]


Keyword for Integer is int and its format specifier is %d.
Keyword for Float is float and its format specifier is %f.
Keyword for Character is char and its format specifier is %c.

Note 1: If you input decimal value for a integer variable, it only stores integer part of the value and discards the decimal value.

Note 2: printf and scanf are kind of opposite. Because printf converts all the numbers, characters etc and displays everything in text format on to the console. While, scanf takes all the text entered by the user in the console and converts them into respective data type based on the format specifier present in scanf statement.

Keywords, Constants, Variables: C

Computers do not understand English language. It can only understand machine code, a binary stream of 1s and 0s.

Learning The Building Blocks of C programming Language

To learn any language we need to first learn alphabets, then we learn to write sentences and then to write paragraphs. Similarly, in learning C programming language, we first learn about the Character Set(Alphabets, Digits, Special Symbols), next we learn words(keywords, variables, constants), and then we learn statements(C programming instructions), and then we write C programs.

Keywords, Identifiers And Literals: C


[youtube https://www.youtube.com/watch?v=D4ePj0ill5k]

YouTube Link: https://www.youtube.com/watch?v=D4ePj0ill5k [Watch the Video In Full Screen.]


Keywords

Every word in a C program is classified as either a keyword or an identifier. All keywords have fixed meanings predefined in the language and these meanings can not be changed.

Identifier / Literals

In programming languages, constants are usually called as literals and variables are called as identifiers.

Constants / Variables

As name suggests, a constant is an entity whose value doesn’t change during the course of program execution. A variable, on the other hand, is an entity whose value may change during the course of program execution.



C Constants

C Constants can be divided into 2 categories.
1. Primary Constants.
2. Secondary Constants.

Primary Constants are further divided into Integer Constants, Real Constants and Character constants.

Keyword for Integer is int and the format specifier is %d.
Keyword for Real is float or double and the format specifier is %f.
Keyword for Character is char and the format specifier is %c.

 
#include < stdio.h >
int main()
{
    const int a = 5;

    a = a + 1;

    printf("Value of a is %d", a);
}

Output:
error: Assignment of read-only variable ‘a’.

a is a constant variable and thus its value can not be changed through the course of program execution.

 
#include < stdio.h >
int main()
{
    int a = 5;

    a = a + 1;

    printf("Value of a is %d", a);
}

Output:
Value of a is 6

Note: Literals are constant values and not constant variables.

include directive in C Program

Usually you can see these “include” directive at the very top of your source code. It’s called a preprocessor directive.

All preprocessor statements in C start with a hash(#) symbol. include directive is similar to imports statement in Java.

 
#include < stdio.h >
int main()
{
    printf("Microsoft\n Apple\n Oracle\n Google\n Yahoo\n");
    return 0;
}

Output:
Microsoft
Apple
Oracle
Google
Yahoo

include Preprocessor Directive In C Program


[youtube https://www.youtube.com/watch?v=4BBml3T8WK4]

YouTube Link: https://www.youtube.com/watch?v=4BBml3T8WK4 [Watch the Video In Full Screen.]


This “include” directive causes one file to be included in another. For example, when we include stdio.h (header file) in our above program, all the content(code) gets imported or included in our program source code. This way we can make use of any function present inside stdio.h library file in our c program.

Car Program

We are writing Car simulation program in C – we write all the related code in different files by group them together and then include it in our main Car program. For example, we can separate wheels, color and display related things and then include all those things in our main Car program. This way our main Car program source code looks less clumsy and more over we need not worry about the implementation details present in those files.

Ex: When we include stdio.h file, we do not worry about the implementation details of printf() method. We simply use it for displaying content to the console. All the implementation details are present in stdio.h header file.

There are 2 ways of including header files

 
#include < stdio.h >

#include "Mylib.h"

When we use < and > to wrap around the file name, the linker looks for the files in standard library storage folder. When we wrap the file name in double quotes it looks for the file in current directory.

Usually user written, custom header files are wrapped in double quotes.

We’ll be writing our own library files in this video series. But for now it’ll get too complicated if we go any further.

Note: There are many preprocessor statements other than include directive. We’ll discuss them as and when we use it in our C programs.

Structure of a basic C Program

Lets write our first C program – the typical “Hello World!” program.

In this video tutorial lets learn the structure of a basic C program:
1. Preprocessors – include directive.
2. Main method/function.
3. printf method/function.
4. Semicolon syntax.
5. Indentation for readability of code.

Source Code: A Simple C Program

#include<stdio.h>

int main()
{
    printf("Microsoft\n Apple\n Oracle\n Google\n Yahoo\n");
    return 0;
}

Output:
Microsoft
Apple
Oracle
Google
Yahoo

Structure of a basic C Program


[youtube https://www.youtube.com/watch?v=3Yu6u3tmBS4]

YouTube Link: https://www.youtube.com/watch?v=3Yu6u3tmBS4 [Watch the Video In Full Screen.]


Preprocessor statement

The “include” directive which we see in the first line is a preprocessor directive. Here we are including a standard library file which has some set of useful functions in it, which we are using in our “Hello World” C Program.

stdio stands for “Standard Input Output”. As the name suggests this library file has functions to read and write data to console window, along with other many useful functions. For example, printf() is a function present in stdio.h library file. We simply use it in our program to print data on to the console window. We need not know the implementation details of printf method/function.

main() method

Main method or function is part of all ‘C’ programs. It’s entry point of any C program execution. Function is a way of grouping some code together. We can write any logic/statements inside a function.

It’s a standard that main always returns a integer value. Thus main is preceded by a keyword called int, which means integer. It’s a keyword or reserve word. We’ll know more about keywords(or reserve words) in a separate video tutorial. Since main method needs to return a integer value, we explicitly return 0 at the end.

Readability of code

It’s very important that we write code which is readable. It helps in maintaining the code. Large programs get too clumsy very easily and reading and understanding code often becomes difficult. So we need to indent the code and make sure its readable as far as possible.

Note:
Main method/function doesn’t take any argument.