L6-L9-Variables, Data types, sizes and constants .pdf
Document Details
Uploaded by FelicitousSanAntonio
Manipal Academy of Higher Education
Tags
Related
- C# Basic Structure, Identifiers, Data Types and Operators PDF
- C# Basic Structure, Identifiers, Data Types, and Operators PDF
- L6-L9-Variables, Data types, sizes and constants .pptx
- L6-L9-Variables, Data types, sizes and constants .pdf
- SYSC 2006 Lecture 2: Variables, Data Types, and Expressions PDF
- C Programming PDF
Full Transcript
C Program, Variables, Data types, sizes and constants Objectives To learn and appreciate − General Structure of C program − C Tokens − Variables − Declarations − Data Types and Sizes − Arithmetic Operators − Relationa...
C Program, Variables, Data types, sizes and constants Objectives To learn and appreciate − General Structure of C program − C Tokens − Variables − Declarations − Data Types and Sizes − Arithmetic Operators − Relational and Logical Operators 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 2 Session outcome At the end of session student will be able to learn and understand − General structure of C program − C Tokens − Variables − Declarations − Data Types and Sizes − Arithmetic Operators − Relational and Logical Operators − Type conversions − Increment and Decrement Operators 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 3 − Bitwise Operators General Structure of C program 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 4 C program for reading a number and display it on the screen //Program to read and display a number #include int main() { int num; printf("\nEnter the number: "); scanf("%d", &num); printf(“The number read is: %d", num); return(0); } 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 5 Adding two integers #include int main( void ) { int sum; int integer1; int integer2; printf( "Enter first integer\n" ); scanf( "%d", &integer1 ); printf( "Enter second integer\n" ); scanf( "%d", &integer2 ); sum = integer1 + integer2; printf( "Sum is %d\n", sum ); return 0; } 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 6 C Character set Character set is a set of valid characters that a language can recognize. C character set consists of letters, digits, special characters, white spaces. (i) Letters → ‘a’, ‘b’, ‘c’,………..’z’ Or ‘A’, ‘B’, ‘C’,……….’Z’ (ii) Digits → 0, 1, 2,……………………9 (iii)Special characters → ;, ?, >, % ‘9’ … Array name … … & … “hello”… { } 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 8 Keywords These are some reserved words in C which have predefined meaning to compiler called keywords. Keywords are not to be used as variable and constant names. All keywords have fixed meanings and these meanings cannot be changed. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 9 Compiler specific keywords Some commonly used keywords are given below: 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 10 Variables Variables are data storage locations in the computer’s memory. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 11 Variables Variables are the symbolic names for storing computational data. Variable: a symbolic name for a memory location In C variables have to be declared before they are used Ex: int x A variable may take different values at different times during execution. Declarations reserve storage for the variable. Value is assigned to the variable by initialization or assignment 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 12 Variable declarations 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 13 Variable Names- Identifiers Symbolic names can be used in C for various data items used by a programmer. A symbolic name is generally known as an identifier. An identifier is a name for a variable, constant, function, etc. The identifier is a sequence of characters taken from C character set. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 14 Variable names Rules for valid variable names (identifiers) : Name must begin with a letter or underscore ( _ ) and can be followed by any combination of letters, underscores, or digits. Key words cannot be used as a variable name. C is case-sensitive: sum, Sum, and SUM each refer to a different variable. Variable names can be as long as you want, although only the first 63 (or 31) characters might be significant. Choice of meaningful variable names can increase the readability of a program 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 15 Variable names Examples of valid variable names: 1) Sum 2) _difference 3) a 4) J5x7 5) Number_of_moves Examples of invalid variable names: 1) sum$value 2) 3val 3) int 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 16 Declaring variables C imposes to declare variables before their usage. Advantages of variable declarations: Putting all the variables in one place makes it easier for a reader to understand the program. Thinking about which variables to declare encourages the programmer to do some planning before writing a program. The obligation to declare all variables helps prevent bugs of misspelled variable names. Compiler knows the amount of memory needed for storing the variable. Compiler can verify that operations done on a variable are allowed by its type. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 17 Primary (built-in or Basic)Data types INTEGER CHARACTER SIGNED TYPE UNSIGNED TYPE INT UNSIGNED INT SIGNED CHARACTER SHORT INT UNSIGNED SHORT INT UNSIGNED CHARACTER LONG INT UNSIGNED LONG INT FLOATING POINT TYPE VOID FLOATING POINT TYPE FLOAT VOID DOUBLE LONG DOUBLE 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 18 Data types Basic data types: int, float, double, char, and void. ✓int: can be used to store integer numbers (values with no decimal places). ✓float: can be used for storing floating-point numbers (values containing decimal places). ✓double: the same as type float, and roughly twice the size of float. ✓char: can be used to store a single character, such as the letter a, the digit character 6, or a semicolon. ✓ void: is used to denote nothing or empty. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 19 Integer Types The basic integer type is int ▪ The size of an int depends on the machine and on PCs it is normally 16 or 32 or 64 bits. modifiers (type specifiers) ▪ short: typically uses less bits ▪ long: typically uses more bits ▪ Signed: both negative and positive numbers ▪ Unsigned: only positive numbers 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 22 SIZE AND RANGE OF VALUES FOR 16-BIT MACHINE (INTEGER TYPE) Type Size Range short int or signed short int 8 -128 to 127 short unsigned int 8 0 to 255 int or signed int 16 -32,768 to 32,767 Integer unsigned int 16 0 to 65,535 long int or -2,147,483,648 to signed long int 32 Long 2,147,483,647 unsigned long int 32 0 to 4,294,967,295 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 23 The char type A char variable can be used to store a single character. A character constant is formed by enclosing the character within a pair of single quotation marks. Valid examples: 'a’. Character zero ( ‘0’ ) is not the same as the number (integer constant) 0. The character constant ‘\n’—the newline character—is a valid character constant. It is called as an escape character. There are other escape sequences like, \t for tab, \v for vertical tab, \n for new line etc. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 24 Character Types Character type char is related to the integer type. Modifiers(type specifiers) unsigned and signed can be used ▪ char →1 byte (-128 to 127) ▪ signed char →1 byte (-128 to 127) ▪ unsigned char →1 byte (0 to 255) ASCII (American Standard Code for Information Interchange ) is the dominant encoding scheme for characters. ▪ Examples ✓ ' ' encoded as 32 '+' encoded as 43 ✓ 'A' encoded as 65 …………………….'Z' encoded as 90 ✓ 'a' encoded as 97 ……………………. 'z' encoded as 122 ✓ ‘0’ encoded as 48 ……………………..’9’ encoded as 57 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 25 Assigning values to char char letter; letter = ‘A'; letter = A; letter = “A"; letter = 65; 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 26 Floating-Point Types Floating-point types represent real numbers ▪ Integer part ▪ Fractional part The number 108.1517 breaks down into the following parts ▪ 108 - integer part ▪ 1517 - fractional part Floating-point constants can also be expressed in scientific notation. The value 1.7e4 represents the value 1.7 × 104. The value before the letter e is known as the mantissa, whereas the value that follows e is called the exponent. There are three floating-point type specifiers ▪ float ▪ double ▪ long double 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 27 SIZE AND RANGE OF VALUES FOR 16-BIT MACHINE (FLOATING POINT TYPE) Type Size 32 bits Single Precision Float 4 bytes 64 bits Double Precision double 8 bytes Long Double 80 bits long double Precision 10 bytes 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 28 void 2 uses of void are ▪To specify the return type of a function when it is not returning any value. ▪To indicate an empty argument list to a function. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 29 Summary We have learnt about − General Structure of C program − C Tokens − Variables − Declarations − Data Types and Sizes − Arithmetic Operators − Relational and Logical Operators − Type conversions − Increment and Decrement Operators 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 32 − Bitwise Operators Objectives To learn and appreciate − Arithmetic Operators − Relational and Logical Operators − Type conversions − Increment and Decrement Operators − Bitwise Operators − Assignment Operators and Conditional Expressions − Precedence and Order of Evaluation 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 33 Session outcome At the end of session student will be able to learn and understand − Arithmetic Operators − Relational and Logical Operators − Type conversions − Increment and Decrement Operators − Bitwise Operators − Assignment Operators and Conditional Expressions − Precedence and Order of Evaluation 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 34 Operators The different operators are: Arithmetic Relational Logical Increment and Decrement Bitwise Assignment Conditional 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 35 Arithmetic Operators The binary arithmetic operators are +, -, *, / and the modulus operator %. The / operator when used with integers truncates any fractional part i.e. E.g. 5/2 = 2 and not 2.5 Therefore % operator produces the remainder when 5 is divided by 2 i.e. 1 The % operator cannot be applied to float or double E.g. x % y wherein % is the operator and x, y are operands 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 36 The unary minus operator #include int main () { int a = 25; int b = -2; printf(“%d\n”,-a); printf(“%d\n”,-b); return 0; } 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 37 Working with arithmetic expressions Basic arithmetic operators: +, -, *, /, % Precedence: One operator can have a higher priority, or precedence, over another operator. The operators within C are grouped hierarchically according to their precedence (i.e., order of evaluation) Operations with a higher precedence are carried out before operations having a lower precedence. High priority operators * / % Low priority operators + - Example: * has a higher precedence than + a + b * c → a+(b*c) If necessary, you can always use parentheses in an expression to force the terms to be evaluated in any desired order. Associativity: Expressions containing operators of the same precedence are evaluated either from left to right or from right to left, depending on the operator. This is known as the associative property of an operator. Example: + has a left to right associativity For both the precedence group described above, associativity is “left to right”. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 38 Working with arithmetic expressions #include int main () { int a = 100; int b = 2; int c = 25; int d = 4; int result; result = a * b + c * d; printf(“ Result1: %d\n”,result); result = a * (b + c * d); printf(“ Result2: %d\n”,result); return 0; } 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 39 Relational operators Operator Meaning == Is equal to != Is not equal to < Is less than Is greater than >= Is greater or equal The relational operators have lower precedence than all arithmetic operators: a < b + c is evaluated as a < (b + c) ATTENTION ! the “is equal to” operator == and the “assignment” operator = 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 40 Relational operators An expression such as a < b containing a relational operator is called a relational expression. The value of a relational expression is one, if the specified relation is true and zero if the relation is false. E.g.: 10 < 20 is TRUE 20 < 10 is FALSE A simple relational expression contains only one relational operator and takes the following form. ae1 relational operator ae2 ae1 & ae2 are arithmetic expressions, which may be simple constants, variables or combinations of them. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 41 Relational operators The arithmetic expressions will be evaluated first & then the results will be compared. That is, arithmetic operators have a higher priority over relational operators. > >= < (i+5) false 0 k!=3 false 0 j==2 true 1 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 42 Logical operators Truth Table Operator Symbol Example AND && expression1 && expression2 OR || expression1 || expression2 NOT ! !expression1 The result of logical operators is always either 0 (FALSE) or 1 (TRUE) 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 43 Logical operators Expressions Evaluates As (5 == 5)&&(6 != 2) True (1) because both operands are true (5 > 1) || (6 < 1) True (1) because one operand is true (2 == 1)&&(5 ==5) False (0) because one operand is false ! (5 == 4) True (1) because the operand is false !(FALSE) = TRUE !(TRUE) = FALSE 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 44 Increment and Decrement operators (++ and -- ) The operator ++ adds 1 to the operand. The operator -- subtracts 1 from the operand. Both are unary operators. Ex: ++i or i++ is equivalent to i=i+1 They behave differently when they are used in expressions on the R.H.S of an assignment statement. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 45 Increment and Decrement operators Ex: m=5; y=++m; Prefix Mode In this case, the value of y and m would be 6. m=5; y=m++; Postfix Mode Here y continues to be 5. Only m changes to 6. Prefix operator ++ appears before the variable. Postfix operator ++ appears after the variable. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 46 Increment and Decrement operators Don’ts: Attempting to use the increment or decrement operator on an expression other than a modifiable variable name or reference. Example: ++(5) is a syntax error ++(x + 1) is a syntax error 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 47 Bitwise Operators ▪ Bitwise Logical Operators ▪ Bitwise Shift Operators ▪ Ones Complement operator 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 48 Bitwise Logical operators ▪&(AND),|(OR),^(EXOR) op op & | ^ 1 2 ▪ These are binary operators and require 1 1 1 1 0 two integer operands. 1 0 0 1 1 ▪ These work on their operands bit by bit starting from LSB (rightmost bit). 0 1 0 1 1 0 0 0 0 0 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 49 Example Suppose x = 10, y = 15 z = x & y sets z=10 like this 0000000000001010 x 0000000000001111 y 0000000000001010 z = x & y Same way |,^ according to the table are computed. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 50 Bitwise Shift operators ▪ ▪ These are used to move bit patterns either to the left or right. ▪ They are used in the following form ▪opn here op is the operand to be shifted and n is number of positions to shift. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 51 Bitwise Shift operator: ▪ >> causes all the bits in operand op to be shifted to the right by n positions. ▪The rightmost n bits will be lost and the left most vacated bits are filled with 0’s if number is unsigned integer 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 53 Examples ▪Suppose X is an unsigned integer whose bit pattern is 0000 0000 0000 1011 ✓x1 Add ZEROS 0000 0000 0000 0101 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 54 Examples ▪Suppose X is an unsigned integer whose bit pattern is 0000 0000 0000 1011 whose equivalent value in decimal number system is 11. ✓x2 Add Z EROS 0000 0000 0000 0010 =2 Note: ✓x=y1; same as x=y/2 (Division) 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 55 Bitwise Shift operators ▪Op and n can be constants or variables. ▪There are 2 restrictions on the value of n ✓n cannot be –ve ✓n should not be greater than number of bits used to represent Op.(E.g.: suppose op is int and size is 2 bytes then n cannot be greater than 16). 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 56 Bitwise complement operator ▪The complement operator(~) is an unary operator and inverts all the bits represented by its operand. ▪Suppose x=1001100010001111 ~x=0110011101110000 (complement) ▪Also called as 1’s complement operator. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 57 Type Conversions in Expressions C permits mixing of constants and variables of different types in an expression C automatically converts any intermediate values to the proper type so that the expression can be evaluated without losing any significance. This automatic conversion is known as implicit type conversion The table in the next slide gives the implicit type conversions 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 58 Type Conversions in Expressions The following are the sequence of rules that are applied while evaluating expressions Lower Type Operands Higher Type Operands Short or Char int One operand is Long double, the other will be Result is also long double converted to long double One operand is double, the other will be Result is also double converted to double One operand is float, the other will be converted Result is also float to float One operand is unsigned Long int, the other will Result is also unsigned long int be converted to unsigned long int 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 59 Type Conversions in Expressions Lower Type Operands Higher Type Operands One operand is Long int, and the other is a) Result will be long int unsigned int then a) If unsigned int can be converted to long int the unsigned int operand will be converted b) Else both operands will be converted to b) Result will be unsigned long unsigned long int int One operand is Long int, the other will be Result is also long int converted to long int 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 60 Type Conversions in Expressions The final result of an expression is converted to the type of the variable on the left of the assignment sign before assigning the value to it However the following changes are introduced during the final assignment Float to int causes truncation of the fractional part Double to float caused rounding of digits Long int to int causes dropping of the excess higher order bits 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 61 Type Conversions in Expressions Explicit type conversion or type casting There are instances when we want to force a type conversion in a way that is different from the automatic conversion E.g. ratio=57/67 Since 57 and 67 are integers in the program , the decimal part of the result of the division would be lost and ratio would represent a wrong figure This problem can be solved by converting locally as one of the variables to the floating point as shown below: ratio= (float) 57/67 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 62 Type Conversions in Expressions The operator (float) consider 57 for computation to floating point then using the rule of automatic conversion The division is performed in floating point mode, thus retaining the fractional part of result The process of such a local conversion is known as explicit conversion or casting a value 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 63 The Type Cast Operator The general form of a type casting is (type-name) expression int a =150; float f; f = (float)a / 100; // type cast operator The type cast operator has the effect of converting the value of the variable ‘a’ to type float for the purpose of evaluation of the expression. This operator does NOT permanently affect the value of the variable ‘a’; The type cast operator has a higher precedence than all the arithmetic operators except the unary minus and unary plus. Examples of the use of type cast operator: (int) 29.55 + (int) 21.99 results in 29 + 21 (float)6 /(float)4 results in 1.5 (float)6 / 4 results in 1.5 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 64 Type Conversions in Expressions Example Action 7.5 is converted to integer by x=(int) 7.5 truncation Evaluated as 21/4 and the result would a=(int) 21.3/(int)4.5 be 5 b=(double)sum/n Division is done in floating point mode y=(int)(a+b) The result of a+b is converted to integer a is converted to integer and then z=(int)a+b added to b p= cos((double)x) Converts x to double before using it 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 65 Integer and Floating-Point Conversions Assign an integer value to a floating variable: does not cause any change in the value of the number; the value is simply converted by the system and stored in the floating format. Assign a floating-point value to an integer variable: the decimal portion of the number gets truncated. Integer arithmetic (division): int divided by int => result is integer division int divided by float or float divided by int => result is real division (floating-point) 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 66 Integer and Floating-Point Conversions #include int main () { float f1 = 123.125, f2; int i1, i2 = -150; i1 = f1; // float to integer conversion printf (“float assigned to int produces”); printf(“%d\n”,i1); 123 f2 = i2; // integer to float conversion printf(“integer assigned to float produces”); print(“%.2f\n”,f2); -150.00 i1 = i2 / 100; // integer divided by integer printf(“integer divided by integer produces”); printf(“%d\n”,i1); -1 f1 = i2 / 100.0; // integer divided by a float printf(“integer divided by float produces”); printf(“%.2f\n”,f1); -1.50 return 0; } 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 67 The assignment operators The C language permits you to join the arithmetic operators with the assignment operator using the following general format: op=, where op is an arithmetic operator, including +, –, *, /, and %. Example: count += 10; Equivalent to: count=count+10; Example: precedence of op=: a /= b + c Equivalent to: a = a / (b + c) 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 68 The conditional operator (? :) condition ? expression1 : expression2 condition is an expression that is evaluated first. If the result of the evaluation of condition is TRUE (nonzero), then expression1 is evaluated and the result of the evaluation becomes the result of the operation. If condition is FALSE (zero), then expression2 is evaluated and its result becomes the result of the operation. maxValue = ( a > b ) ? a : b; Equivalent to: if ( a > b ) maxValue = a; else maxValue = b; 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 69 Comma (,) operator ▪ The coma operator is used basically to separate expressions. i = 0, j = 10; // in initialization [ l → r ] ▪ The meaning of the comma operator in the general expression e1, e2 is “evaluate the sub expression e1, then evaluate e2; the value of the expression is the value of e2 ”. 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 70 Operator precedence & Associativity Operator Category Operators Associativity Unary operators + – ++ –– ~! R→L Arithmetic operators */% L→R Arithmetic operators +– L→R Bitwise shift left > L→R Bitwise shift right Relational operators < >= L→R Equality operators == != L→R Bitwise AND, XOR, OR &^| L→R Logical and && L→R Logical or || L→R Assignment operator = += – = R→L *= /= %= 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 71 Summary of Operators – detailed precedence table 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 72 Example: Show all the steps how the following expression is evaluated. Consider the initial values of i=8, j=5. 2*((i/5)+(4*(j-3))%(i+j-2)) 73 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 Example solution: 2*((i/5)+(4*(j-3))%(i+j-2)) i→8, j→5 2*((8/5)+(4*(5-3))%(8+5-2)) 2*(1+(4*2)%11) 2*(1+8%11) 2*(1+8) 2*9 18 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 74 Operator precedence & Associativity Ex: (x==10 + 15 && y < 10) Assume x=20 and y=5 Evaluation: + (x==25 && y< 10) < (x==25 && true) == (False && true) && (False) 27/02/2023 CSE 1071 Problem Solving using Computers (PSUC) - 2022 75 Tutorial Problems Suppose that a=2, b=3 and c=6, What is the answer for the following: (a==5) (a * b > =c) (b+4 > a *c) ((b=2)==a) Evaluate the following: 1. ( (5 == 5) && (3 > 6) ) 2. ( (5 == 5) || (3 > 6) ) 3. 7==5 ? 4 : 3 4. 7==5+2 ? 4 : 3 5. 5>3 ? a : b 6. K = (num > 5 ? (num =c) → 1 iii. (b+4 > a *c) → 0 iv. ((b=2)==a) → 1 2. Evaluate the following: i. ( (5 == 5) && (3 > 6) ) → 0 ii. ( (5 == 5) || (3 > 6) ) → 1 iii. 7==5 ? 4 : 3 → 3 iv. 7==5+2 ? 4 : 3 → 4 v. 5>3 ? a : b → 2 vi. K = (num > 5 ? (num