# Structures, Operators

Size: px
Start display at page:

Transcription

1 Structures Typedef Operators Type conversion Structures, Operators Basics of Programming 1 G. Horváth, A.B. Nagy, Z. Zsóka, P. Fiala, A. Vitéz 10 October, 2018 c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

2 Structures Typedef Operators Type conversion Content 1 Structures Motivation Definition Assignment of value 2 Typename-assignment 3 Operators Definitions Operators Precedence 4 Type conversion c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

3 Structures Typedef Operators Type conversion Motivation Definition Assignment of value Chapter 1 Structures c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

4 Structures Typedef Operators Type conversion Motivation Definition Assignment of value User defined types Built-in types of C language sometimes are not appropriate for storing more complex data. Types introduced by the user (programmer) Enumeration Structures today s topic Bitfields Union c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

5 Structures Typedef Operators Type conversion Motivation Definition Assignment of value Data elements that are coupled Storing date 1 int year ; 2 int month ; 3 int day ; Storing student data 1 char neptun [6]; 2 unsigned int smalltests ; 3 unsigned int missings ; Data of a chess game (white player, black player, when, where, moves, result) Data of one move (chess piece, from where, where to) Data of one square of the board (column, row) c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

6 Structures Typedef Operators Type conversion Motivation Definition Assignment of value Storing data elements that are coupled Let s write a function to calculate scalar product (dot product) of 2D vectors! 1 double v_ scalarproduct ( double x1, double y1, 2 double x2, double y2) 3 { } How shall we pass coupled parameters? The number of parameters may become too large Let s write a function to calculate difference of two vectors! 1?????? v_ difference ( double x1, double y1, 2 double x2, double y2) 3 { } How does the function returns with coupled data? c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

7 Structures Typedef Operators Type conversion Motivation Definition Assignment of value Encapsulation Structure compound data type consisting of data elements (maybe of different types) that are coupled (belong together) student neptun data elements are called fields or members can be copied with one assignment small test results can be parameter of function missings can be return value of function This is the most effective type of C language c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

8 Structures Typedef Operators Type conversion Motivation Definition Assignment of value Structures in C 1 struct vector { /* definition of structure type */ 2 double x; double y; 3 }; 4 5 struct vector v_ difference ( struct vector a, 6 struct vector b) { 7 struct vector c; 8 c.x = a.x - b.x; 9 c.y = a.y - b.y; 10 return c; 11 } int main ( void ) { 14 struct vector v1, v2, v3; 15 v1.x = 1.0; v1.y = 2.0; 16 v2 = v1; 17 v3 = v_difference (v1, v2 ); 18 return 0; 19 } c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

9 Structures Typedef Operators Type conversion Motivation Definition Assignment of value Syntax of structures Declaration of structures struct [<structure label>] opt {<structure member declarations>} [<variable identifiers>] opt ; 1 /* structure type for storing date */ 2 struct date { 3 int year ; 4 int month ; 5 int day ; 6 } d1, d2; /* two instances ( variables ) */ [<structure label>] opt can be omitted if we don t refer to it later [<variable identifiers>] opt declaration of variables of structure type c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

10 Structures Typedef Operators Type conversion Motivation Definition Assignment of value Syntax of structures Using structure type Declaration of variables struct <structure label> <variable identifiers>; Accessing structure members <structure identifier>.<member identifier> Structure members can be used in the same way as variables 1 struct date d1, d2; 2 d1. year = 2012; 3 d2. year = d1. year ; 4 scanf ("%d", &d2. month ); Initialization of structures is possible in the same way as for arrays: 1 struct date d3 = {2011, 5, 2}; c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

11 Structures Typedef Operators Type conversion Motivation Definition Assignment of value Assignment of value to structures Value of a structure variable (value of all members) can be updated with one single assignment. 1 struct date d3 = {2013, 10, 22}, d4; 2 d4 = d3; c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

12 Structures Typedef Operators Type conversion Chapter 2 Typename-assignment c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

13 Structures Typedef Operators Type conversion Definition We can rename types in C 1 typedef int rabbit ; 2 3 rabbit main () { 4 rabbit i = 3; 5 return i; 6 } Typename-assignment typedef assigns a nickname to the type. It does not create a new type, the type of all variables created with the nicname will be the original type. c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

14 Structures Typedef Operators Type conversion What is the use of it? More meaningful source code, more easy to read 1 typedef float voltage ; /* we need a smaller */ 2 3 voltage V1 = 1.0; 4 double c = 2.0; 5 voltage V2 = c * V1; Easy to maintain We can get rid of typenames of more than one word 1 typedef struct vector vector ; c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

15 Structures Typedef Operators Type conversion Vector example with typedef 1 typedef struct { /* we can omit the label */ 2 double x; double y; 3 } vector ; vector v_ difference ( vector a, vector b) { 7 vector c; 8 c.x = a.x - b.x; 9 c.y = a.y - b.y; 10 return c; 11 } int main ( void ) { 14 vector v1, v2, v3; 15 v1.x = 1.0; v1.y = 2.0; 16 v2 = v1; 17 v3 = v_difference (v1, v2 ); 18 return 0; 19 } c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

