0% found this document useful (0 votes)
2 views

C programming notes

Uploaded by

Arnab Ghosh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

C programming notes

Uploaded by

Arnab Ghosh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Computer languages:

(i) Low level language or machine language.

(ii) High level language.

Low level language: Low level languages are machine level and assembly level language. In
machine level language computer only understand digital numbers i.e. in the form of 0 and 1. So,
instruction given to the computer is in the form binary digit, which is difficult to implement
instruction in binary code. This type of program is not portable, difficult to maintain and also error
prone.

The assembly language is on other hand modified version of machine level language. Where
instructions are given in English like word as ADD, SUM, MOV etc. It is easy to write and
understand but not understand by the machine. So the translator used here is assembler to
translate into machine level. Although language is bit easier, programmer has to know low level
details related to low level language. In the assembly level language the data are stored in the
computer register, which varies for different computer. Hence it is not portable.

High level language: These languages are machine independent, means it is portable. The
language in this category is Pascal, Cobol, Fortran etc. High level languages are understood by the
machine. So, it needs to translate by the translator into machine level.

A translator is a software which is used to translate high level language as well as low level
language in to machine level language.

Three types of translator are there:


(i) Compiler
(ii) Interpreter
(iii) Assembler
Compiler and interpreter are used to convert the high-level language into machine level language.
The program written in high level language is known as source program and the corresponding
machine level language program is called as object program. Both compiler and interpreter
perform the same task but there working is different. Compiler read the program at-a-time and
searches the error and lists them. If the program is error free then it is converted into object
program.

Whereas interpreter read only one line of the source code and convert it to object code. It checks
for error, statement by statement and hence of take more time.

Structure of C Language program:


(i) Comment line
(ii) Preprocessor directive
(iii) Global variable declaration
(iv) main function ()
{
Local variables;
Statements;
}
User defined function
{
}

Comment line: It indicates the purpose of the program. It is represented as


/*……………………………..*/ Comment line is used for increasing the readability of the program. It is
useful in explaining the program and generally used for documentation. It is enclosed within the
decimeters. Comment line can be single or multiple line but should not be nested.

Preprocessor Directive:
#include tells the compiler to include information about the standard input/output library. It is
also used in symbolic constant such as #define PI 3.14(value). The stdio.h (standard input output
header file) contains definition &declaration of system defined function such as printf( ), scanf( ),
pow( ) etc. Generally printf() function used to display and scanf() function used to read value.

Global Declaration: This is the section where variables are declared globally so that it can be
access by all the functions used in the program. And it is generally declared outside the function.

main() function:
It is the user defined function and every function has one main() function from where actually
program is started and it is encloses within the pair of curly braces. The main( ) function can be
anywhere in the program but in general practice it is placed in the first position.

The main( ) function return value when it declared by data type as:
int main( )
{
return 0
}

The main function does not return any value when void (means null/empty) as
void main(void ) or void main()
{
printf (“C language”);
}
Output: C language
The program execution starts with opening braces and end with closing brace. And in between
the two braces declaration part as well as executable part is mentioned. And at the end of each
line, the semi-colon is given which indicates statement termination.
Identifiers: Identifiers are user defined word used to name of entities like variables, arrays,
functions, structures etc. Rules for naming identifiers are:
1) Name should only consist of alphabets (both upper and lower case), digits and underscore (_)
sign.
2) first characters should be alphabet or underscore
3) name should not be a keyword
4) since C is a case sensitive, the upper case and lower case considered differently, for example
code, Code, CODE etc. are different identifiers.
5) identifiers are generally given in some meaningful name such as value, net_salary, age, data
etc. An identifier name may be long, some implementation recognizes only first eight characters,
most recognize 31 characters. ANSI standard compiler recognize 31 characters. Some invalid
identifiers are 5cb, int, res#, avg no etc.

Keyword:
There are certain words reserved for doing specific task, these words are known as reserved word
or keywords. These words are predefined and always written in lower case or small letter. These
keywords cann’t be used as a variable name as it assigned with fixed meaning. Some examples
are int, short, signed, unsigned, default, volatile, float, long, double, break, continue, typedef,
static, do, for, union, return, while, do, extern, register, enum, case, goto, struct, char, auto, const
etc.
Data types: Data types refer to an extensive system used for declaring variables or functions of
different types before its use. The type of a variable determines how much space it occupies in
storage and how the bit pattern stored is interpreted. The value of a variable can be changed any
time. C has the following 4 types of data types:

Basic built-in data types: int, float, double, char.


Enumeration data type: enum.
Derived data type: pointer, array, structure, union.
Void data type: void.

Basic data type Data type with type Size (byte) Range
qualifier
char char or signed char 1 -128 to 127
Unsigned char 1 0 to 255
int int or signed int 2 -32768 to 32767
unsigned int 2 0 to 65535
short int or signed short int 1 -128 to 127
unsigned short int 1 0 to 255
long int or signed long int 4 -2147483648 to 2147483647
unsigned long int 4 0 to 4294967295
float float 4 -3.4E-38 to 3.4E+38
double double 8 1.7E-308 to 1.7E+308
long double 10 3.4E-4932 to 1.1E+4932

