mesics lecture 3 c – constants and variables

20
C – Constants and C – Constants and Variables Variables www.eshikshak.co.in

Upload: eshikshak

Post on 31-Oct-2014

7 views

Category:

Technology


1 download

DESCRIPTION

C constants and Variables

TRANSCRIPT

Page 1: Mesics lecture 3   c – constants and variables

C – Constants and VariablesC – Constants and Variables

www.eshikshak.co.in

Page 2: Mesics lecture 3   c – constants and variables

C - Constants

Constants

PrimaryConstants

SecondaryConstants

Integer ConstantsReal Constants

Character Constants

Array Pointer

StructureUnion

Enum. etc

www.eshikshak.co.in

Page 3: Mesics lecture 3   c – constants and variables

Rules for Constructing Integer Constants An integer constant must have at least one digit. It must not have a decimal point.

1, 2, -3, 99, 1000 are valid integer constant 1.3, 2.00, 0.01, -99, 100.9 are invalid integer constant

It can be either positive or negative. If no sign precedes an integer constant it is assumed to be

positive. No commas or blanks are allowed within an integer constant. The allowable range for integer constants is -32768 to 32767. Ex.: 426

+782 -8000 -7605

www.eshikshak.co.in

Page 4: Mesics lecture 3   c – constants and variables

Rules for Constructing Real Constants

A real constant must have at least one digit. It must have a decimal point. It could be either positive or negative. Default sign is positive. No commas or blanks are allowed within a

real constant. • Ex.: +325.34

426.0 -32.76 -48.5792

Page 5: Mesics lecture 3   c – constants and variables

Rules for Constructing Character Constants

• A character constant is a single alphabet, a single digit or a single special symbol enclosed within single inverted commas.

• Both the inverted commas should point to the left. For example, ’A’ is a valid character constant whereas ‘A’ is not.

• The maximum length of a character constant can be 1 character.

Ex.: 'A' 'I' '5' '='

Page 6: Mesics lecture 3   c – constants and variables

Variable Variables in C have the same meaning as variables in

algebra. That is, they represent some unknown, or variable, value.

• x = a + b• z + 2 = 3(y - 5)

Remember that variables in algebra are represented by a single alphabetic character

www.eshikshak.co.in

Page 7: Mesics lecture 3   c – constants and variables

Variable

A variable is a used to store values. It has memory location and can store single value at a time.

A variable is a data name used for storing a data value. Its value may be changed during the program execution.

The variable value keeps on changing during the execution of the program.

www.eshikshak.co.in

Page 8: Mesics lecture 3   c – constants and variables

Naming Variables

• Variables in C may be given representations containing multiple characters. But there are rules for these representations.

• Variable names (identifiers) in Co May only consist of letters, digits, and

underscoreso May be as long as you like, but only the first 31

characters are significanto May not begin with a digito May not be a C reserved word (keyword)

Page 9: Mesics lecture 3   c – constants and variables

Naming Conventions C programmers generally agree on the

following conventions for naming variables.o Begin variable names with lowercase letters

o Use meaningful identifierso Separate “words” within identifiers with

underscores or mixed upper and lower case. o Examples: surfaceArea surface_Area

surface_areao Be consistent!

Page 10: Mesics lecture 3   c – constants and variables

Rules for Defining Variables• A variable must begin with a character or an underscore without spaces.

The underscore is treated as one type of characters.– It is advised that the variable names should not start with underscore because

library routines mostly use such variable names.

• The length of the variable varies from compiler to compiler. Generally, most of the compilers support eight characters excluding extension. – ANSI standard recognizes the maximum length of a variable up to 31

characters.

• The variable should not be a C keyword.• The variable names may be a combination of uppercase and lowercase

characters.• The variable name should not start with a digit.• Blanks and commas are not permitted within a variable name.

www.eshikshak.co.in

Page 11: Mesics lecture 3   c – constants and variables

C Data TypesC Data TypesC Data Types

Derived Data Type Basic Data Type User Defined Data Type

Pointers Functions Arrays

Integer Floating Point void

char int

float double

Pointers Functions Arrays

www.eshikshak.co.in

Page 12: Mesics lecture 3   c – constants and variables

C Data TypesData Type Size(bytes) Range Format String

char 1 -128 to 127 %c

unsigned char 1 0 to 255 %c

short or int 2 -32768 to 32767 %i or %d