16 Structures Typedef Operators Type conversion A more complex structure 1 typedef struct { 2 double x; 3 double y; 4 } vector ; 5 6 typedef struct { 7 vector centrepoint ; 8 double radius ; 9 } circle ; y k v x 1 circle k = {{3.0, 2.0}, 1.5}; 2 vector v = k. centrepoint ; 3 k. centrepoint. y = -2.0; c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

17 Structures Typedef Operators Type conversion Definitions Operators Prec. Chapter 3 Operators c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

18 Structures Typedef Operators Type conversion Definitions Operators Prec. Operations Denoted with operators (special symbols) They work with operands They result a data with type Polymorphic: have different behaviour on different operand types / / c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

19 Structures Typedef Operators Type conversion Definitions Operators Prec. Expressions and operators Expressions eg < -a - 2 Built up of constants, variable references and operations a (3) < FALSE by evaluating them the result is one data element with type. c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

20 Structures Typedef Operators Type conversion Definitions Operators Prec. Types of operators Considering the number of operands unary with one operand -a binary with two operands 1+2 Considering the interpretation of the operand arithmetic relational logical bitwise misc c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

21 Structures Typedef Operators Type conversion Definitions Operators Prec. Arithmetic operators operation unary plus unary minus addition subtraction multiplication syntax +<expression> -<expression> <expression> + <expression> <expression> - <expression> <expression> * <expression> division <expression> / <expression> type of the result depends on type of the operands, if both are integer, then it is an integer division modulus <expression> % <expression> c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

22 Structures Typedef Operators Type conversion Definitions Operators Prec. True or false Boolean in C (repeated) Every boolean like result is int type, and its value is 0, if false 1, if true 1 printf ("%d\t%d", 2<3, 2==3); 1 0 A value interpreted as boolean is false, if its value is represented with 0 bits only true, if its value is represented with not only 0 bits 1 while (1) { /* infinite loop */ } 2 while ( -3.0) { /* infinite loop */ } 3 while (0) { /* this here is never executed */ } c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

23 Structures Typedef Operators Type conversion Definitions Operators Prec. Relational operators operation relational operators checking equality checking non-equality syntax <left value> < <expression> <left value> <= <expression> <left value> > <expression> <left value> >= <expression> <left value> == <expression> <left value>!= <expression> They give logical value (int, 0 or 1) as result. c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

24 Structures Typedef Operators Type conversion Definitions Operators Prec. Logical operators operation logical NOT (complement) syntax!<expression> 1 int a = 0 x5c ; /* , true */ 2 int b =! a; /* , false */ 3 int c =! b; /* , true */ Conlusion:!!a a, only if we look at their boolean value. 1 int finish = 0; 2 while (! finish ) { 3 int b; 4 scanf ("%d", &b); 5 if (b == 0) 6 finish = 1; 7 } c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

25 Structures Typedef Operators Type conversion Definitions Operators Prec. Logical operators operation logical AND logical OR syntax <expression> && <expression> <expression> <expression> Logical short-cut: Operands are evaluated from left to right. But only until the result is not obvious. We make use of this feature very often. 1 int a [5] = {1, 2, 3, 4, 5}; 2 int i = 0; 3 while ( i < 5 && a[ i] < 20) 4 i = i +1; /* no over - indexing */ c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

26 Structures Typedef Operators Type conversion Definitions Operators Prec. Some more operators We have used them so far, but never have called them operators before. operation function call array reference structure-reference syntax <function>(<actual arguments>) <array>[<index>] <structure>.<member> 1 c = sin (3.2); /* () */ 2 a [28] = 3; /* [] */ 3 v.x = 2.0; /*. */ c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

27 Structures Typedef Operators Type conversion Definitions Operators Prec. Operators with side effects Some operators have side effects main effect: calculating the result of evaluation side effect: the value of the operand is modified Simple assignment operator = a 2 In C language, assignment is an expression! its side effect is the assignment (a is modified) its main effect is the new value of a = 2 Because of its main effect, this is also meaningful: 1 int a; 2 int b = a = 2; b is initialised with the value of expression a=2 (this also has a side effect), and the side effect of it is that a is also modified. c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

28 Structures Typedef Operators Type conversion Definitions Operators Prec. Left-value Assignement operator modifies value of the left side operand. There can be only modifiable entity on the left side. Left-value (lvalue) An expression that can appear on the left side of the assignment. As far as we know now, left-value can be a variable reference a = 2 element of an array array[3] = 2 member of a structure v.x = 2... Examples for non-left-value expressions constant 3 = 2 error arithmetic expression a+4 = 2 error logical expression a>3 = 2 error function value sin(2.0) = 2 error c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

