Wednesday, 7 September 2016

C LANGUAGE INPUT AND OUTPUT

INPUT AND OUTPUT IN C LANGUAGE 

C programming has several in-build library functions to perform input and output tasks.
Two commonly used functions for I/O (Input/Output) are printf() and scanf().
The scanf() function reads formatted input from standard input (keyboard) whereas the printf() function sends formatted output to the standard output (screen).

Example #1: C Output


#include <stdio.h>      //This is needed to run printf() function.
int main()
{
    printf("C Programming");  //displays the content inside quotation
    return 0;
}
Output
C Programming
How this program works?
  • All valid C program must contain the main() function. The code execution begins from the start of main() function.
  • The printf() is a library function to send formatted output to the screen. The printf() function is declared in "stdio.h" header file.
  • Here, stdio.h is a header file (standard input output header file) and#include is a preprocessor directive to paste the code from the header file when necessary. When the compiler encounters printf() function and doesn't find stdio.h header file, compiler shows error.
  • The return 0; statement is the "Exit status" of the program. In simple terms, program ends.

Example #2: C Integer Output

#include <stdio.h>
int main()
{
    int testInteger = 5;
    printf("Number = %d", testInteger);
    return 0;
}
Output
Number = 5
Inside the quotation of printf() function, there is a format string "%d" (for integer). If the format string matches the argument (testInteger in this case), it is displayed on the screen.

Example #3: C Integer Input/Output

#include <stdio.h>
int main()
{
    int testInteger;
    printf("Enter an integer: ");
    scanf("%d",&testInteger);  
    printf("Number = %d",testInteger);
    return 0;
}
Output
Enter an integer: 4
Number = 4
The scanf() function reads formatted input from the keyboard. When user enters an integer, it is stored in variable testInteger. Note the '&' sign beforetestInteger&testInteger gets the address of testInteger and the value is stored in that address.

Example #3: C Floats Input/Output

#include <stdio.h>
int main()
{
    float f;
    printf("Enter a number: ");
// %f format string is used in case of floats
    scanf("%f",&f);
    printf("Value = %f", f);
    return 0;
}
Output
Enter a number: 23.45
Value = 23.450000
The format string "%f" is used to read and display formatted in case of floats.

Example #4: C Character I/O

#include <stdio.h>
int main()
{
    char var1;
    printf("Enter a character: ");
    scanf("%c",&var1);     
    printf("You entered %c.",var1);  
    return 0;
}   
Output
Enter a character: g
You entered g.
Format string %c is used in case of character types.

Little bit on ASCII code

When a character is entered in the above program, the character itself is not stored. Instead a numeric value(ASCII value) is stored. And when we displayed that value using "%c" text format, the entered character is displayed.

Example #5: C ASCII Code

#include <stdio.h>
int main()
{
    char var1;
    printf("Enter a character: ");
    scanf("%c",&var1);     

    // When %c text format is used, character is displayed in case of character types
    printf("You entered %c.\n",var1);  

    // When %d text format is used, integer is displayed in case of character types
    printf("ASCII value of %c is %d.", var1, var1);  
    return 0;
}
Output
Enter a character: g
You entered g.
ASCII value of g is 103.
The ASCII value of character 'g' is 103. When, 'g' is entered, 103 is stored in variable var1 instead of g. 
You can display a character if you know ASCII code of that character. This is shown by following example.

Example #6: C ASCII Code

#include <stdio.h>
int main()
{
    int var1 = 69;
    printf("Character having ASCII value 69 is %c.",var1);
    return 0;
}  
Output
Character having ASCII value 69 is E.
Click here to learn more about the complete ASCII reference.

More on Input/Output of floats and Integers

Integer and floats can be displayed in different formats in C programming.

Example #7: I/O of Floats and Integers

