66
Data Types and Variables in ‘C’ language Course: Diploma Subject: Computer Fundamental & Programming In C

Diploma ii cfpc u-2 datatypes and variables in c language

Embed Size (px)

Citation preview

Page 1: Diploma ii  cfpc u-2 datatypes and variables in c language

Data Types and Variables in ‘C’ language

Course: Diploma

Subject: Computer Fundamental & Programming In C

Page 2: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

Cont..

Special Characters in C language

, <> . _ () ; $ : % [] # ? ‘ & {} “ ^ ! * / | - \ ~

White space Characters:

blank space, new line, horizontal tab, carriage return and form feed

Page 11: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

The Six Kinds of Tokens in ANSI C

Keywords

Identifiers

Constants

String Constants

Operators

Punctuators

Page 13: Diploma ii  cfpc u-2 datatypes and variables in c language

C Token

Page 14: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

Constants

Page 19: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

A single character constants contains a singlecharacter enclosed within a pair of single quotemarks.

Eg: ’5’

‘X’

‘;’

Single Character Constant

Page 23: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

Cont..

Valid Variables Names:

John Value T_raise

Delhi x1 ph_value

mark sum1 distance

Invalid Variable Names:

123 (area)

% 25th

Page 28: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

Primary Data Types in C

Page 31: Diploma ii  cfpc u-2 datatypes and variables in c language

Integer Types

Size and Range Of Data types on 16 bit machine

Page 32: Diploma ii  cfpc u-2 datatypes and variables in c language

Floating Point Types

Page 33: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

Cont..

Page 37: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

ARITHMETIC OPERATORS

Eg:1) a-b 2) a+b 3) a*b 4) p%q

Page 42: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

LOGICAL OPERATORS

C has the following three logical operators.

Eg:

if(age>55 && sal<1000)

if(number<0 || number>100)

Page 47: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

Shorthand Assignment Operator

Page 49: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

BITWISE OPERATORS

Page 54: Diploma ii  cfpc u-2 datatypes and variables in c language

SPECIAL OPERATORS

C supports some special operators such as

Comma operator

Size of operator

Pointer operators(& and *) and

Member selection operators(. and ->)

Page 55: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language

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: Diploma ii  cfpc u-2 datatypes and variables in c language
Page 66: Diploma ii  cfpc u-2 datatypes and variables in c language

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)