29 Structures Typedef Operators Type conversion Definitions Operators Prec. Expression or statement? An operation that has side effect can be a statement in a program. Expression statement <Expression>; Expression is evaluated, but the result is thrown away (but all side effects are completed). 1 a = 2 /* expression, its value is 2, it has side effect */ 1 a = 2; /* statement, it has no value */ 2 /* generates a side effect */ As the main effect is surpressed, there is no sense of making expression statements if the expression has no side effect ; /* valid statement, it generates nothing */ c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

30 Structures Typedef Operators Type conversion Definitions Operators Prec. Assignement operators expression compound assignment syntax <left-value> += <expression> <left-value> -= <expression> <left-value> *= <expression> <left-value> /= <expression> <left-value> %= <expression> Almost: <left-value>=<left-value><op><expression> 1 a += 2; /* a = a + 2; */ 2 t[ rand ()] += 2; /* NOT t[ rand ()] = t[ rand ()] + 2; */ Left-value is evaluated only once. c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

31 Structures Typedef Operators Type conversion Definitions Operators Prec. Other operators with side effects expression syntax post increment <left-value> ++ post decrement <left-value> -- it is increased/decreased by one after evaluation pre increment pre decrement ++<left-value> --<left-value> it is increased/decreased by one before evaluation 1 b = a ++; /* b = a; a += 1; */ 2 b = ++a; /* a += 1; b = a; */ 1 for (i = 0; i < 5; ++i) { /* five times */ } c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

32 Structures Typedef Operators Type conversion Definitions Operators Prec. Other operators operation modifying type (casting) size for storage (in bytes) the expression is not evaluated syntax (<type>)<expression> sizeof <expression> 1 int a1 =2, a2 =3, storagesize ; 2 double b; 3 b = a1/( double )a2; 4 storagesize = sizeof 3/ a1; 5 storagesize = sizeof ( double ) a1; 6 storagesize = sizeof ( double ); c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

33 Structures Typedef Operators Type conversion Definitions Operators Prec. Other operators operation comma syntax <expression>, <expression> Operands are evaluated from left to right. Value of first expression is thrown away. Value and type of the entire expression is the value and type of the second expression. 1 int step, j; 2 /* two - digit numbers with increasing step size */ 3 for ( step =1,j =10 ; j <100; j+= step, step ++) 4 printf ("%d\n", j); c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

34 Structures Typedef Operators Type conversion Definitions Operators Prec. Other operators operation syntax (ternary) conditional expr. <cond.>? <expr.1> : <expr.2> if <cond.> is true, then <expr.1>, otherwise <expr.2>. only one of <expr.1> and <expr.2> is evaluated. It does not subtitute the if statement. 1 a = a < 0? -a : a; /* determining absolute value */ c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

35 Structures Typedef Operators Type conversion Definitions Operators Prec. Features of operations performed on data Precedence If there are different operations, which is evaluated first? 1 int a = * 4; /* 2 + (3 * 4) */ Associativity If there are equivalent operations, which is evaluated first? (Does it bind from left to right or from right to left?) 1 int b = ; /* (11-8) - 2 */ Instead of memorizing the rules, use parentheses! c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

36 Structures Typedef Operators Type conversion Definitions Operators Prec. List of operators in C Operateors are listed top to bottom, in descending precedence (operators in the same row have the same precedence) 1 () []. -> /* highest */ 2! ~ * & (<type >) sizeof 3 * / % << >> 6 < <= > >= 7 ==!= /* forbidden to learn! */ 8 & /* use parentheses! */ 9 ^ && 12 13?: 14 = += -= *= /= %= &= ^= = <<= >>= 15, /* lowest */ c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

37 Structures Typedef Operators Type conversion Definitions Operators Prec. Operators of C language Summarized A lot of effective operators Some operators have side effects that will occur during evaluation We always try to separate main and side effects Instead of this: 1 t [++ i] = func (c -=2); we rather write this: 1 c -= 2; /* means the same */ 2 ++ i; /* not less effective */ 3 t[ i] = func ( c); /* and I will understand it tomorrow too */ c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

38 Structures Typedef Operators Type conversion Chapter 4 Type conversion c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

39 Structures Typedef Operators Type conversion What is that? In some cases the C-program needs to convert the type of our expressions. 1 long func ( float f) { 2 return f; 3 } 4 5 int main ( void ) { 6 int i = 2; 7 short s = func ( i); 8 return 0; 9 } In this example: int float long short int float rounding, if the number is large float long may cause overflow, rounding to integer long short may cause overflow c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

40 Structures Typedef Operators Type conversion Converting types Basic principle preserve the value, if possible In case of overflow the result is theoretically undefined Conversion with one operand (we have seen that) at assignment of value at calling a function (when actualising the formal parameters) Conversion with two operands (eg. 2/3.4 ) evaluating an operation c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

41 Structures Typedef Operators Type conversion Conversion with two operands The conversion of the two operands to the same, common type happens according to these rules operand one the other operand common, new type long double anything long double double anything double float anything float unsigned long anything unsigned long long anything (int, unsigned) long unsigned anything (int) unsigned int anything (int) int c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