unsigned int 2 0 to 65535 %u

long 4 -2147483648 to 2147483647 %ld

unsigned long 4 0 to 4294967295 %lu

float 4 3.4 e-38 to 3.4 e+38 %f or %g

double 8 1.7 e-308 to 1.7 e+308 %lf

long double 10 3.4 e-4932 to 1.1 e + 4932 %lf

enum 2* -32768 to 32767 %d

www.eshikshak.co.in

Page 13: Mesics lecture 3   c – constants and variables

C Data types• Integer Data Type

– int, short and long– All C compilers offers different integer data types.

Short Integer Long Intger

Occupies 2 bytes in memory Occupies 4 bytes in memory

Range : -32768 to 32767 Range : -2147483648 to 2147483647

Program runs faster Program runs slower

Format Specifier : %d or %i Format Specifier : %ld

Example :int a = 2;short int b = 2;

Example :long b = 123456long int c=1234567

Note : when variable is declared without short or long keyword, the default is short-signed int.

www.eshikshak.co.in

Page 14: Mesics lecture 3   c – constants and variables

C Data TypesSigned Integer Unsigned Integer

Occupies 2 bytes in memory Occupies 4 bytes in memory

Range : -32768 to 32767 Range : 0 to 65535

Format Specifier : %d or %i Format Specifier : %u

By default signed int is short signed int By default unsigned int is short unsigned int

There are also long signed integers having range from -2147483648 to 2147483647

There are also long unsigned int with range 0 to 4294967295

Example : int a=2;long int b=2;

Example:unsigned long b=567898;unsigned short int c=223;

When a variable is declared as unsigned the negative range of the data type is transferred to positive, i.e. doubles the largest size of possible value. This is due to delcaring unsigned int, the 16th bit is free and not used to store the sign of the number

Difference between signed and unsigned integers

www.eshikshak.co.in

Page 15: Mesics lecture 3   c – constants and variables

C Data TypesSigned Character Unsigned Character

Occupies 1 bytes in memory Occupies 1 bytes in memory

Range : -128 to 127 Range : 0 to 255

Format Specifier : %c Format Specifier : %c

When printed using %d format specifier prints ASCII character

When printed using %d format specifier, pirnts ASCII character

char ch=‘b’ unsigned char = ‘b’;

www.eshikshak.co.in

Page 16: Mesics lecture 3   c – constants and variables

C Data TypeFloating Double Floating

Occupies 4 bytes in memory Occupies 8 bytes in memory

Range : 3.4e-38 to +3.4e+38 Range : 1.7 e-308 to +1.73+308;

Format String : %f Format String : %lf

Example :float a;

Example :double y;

There also exist long double having ranged 3.4 e-4932 to 1.1e + 4932 and occupies 10 bytes in memory

Example :

long double k;

www.eshikshak.co.in

Page 17: Mesics lecture 3   c – constants and variables

Initialization Variables• Variable declared can be assigned operator ῾=᾽. The declaration and

initialization can also be done in the same line.Syntax :

variable_name = constant; or data_type variable_name = constant;Example : x = 5; where is an integer variable.Example : int y = 4;Example : int x,y,z;

www.eshikshak.co.in

Page 18: Mesics lecture 3   c – constants and variables

Dynamic Initialization• The initialization of variable at run time is called dynamic initialization. Dynamic

refers to the process during execution.• In C initialization can be done at any place in the program, however the

declaration should be done at the declaration part only.• Example :

void main(){ int r=2; float area=3.14*r*r; clrscr(); printf(“Area = %g”, area);}OUTPUT:Area=12.56;

www.eshikshak.co.in

Page 19: Mesics lecture 3   c – constants and variables

Type Modifiers

• The keywords signed, unsigned, short and long are type modifiers.

• A type modifier changes the meaning of basic data type and produces a new type.

• Each of these type modifiers is applicable to the basic data type int.

Example :void main(){

short t = 1;long k = 54111;

unsigned u = 10; signed j = -10; clrscr();

printf(“\n t=%d”,t) printf(“\n k=%ld”, k);

printf(“\n u=%u, u); printf(“\n j=%d”, j);

}OUTPUTt = 1; k = 54111; u = 10; j = -10

www.eshikshak.co.in

Page 20: Mesics lecture 3   c – constants and variables

• Type Conversion• Wrapping Around• Constant and Volatile

Variables

www.eshikshak.co.in