Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
ITEC113Algorithms 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; float sum=0; char gender; char name[10]; float avg; 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 NOT rules 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 value of the variable on its declaration. Example : int k ; int m=15; float fnumber= 1.75; char ch=’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. Main Data types Derived Data Types integer short, long float Double char 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 Bytes Used int 4 Bytes short 2 Bytes double 8 Bytes unsigned 4 Bytes 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.7878787878 3.141592653589790 0.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 5 is represented in C as 1.23e5 or 1.23e+5 or 1.23E5 • 1 x 10 -9 is 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 stores values 1 and 0 to cnt and sum. cnt = 1; sum = 0; stores character ‘Y’ to ch ch = ‘Y’; sum = sum + 1; avg = sum / cnt; 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 and and or 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 Operators ( ,) + , - ( unary ) *,/, % + , - Associativity Left to Right Right to Left Left to Right Left to Right Priority Level Highest Lowest Operator Precedence Rules:Examples • ? =3 + 5* 4 – Evaluated as 3 + (5*4) • ? = 8 / (5 – 2) – Evaluated as • 8 + (12%5) and the result is 10 ( (6*5) /2) + 2 and the result is 17 ?=9–4+2*6 – Evaluated as 9 – • and the result is 2 ?=6*5/2+2 – Evaluated as • 8 /3 ? = 8 + 12 % 5 – Evaluated as • and the result is 23 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