42 Structures Typedef Operators Type conversion Type conversions Example for conversion 1 int a = 3; 2 double b = 2.4; 3 a = a* b; c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

43 Structures Typedef Operators Type conversion Thank you for your attention. c based on slides by Zsóka, Fiala, Vitéz Structures, Operators 10 October, / 43

### Outline. Performing Computations. Outline (cont) Expressions in C. Some Expression Formats. Types for Operands

Performing Computations C provides operators that can be applied to calculate expressions: tax is 8.5% of the total sale expression: tax = 0.085 * totalsale Need to specify what operations are legal, how

### Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators. JAVA Standard Edition

Basic operators, Arithmetic, Relational, Bitwise, Logical, Assignment, Conditional operators JAVA Standard Edition Java - Basic Operators Java provides a rich set of operators to manipulate variables.

### Character Set. The character set of C represents alphabet, digit or any symbol used to represent information. Digits 0, 1, 2, 3, 9

Character Set The character set of C represents alphabet, digit or any symbol used to represent information. Types Uppercase Alphabets Lowercase Alphabets Character Set A, B, C, Y, Z a, b, c, y, z Digits

### JAVA OPERATORS GENERAL

JAVA OPERATORS GENERAL Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

### Operators and Expressions:

Operators and Expressions: Operators and expression using numeric and relational operators, mixed operands, type conversion, logical operators, bit operations, assignment operator, operator precedence

### Fundamentals of Programming

Fundamentals of Programming Lecture 3 - Constants, Variables, Data Types, And Operations Lecturer : Ebrahim Jahandar Borrowed from lecturer notes by Omid Jafarinezhad Outline C Program Data types Variables

### Introduction. Following are the types of operators: Unary requires a single operand Binary requires two operands Ternary requires three operands

Introduction Operators are the symbols which operates on value or a variable. It tells the compiler to perform certain mathematical or logical manipulations. Can be of following categories: Unary requires

### Operators & Expressions

Operators & Expressions Operator An operator is a symbol used to indicate a specific operation on variables in a program. Example : symbol + is an add operator that adds two data items called operands.

### Expressions. Arithmetic expressions. Logical expressions. Assignment expression. n Variables and constants linked with operators

Expressions 1 Expressions n Variables and constants linked with operators Arithmetic expressions n Uses arithmetic operators n Can evaluate to any value Logical expressions n Uses relational and logical

### Operators. Java operators are classified into three categories:

Operators Operators are symbols that perform arithmetic and logical operations on operands and provide a meaningful result. Operands are data values (variables or constants) which are involved in operations.

### Review of the C Programming Language for Principles of Operating Systems

Review of the C Programming Language for Principles of Operating Systems Prof. James L. Frankel Harvard University Version of 7:26 PM 4-Sep-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights

### Fundamental of Programming (C)

Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi Lecture 3 Constants, Variables, Data Types, And Operations Department of Computer Engineering

### Informatics Ingeniería en Electrónica y Automática Industrial

Informatics Ingeniería en Electrónica y Automática Industrial Operators and expressions in C Operators and expressions in C Numerical expressions and operators Arithmetical operators Relational and logical

### COMP Primitive and Class Types. Yi Hong May 14, 2015

COMP 110-001 Primitive and Class Types Yi Hong May 14, 2015 Review What are the two major parts of an object? What is the relationship between class and object? Design a simple class for Student How to

### A complex expression to evaluate we need to reduce it to a series of simple expressions. E.g * 7 =>2+ 35 => 37. E.g.

1.3a Expressions Expressions An Expression is a sequence of operands and operators that reduces to a single value. An operator is a syntactical token that requires an action be taken An operand is an object

### Lecture 3. More About C

Copyright 1996 David R. Hanson Computer Science 126, Fall 1996 3-1 Lecture 3. More About C Programming languages have their lingo Programming language Types are categories of values int, float, char Constants

### GO - OPERATORS. This tutorial will explain the arithmetic, relational, logical, bitwise, assignment and other operators one by one.

http://www.tutorialspoint.com/go/go_operators.htm GO - OPERATORS Copyright tutorialspoint.com An operator is a symbol that tells the compiler to perform specific mathematical or logical manipulations.

### The Arithmetic Operators. Unary Operators. Relational Operators. Examples of use of ++ and

The Arithmetic Operators The arithmetic operators refer to the standard mathematical operators: addition, subtraction, multiplication, division and modulus. Op. Use Description + x + y adds x and y x y

### The Arithmetic Operators

The Arithmetic Operators The arithmetic operators refer to the standard mathematical operators: addition, subtraction, multiplication, division and modulus. Examples: Op. Use Description + x + y adds x

### LESSON 1. A C program is constructed as a sequence of characters. Among the characters that can be used in a program are:

LESSON 1 FUNDAMENTALS OF C The purpose of this lesson is to explain the fundamental elements of the C programming language. C like other languages has all alphabet and rules for putting together words

