200 likes | 613 Views
ITEC113 Algorithms and Programming Techniques. C programming: Variables, Expressions Part I. Objectives. To understand what variables are initialization/garbage values naming conventions To learn about the frequently used data types To understand the components of an assignment Statements
E N D
ITEC113 Algorithms and Programming Techniques C programming: Variables, Expressions Part I
Objectives • To understand what variables are • initialization/garbage values • naming conventions • To learn about the frequently used data types • To understand the components of • an assignment Statements • arithmetic expressions • To learn about • frequently used operators, • operator precedence
VARIABLES • Variables are basic data objects manipulated in a program. • Each variable has to be declared before use. • Each variable has a name and a data type. • You can give initial value (variable initialization) on variable declaration. Examples: int x; char gender; float avg; float sum=0; char name[10]; int *fp;
VARIABLES • Variable declaration allocates a cell in the main memory whose size is determined by the data type • For example for int 4 bytes are used, for double 8 bytes are used • When the variable is created in the main memory it contains garbage value • This is due to the existence of 1’s and 0’s in the memory. 1 means high voltage, 0 means low voltage. • It is a good idea to initialize variables before first usage. • A variable name is the symbolic representation of the memory location that is allocated on variable declaration
Rules on Variable Names: • DO NOT use reserved words as variable names (e.g. if, else, int, float, case, for, …). • The first character has to be a letter or underscore. It can not be a numeric digit. The second and the other characters of the name can be any letter, any number, or an underscore “_”. Examples Some valid names: my_name, m113_1, salary, bluemoon, _at Some invalid names: my name, my-name , 1stmonth , salary! , guns&roses ,
Tradition on Variable Names: These are NOTrules but you can increase the quality of your program by using them! • Select related and meaningful names indicating tasks of the variables. • Do not use variable names that exceed 8 characters. • Use small case letters for variable names. • Upper case letters are mostly used in the names of symbolic constants.
Variable Declaration: • Variable declaration is used to introduce the system to the variables that the programmer decides to use on the rest of the program. • On variable declaration, • variable name, • data type are declared. • Also you can give the initial valueof the variable on its declaration. Example : intk ; intm=15; floatfnumber= 1.75; charch=’w’ ;
Data Types of the Variables : • A variable data type specifies: • The kind of value a variable can store • The set of operations that can be applied to the variable • There are 3 main different data types and their derivations for declaration in ANSI–C.
Data Types and Sizes : (Continued) • Integers(int) : • Integers are all numeric values that have no fractional or decimal components. • Integer numbers may be positive or negative. Examples : 13 7 –6 208 1024 • C compiler allocates 4 bytes (32 bits) to an integer (int) variable. • An integer variable can store values in the range • –32,768 through 32,767 • Derived Integers: • short, long and unsigned are data types derived from int, and used to keep integer values. • The sizes of long and short is differentiated from int. • The data type unsigned is used only with positive integers.
Data Types and Sizes : (Continued) • The sizes of long and short is differentiated from int. • The data type unsigned is used only with positive integers.
Data Types and Sizes : (Continued) Real Numbers: • C compiler uses float and double data types for storing real numbers. • The float data type requires 4 bytes and has a precision of seven digits • This means after the decimal point you can have seven digits Example: 3.14159 534.322344 0.3333333 0.1234567 • The double data type requires 8 bytes and has a precision of fifteen digits Example : -3738.78787878783.1415926535897900.123456789123456
Data Types and Sizes : (Continued) • We can use Scientific Notation to represent real numbers that are very large or very small in value. • The letters e or E is used to represent times 10 to the power. Example: • 1.23 x 10 5is represented in C as 1.23e5or 1.23e+5or 1.23E5 • 1 x 10 -9is represented in C as 1e-9
Data Types and Sizes : (Continued) Character : ( char ) • Characters constants are usually used enclosed single quotes Example: ‘A’ , ‘7’, • Only one byte of memory location is used by a character variable. • In ASCII code is used to represent uniquely any one of the available 255 characters Example: A is represented by decimal 65 or 8-bit binary 0 1 0 0 0 0 0 1
Data Types and Sizes : (Continued) Categories of characters : • Alphabetic Letters : • ( Upper case : ‘A’ , ‘B’, …….. ‘Z’ ) • ( Lower case : ‘a’ , ‘b’, …….. ‘z’ ) • Numeric digits • ( ‘1’,’2’,’3’,…………,’9’,’0’ ) • Special Characters • ( blank, ‘+’,’#’,’-‘,’_’,……..) • Control Characters • ( ‘\n’ , ‘\t’ , ……. )
Assignment Statements • The ‘=‘ sign is an assignment operator. • Assignment statements replace old values of the variables with the new ones • An assignment statement assigns a value or a computational result to a variable. Example cnt= 1; sum = 0; ch= ‘Y’; sum = sum + 1; avg = sum / cnt; stores values 1 and 0 to cnt and sum. stores character ‘Y’ to ch stores computational results to sum and avg
Expressions • Arithmetic Expressions involve arithmetic operators such as *,+,-,/,%: • Example : a * 5 + b % 4 • Relational Expressions involve relational operators that compare two values such as >,<,== etc: • Example: a > b • Logical Expressions involve the logical andandor operators && and || and are used to combine relational expressions: • Example: ( a > b && c == 7 )
Arithmetic Expressions In the Assignment Statement: M = a * 5 + b % 4 ; • The expression to the right of the assignment operator ( = ) involves an arithmetic operation that combines arithmetic operands with arithmetic operators. • The most commonly used arithmetic operators are: • Addition (+) Operator • Subtraction (-) Operator • multiplication (*) Operator • division (/) Operator • remainder (%) Operator For real or integer numbers For integer numbers only
Operator Precedence Rules • Arithmetic expressions inside parentheses are executed first (left to right). • Unary operators ( minus signs and plus signs) are executed before multiplications, divisions and remainder operations. • Additions and subtractions are executed last. parentheses -ve and +ve signs Mult. Div., and mod. Add and subtract
Operator Precedence Rules:Examples • ? =3 + 5* 4 • Evaluated as 3 +(5*4) and the result is 23 • ? = 8 / (5 – 2) • Evaluated as 8 /3 and the result is 2 • ? = 8 + 12 % 5 • Evaluated as 8 +(12%5) and the result is 10 • ? = 6 * 5 / 2 + 2 • Evaluated as ( (6*5)/2)+ 2 and the result is 17 • ? = 9 – 4 + 2 * 6 • Evaluated as 9 – 4 + (2*6) and the result is 17 • ? = 1 + 2 * (3 + 4) • Evaluated as 1 +(2 * (3+4)) and the result is 15 • ? = 5 * 2 + 9 % 4 • Evaluated as (5*2) + (9 % 4) and the result is 11 • ? = 5 * 2 % ( 7 – 4) • Evaluated as (5 * 2)%(7 – 4) and the result is 1
That’s it for now!Next Lecture: More on variables, data types and expressions