mca i pic u-2 datatypes and variables in c language
TRANSCRIPT
![Page 1: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/1.jpg)
Data Types and Variables in ‘C’ language
Course: MCA
Subject: Programming In C Language
![Page 2: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/2.jpg)
Basic structure of C programming To write a C program, we first create functions and then put them together. A C program may contain one
or more sections. They are illustrated below.
Documentation section
Link section
Definition section
Global declaration section
main () Function section
{
Declaration part
Executable part
}
Subprogram section
Function 1
Function 2
…………..
…………..
Function n (User defined functions)
![Page 3: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/3.jpg)
Programming Rules
Basic rules to begin:
In separate statement each instruction should be written. Therefore , complete C program consist of set of instructions.
The statements in program must be written in sequencial order to get desired output.Unless any logic problem can be arise.
All statement should written in small case letters.
C has no particular rules for position at which statement is to be typed.
In C program every statement must end with ; (semicolon).It act as a terminator.
![Page 4: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/4.jpg)
Rules for Comment Comment in the program should be enclosed within /* .. */ .Look example below the first line
is comment.
For ex. /*This my first program*/
#include<stdio.h>
main()
{
Statement;
Statement;
}
Though comments are not necessary, but it good practice to begin program with comment indicating purpose of program so that other person can get idea of program.
You can write any number comment at any place in program mentioning the purpose of the statement.
Use few Comment instead of too many.
A comment cannot be nested. For ex., /* The/* first/*program*/*/*/.
A comment can split over more than one line. For ex.
/*THE
First
Program*/
![Page 5: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/5.jpg)
Main Method
main() is a collection of the set of statements. Statements arealways enclosed belongs to main() within pairs of {} (openingand closing braces).For ex.
void main()
{
1st statement;
2nd statement;
}
Technically main() is a function because every function hasthe pair of parentheses ( ) associated with it.
The function in c have their return type, Similarly, If we wantthat main() function should not return any value of particulartype precede it with void ,int etc.
![Page 6: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/6.jpg)
Declaration
Any variable used in the program must be declared before using it. For ex,
int a,b,c; /*declaration*/
float a,b,c; /*declaration*/
a=a+b; /*usage*/
![Page 7: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/7.jpg)
For declaration see the datatype table as follow
Datatype number Declaration format string
Integer 1,+5,-5 int a; "%d", a
Float 11.363,+1.14,-12.11 float a; "%f", a
Double +1.123123,-1.234345 double a; "%l", a
Character 'A','B' char a; "%c",a
String "Dev.com" char a[20]; "%c",a
![Page 8: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/8.jpg)
Ways of declaration in C lets see:
a) While declaration you can also initialize it as
int a=1,b=24; , float a=1.5, b=1.98+3.8*2.7;
b) The order sometimes matter in initialization.For ex.
int i = 1, j=24; is same as int j=24,j=1;float a=1.8 , b= 3.1+a;
IT is alright but float b =3.1+a ,a=1.8; is not this why we have to initialize a before.
c) Lets another statements:
int x,y,z;x=y=z=10; work perfectly
int x=y=z=10; not work because once again
we are trying to use y (assign to y) before defining it.
![Page 9: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/9.jpg)
Character Set
Character set are the set of alphabets, letters and some special characters that are valid in C language.
Alphabets:
Uppercase: A B C .................................... X Y Z
Lowercase: a b c ...................................... x y z
Digits:
0 1 2 3 4 5 6 8 9
![Page 10: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/10.jpg)
Cont..
Special Characters in C language
, <> . _ () ; $ : % [] # ? ‘ & {} “ ^ ! * / | - \ ~
White space Characters:
blank space, new line, horizontal tab, carriage return and form feed
![Page 11: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/11.jpg)
Tri-graph Characters
Many non-English keyboards do not support all the characters.
ANSI C introduces the concept of “Trigraph” sequences to provide a way to enter certain characters that are not available on some keyboards.
![Page 12: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/12.jpg)
The Six Kinds of Tokens in ANSI C
Keywords
Identifiers
Constants
String Constants
Operators
Punctuators
![Page 13: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/13.jpg)
C Token
![Page 14: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/14.jpg)
KeywordsKeywords are C tokens that have a strict meaning.
They are explicitly reserved and cannot be redefined.
ANSII C has 32 key words
![Page 15: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/15.jpg)
ANSII C Keywords
auto do goto signed unsigned
break double if sizeof void
case else int static volatile
char enum long struct while
const extern register switch
continue float return typedef
default for short union
![Page 16: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/16.jpg)
Identifier
In C programming, identifiers are names given to Centities, such as variables, functions, structures etc.Identifier are created to give unique name to C entities toidentify it during the execution of program.
For example:
int money;
int mango_tree;
Here, money is a identifier which denotes a variable of typeinteger. Similarly, mango_tree is another identifier, whichdenotes another variable of type integer
![Page 17: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/17.jpg)
Rules for Identifier
First letter must be alphabet(Underscore)
An identifier can be composed of letters (bothuppercase and lowercase letters),digits and underscore'_' only.
The first 31 characters of an identifier
Cannot use Keyword
Must not contain white space
![Page 18: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/18.jpg)
Constants
![Page 19: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/19.jpg)
Integer Constants
Integer Constants
An integer constant refers to a sequence of digits, There are three types integers, namely, decimal, octal, and hexa decimal.
Decimal Constant
Eg:123,-321 etc.,
Note: Embedded spaces, commas and non-digit characters are not permitted
between digits.
Eg: 1) 15 750 2)$1000
Octal Constant
An octal integer constant consists of any combination of digits from the set 0 through 7, with a leading 0.
Eg: 1) 037 2) 0435
Hexadecimal Constant
A sequence of digits preceded by 0x or 0X is considered as hexadecimal integer. They may also include alphabets A through F or a through f.
Eg: 1) 0X2 2) 0x9F 3) 0Xbcd
![Page 20: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/20.jpg)
Program for representation of integer constants on a 16-bit computer. /*Integer numbers on a 16-bit machine*/
main() { printf(“Integer values\n\n”); printf(“%d%d%d\n”,32767,32767+1,32767+10); printf(“\n”); printf(“Long integer values\n\n”); printf(“%ld%ld%ld\n”,32767L,32767L+1L,32767L+10L); } OUTPUT Integer values 32767 -32768 -32759 Long integer values 32767 32768 32777
![Page 21: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/21.jpg)
Real Constants
Certain quantities that vary continuously, such as distances,heights etc., are represented by numbers containingfunctional parts like 17.548.
Such numbers are called real(or floating point)constants.
Eg:0.0083,-0.75 etc.,
A real number may also be expressed in exponential orscientific notation.
Eg:215.65 may be written as 2.1565e2
![Page 22: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/22.jpg)
A single character constants contains a singlecharacter enclosed within a pair of single quotemarks.
Eg: ’5’
‘X’
‘;’
Single Character Constant
![Page 23: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/23.jpg)
String Constants
A string constant is a sequence of characters
enclosed in double quotes.
The characters may be letters, numbers, special
characters and blank space.
Eg:”Hello!”
“1987”
“?….!”
![Page 24: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/24.jpg)
Backslash Character Constants
C supports special backslash character constants that
are used in output functions.
These character combinations are known as escape
sequences.
![Page 25: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/25.jpg)
VARIABLES
Definition:
A variable is a data name that may be used to
store a data value. A variable may take different
values at different times of execution and may be
chosen by the programmer in a meaningful way.
It may consist of letters, digits and underscore
character.
Eg: 1) Average
2) Height
![Page 26: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/26.jpg)
They must begin with a letter. Some systems permit underscore asthe first character .
ANSI standard recognizes a length of 31 characters.
However, the length should not be normally more than eightcharacters.
Uppercase and lowercase are significant. The variable name shouldnot be a keyword.
Uppercase and lowercase are significant.
The variable name should not be a keyword.
White space is not allowed.
Rules for defining variables
![Page 27: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/27.jpg)
Cont..
Valid Variables Names:
John Value T_raise
Delhi x1 ph_value
mark sum1 distance
Invalid Variable Names:
123 (area)
% 25th
![Page 28: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/28.jpg)
DATA TYPES
A data type is A set of values AND
A set of operations on those values
A data type is used to Identify the type of a variable when the variable is
declared
Identify the type of the return value of a function
Identify the type of a parameter expected by a function
![Page 29: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/29.jpg)
Data Types
ANSI C supports four classes of data types.
1. Primary or Fundamental data types.
2. User-defined data types.
3. Derived data types.
4. Empty data set.
![Page 30: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/30.jpg)
Primary Data Types in C
![Page 31: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/31.jpg)
Integer Types
Size and Range Of Data types on 16 bit machine
![Page 32: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/32.jpg)
Floating Point Types
![Page 33: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/33.jpg)
DECLARATION OF VARIABLES
Declarations does two things:
It tells the compiler what the variable name is
It specifies what type of data the variable will hold
Primary Type Declaration
The syntax is
Data-type v1,v2…..vn;
Eg:
int count;
double ratio, total;
![Page 34: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/34.jpg)
User-defined type declaration
C allows user to define an identifier that would represent an existing int
data type.
The general form is typedef type identifier;
Eg:
typedef int units;
typedef float marks;
Another user defined data types is enumerated data type which can be
used to declare variables that can have one of the values enclosed
within the braces.
enum identifier {value1,value2,……valuen};
![Page 35: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/35.jpg)
Declaration of storage class
Variables in C can have not only data type but also storage class that provides information about their locality and visibility.
/*Example of storage class*/
int m;
main()
{
int i;
float bal;
……
……
function1();
}
function1()
{
int i;
float sum;
……
……
}
Here the variable m is calledthe global variable. It can beused in all the functions inthe program.
The variables bal, sum and iare called local variables.Local variables are visible andmeaningful only inside thefunction in which they aredeclared.
There are four storage classspecifies, namely, auto, static,register and exte
![Page 36: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/36.jpg)
Cont..
![Page 37: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/37.jpg)
ASSIGNING VALUES TO VARIABLES
The syntax is
Variable_name=constant
Eg:
int a=20;
bal=75.84;
yes=’x’;
C permits multiple assignments in one line.
Example:
initial_value=0;final_value=100;
![Page 38: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/38.jpg)
Declaring a variable as constant
Eg:
const int class_size=40;
This tells the compiler that the value of the int variableclass_size must not be modified by the program.
Declaring a variable as volatile
By declaring a variable as volatile, its value may be changedat any time by some external source.
Eg:
volatile int date;
![Page 39: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/39.jpg)
READING DATA FROM KEYWORD
Another way of giving values to variables is to input data through keyboard using the scanf function.
The general format of scanf is as follows.
scanf(“control string”,&variable1,&variable2,….);
The ampersand symbol & before each variable name is an operator that specifies the variable name’s address.
Eg:
scanf(“%d”,&number);
![Page 40: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/40.jpg)
OPERATORS OF C
C supports a rich set of operators. Operators are used in programs to manipulate data and variables.
They usually form a part of the mathematical of logical expressions.
C operators are classified into a number of categories. They include:
1. Arithmetic operators
2. Relational operators
3. Logical operators
4. Assignment operators
5. Increment and Decrement operators
6. Conditional operators
7. Bitwise operators
8. Special operators
![Page 41: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/41.jpg)
ARITHMETIC OPERATORS
Eg:1) a-b 2) a+b 3) a*b 4) p%q
![Page 42: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/42.jpg)
Integer Arithmetic
When both the operands in a single arithmeticexpression are integers, the expression is called aninteger expression , and the operation is called integerarithmetic.
During modulo division the sign of the result is alwaysthe sign of the first operand.That is
-14 % 3 = -2
-14 % -3 = -2
14 % -3 = 2
![Page 43: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/43.jpg)
Real Arithmetic
An arithmetic operation involving only real operands is called real arithmetic. If x and y are floats then we will have:
1) x = 6.0 / 7.0 = 0.857143
2) y = 1.0 / 3.0 = 0.333333
The operator % cannot be used with real operands.
![Page 44: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/44.jpg)
Mixed-mode Arithmetic
When one of the operands is real and the other is integer, the expression is called a mixed-mode arithmetic expression and its result is always a real number.
Eg:
1) 15 / 10.0 = 1.5
![Page 45: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/45.jpg)
RELATIONAL OPERATORS
Comparisons can be done with
the help of relational operators.
The expression containing a
relational operator is termed as a
relational expression.
The value of a relational
expression is either one or zero.
![Page 46: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/46.jpg)
LOGICAL OPERATORS
C has the following three logical operators.
Eg:
if(age>55 && sal<1000)
if(number<0 || number>100)
![Page 47: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/47.jpg)
ASSIGNMENT OPERATORS
The usual assignment operator is ‘=’. In addition, C has a set of ‘shorthand’ assignment
operators of the form,
v op = exp;
Eg: x += y+1;
This is same as the statement
x=x+(y+1);
![Page 48: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/48.jpg)
Shorthand Assignment Operator
![Page 49: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/49.jpg)
INCREMENT AND DECREMENT OPERATORS
C has two very useful operators that are not generally found in other languages.
These are the increment and decrement operator:
++ and --
The operator ++ adds 1 to the operands while – subtracts 1.
It takes the following form:
++m; or m++
--m; or m—
![Page 50: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/50.jpg)
Rules for ++ & -- operators
These require variables as their operands
When postfix either ++ or – is used with the variable ina given expression, the expression is evaluated firstand then it is incremented or decremented by one
When prefix either ++ or – is used with the variable ina given expression, it is incremented or decrementedby one first and then the expression is evaluated withthe new value
![Page 51: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/51.jpg)
CONDITIONAL OPERATOR
A ternary operator pair “?:” is available in C to constructconditional expression of the form:
exp1 ? exp2 : exp3;
Here exp1 is evaluated first. If it is true then the expression exp2is evaluated and becomes the value of the expression. If exp1 isfalse then exp3 is evaluated and its value becomes the value ofthe expression.
Eg:
if(a>b)
x = a;
else
x = b;
![Page 52: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/52.jpg)
Let the value of a =5 and b=++a thena = b =6Let the value of a = 5 and b=a++ thena =5 but b=6i.e.: 1. a prefix operator first adds 1 to the operand and
then the result is assigned to the variable on theleft
2. a postfix operator first assigns the value to thevariable on left and then increments the operand.
Examples for ++ & -- operators
![Page 53: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/53.jpg)
BITWISE OPERATORS
![Page 54: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/54.jpg)
SPECIAL OPERATORS
C supports some special operators such as
Comma operator
Size of operator
Pointer operators(& and *) and
Member selection operators(. and ->)
![Page 55: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/55.jpg)
The Comma Operator
The comma operator can be used to link the related expressions together. A commalinked list of expressions are evaluated left to right and the value of right-mostexpression is the value of the combined expression.
Eg: value = (x = 10, y = 5, x + y);
This statement first assigns the value 10 to x, then assigns 5 to y, and finallyassigns15(i.e, 10+5) to value.
The Size of Operator
The size of is a compiler time operator and, when used with an operand, it returns the
number of bytes the operand occupies.
Eg: 1) m = sizeof(sum);
2) n = sizeof(long int)
3) k = sizeof(235L
![Page 56: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/56.jpg)
BODMAS RULE-
Brackets of Division Multiplication Addition Subtraction
Brackets will have the highest precedence and have to be
evaluated first, then comes of , then comes
division, multiplication, addition and finally subtraction.
C language uses some rules in evaluating the expressions
and they r called as precedence rules or sometimes also
referred to as hierarchy of operations, with some operators
with highest precedence and some with least.
The 2 distinct priority levels of arithmetic operators in c are-
Highest priority : * / %
Lowest priority : + -
Precedence of operators
![Page 57: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/57.jpg)
EXPRESSIONS
The combination of operators and operands is said to be an expression.
An arithmetic expression is a combination of variables, constants, and operators
arranged as per the syntax of the language.
Eg 1) a = x + y;
![Page 58: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/58.jpg)
Arithmetic Expressions
An arithmetic expression is a combination of variables, constants, and operatorsarranged as per the syntax of the language.Eg 1) a = x + y;
![Page 59: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/59.jpg)
EVALUATION OF EXPRESSIONS
Expressions are evaluated using an assignment statement ofthe form variable = expression;
Eg:
1) x = a * b – c;
2) y = b / c * a;
An arithmetic expression without parenthesis will be evaluated from left to right using the rule of precedence of operators.
There are two distinct priority levels of arithmetic operators in C.
High priority * / %
Low priority + -
![Page 60: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/60.jpg)
PRECEDENCE OF ARITHMETIC OPERATORS
/*Evaluation of expressions*/
main(){float a, b, c, y, x, z;a = 9;b = 12;c = 3;x = a – b / 3 + c * 2 – 1;y = a – b / (3 + c) * (2 – 1);z = a – (b / (3 + c) * 2) – 1;printf(“x = %f \n”,x);printf(“y = %f \n”,y);printf(“z = %f \n”,z);}
OUTPUT x = 10.000000 y = 7.000000 z = 4.000000
![Page 61: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/61.jpg)
Rules for evaluation of expression
1. First parenthesized sub expression from left to right areevaluated.
2. If parentheses are nested, the evaluation begins with theinnermost sub expression
3. The precedence rule is applied in determining the order ofapplication of operators in evaluating sub expressions
4. The associatively rule is applied when 2 or more operators ofthe same precedence level appear in a sub expression.
5. Arithmetic expressions are evaluated from left to right usingthe rules of precedence
6. When parentheses are used, the expressions withinparentheses assume highest priority
![Page 62: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/62.jpg)
TYPE CONVERSION IN EXPRESSIONS
C permits the mixing of constants and variables of differenttypes in an expression.
If the operands are of different types, the lower type isautomatically converted to higher type before theoperation proceeds. The result is of the higher type.
Given below are the sequence of rules that are appliedwhile evaluating expressions.
![Page 63: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/63.jpg)
Explicit Conversion
C performs type conversion automatically. However,there are instances when we want to force a typeconversion in a way that is different from the automaticconversion.
Eg: ratio = female_number / male_number
Since female_number and male_number are declared asintegers the ratio would resent a wrong figure.
Hence it should be converted to float.
ratio = (float) female_number / male_number
The general form of a cast is:
(type-name)expression
![Page 64: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/64.jpg)
MATHEMATICAL FUNCTIONS
Mathematical functions such as sqrt, cos, log etc., arethe most frequently used ones.
To use the mathematical functions in a C program, weshould include the line
#include<math.h>
in the beginning of the program
![Page 65: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/65.jpg)
![Page 66: Mca i pic u-2 datatypes and variables in c language](https://reader030.vdocuments.us/reader030/viewer/2022032421/55a794a01a28ab911f8b45b4/html5/thumbnails/66.jpg)
References:
1. Programming in C by yashwant kanitkar
2. ANSI C by E.balagurusamy- TMG publication
3. Computer programming and Utilization by sanjay shah Mahajan Publication
4. www.cprogramming.com/books.html
5. en.wikipedia.org/wiki/C_(programming_language)
6. www.programmingsimplified.com/c-program-example
7. http://cm.bell-labs.com/cm/cs/who/dmr/chist.html
8. http://en.wikipedia.org/wiki/datatypes in c language
9. http://en.wikipedia.org/wiki/List_of_C-based_programming_languages
10. http://en.wikipedia.org/wiki/C_(programming_language)