### A flow chart is a graphical or symbolic representation of a process.

Q1. Define Algorithm with example? Answer:- A sequential solution of any program that written in human language, called algorithm. Algorithm is first step of the solution process, after the analysis of

### 2/5/2018. Expressions are Used to Perform Calculations. ECE 220: Computer Systems & Programming. Our Class Focuses on Four Types of Operator in C

University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 220: Computer Systems & Programming Expressions and Operators in C (Partially a Review) Expressions are Used

### Information Science 1

Information Science 1 Simple Calcula,ons Week 09 College of Information Science and Engineering Ritsumeikan University Topics covered l Terms and concepts from Week 8 l Simple calculations Documenting

### Slide Set 2. for ENCM 335 in Fall Steve Norman, PhD, PEng

Slide Set 2 for ENCM 335 in Fall 2018 Steve Norman, PhD, PEng Electrical & Computer Engineering Schulich School of Engineering University of Calgary September 2018 ENCM 335 Fall 2018 Slide Set 2 slide

### Expressions and Precedence. Last updated 12/10/18

Expressions and Precedence Last updated 12/10/18 Expression: Sequence of Operators and Operands that reduce to a single value Simple and Complex Expressions Subject to Precedence and Associativity Six

### CprE 288 Introduction to Embedded Systems Exam 1 Review. 1

CprE 288 Introduction to Embedded Systems Exam 1 Review http://class.ece.iastate.edu/cpre288 1 Overview of Today s Lecture Announcements Exam 1 Review http://class.ece.iastate.edu/cpre288 2 Announcements

### Review of the C Programming Language

Review of the C Programming Language Prof. James L. Frankel Harvard University Version of 11:55 AM 22-Apr-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights reserved. Reference Manual for the

### Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups:

Basic Operators Java provides a rich set of operators to manipulate variables. We can divide all the Java operators into the following groups: Arithmetic Operators Relational Operators Bitwise Operators

### Operators in C. Staff Incharge: S.Sasirekha

Operators in C Staff Incharge: S.Sasirekha Operators An operator is a symbol which helps the user to command the computer to do a certain mathematical or logical manipulations. Operators are used in C

### C-LANGUAGE CURRICULAM

C-LANGUAGE CURRICULAM Duration: 2 Months. 1. Introducing C 1.1 History of C Origin Standardization C-Based Languages 1.2 Strengths and Weaknesses Of C Strengths Weaknesses Effective Use of C 2. C Fundamentals

### Chapter 3: Operators, Expressions and Type Conversion

101 Chapter 3 Operators, Expressions and Type Conversion Chapter 3: Operators, Expressions and Type Conversion Objectives To use basic arithmetic operators. To use increment and decrement operators. To

### DEPARTMENT OF MATHS, MJ COLLEGE

T. Y. B.Sc. Mathematics MTH- 356 (A) : Programming in C Unit 1 : Basic Concepts Syllabus : Introduction, Character set, C token, Keywords, Constants, Variables, Data types, Symbolic constants, Over flow,

### Computers Programming Course 6. Iulian Năstac

Computers Programming Course 6 Iulian Năstac Recap from previous course Data types four basic arithmetic type specifiers: char int float double void optional specifiers: signed, unsigned short long 2 Recap

### Data Types and Variables in C language

Data Types and Variables in C language Disclaimer The slides are prepared from various sources. The purpose of the slides is for academic use only Operators in C C supports a rich set of operators. Operators

### Recursion Enums. Basics of Programming 1. Department of Networked Systems and Services G. Horváth, A.B. Nagy, Z. Zsóka, P. Fiala, A.

Recursion The enumerated type Recursion Enums Basics of Programming 1 Department of Networked Systems and Services G. Horváth, A.B. Nagy, Z. Zsóka, P. Fiala, A. Vitéz 31 October, 2018 based on slides by

### Operators and Expressions in C & C++ Mahesh Jangid Assistant Professor Manipal University, Jaipur

Operators and Expressions in C & C++ Mahesh Jangid Assistant Professor Manipal University, Jaipur Operators and Expressions 8/24/2012 Dept of CS&E 2 Arithmetic operators Relational operators Logical operators

### Lecture 02 C FUNDAMENTALS

Lecture 02 C FUNDAMENTALS 1 Keywords C Fundamentals auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void

### 9/2/2016. Expressions are Used to Perform Calculations. ECE 120: Introduction to Computing. Five Arithmetic Operators on Numeric Types

University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing Expressions are Used to Perform Calculations Let s talk in more detail starting

### 1/31/2017. Expressions are Used to Perform Calculations. ECE 120: Introduction to Computing. Five Arithmetic Operators on Numeric Types

University of Illinois at Urbana-Champaign Dept. of Electrical and Computer Engineering ECE 120: Introduction to Computing Expressions are Used to Perform Calculations Let s talk in more detail starting