Constants:
Constant is a any value that cannot be changed during program execution. In C, any number,
single character, or character string is known as a constant. A constant is an entity that doesn’t
change whereas a variable is an entity that may change. For example, the number 50 represents
a constant integer value. The character string "Programming in C is fun.\n" is an example of a
constant character string. C constants can be divided into two major categories:
i) Primary Constants
ii) Secondary Constants

Numeric constant: Numeric constant consists of digits. It required minimum size of 2 bytes and max 4
bytes. It may be positive or negative but by default sign is always positive. No comma or space is allowed
within the numeric constant and it must have at least 1 digit. The allowable range for integer constants is
-32768 to 32767.

It is categorized as integer constant and real constant. An integer constant is a whole number which have
no decimal point.

Types of integer constants are:

Decimal constant: 0-------9(base 10)

Octal constant: 0-------7(base 8)

Hexa decimal constant: 0----9, A------F(base 16)


Real constant is also called floating point constant.

Ex.: +325.34 426.0 -32.76

Character constant: Character constant represented as a single character enclosed within a single quote.
These can be single digit, single special symbol or white spaces such as ‘9’,’c’,’$’, ‘ ’ etc.

String constant: Set of characters are called string and when sequence of characters are enclosed within
a double quote (it may be combination of all kind of symbols) is a string constant. String constant has zero,
one or more than one character and at the end of the string null character(\0) is automatically placed by
compiler.

Variables:

Variable is a data name which is used to store some data value or symbolic names for storing program
computations and results. The value of the variable can be change during the execution. The rule for
naming the variables is same as the naming identifier. Before used in the program it must be declared.
Declaration of variables specify its name, data types and range of the value that variables can store
depends upon its data types.

Syntax: int a; char c; float f;

Local variable:- Variables that are defined with in a body of function or block. The local variables can be
used only in that function or block in which they are declared. Same variables may be used in different
functions such as

function ( )

int a,b;

function 1( );

Global variable: -The variables that are defined outside of the function is called global variable. All
functions in the program can access and modify global variables. Global variables are automatically
initialized at the time of initialization.

Example:

#include<stdio.h>

void function(void);

int a, b=20;

void main()

