EECS402 Lecture 24. Something New (Sort Of) Intro To Function Pointers
|
|
- Jasper Anderson
- 5 years ago
- Views:
Transcription
1 The University Of Michigan Lecture 24 Andrew M. Morgan Savicth: N/A Misc. Topics Something New (Sort Of) Consider the following line of code from a program I wrote: retval = oplist[whichop] (mainary, arysize); Any ideas as to what this odd syntax does? Consider, instead this line of code: retval = addemup(mainary, arysize); Now, we see that the above line is a function call retval is the return value of the function call addemup is the name of the function we are calling mainary is the the first parameter to the function arysize is the second parameter to the functions Notice the second example is the same as the first, with "oplist[whichop]" replaced with "addemup" Andrew M Morgan 2 Intro To Function Pointers In C++ function names in your program actually represent the address where the executable code for that function starts This means that we can set a pointer variable to the address of a function, and call it via the pointer These are called "function pointers" There are many potential uses for function pointers: Function pointers can be placed in an indexed array, thus allowing you to call a specific function depending on value used as index Function pointers can be passed as parameters to functions, allowing one function to call different functions in different circumstances Function pointer can be updated in a loop to perform several operations (function calls) on the same data, with only one LOC Andrew M Morgan 3 1
2 Use Of Function Pointers Any variable in C++ must be declared. Function pointer variables are no exception What type is a function pointer? Type must describe the return value and params of the function typedef int (*operfn) (int[], int); ^ ^ \ / This is the param list for the func ptr This is the name of the type we are creating return type of function being pointed to Says that we are defining a new type (for our function ptr) Now, variables we declare to be of type "operfn" are function pointers, with the described signature Andrew M Morgan 4 Use Of Function Pointers, Cot'd Let's assume we have the following functions defined: int addemup (const int ary[], int size); int multemup (const int ary[], int size); int findmin (const int ary[], int size); int findmax (const int ary[], int size); All of the above functions have the same parameter types and return type We can define a type for pointers to such functions typedef int (*operfn) (int[], int); Now, declare a function pointer variable: operfn fptr; The variable "fptr" can be assigned to the above functions fptr = addemup; // or fptr = multemup; etc... Andrew M Morgan 5 Interesting (and useful) C++ Stuff There are many elements of the C++ language not discussed This lecture is just a collection of C++ information These items are NOT necessarily related in any way More importantly, you should not assume that everything covered should be used often Remember, just because you are a good programmer, using good style, does not mean everyone else is You should know many features even if you don't plan on using them all, in case you come across them in code Every feature has a place where it is a good feature, and most have a place where it is a bad feature Andrew M Morgan 6 2
3 The Ternary Operator There is an operator in C++ called the ternary operator It is somewhat widely used in certain circumstances Can make your code more compact Avoid using it too much, though, as it could get hard to trace The ternary operator can replace the "if-then-else" structure in some situations The operator is "?:" Place an expression before the question mark Place a value to be used is the expression is true between the question mark and colon Place a value to be used otherwise after the colon Often used when assigning different values depending on a condition Andrew M Morgan 7 The Ternary Operator, Example int i = 7, j = 10, k = 4, s = 0; //Assign s to i if i is less than j. //Otherwise, assign s to j; //Method 1 if (i < j) s = i; else s = j; cout << "First - s: " << s << endl; First - s: 7 Second - s: 7 Max(7,10) = 10 Max(7,4) = 7 //Method 2 s = (i < j)?i:j; cout << "Second - s: " << s << endl; cout << "Max(" << i << "," << j << ") = " << ((i > j)?i:j) << endl; cout << "Max(" << i << "," << k << ") = " << ((i > k)?i:k) << endl; Andrew M Morgan 8 The Comma Operator The comma is another operator allowed in C++ A comma expression is a series of expressions separated by commas Since a comma expression is, in fact, an expression, it has a value - the value of the rightmost expression Each expression in a comma expression is evaluated in order from left to right Use of the comma can lead to major headaches in trying to interpret a program in some cases Use of the comma in a for loop is quite common though Andrew M Morgan 9 3
4 The Comma Operator, Example int i, j, k = 0, l = 0, m = 0; for (i = 0, j = 5; i < 5; i++, j--) cout << "i: " << i << " j: " << j << endl; if (k == 3) //FALSE m = k = 1; l = 2; cout << "k: " << k << " l: " << l << " m: " << m << endl; if (k == 0) //TRUE m = k = 3; l = 4; cout << "k: " << k << " l: " << l << " m: " << m << endl; if (k == 17) //FALSE m = (k = 5, l = 6); cout << "k: " << k << " l: " << l << " m: " << m << endl; i: 0 j: 5 i: 1 j: 4 i: 2 j: 3 i: 3 j: 2 i: 4 j: 1 k: 0 l: 2 m: 0 k: 3 l: 4 m: 3 k: 3 l: 4 m: 3 k: 7 l: 8 m: 8 if (k == 3) //TRUE m = (k = 7, l = 8); cout << "k: " << k << " l: " << l << " m: " << m << endl; Andrew M Morgan 10 Enumerated Types An enumerated type is a user defined data type Variables of enumerated types can be assigned one of an enumerated list of possible values Syntax: enum enumtypename VAL0, VAL1, VAL2, ; VAL0, VAL1, etc can be any user-defined identifier Typically in ALL CAPS Very similar to const int Internally, each enumerated value is assigned a unique integer First value is assigned 0 by default, then 1, etc Andrew M Morgan 11 Defining An Enumerated Type enum DayOfWeekEnum MON, TUE, WED, THU, FRI, SAT, SUN; void print(dayofweekenum myday) if (myday <= FRI) cout << "Its not the weekend!" << endl; else cout << "Its the weekend!" << endl; Andrew M Morgan 12 4
5 Printing An Enumerated Type If you don t overload the << operator, the integer value will be printed ostream& operator<<( ostream &os, DayOfWeekEnum rhs ) switch (rhs) case MON: os << "Monday"; case TUE: os << "Tuesday"; case WED: os << "Wednesday"; case THU: os << "Thursday"; case FRI: os << "Friday"; case SAT: os << "Saturday"; case SUN: os << "Sunday"; default: os << "**UNKNOWN DAY**"; Andrew M Morgan 13 int main() DayOfWeekEnum myday; DayOfWeekEnum tomorrow; DayOfWeekEnum thenextday; DayOfWeekEnum someday; Enumerated Type Example myday = WED; cout << "Today is " << myday << endl; print(myday); myday = SAT; cout << "Today is " << myday << endl; print(myday); tomorrow = (DayOfWeekEnum)((int)myDay + 1); cout << "Tomorrow is " << tomorrow << endl; thenextday = (DayOfWeekEnum)((int)tomorrow + 1); cout << "The next day is " << tomorrow << endl; Today is Wednesday Its not the weekend! Today is Saturday Its the weekend! Tomorrow is Sunday The next day is Sunday Someday is: Sunday Values beyond max assigned to max! Output without operator<< someday = (DayOfWeekEnum)(39); Today is 2 cout << "Someday is: " << tomorrow << endl; Its not the weekend! Today is 5 Its the weekend! Tomorrow is 6 The next day is 6 Andrew M Morgan Someday is: 6 14 Assigning Vals To Enumerated Types Enumerated types with values other than the defaults are allowed #include <iostream> using namespace std; enum MyType FIRSTVAL = 25, SECONDVAL = 50, THIRDVAL = 75; int main() MyType blah; First val: 25 Second val: 50 Third val: 75 blah = FIRSTVAL; cout << "First val: " << blah << endl; blah = SECONDVAL; cout << "Second val: " << blah << endl; blah = THIRDVAL; cout << "Third val: " << blah << endl; Andrew M Morgan 15 5
6 Function Objects You've used the ( ) operator many times when you make a function call Normally, it would be a bad idea to overload this operator However, there are cases where it might make sense to overload the function call operator When a class overloads ( ), an object of that class is called a "function object" I stress again - this is usually a bad idea Still, it is pretty interesting When using an overloaded ( ) operator, it appears you are calling a function Since the function call is actually a method of the class, it acts different, depending on the values of data members of the object Andrew M Morgan 16 class compareclass public: int cmpwith; char cmpop; ; bool operator() (int check) bool res; if (cmpop == '<') res = (cmpwith < check); else if (cmpop == '>') res = (cmpwith > check); return res; Function Object, Example 1: true 2: false 3: false 4: true bool a; compareclass compare; compare.cmpwith = 9; compare.cmpop = '>'; Andrew M Morgan 17 a = compare(5); cout << "1: " << (a?"true":"false") << endl; a = compare(12); cout << "2: " << (a?"true":"false") << endl; compare.cmpop = '<'; a = compare(5); cout << "3: " << (a?"true":"false") << endl; a = compare(12); cout << "4: " << (a?"true":"false") << endl; Labels Labels are exactly that - a way to identify (label) an area of your code If unreferenced, they are ignored during execution A label is just an identifier with a colon after it - see below cout << "Welcome to a label program" << endl; label1: cout << "Labels can appear in programs" << endl; blah: cout << "They do not interfere with" << endl; cout << "the flow or execution!" << endl; blip: cout << "The End!" << endl; exit(0); blop: cout << "See ya" << endl; Welcome to a label program Labels can appear in programs They do not interfere with the flow or execution! The End! Andrew M Morgan 18 6
7 Goto (gasp!) Labels by themselves are pretty boring, as they serve no purpose C++ does provide a goto statement although it is rarely used and always results in a nasty sneer by most programmers Still, there are situations, where you might see a goto in someone else's code (of course, you would never use one) "goto" is a C++ keyword The keyword is followed by a label, making a "goto statement" When a goto statement is reached, the flow of your program immediately jumps to the next statement after the label Using goto results in jumpy code that is difficult to trace and follow. Avoid the use of goto!! Andrew M Morgan 19 Goto (gasp!), Example (double gasp!) int fact = 1; int value = 5; goto mult; printres: cout << "result is: " << fact << endl; goto alldone; result is: 120 Hope you had fun! Bye mult: fact *= value; value--; goto whatnext; cout << "Current Val: " << fact << endl; (Yes, it actually works, but it is far from clear. This is a horrible use of goto - many uses are not so blatant and difficult) alldone: cout << "Hope you had fun! Bye" << endl; whatnext: if (value >= 1) goto mult; else goto printres; return (5); Andrew M Morgan 20 Bitwise Operators You all know that a byte is a collection of 8 bits Bits are just values that are either 0 or 1 Since an integer is a 4 byte value (usually) it contains 32 bits Each of those 32 bits can store a 0/1 value C++ provides bitwise operators, often used for storing flags, or attributes, of an object ~: Bitwise not - negates each bit in an expression &: Bitwise and - "multiplies" each bit in one expression with the corresponding bit in another expression : Bitwise or - "adds" each bit in one with corresponding bit in other >>: Bitwise shift right - Shifts each bit to the right <<: Bitwise shift left - Shifts each bit to the left Andrew M Morgan 21 7
8 Bitwise Operators, Example const unsigned int ATR1 = 0x0001; //2^0 => 0001 const unsigned int ATR2 = 0x0002; //2^1 => 0010 const unsigned int ATR3 = 0x0004; //2^2 => 0100 const unsigned int ATR4 = 0x0008; //2^3 => 1000 printenv(int env) //here, the & is used as a MASK cout << "ATR1: " << ((env & ATR1)?"on":"off") << endl; cout << "ATR2: " << ((env & ATR2)?"on":"off") << endl; cout << "ATR3: " << ((env & ATR3)?"on":"off") << endl; cout << "ATR4: " << ((env & ATR4)?"on":"off") << endl; int e = 0; //Initially empty environment e = e ATR1; //Set attribute 1 e = e ATR3; //Set attribute 3 printenv(e); e = ~e; //Invert all attributes printenv(e); e = e & ~ATR2; //Clear attribute 2 printenv(e); ATR1: on ATR2: off ATR3: on ATR4: off ATR1: off ATR2: on ATR3: off ATR4: on ATR1: off ATR2: off ATR3: off ATR4: on Andrew M Morgan 22 More Interesting Stuff Did you ever wonder why you could check for a file being in fail state with just the name of the object? int main() ifstream myfile("in.txt"); int i; int j; myfile >> i >> j; if (!myfile) cout << "myfile is in fail state!" << endl; What is the "value" of an object (i.e. myfile, or an object of a userdefined class)? Andrew M Morgan 23 Conversion Operator Andrew M Morgan 24 An object doesn't not result in any value unless you, the programmer, tell it what to evaluate to You can do so via the special member functions called "conversion operators" Conversion operators have NO return type The name of the function is "operator <type>() To have your object evaluate to a boolean value, implement the following member function: operator bool(); //No return type! Even though there is no return type, this function should return a value of type bool Other conversion operators must return the appropriate type The fstream class has a boolean conversion operator. When the file is in fail state, the conversion operator returns false, otherwise it returns true 8
9 class IntClass public: IntClass(int inval):val(inval) ; operator int() return (val); ; operator bool() return (val == 0?false:true); ; private: int val; ; Conversion Operator, Cot'd x: 17 IC1 WAS TRUE IC2 WAS FALSE int main() IntClass ic1(13); IntClass ic2(0); int x; x = 4 + ic1; cout << "x: " << x << endl; Andrew M Morgan 25 cout << "IC1 WAS " << (ic1?"true":"false") << endl; cout << "IC2 WAS " << (ic2?"true":"false") << endl; 9
Programming Language. Control Structures: Selection (switch) Eng. Anis Nazer First Semester
Programming Language Control Structures: Selection (switch) Eng. Anis Nazer First Semester 2018-2019 Multiple selection choose one of two things if/else choose one from many things multiple selection using
More informationWelcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 1/9/ Review. Here s a simple C++ program:
Welcome Back CSCI 262 Data Structures 2 - Review What you learned in CSCI 261 (or equivalent): Variables Types Arrays Expressions Conditionals Branches & Loops Functions Recursion Classes & Objects Streams
More informationWelcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 8/19/ Review. Here s a simple C++ program:
Welcome Back CSCI 262 Data Structures 2 - Review What you learned in CSCI 261 (or equivalent): Variables Types Arrays Expressions Conditionals Branches & Loops Functions Recursion Classes & Objects Streams
More informationRecap. ANSI C Reserved Words C++ Multimedia Programming Lecture 2. Erwin M. Bakker Joachim Rijsdam
Multimedia Programming 2004 Lecture 2 Erwin M. Bakker Joachim Rijsdam Recap Learning C++ by example No groups: everybody should experience developing and programming in C++! Assignments will determine
More informationEnumerated Types. Mr. Dave Clausen La Cañada High School
Enumerated Types Mr. Dave Clausen La Cañada High School Enumerated Types Enumerated Types This is a new simple type that is defined by listing (enumerating) the literal values to be used in this type.
More informationFeatures of C. Portable Procedural / Modular Structured Language Statically typed Middle level language
1 History C is a general-purpose, high-level language that was originally developed by Dennis M. Ritchie to develop the UNIX operating system at Bell Labs. C was originally first implemented on the DEC
More informationCHRIST THE KING BOYS MATRIC HR. SEC. SCHOOL, KUMBAKONAM CHAPTER 9 C++
CHAPTER 9 C++ 1. WRITE ABOUT THE BINARY OPERATORS USED IN C++? ARITHMETIC OPERATORS: Arithmetic operators perform simple arithmetic operations like addition, subtraction, multiplication, division etc.,
More informationC++ Basics. Lecture 2 COP 3014 Spring January 8, 2018
C++ Basics Lecture 2 COP 3014 Spring 2018 January 8, 2018 Structure of a C++ Program Sequence of statements, typically grouped into functions. function: a subprogram. a section of a program performing
More informationCS349/SE382 A1 C Programming Tutorial
CS349/SE382 A1 C Programming Tutorial Erin Lester January 2005 Outline Comments Variable Declarations Objects Dynamic Memory Boolean Type structs, enums and unions Other Differences The Event Loop Comments
More informationCSCI 1061U Programming Workshop 2. C++ Basics
CSCI 1061U Programming Workshop 2 C++ Basics 1 Learning Objectives Introduction to C++ Origins, Object-Oriented Programming, Terms Variables, Expressions, and Assignment Statements Console Input/Output
More informationCS3157: Advanced Programming. Outline
CS3157: Advanced Programming Lecture #12 Apr 3 Shlomo Hershkop shlomo@cs.columbia.edu 1 Outline Intro CPP Boring stuff: Language basics: identifiers, data types, operators, type conversions, branching
More informationCOMP322 - Introduction to C++ Lecture 02 - Basics of C++
COMP322 - Introduction to C++ Lecture 02 - Basics of C++ School of Computer Science 16 January 2012 C++ basics - Arithmetic operators Where possible, C++ will automatically convert among the basic types.
More informationLecture 3. The syntax for accessing a struct member is
Lecture 3 Structures: Structures are typically used to group several data items together to form a single entity. It is a collection of variables used to group variables into a single record. Thus a structure
More informationCprE 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
More informationVariables. Data Types.
Variables. Data Types. The usefulness of the "Hello World" programs shown in the previous section is quite questionable. We had to write several lines of code, compile them, and then execute the resulting
More informationcar object properties data red travels at 50 mph actions functions containing programming statements Program Program variables functions
1 C++ PROGRAMMERS GUIDE LESSON 1 File: CppGuideL1.doc Date Started: July 12,1998 Last Update: Mar 21, 2002 Version: 4.0 INTRODUCTION This manual will introduce the C++ Programming Language techniques and
More informationReview: 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
More informationIncrement and the While. Class 15
Increment and the While Class 15 Increment and Decrement Operators Increment and Decrement Increase or decrease a value by one, respectively. the most common operation in all of programming is to increment
More informationCharacter 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
More informationUniversity of Technology. Laser & Optoelectronics Engineering Department. C++ Lab.
University of Technology Laser & Optoelectronics Engineering Department C++ Lab. Second week Variables Data Types. The usefulness of the "Hello World" programs shown in the previous section is quite questionable.
More informationUnit 7. 'while' Loops
1 Unit 7 'while' Loops 2 Control Structures We need ways of making decisions in our program To repeat code until we want it to stop To only execute certain code if a condition is true To execute one segment
More informationProgramming, numerics and optimization
Programming, numerics and optimization Lecture A-2: Programming basics II Łukasz Jankowski ljank@ippt.pan.pl Institute of Fundamental Technological Research Room 4.32, Phone +22.8261281 ext. 428 March
More information12 CREATING NEW TYPES
Lecture 12 CREATING NEW TYPES of DATA Typedef declaration Enumeration Structure Bit fields Uninon Creating New Types Is difficult to solve complex problems by using programs written with only fundamental
More informationCS93SI Handout 04 Spring 2006 Apr Review Answers
CS93SI Handout 04 Spring 2006 Apr 6 2006 Review Answers I promised answers to these questions, so here they are. I'll probably readdress the most important of these over and over again, so it's not terribly
More informationPIC 10A Objects/Classes
PIC 10A Objects/Classes Ernest Ryu UCLA Mathematics Last edited: November 13, 2017 User-defined types In C++, we can define our own custom types. Object is synonymous to variable, and class is synonymous
More informationLecture 2, September 4
Lecture 2, September 4 Intro to C/C++ Instructor: Prashant Shenoy, TA: Shashi Singh 1 Introduction C++ is an object-oriented language and is one of the most frequently used languages for development due
More informationCSE 230 Intermediate Programming in C and C++
CSE 230 Intermediate Programming in C and C++ Bitwise Operators and Enumeration Types Fall 2017 Stony Brook University Instructor: Shebuti Rayana http://www3.cs.stonybrook.edu/~cse230/ Overview Bitwise
More informationIII. Classes (Chap. 3)
III. Classes III-1 III. Classes (Chap. 3) As we have seen, C++ data types can be classified as: Fundamental (or simple or scalar): A data object of one of these types is a single object. int, double, char,
More informationGE U111 Engineering Problem Solving & Computation Lecture 6 February 2, 2004
GE U111 Engineering Problem Solving & Computation Lecture 6 February 2, 2004 Functions and Program Structure Today we will be learning about functions. You should already have an idea of their uses. Cout
More informationChapter 2. Flow of Control. Copyright 2016 Pearson, Inc. All rights reserved.
Chapter 2 Flow of Control Copyright 2016 Pearson, Inc. All rights reserved. Learning Objectives Boolean Expressions Building, Evaluating & Precedence Rules Branching Mechanisms if-else switch Nesting if-else
More informationstatic CS106L Spring 2009 Handout #21 May 12, 2009 Introduction
CS106L Spring 2009 Handout #21 May 12, 2009 static Introduction Most of the time, you'll design classes so that any two instances of that class are independent. That is, if you have two objects one and
More informationBasic program The following is a basic program in C++; Basic C++ Source Code Compiler Object Code Linker (with libraries) Executable
Basic C++ Overview C++ is a version of the older C programming language. This is a language that is used for a wide variety of applications and which has a mature base of compilers and libraries. C++ is
More informationThe University Of Michigan. EECS402 Lecture 15. Andrew M. Morgan. Savitch Ch. 8 Operator Overloading Returning By Constant Value
The University Of Michigan Lecture 15 Andrew M. Morgan Savitch Ch. 8 Operator Overloading Returning By Constant Value Consider This Program class ChangePocketClass public: ChangePocketClass():quarters(0),dimes(0)
More informationG Programming Languages - Fall 2012
G22.2110-003 Programming Languages - Fall 2012 Lecture 10 Thomas Wies New York University Review Last class ML Outline Modules Sources: PLP, 3.3.4, 3.3.5, 3.8 McConnell, Steve. Code Complete, Second Edition,
More informationC++: Const Function Overloading Constructors and Destructors Enumerations Assertions
C++: Const Function Overloading Constructors and Destructors Enumerations Assertions Const const float pi=3.14159; const int* pheight; // defines pointer to // constant int value cannot be changed // pointer
More informationCAAM 420 Fall 2012 Lecture 29. Duncan Eddy
CAAM 420 Fall 2012 Lecture 29 Duncan Eddy November 7, 2012 Table of Contents 1 Templating in C++ 3 1.1 Motivation.............................................. 3 1.2 Templating Functions........................................
More information6.096 Introduction to C++ January (IAP) 2009
MIT OpenCourseWare http://ocw.mit.edu 6.096 Introduction to C++ January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Welcome to 6.096 Lecture
More informationIntroduction to Programming using C++
Introduction to Programming using C++ Lecture One: Getting Started Carl Gwilliam gwilliam@hep.ph.liv.ac.uk http://hep.ph.liv.ac.uk/~gwilliam/cppcourse Course Prerequisites What you should already know
More information377 Student Guide to C++
377 Student Guide to C++ c Mark Corner January 21, 2004 1 Introduction In this course you will be using the C++ language to complete several programming assignments. Up to this point we have only provided
More informationC++ Basics. Data Processing Course, I. Hrivnacova, IPN Orsay
C++ Basics Data Processing Course, I. Hrivnacova, IPN Orsay The First Program Comments Function main() Input and Output Namespaces Variables Fundamental Types Operators Control constructs 1 C++ Programming
More informationC C C C++ 2 ( ) C C++ 4 C C
# 7 11 13 C 4 8 11 20 C 9 11 27 C++ 1 10 12 4 C++ 2 11 12 11 C++ 3 12 12 18 C++ 4 C++ 5 13 1 8 ( ) 14 1 15 C++ 15 1 22 2 (D) ( ) C++ 3 7 new delete 4 5 1. 0 99 1000 0 99. 0 hist[ r ]++; (*(hist + r ))++;
More informationAgenda. The main body and cout. Fundamental data types. Declarations and definitions. Control structures
The main body and cout Agenda 1 Fundamental data types Declarations and definitions Control structures References, pass-by-value vs pass-by-references The main body and cout 2 C++ IS AN OO EXTENSION OF
More informationC++ for Java Programmers
Basics all Finished! Everything we have covered so far: Lecture 5 Operators Variables Arrays Null Terminated Strings Structs Functions 1 2 45 mins of pure fun Introduction Today: Pointers Pointers Even
More informationGetting started with C++ (Part 2)
Getting started with C++ (Part 2) CS427: Elements of Software Engineering Lecture 2.2 11am, 16 Jan 2012 CS427 Getting started with C++ (Part 2) 1/22 Outline 1 Recall from last week... 2 Recall: Output
More informationC++_ MARKS 40 MIN
C++_16.9.2018 40 MARKS 40 MIN https://tinyurl.com/ya62ayzs 1) Declaration of a pointer more than once may cause A. Error B. Abort C. Trap D. Null 2Whice is not a correct variable type in C++? A. float
More informationCS 376b Computer Vision
CS 376b Computer Vision 09 / 25 / 2014 Instructor: Michael Eckmann Today s Topics Questions? / Comments? Enhancing images / masks Cross correlation Convolution C++ Cross-correlation Cross-correlation involves
More informationInput And Output of C++
Input And Output of C++ Input And Output of C++ Seperating Lines of Output New lines in output Recall: "\n" "newline" A second method: object endl Examples: cout
More informationChapter 3, Selection. Liang, Introduction to Programming with C++, Second Edition, (c) 2010 Pearson Education, Inc. All rights reserved.
Chapter 3, Selection 1 The bool Type and Operators 2 One-way if Statements if (booleanexpression) { statement(s); } if (radius >= 0) { area = radius * radius * PI; cout
More informationCPE 112 Spring 2015 Exam II (100 pts) March 4, Definition Matching (8 Points)
Name Definition Matching (8 Points) 1. (8 pts) Match the words with their definitions. Choose the best definition for each word. Relational Expression Iteration Counter Count-controlled loop Loop Flow
More information8. The C++ language, 1. Programming and Algorithms II Degree in Bioinformatics Fall 2017
8. The C++ language, 1 Programming and Algorithms II Degree in Bioinformatics Fall 2017 Hello world #include using namespace std; int main() { } cout
More informationC++ Quick Guide. Advertisements
C++ Quick Guide Advertisements Previous Page Next Page C++ is a statically typed, compiled, general purpose, case sensitive, free form programming language that supports procedural, object oriented, and
More informationFast Introduction to Object Oriented Programming and C++
Fast Introduction to Object Oriented Programming and C++ Daniel G. Aliaga Note: a compilation of slides from Jacques de Wet, Ohio State University, Chad Willwerth, and Daniel Aliaga. Outline Programming
More informationCMSC 341 Lecture 10 Binary Search Trees
CMSC 341 Lecture 10 Binary Search Trees John Park Based on slides from previous iterations of this course Review: Tree Traversals 2 Traversal Preorder, Inorder, Postorder H X M A K B E N Y L G W UMBC CMSC
More informationShort Notes of CS201
#includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system
More informationControl Structures. Lecture 4 COP 3014 Fall September 18, 2017
Control Structures Lecture 4 COP 3014 Fall 2017 September 18, 2017 Control Flow Control flow refers to the specification of the order in which the individual statements, instructions or function calls
More informationTokens, Expressions and Control Structures
3 Tokens, Expressions and Control Structures Tokens Keywords Identifiers Data types User-defined types Derived types Symbolic constants Declaration of variables Initialization Reference variables Type
More informationComputer Science & Information Technology (CS) Rank under AIR 100. Examination Oriented Theory, Practice Set Key concepts, Analysis & Summary
GATE- 2016-17 Postal Correspondence 1 C-Programming Computer Science & Information Technology (CS) 20 Rank under AIR 100 Postal Correspondence Examination Oriented Theory, Practice Set Key concepts, Analysis
More informationBinghamton University. CS-211 Fall Syntax. What the Compiler needs to understand your program
Syntax What the Compiler needs to understand your program 1 Pre-Processing Any line that starts with # is a pre-processor directive Pre-processor consumes that entire line Possibly replacing it with other
More informationScientific Computing
Scientific Computing Martin Lotz School of Mathematics The University of Manchester Lecture 1, September 22, 2014 Outline Course Overview Programming Basics The C++ Programming Language Outline Course
More informationCSCE 206: Structured Programming in C++
CSCE 206: Structured Programming in C++ 2017 Spring Exam 2 Monday, March 20, 2017 Total - 100 Points B Instructions: Total of 13 pages, including this cover and the last page. Before starting the exam,
More informationCS201 - Introduction to Programming Glossary By
CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with
More informationC# Types. Industrial Programming. Value Types. Signed and Unsigned. Lecture 3: C# Fundamentals
C# Types Industrial Programming Lecture 3: C# Fundamentals Industrial Programming 1 Industrial Programming 2 Value Types Memory location contains the data. Integers: Signed: sbyte, int, short, long Unsigned:
More informationCE221 Programming in C++ Part 1 Introduction
CE221 Programming in C++ Part 1 Introduction 06/10/2017 CE221 Part 1 1 Module Schedule There are two lectures (Monday 13.00-13.50 and Tuesday 11.00-11.50) each week in the autumn term, and a 2-hour lab
More information377 Student Guide to C++
377 Student Guide to C++ c Mark Corner, edited by Emery Berger January 23, 2006 1 Introduction C++ is an object-oriented language and is one of the most frequently used languages for development due to
More informationEECS402 Lecture 02. Functions. Function Prototype
The University Of Michigan Lecture 02 Andrew M. Morgan Savitch Ch. 3-4 Functions Value and Reference Parameters Andrew M. Morgan 1 Functions Allows for modular programming Write the function once, call
More informationIndustrial Programming
Industrial Programming Lecture 3: C# Fundamentals Industrial Programming 1 C# Types Industrial Programming 2 Value Types Memory location contains the data. Integers: Signed: sbyte, int, short, long Unsigned:
More informationG Programming Languages Spring 2010 Lecture 8. Robert Grimm, New York University
G22.2110-001 Programming Languages Spring 2010 Lecture 8 Robert Grimm, New York University 1 Review Last time Types Fun with O Caml 2 Outline Modules Sources: PLP, 3.3.4, 3.3.5, 3.7 Barrett. Lecture notes,
More informationThe four laws of programs
Statements 1 2 The four laws of programs 3 These are like Isaac Asimov's 4 laws of robotics: 0: programs must work properly 1: programs must be readable, provided this does not conflict with the previous
More informationObjectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program
Objectives Chapter 2: Basic Elements of C++ In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates
More informationChapter 2: Basic Elements of C++
Chapter 2: Basic Elements of C++ Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers in C++ Explore simple data types Discover how a program evaluates
More informationCHAPTER 1.2 INTRODUCTION TO C++ PROGRAMMING. Dr. Shady Yehia Elmashad
CHAPTER 1.2 INTRODUCTION TO C++ PROGRAMMING Dr. Shady Yehia Elmashad Outline 1. Introduction to C++ Programming 2. Comment 3. Variables and Constants 4. Basic C++ Data Types 5. Simple Program: Printing
More informationCSCI312 Principles of Programming Languages!
CSCI312 Principles of Programming Languages! Chapter 5 Types Xu Liu! ! 5.1!Type Errors! 5.2!Static and Dynamic Typing! 5.3!Basic Types! 5.4!NonBasic Types! 5.5!Recursive Data Types! 5.6!Functions as Types!
More informationChapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction
Chapter 2: Basic Elements of C++ C++ Programming: From Problem Analysis to Program Design, Fifth Edition 1 Objectives In this chapter, you will: Become familiar with functions, special symbols, and identifiers
More informationUEE1302 (1102) F10: Introduction to Computers and Programming
Computational Intelligence on Automation Lab @ NCTU Learning Objectives UEE1302 (1102) F10: Introduction to Computers and Programming Programming Lecture 00 Programming by Example Introduction to C++ Origins,
More informationC++ for Python Programmers
C++ for Python Programmers Adapted from a document by Rich Enbody & Bill Punch of Michigan State University Purpose of this document This document is a brief introduction to C++ for Python programmers
More informationLECTURE 02 INTRODUCTION TO C++
PowerPoint Slides adapted from *Starting Out with C++: From Control Structures through Objects, 7/E* by *Tony Gaddis* Copyright 2012 Pearson Education Inc. COMPUTER PROGRAMMING LECTURE 02 INTRODUCTION
More informationOperator overloading
1 Introduction 2 The copy constructor 3 Operator Overloading 4 Eg 1: Adding two vectors 5 The -> operator 6 The this pointer 7 Overloading = 8 Unary operators 9 Overloading for the matrix class 10 The
More informationProgramming Language. Functions. Eng. Anis Nazer First Semester
Programming Language Functions Eng. Anis Nazer First Semester 2016-2017 Definitions Function : a set of statements that are written once, and can be executed upon request Functions are separate entities
More informationG52CPP C++ Programming Lecture 17
G52CPP C++ Programming Lecture 17 Dr Jason Atkin http://www.cs.nott.ac.uk/~jaa/cpp/ g52cpp.html 1 Last Lecture Exceptions How to throw (return) different error values as exceptions And catch the exceptions
More informationOverloading Functions & Command Line Use in C++ CS 16: Solving Problems with Computers I Lecture #6
Overloading Functions & Command Line Use in C++ CS 16: Solving Problems with Computers I Lecture #6 Ziad Matni Dept. of Computer Science, UCSB A reminder about Labs Announcements Please make sure you READ
More informationC++ For Science and Engineering Lecture 15
C++ For Science and Engineering Lecture 15 John Chrispell Tulane University Wednesday September 29, 2010 Function Review Recall the basics you already know about functions. Provide a function definition.
More informationOutline. 1 About the course
Outline EDAF50 C++ Programming 1. Introduction 1 About the course Sven Gestegård Robertz Computer Science, LTH 2018 2 Presentation of C++ History Introduction Data types and variables 1. Introduction 2/1
More informationNon-numeric types, boolean types, arithmetic. operators. Comp Sci 1570 Introduction to C++ Non-numeric types. const. Reserved words.
, ean, arithmetic s s on acters Comp Sci 1570 Introduction to C++ Outline s s on acters 1 2 3 4 s s on acters Outline s s on acters 1 2 3 4 s s on acters ASCII s s on acters ASCII s s on acters Type: acter
More informationTYPES, VALUES AND DECLARATIONS
COSC 2P90 TYPES, VALUES AND DECLARATIONS (c) S. Thompson, M. Winters 1 Names, References, Values & Types data items have a value and a type type determines set of operations variables Have an identifier
More informationC# Fundamentals. Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh
C# Fundamentals Hans-Wolfgang Loidl School of Mathematical and Computer Sciences, Heriot-Watt University, Edinburgh Semester 1 2018/19 H-W. Loidl (Heriot-Watt Univ) F20SC/F21SC 2018/19
More informationUniversity of Technology. Laser & Optoelectronics Engineering Department. C++ Lab.
University of Technology Laser & Optoelectronics Engineering Department C++ Lab. Fifth week Control Structures A program is usually not limited to a linear sequence of instructions. During its process
More informationME240 Computation for Mechanical Engineering. Lecture 4. C++ Data Types
ME240 Computation for Mechanical Engineering Lecture 4 C++ Data Types Introduction In this lecture we will learn some fundamental elements of C++: Introduction Data Types Identifiers Variables Constants
More informationTHE INTEGER DATA TYPES. Laura Marik Spring 2012 C++ Course Notes (Provided by Jason Minski)
THE INTEGER DATA TYPES STORAGE OF INTEGER TYPES IN MEMORY All data types are stored in binary in memory. The type that you give a value indicates to the machine what encoding to use to store the data in
More information2. C99 standard guarantees uniqueness of characters for internal names. A. 12 B. 26 C. 31 D. 48
1. How can you make an infinite loop in C? A. while(1) { } B. loop:... goto loop; C. for(;;) { } D. All answers are right 2. C99 standard guarantees uniqueness of characters for internal names. A. 12 B.
More informationCMSC 341 Lecture 6 Templates, Stacks & Queues. Based on slides by Shawn Lupoli & Katherine Gibson at UMBC
CMSC 341 Lecture 6 Templates, Stacks & Queues Based on slides by Shawn Lupoli & Katherine Gibson at UMBC Today s Topics Data types in C++ Overloading functions Templates How to implement them Possible
More informationProgramming with C++ Language
Programming with C++ Language Fourth stage Prepared by: Eng. Samir Jasim Ahmed Email: engsamirjasim@yahoo.com Prepared By: Eng. Samir Jasim Page 1 Introduction: Programming languages: A programming language
More informationFundamental 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
More informationC++ PROGRAMMING BASICS
C++ Notes 1 By V. D. Gokhale C++ PROGRAMMING BASICS Difference between C and C++ :- (1) When we invoke turbo C++ editor by c:\tc\tc [Enter]. The editor window shows the file name with.c extension. [noname00.c].
More informationLinked List using a Sentinel
Linked List using a Sentinel Linked List.h / Linked List.h Using a sentinel for search Created by Enoch Hwang on 2/1/10. Copyright 2010 La Sierra University. All rights reserved. / #include
More informationIntroduction to Programming EC-105. Lecture 2
Introduction to Programming EC-105 Lecture 2 Input and Output A data stream is a sequence of data - Typically in the form of characters or numbers An input stream is data for the program to use - Typically
More informationEECS402 Lecture 08. Intro To The Standard string Class. Some string Functionality
The University Of Michigan Lecture 08 Andrew M. Morgan Savitch Ch. 9.0 C++ String Data Type C-Strings Intro To The Standard string Class C++ has a standard class called "string" Strings are simply a sequence
More informationThe University Of Michigan. EECS402 Lecture 02. Andrew M. Morgan. Savitch Ch. 3-4 Functions Value and Reference Parameters.
The University Of Michigan Lecture 02 Andrew M. Morgan Savitch Ch. 3-4 Functions Value and Reference Parameters Andrew M. Morgan 1 Functions Allows for modular programming Write the function once, call
More informationLecture 14. No in-class files today. Homework 7 (due on Wednesday) and Project 3 (due in 10 days) posted. Questions?
Lecture 14 No in-class files today. Homework 7 (due on Wednesday) and Project 3 (due in 10 days) posted. Questions? Friday, February 11 CS 215 Fundamentals of Programming II - Lecture 14 1 Outline Static
More informationComputer Science II Lecture 1 Introduction and Background
Computer Science II Lecture 1 Introduction and Background Discussion of Syllabus Instructor, TAs, office hours Course web site, http://www.cs.rpi.edu/courses/fall04/cs2, will be up soon Course emphasis,
More informationCHAPTER : 9 FLOW OF CONTROL
CHAPTER 9 FLOW OF CONTROL Statements-Statements are the instructions given to the Computer to perform any kind of action. Null Statement-A null statement is useful in those case where syntax of the language
More information