### Programming for Engineers: Operators, Expressions, and Statem

Programming for Engineers: Operators,, and 28 January 2011 31 January 2011 Programming for Engineers: Operators,, and Statem The While Loop A test expression is at top of loop The program repeats loop

### Will introduce various operators supported by C language Identify supported operations Present some of terms characterizing operators

Operators Overview Will introduce various operators supported by C language Identify supported operations Present some of terms characterizing operators Operands and Operators Mathematical or logical relationships

### Writing Program in C Expressions and Control Structures (Selection Statements and Loops)

Writing Program in C Expressions and Control Structures (Selection Statements and Loops) Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague

### Part I Part 1 Expressions

Writing Program in C Expressions and Control Structures (Selection Statements and Loops) Jan Faigl Department of Computer Science Faculty of Electrical Engineering Czech Technical University in Prague

### 3. EXPRESSIONS. It is a sequence of operands and operators that reduce to a single value.

3. EXPRESSIONS It is a sequence of operands and operators that reduce to a single value. Operator : It is a symbolic token that represents an action to be taken. Ex: * is an multiplication operator. Operand:

### Chapter 4: Basic C Operators

Chapter 4: Basic C Operators In this chapter, you will learn about: Arithmetic operators Unary operators Binary operators Assignment operators Equalities and relational operators Logical operators Conditional

### CS113: Lecture 3. Topics: Variables. Data types. Arithmetic and Bitwise Operators. Order of Evaluation