{
printf(“inside main a=%d,b=%d \n”,a,b);

function();

function ( )

Prinf(“inside function a=%d,b=%d\n”,a,b);

Variable initialization: When we assign any initial value to variable during the declaration, is called
initialization of variables. When variable is declared but contain undefined value then it is called garbage
value. The variable is initialized with the assignment operator such as Data type variable name=constant;
Example: int a=20;

Expressions:

An expression is a combination of variables, constants, operators and function call. It can be arithmetic,
logical and relational.

for example:-

int z= x+y // arithmatic expression

a>b //relational

a==b // logical

Operator: This is a symbol use to perform some operation on variables, operands or with the constant.
Some operator required 2 operands to perform operation or Some required single operation.

1. Arithmetic Operator: This operator used for numeric calculation. These are of either Unary
arithmetic operator, Binary arithmetic operator. Where Unary arithmetic operator required only
one operand such as +,-, ++, -- and these operators are addition, subtraction, multiplication,
division. Binary arithmetic operator on other hand required two operand and its operators are
+(addition), -(subtraction), *(multiplication), /(division), %(modulus).

When both the operands are integer then it is called integer arithmetic and the result is always
integer. When both the operands are floating point then it is called floating arithmetic and when
operand is of integer and floating point then it is called mix type or mixed mode arithmetic.

2. Assignment Operator: A value can be stored in a variable with the use of assignment operator.
The assignment operator (=) is used in assignment statement and assignment expression.
Operand on the left-hand side should be variable and the operand on the right-hand side should
be variable or constant or any expression.
For example, int x= y; int Sum=x+y+z;
3. Increment and Decrement: The Unary operator ++, --, is used as increment and decrement which
acts upon single operand. Increment operator increases the value of variable by one. Similarly,
decrement operator decreases the value of the variable by one.
EXAMPLE: Let y=12; z= ++y;
Similarly, in the postfix increment and decrement operator is used in the operation.
EXAMPLE let x= 5; y= x++;

4. Relational Operator: It is use to compared value of two expressions depending on their relation.
Expression that contain relational operator is called relational expression. Here the value is
assigned according to true or false value.
a.(a>=b) || (b>20)
b.(b>a) && (e>b).

5. Conditional Operator: It sometimes called as ternary operator. Since it required three expressions
as operand and it is represented as (? , :). SYNTAX exp1 ? exp2 :exp3.

6. Comma Operator: Comma operator is use to permit different expression to be appear in a


situation where only one expression would be used. All the expression are separator by comma
and are evaluated from left to right.

EXAMPLE:
int i, j, k, l;
for(i=1,j=2;i<=5;j<=10;i++;j++)

7. Size of Operator: Size of operator is a Unary operator, which gives size of operand in terms of
byte that occupied in the memory. An operand may be variable, constant or data type qualifier.
EXAMPLE:
main( )
{
int sum;
float f;
printf( "%d%d" ,size of(f), size of (sum) );
printf("%d%d", size of(235 L), size of(A));
}
8. Bitwise Operator: Bitwise operator permit programmer to access and manipulate of data at bit
level. Various bitwise operator enlisted are
one's complement (~)
bitwise AND (&)
bitwise OR (|)
bitwise XOR (^)
left shift (<>)
8.1 Logical or Boolean Operator:
Operator used with one or more operand and return either value zero (for false) or one (for true).
The operand may be constant, variables or expressions.

Operator Meaning
&& AND
|| OR
! NOT

Loops in C Loop:- It is a block of statement that performs set of instructions. In loops Repeating
particular portion of the program either a specified number of time or until a particular no of
condition is being satisfied. There are three types of loops in c
1.While loop
2.do while loop
3.for loop

While loop:

Flow Diagram of while loop

Syntax: -
while(condition)
{
Statement 1;
Statement 2;
}
Or
While (test condition)
Statement;

do while loop: This (do while loop) statement is also used for looping. The body of this loop may
contain single statement or block of statement. The syntax for writing this statement is:
Syntax: -
do
{
Statement;
} while(condition);

Flow diagram of do while loop

for loop: In a program, for loop is generally used when number of iterations are known in
advance. The body of the loop can be single statement or multiple statements. Its syntax for
writing is:
Syntax: -
for (exp1; exp2; exp3)
{
Statement;
}

Flow Diagram of For loop

Nesting of loop: When a loop written inside the body of another loop then, it is known as nesting
of loop. Any type of loop can be nested in any type such as while, do while, for. For example,
nesting of for loop can be represented as:

void main()
{
int i, j;
for(i=0;i<2;i++)
{
for(j=0;j<5;j++)
{
printf(“%d %d”, i, j);
}
}
}

Break statement: Sometimes it becomes necessary to come out of the loop even before loop
condition becomes false then break statement is used. Break statement is used inside loop and
switch statements. It causes an immediate exit from that loop in which it appears and it is
generally written with condition. It is written with the keyword as break. When break statement
is encountered loop is terminated and control is transferred to the statement, immediately after
loop or situation where we want to jump out of the loop instantly without waiting to get back to
conditional state.
Example :
void main()
{
int j=0;
for(j=0; j<6; j++)
{
if(j==4)
break;
}

Flow diagram of break statement


if statement:
Statement execute set of command like when condition is true and its syntax is
if (condition)
Statement;
The statement is executed only when condition is true. If the if statement body is consisting of
several statement then better to use pair of curly braces. Here in case condition is false then
compiler skip the line within the if block.

Flow Diagram of if statement

Example:
void main ()
{
int n;
printf (“enter a number:”);
scanf(“%d”,&n);
if (n>10)
printf(“ number is grater”);
}
if…..else ... Statement:
it is bidirectional conditional control statement that contains one condition & two possible action.
Condition may be true or false, where non-zero value regarded as true & zero value regarded as
false. If condition is true, then a single or block of statement executed otherwise another single
or block of statement is executed.

Its syntax is:-


if (condition)
{
Statement1;
Statement2;
}
Else
{
Statement1;
Statement2;
}
Else statement cannot be used without if or no multiple else statement are allowed within one if
statement. It means there must be a if statement with in an else statement.

Example:- /* To check a number is eve or odd */


void main()
{
int n;
printf (“enter a number:”);
sacnf (“%d”, &n);
if (n%2==0)
printf (“even number”);
else
printf(“odd number”);
}

Flow diagram of if else statement


Nesting of if …else: When there is another if else statement in if-block or else-block, then it is
called nesting of if-else statement.
Syntax is: -
if (condition)
{
if (condition)
Statement1;
else
statement2;
}
Statement3;

ARRAY : Array is the collection of similar data types or collection of similar entity stored in
contiguous memory location. Each data item of an array is called an element. And each element
is unique and located in separated memory location. Each of elements of an array share a variable
but each element having different index no. known as subscript. An array can be a single
dimensional or multi-dimensional and number of subscripts determines its dimension.
ADVANTAGE: array variable can store more than one value at a time where other variable can
store one value at a time.
Example: int arr[100];
Two-dimensional array: Two-dimensional array is known as matrix. The array declaration in both
the array i.e.in single dimensional array single subscript is used and in two-dimensional array two
subscripts are is used.
Its syntax is:
Data-type array name[row][column];
int a[2][3];
Total no of elements=row*column is 2*3 =6.

You might also like