#include <stdio.h>
int main()
{

    int integer = 9876;
    float decimal = 987.6543;

    //  Prints the number right justified within 6 columns
    printf("4 digit integer right justified to 6 column: %6d\n", integer);

    // Tries to print number right justified to 3 digits but the number is not right adjusted because there are only 4 numbers
    printf("4 digit integer right justified to 3 column: %3d\n", integer);

    // Rounds to two digit places
    printf("Floating point number rounded to 2 digits: %.2f\n",decimal);

    // Rounds to 0 digit places
    printf("Floating point number rounded to 0 digits: %.f\n",987.6543);

    // Prints the number in exponential notation(scientific notation)
    printf("Floating point number in exponential form: %e\n",987.6543);
    return 0;
}   
Output
4 digit integer right justified to 6 column:   9876
4 digit integer right justified to 3 column: 9876
Floating point number rounded to 2 digits: 987.65
Floating point number rounded to 0 digits: 988
Floating point number in exponential form: 9.876543e+02  
To understand this example, you should have the knowledge of following C programming topics:
C program to print

Thursday, 1 September 2016

Data Types In C language


FUNDAMENTAL Data Types in C language

RAW SOFTWARES

In C programming, variables or memory locations should be declared before it can be used. Similarly, a function also needs to be declared before use.
Data types simply refers to the type and size of data associated with variables and functions.

Data types in C

  1. Fundamental Data Types
    • Integer types
    • Floating type
    • Character type
  2. Derived Data Types
size chart of various data types 


we can understand the classification of data types using the following diagram:


Integer data types

Integers are whole numbers that can have both positive and negative values, but no decimal values. Example: 0, -5, 10
In C programming, keyword int is used for declaring integer variable. For example:
int id;
Here, id is a variable of type integer.
You can declare multiple variable at once in C programming. For example:
int id, age;
The size of int is either 2 bytes(In older PC's) or 4 bytes. If you consider an integer having size of 4 byte( equal to 32 bits), it can take 232 distinct states as: -231,-231+1, ...,-2, -1, 0, 1, 2, ..., 231-2, 231-1
Similarly, int of 2 bytes, it can take 216 distinct states from -215 to 215-1. If you try to store larger number than 231-1, i.e,+2147483647 and smaller number than -231, i.e, -2147483648, program will not run correctly.

Floating types

Floating type variables can hold real numbers such as: 2.34, -9.382, 5.0 etc. You can declare a floating point variable in C by using either float or double keyword. For example:
float accountBalance;
double bookPrice;
Here, both accountBalance and bookPrice are floating type variables.
In C, floating values can be represented in exponential form as well. For example:
float normalizationFactor = 22.442e2;

Difference between float and double

The size of float (single precision float data type) is 4 bytes. And the size ofdouble (double precision float data type) is 8 bytes. Floating point variables has a precision of 6 digits whereas the precision of double is 14 digits.

Character types

Keyword char is used for declaring character type variables. For example:
char test = 'h'
Here, test is a character variable. The value of test is 'h'.
The size of character variable is 1 byte.

C Qualifiers

Qualifiers alters the meaning of base data types to yield a new data type.

Size qualifiers

Size qualifiers alters the size of a basic type. There are two size qualifiers, longand short. For example:
long double i;
The size of float is 8 bytes. However, when long keyword is used, that variable becomes 10 bytes.
If you know that the value of a variable will not be large, short can be used.

Sign qualifiers

Integers and floating point variables can hold both negative and positive values. However, if a variable needs to hold positive value only, unsigned data types are used. For example:
// unsigned variables cannot hold negative value 
unsigned int positiveInteger;
There is another qualifier signed which can hold both negative and positive only. However, it is not necessary to define variable signed since a variable is signed by default.
An integer variable of 4 bytes can hold data from -231 to 231-1. However, if the variable is defined as unsigned, it can hold data from 0 to 232-1.
It is important to note that, sign qualifiers can be applied to int and char types only.

Constant qualifiers

An identifier can be declared as a constant. To do so const keyword is used.
const int cost = 20;
The value of cost cannot be changed in the program.

Volatile qualifiers

A variable should be declared volatile whenever its value can be changed by some external sources outside the program. Keyword volatile is used for creating volatile variables.
for next topic visit : rawsoftwares.blogspot.com