CS113: Lecture 3 Topics: Variables Data types Arithmetic and Bitwise Operators Order of Evaluation 1 Variables Names of variables: Composed of letters, digits, and the underscore ( ) character. (NO spaces;

### LECTURE 3 C++ Basics Part 2

LECTURE 3 C++ Basics Part 2 OVERVIEW Operators Type Conversions OPERATORS Operators are special built-in symbols that have functionality, and work on operands. Operators are actually functions that use

About Codefrux While the current trends around the world are based on the internet, mobile and its applications, we try to make the most out of it. As for us, we are a well established IT professionals

### Programming for Engineers Iteration

Programming for Engineers Iteration ICEN 200 Spring 2018 Prof. Dola Saha 1 Data type conversions Grade average example,-./0 class average = 23450-67 893/0298 Grade and number of students can be integers

### Operators And Expressions

Operators And Expressions Operators Arithmetic Operators Relational and Logical Operators Special Operators Arithmetic Operators Operator Action Subtraction, also unary minus + Addition * Multiplication

### Operators. Lecture 3 COP 3014 Spring January 16, 2018

Operators Lecture 3 COP 3014 Spring 2018 January 16, 2018 Operators Special built-in symbols that have functionality, and work on operands operand an input to an operator Arity - how many operands an operator

### High Performance Computing in C and C++

High Performance Computing in C and C++ Rita Borgo Computer Science Department, Swansea University Summary Introduction to C Writing a simple C program Compiling a simple C program Running a simple C program

### These are reserved words of the C language. For example int, float, if, else, for, while etc.

Tokens in C Keywords These are reserved words of the C language. For example int, float, if, else, for, while etc. Identifiers An Identifier is a sequence of letters and digits, but must start with a letter.

### Basic C Programming (2) Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island

Basic C Programming (2) Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island Data Types Basic Types Enumerated types The type void Derived types

### C Language Part 1 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee

C Language Part 1 (Minor modifications by the instructor) References C for Python Programmers, by Carl Burch, 2011. http://www.toves.org/books/cpy/ The C Programming Language. 2nd ed., Kernighan, Brian,

### Department of Computer Science

Department of Computer Science Definition An operator is a symbol (+,-,*,/) that directs the computer to perform certain mathematical or logical manipulations and is usually used to manipulate data and

### CSCE 110 PROGRAMMING FUNDAMENTALS

CSCE 110 PROGRAMMING FUNDAMENTALS WITH C++ Prof. Amr Goneid AUC Part 2. Overview of C++ Prof. Amr Goneid, AUC 1 Overview of C++ Prof. Amr Goneid, AUC 2 Overview of C++ Historical C++ Basics Some Library

### C Programming a Q & A Approach

C Programming a Q & A Approach by H.H. Tan, T.B. D Orazio, S.H. Or & Marian M.Y. Choy Chapter 2 Variables, Arithmetic Expressions and Input/Output 2.1 Variables: Naming, Declaring, Assigning and Printing

### Le L c e t c ur u e e 2 To T p o i p c i s c t o o b e b e co c v o e v r e ed e Variables Operators

Course Name: Advanced Java Lecture 2 Topics to be covered Variables Operators Variables -Introduction A variables can be considered as a name given to the location in memory where values are stored. One

### SECTION II: LANGUAGE BASICS

Chapter 5 SECTION II: LANGUAGE BASICS Operators Chapter 04: Basic Fundamentals demonstrated declaring and initializing variables. This chapter depicts how to do something with them, using operators. Operators

### Computer System and programming in C

1 Basic Data Types Integral Types Integers are stored in various sizes. They can be signed or unsigned. Example Suppose an integer is represented by a byte (8 bits). Leftmost bit is sign bit. If the sign

### Unit 3. Operators. School of Science and Technology INTRODUCTION

INTRODUCTION Operators Unit 3 In the previous units (unit 1 and 2) you have learned about the basics of computer programming, different data types, constants, keywords and basic structure of a C program.

### Data Types. Data Types. Integer Types. Signed Integers

Data Types Data Types Dr. TGI Fernando 1 2 The fundamental building blocks of any programming language. What is a data type? A data type is a set of values and a set of operations define on these values.

### A Fast Review of C Essentials Part I

A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types

### Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14

C introduction Variables Variables 1 / 14 Contents Variables Data types Variable I/O Variables 2 / 14 Usage Declaration: t y p e i d e n t i f i e r ; Assignment: i d e n t i f i e r = v a l u e ; Definition

### Reserved Words and Identifiers

1 Programming in C Reserved Words and Identifiers Reserved word Word that has a specific meaning in C Ex: int, return Identifier Word used to name and refer to a data element or object manipulated by the

### Programming in C++ 5. Integral data types

Programming in C++ 5. Integral data types! Introduction! Type int! Integer multiplication & division! Increment & decrement operators! Associativity & precedence of operators! Some common operators! Long

### Announcements. Lab Friday, 1-2:30 and 3-4:30 in Boot your laptop and start Forte, if you brought your laptop

Announcements Lab Friday, 1-2:30 and 3-4:30 in 26-152 Boot your laptop and start Forte, if you brought your laptop Create an empty file called Lecture4 and create an empty main() method in a class: 1.00

### Operators and Expression. Dr Muhamad Zaini Yunos JKBR, FKMP

Operators and Expression Dr Muhamad Zaini Yunos JKBR, FKMP Arithmetic operators Unary operators Relational operators Logical operators Assignment operators Conditional operators Comma operators Operators

### Fall, 2015 Prof. Jungkeun Park

Data Structures t and Algorithms Stacks Application Infix to Postfix Conversion Fall, 2015 Prof. Jungkeun Park Copyright Notice: This material is modified version of the lecture slides by Prof. Rada Mihalcea

### Operators and Expressions

Operators and Expressions Conversions. Widening and Narrowing Primitive Conversions Widening and Narrowing Reference Conversions Conversions up the type hierarchy are called widening reference conversions

Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All for repetition statement do while repetition statement switch multiple-selection statement break statement continue statement Logical

### Guide for The C Programming Language Chapter 1. Q1. Explain the structure of a C program Answer: Structure of the C program is shown below:

Q1. Explain the structure of a C program Structure of the C program is shown below: Preprocessor Directives Global Declarations Int main (void) Local Declarations Statements Other functions as required

### Computer Organization & Systems Exam I Example Questions

Computer Organization & Systems Exam I Example Questions 1. Pointer Question. Write a function char *circle(char *str) that receives a character pointer (which points to an array that is in standard C

### Module 2 - Part 2 DATA TYPES AND EXPRESSIONS 1/15/19 CSE 1321 MODULE 2 1

Module 2 - Part 2 DATA TYPES AND EXPRESSIONS 1/15/19 CSE 1321 MODULE 2 1 Topics 1. Expressions 2. Operator precedence 3. Shorthand operators 4. Data/Type Conversion 1/15/19 CSE 1321 MODULE 2 2 Expressions

### Type Checking. Prof. James L. Frankel Harvard University

Type Checking Prof. James L. Frankel Harvard University Version of 7:10 PM 27-Feb-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights reserved. C Types C Types Type Category Type Category Type

### Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100

Code: DC-05 Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100 NOTE: There are 11 Questions in all. Question 1 is compulsory and carries 16 marks. Answer to Q. 1. must be written in the space

### Fundamental Data Types. CSE 130: Introduction to Programming in C Stony Brook University

Fundamental Data Types CSE 130: Introduction to Programming in C Stony Brook University Program Organization in C The C System C consists of several parts: The C language The preprocessor The compiler

### Programming. Elementary Concepts

Programming Elementary Concepts Summary } C Language Basic Concepts } Comments, Preprocessor, Main } Key Definitions } Datatypes } Variables } Constants } Operators } Conditional expressions } Type conversions

### Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements

Review: Exam 1 9/20/06 CS150 Introduction to Computer Science 1 1 Your First C++ Program 1 //*********************************************************** 2 // File name: hello.cpp 3 // Author: Shereen Khoja

### CSE 1001 Fundamentals of Software Development 1. Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018

CSE 1001 Fundamentals of Software Development 1 Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018 Identifiers, Variables and Data Types Reserved Words Identifiers in C Variables and Values

### CSC 1214: Object-Oriented Programming

CSC 1214: Object-Oriented Programming J. Kizito Makerere University e-mail: jkizito@cis.mak.ac.ug www: http://serval.ug/~jona materials: http://serval.ug/~jona/materials/csc1214 e-learning environment:

### ANSI C Programming Simple Programs

ANSI C Programming Simple Programs /* This program computes the distance between two points */ #include #include #include main() { /* Declare and initialize variables */ double

### Programming and Data Structures

Programming and Data Structures Teacher: Sudeshna Sarkar sudeshna@cse.iitkgp.ernet.in Department of Computer Science and Engineering Indian Institute of Technology Kharagpur #include int main()

### XC Specification. 1 Lexical Conventions. 1.1 Tokens. The specification given in this document describes version 1.0 of XC.

XC Specification IN THIS DOCUMENT Lexical Conventions Syntax Notation Meaning of Identifiers Objects and Lvalues Conversions Expressions Declarations Statements External Declarations Scope and Linkage

### Lesson #3. Variables, Operators, and Expressions. 3. Variables, Operators and Expressions - Copyright Denis Hamelin - Ryerson University

Lesson #3 Variables, Operators, and Expressions Variables We already know the three main types of variables in C: int, char, and double. There is also the float type which is similar to double with only

### Operators and Type Conversion. By Avani M. Sakhapara Assistant Professor, IT Dept, KJSCE

Operators and Type Conversion By Avani M. Sakhapara Assistant Professor, IT Dept, KJSCE Introduction An operator is a symbol which represents a particular operation that can be performed on some data.

### Fundamental of C programming. - Ompal Singh

Fundamental of C programming - Ompal Singh HISTORY OF C LANGUAGE IN 1960 ALGOL BY INTERNATIONAL COMMITTEE. IT WAS TOO GENERAL AND ABSTRUCT. IN 1963 CPL(COMBINED PROGRAMMING LANGUAGE) WAS DEVELOPED AT CAMBRIDGE

### Programming Fundamentals (CS 302 ) Dr. Ihsan Ullah. Lecturer Department of Computer Science & IT University of Balochistan

Programming Fundamentals (CS 302 ) Dr. Ihsan Ullah Lecturer Department of Computer Science & IT University of Balochistan 1 Outline p Introduction p Program development p C language and beginning with

### Slide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 Advance mode: Auto

CS 170 Java Programming 1 Expressions Slide 1 CS 170 Java Programming 1 Expressions Duration: 00:00:41 What is an expression? Expression Vocabulary Any combination of operators and operands which, when

### Lecture 02 Summary. C/Java Syntax 1/14/2009. Keywords Variable Declarations Data Types Operators Statements. Functions

Lecture 02 Summary C/Java Syntax Keywords Variable Declarations Data Types Operators Statements if, switch, while, do-while, for Functions 1 2 By the end of this lecture, you will be able to identify the

### I Internal Examination Sept Class: - BCA I Subject: - Principles of Programming Lang. (BCA 104) MM: 40 Set: A Time: 1 ½ Hrs.

I Internal Examination Sept. 2018 Class: - BCA I Subject: - Principles of Programming Lang. (BCA 104) MM: 40 Set: A Time: 1 ½ Hrs. [I]Very short answer questions (Max 40 words). (5 * 2 = 10) 1. What is

### OBJECT ORIENTED PROGRAMMING

OBJECT ORIENTED PROGRAMMING LAB 1 REVIEW THE STRUCTURE OF A C/C++ PROGRAM. TESTING PROGRAMMING SKILLS. COMPARISON BETWEEN PROCEDURAL PROGRAMMING AND OBJECT ORIENTED PROGRAMMING Course basics The Object

### Prof. Navrati Saxena TA: Rochak Sachan

JAVA Prof. Navrati Saxena TA: Rochak Sachan Operators Operator Arithmetic Relational Logical Bitwise 1. Arithmetic Operators are used in mathematical expressions. S.N. 0 Operator Result 1. + Addition 6.

### C/Java Syntax. January 13, Slides by Mark Hancock (adapted from notes by Craig Schock)

C/Java Syntax 1 Lecture 02 Summary Keywords Variable Declarations Data Types Operators Statements if, switch, while, do-while, for Functions 2 By the end of this lecture, you will be able to identify the

### C/Java Syntax. Lecture 02 Summary. Keywords Variable Declarations Data Types Operators Statements. Functions. if, switch, while, do-while, for

C/Java Syntax 1 Lecture 02 Summary Keywords Variable Declarations Data Types Operators Statements if, switch, while, do-while, for Functions 2 1 By the end of this lecture, you will be able to identify

### 1.00 Lecture 4. Promotion

1.00 Lecture 4 Data Types, Operators Reading for next time: Big Java: sections 6.1-6.4 Promotion increasing capacity Data Type Allowed Promotions double None float double long float,double int long,float,double

### ISA 563 : Fundamentals of Systems Programming

ISA 563 : Fundamentals of Systems Programming Variables, Primitive Types, Operators, and Expressions September 4 th 2008 Outline Define Expressions Discuss how to represent data in a program variable name