(7-2) Modular Programming II H&K Chapter 6. Instructor - Andrew S. O Fallon CptS 121 (February 22, 2019) Washington State University
|
|
- Osborn Harrison
- 5 years ago
- Views:
Transcription
1 (7-2) Modular Programming II H&K Chapter 6 Instructor - Andrew S. O Fallon CptS 121 (February 22, 2019) Washington State University
2 Pitfalls of Pointers and Output Parameters Not assigning a pointer a valid memory address Improper use of the dereference or indirection operator *ptr = &variable // most likely incorrect ptr = number // intention is *ptr = number Overusing pointers Defining a function to compute too many results and breaking our notion of proper top-down design Overcomplicating the concept of a pointer Recall it s just a variable Others? 2
3 Functions with Output Params (1) Example problem: Write a function that prompts the reader for a date string in the form "mm/dd/yyyy." The function should return a valid month, day, and year as output parameters. Check date entered for validity, reprompting the user for a valid date string if necessary. 3
4 Functions with Output Params (2) Algorithm Pseudocode for get_date Set valid to true Do prompt user to enter date string scan date string into month, seperator1, day, separator2, year if (status of scan is not equal to 5) or (separator1 is not a '/') or (separator2 is not a '/') or (day <0) or (day > 31) or (month < 1) or (month > 12) or (year < 0) set valid to false Tell user that date string is invalid end if while not valid return day, month, year End get_date 4
5 Functions with Output Params (3) You Try It: Write get_date: void get_date(int *month, int *day, int *year) 5
6 Functions with Output Params (4) Possible solution void get_date(int *month, int *day, int *year) { int valid, status; char sep1, sep2; do { valid = 1; printf("please enter a date (mm/dd/yyyy): "); status = scanf("%d %c%d %c%d", month,&sep1,day,&sep2,year); if (status < 5 sep1!= '/' sep2!= '/' *day < 0 *day > 31 *month < 1 *month > 12 *year < 0 *year > 9999) { valid = 0; printf("the date string you entered is invalid.\n"); } } while (!valid); } 6
7 An Extended Example (1) Date arithmetic Write a program that asks the user to enter two dates, determines which date is before the other date, and finally determines the number of days that separate the two dates. Note: You may need to write helper functions 7
8 An Extended Example (2) Conceptualizing the date difference problem: Case 1: Dates are in different years days_to_end days_between_years days_from_beginning date1 date2 Case 2: Dates are in the same year 8 date1 date2
9 An Extended Example (3) Top-down design: Date arithmetic application day, month, year day1, day2, month1, month2, year1, year2 day1, day2, month1, month2, year1, year2 year day, month, year get_date Is_before day_diff is_leap _year print_ date day1,day2 month1,month2 year day, month year1, year2 day, month 9 day_diff_within_year days_to_end Days_between_years days_to_end
10 An Extended Example (4) main function int main(void) { char cont; int month1, month2, day1, day2, year1, year2; get_date(&month1, &day1, &year1); get_date(&month2, &day2, &year2); if (!is_before(month1,day1,year1, month2,day2,year2)) { if (!is_before(month2,day2,year2, month1,day1,year1)) /* dates are equal */ { print_date(month1,day1,year1); printf(" is the same date as "); print_date(month2,day2,year2); printf("!\n"); printf("there are 0 days between these dates.\n"); } 10
11 An Extended Example (5) main function (cont.): } else /* date2 is before date1 */ { print_date(month2,day2,year2); printf(" is before "); print_date(month1,day1,year1); printf("\n"); printf("there are %d days between these dates.\n", day_diff(month2,day2, year2,month1,day1, year1)); } 11
12 An Extended Example (6) main function (cont.): else /* date1 is before date2 */ { print_date(month1,day1,year1); printf(" is before "); print_date(month2,day2,year2); printf("\n"); printf("there are %d days between these dates.\n", day_diff(month1,day1,year1,month2,day2, year2)); } return(1); } /* end of main */ 12
13 An Extended Example (7) You Try It: Write the easy case: int day_diff_within_year(int day1, int month1, int day2, int month2, int year) Given these functions: /* days_in_month given an integer month code (1 = January, 2 = February,, 12 = December), this function returns the number of days in that month. */ int days_in_month(int month); /* is_leap_year returns 1 if year is a leap year, 0 otherwise. */ int is_leap_year(int year) 13
14 An Extended Example (8) You Try It: Write the other case: int day_diff(int month1, int day1, int year1, int month2, int day2, int year2): Given these functions: int day_diff_within_year(int day1, int month1, int day2, int month2, int year); int days_to_end(int month, int day, int year); int days_from_beginning(int month, int day, int year); int days_between_years(int year1, int year2); 14
15 An Extended Example (9) Notes Need for a specific function is not always clear in advance For example, the day_diff_within_year and days_in_month functions were not included in my preliminary top-down design Do not feel obligated to write out every function! A "stub" that displays a text message can be useful initially; refine gradually Do not be afraid to use the debugger 15
16 References J.R. Hanly & E.B. Koffman, Problem Solving and Program Design in C (8 th Ed.), Addison- Wesley, 2016 P.J. Deitel & H.M. Deitel, C How to Program (7 th Ed.), Pearson Education, Inc.,
17 Collaborators Chris Hundhausen 17
(7-1) Modular Programming H&K Chapter 6. Instructor - Andrew S. O Fallon CptS 121 (February 21, 2018) Washington State University
(7-1) Modular Programming H&K Chapter 6 Instructor - Andrew S. O Fallon CptS 121 (February 21, 2018) Washington State University Functions with Output Parameters (1) In many situations, we would like to
More information(6-1) Iteration in C H&K Chapter 5. Instructor - Andrew S. O Fallon CptS 121 (February 11, 2019) Washington State University
(6-1) Iteration in C H&K Chapter 5 Instructor - Andrew S. O Fallon CptS 121 (February 11, 2019) Washington State University Iterative Constructs (1) 2 Recall that algorithms are composed of three different
More informationData Types H&K Chapter 7. Instructor - Andrew S. O Fallon CptS 121 (October 17, 2018) Washington State University
Data Types H&K Chapter 7 Instructor - Andrew S. O Fallon CptS 121 (October 17, 2018) Washington State University Data Types We already know that: Data type = set of values + set of operations on those
More information(6-2) Efficiency of Algorithms D & D Chapter 20. Instructor - Andrew S. O Fallon CptS 122 (July 11, 2018) Washington State University
(6-2) Efficiency of Algorithms D & D Chapter 20 Instructor - Andrew S. O Fallon CptS 122 (July 11, 2018) Washington State University Analysis of Algorithms (1) 2 In general, we want to determine central
More information(8-2) Arrays II H&K Chapter 7. Instructor - Andrew S. O Fallon CptS 121 (February 28, 2018) Washington State University
(8-2) Arrays II H&K Chapter 7 Instructor - Andrew S. O Fallon CptS 121 (February 28, 2018) Washington State University Array Searching (1) ots of motivating problems Find a name in the phone book Find
More information(4-3) Selection Structures II in C H&K Chapter 4. Instructor - Andrew S. O Fallon CptS 121 (February 2, 2018) Washington State University
(4-3) Selection Structures II in C H&K Chapter 4 Instructor - Andrew S. O Fallon CptS 121 (February 2, 2018) Washington State University Nested if statements (1) Consider the following scenario: A high
More information(8-1) Arrays I H&K Chapter 7. Instructor - Andrew S. O Fallon CptS 121 (October 8, 2018) Washington State University
(8-1) Arrays I H&K Chapter 7 Instructor - Andrew S. O Fallon CptS 121 (October 8, 2018) Washington State University What is an array? A sequence of items that are contiguously allocated in memory All items
More information(13-2) Dynamic Data Structures I H&K Chapter 13. Instructor - Andrew S. O Fallon CptS 121 (November 17, 2017) Washington State University
(13-2) Dynamic Data Structures I H&K Chapter 13 Instructor - Andrew S. O Fallon CptS 121 (November 17, 2017) Washington State University Dynamic Data Structures (1) Structures that expand and contract
More information(9-2) Strings I H&K Chapter 8. Instructor - Andrew S. O Fallon CptS 121 (March 7, 2018) Washington State University
(9-2) Strings I H&K Chapter 8 Instructor - Andrew S. O Fallon CptS 121 (March 7, 2018) Washington State University String Fundamentals A string is a sequence of characters terminated by the null character
More information(4-2) Selection Structures in C H&K Chapter 4. Instructor - Andrew S. O Fallon CptS 121 (September 12, 2018) Washington State University
(4-2) Selection Structures in C H&K Chapter 4 Instructor - Andrew S. O Fallon CptS 121 (September 12, 2018) Washington State University Control Structures 2 Recall that algorithms are composed of three
More information(6-1) Basics of a Queue. Instructor - Andrew S. O Fallon CptS 122 (September 26, 2018) Washington State University
(6-1) Basics of a Queue Instructor - Andrew S. O Fallon CptS 122 (September 26, 2018) Washington State University What is a Queue? 2 A linear data structure with a finite sequence of nodes, where nodes
More information(9-1) Arrays IV Parallel and H&K Chapter 7. Instructor - Andrew S. O Fallon CptS 121 (March 5, 2018) Washington State University
(9-1) Arrays IV Parallel and H&K Chapter 7 Instructor - Andrew S. O Fallon CptS 121 (March 5, 2018) Washington State University Parallel Arrays (1) Often, we'd like to associate the values in one array
More information(7-2) Operator Overloading D & D Chapter 10. Instructor - Andrew S. O Fallon CptS 122 (February 23, 2018) Washington State University
(7-2) Operator Overloading D & D Chapter 10 Instructor - Andrew S. O Fallon CptS 122 (February 23, 2018) Washington State University Key Concepts Keyword operator Operator overloading 2 What is Operator
More information(2-1) Data Structures & The Basics of a Linked List I. Instructor - Andrew S. O Fallon CptS 122 (August 27, 2018) Washington State University
(2-1) Data Structures & The Basics of a Linked List I Instructor - Andrew S. O Fallon CptS 122 (August 27, 2018) Washington State University How do we Select a Data Structure? (1) Select a data structure
More information(12-1) OOP: Polymorphism in C++ D & D Chapter 12. Instructor - Andrew S. O Fallon CptS 122 (April 3, 2019) Washington State University
(12-1) OOP: Polymorphism in C++ D & D Chapter 12 Instructor - Andrew S. O Fallon CptS 122 (April 3, 2019) Washington State University Key Concepts Polymorphism virtual functions Virtual function tables
More information(3-1) Functions II H&K Chapter 3. Instructor - Andrew S. O Fallon CptS 121 (September 5, 2018) Washington State University
(3-1) Functions II H&K Chapter 3 Instructor - Andrew S. O Fallon CptS 121 (September 5, 2018) Washington State University Overview of Functions (1) A block of code or unit that generally performs one task
More information(8 1) Container Classes & Class Templates D & D Chapter 18. Instructor - Andrew S. O Fallon CptS 122 (October 8, 2018) Washington State University
(8 1) Container Classes & Class Templates D & D Chapter 18 Instructor - Andrew S. O Fallon CptS 122 (October 8, 2018) Washington State University Key Concepts Class and block scope Access and utility functions
More information(7 2) Classes: A Deeper Look D & D Chapter 9. Instructor - Andrew S. O Fallon CptS 122 (February 22, 2019) Washington State University
(7 2) Classes: A Deeper Look D & D Chapter 9 Instructor - Andrew S. O Fallon CptS 122 (February 22, 2019) Washington State University Key Concepts Composition relationship const objects const member functions
More information(10-1) Structs H&K Chapter 10. Instructor - Andrew S. O Fallon CptS 121 (March 20, 2019) Washington State University
(10-1) Structs H&K Chapter 10 Instructor - Andrew S. O Fallon CptS 121 (March 20, 2019) Washington State University struct Type (1) C supports another kind of user-defined type: the struct structs are
More information(2-1) Numeric Expressions in C H&K Chapter 2. Instructor - Andrew S. O Fallon CptS 121 (August 27, 2018) Washington State University
(2-1) Numeric Expressions in C H&K Chapter 2 Instructor - Andrew S. O Fallon CptS 121 (August 27, 2018) Washington State University Arithmetic Expressions Most programming problems require arithmetic expressions
More information(1-2) Introduction to C Data Structures & Abstract Data Types. Instructor - Andrew S. O Fallon CptS 122 (June 6, 2018) Washington State University
(1-2) Introduction to C Data Structures & Abstract Data Types Instructor - Andrew S. O Fallon CptS 122 (June 6, 2018) Washington State University What is a Data Structure? A software construct describing
More information(2-2) Functions I H&K Chapter 3. Instructor - Andrew S. O Fallon CptS 121 (January 18, 2019) Washington State University
(2-2) Functions I H&K Chapter 3 Instructor - Andrew S. O Fallon CptS 121 (January 18, 2019) Washington State University Problem Solving Example (1) Problem Statement: Write a program that computes your
More information(9-3) Strings II H&K Chapter 8. Instructor - Andrew S. O Fallon CptS 121 (October 19, 2018) Washington State University
(9-3) Strings II H&K Chapter 8 Instructor - Andrew S. O Fallon CptS 121 (October 19, 2018) Washington State University String Manipulation in C (1) Standard operators applied to most numerical (including
More information(3-2) Basics of a Stack. Instructor - Andrew S. O Fallon CptS 122 (January 26, 2018) Washington State University
(3-2) Basics of a Stack Instructor - Andrew S. O Fallon CptS 122 (January 26, 2018) Washington State University What is a Stack? A finite sequence of nodes, where only the top node may be accessed Insertions
More information(1-1) C Review: Pointers, Arrays, Strings, & Structs. Instructor - Andrew S. O Fallon CptS 122 (January 10, 2018) Washington State University
(1-1) C Review: Pointers, Arrays, Strings, & Structs Instructor - Andrew S. O Fallon CptS 122 (January 10, 2018) Washington State University Crash Review on Critical C Topics Pointers Arrays Strings Structs
More informationRepetition Structures II
Lecture 9 Repetition Structures II For and do-while loops CptS 121 Summer 2016 Armen Abnousi Types of Control Structures Sequential All programs that we have written so far The statements inside a pair
More information(3-3) File Processing with Functions. Instructor - Andrew S. O Fallon CptS 121 (January 26, 2018) Washington State University
(3-3) File Processing with Functions Instructor - Andrew S. O Fallon CptS 121 (January 26, 2018) Washington State University Why Files? Need to store data and information outside of a program Most real
More information(11-1) OOP: Inheritance in C++ D & D Chapter 11. Instructor - Andrew S. O Fallon CptS 122 (October 29, 2018) Washington State University
(11-1) OOP: Inheritance in C++ D & D Chapter 11 Instructor - Andrew S. O Fallon CptS 122 (October 29, 2018) Washington State University Key Concepts Base and derived classes Protected members Inheritance
More information(5 2) Introduction to Classes in C++ Instructor - Andrew S. O Fallon CptS 122 (February 7, 2018) Washington State University
(5 2) Introduction to Classes in C++ Instructor - Andrew S. O Fallon CptS 122 (February 7, 2018) Washington State University Key Concepts Function templates Defining classes with member functions The Rule
More informationSCSP Programming Technique C
Objectives n this chapter, you will learn: To use the arrray data structure to represent lists and tables of values. CHAPTER 1: To define an array, initialize an array and refer to individual elements
More information(5-1) Object-Oriented Programming (OOP) and C++ Instructor - Andrew S. O Fallon CptS 122 (February 4, 2019) Washington State University
(5-1) Object-Oriented Programming (OOP) and C++ Instructor - Andrew S. O Fallon CptS 122 (February 4, 2019) Washington State University Key Concepts 2 Object-Oriented Design Object-Oriented Programming
More informationSelection Statements. Pseudocode
Selection Statements Pseudocode Natural language mixed with programming code Ex: if the radius is negative the program display a message indicating wrong input; the program compute the area and display
More informationSelection Structures II
Lecture 7 Selection Structures II Nested if and switch statements CptS 121 Summer 2016 Armen Abnousi If () if() Nested if statements An if- statement can be placed inside another if- statement. Every matches
More informationWeek 1 Introduction to Computer and Algorithm (Part1) UniMAP Sem II 11/12 DKT121: Basic Computer Programming 1
Week 1 Introduction to Computer and Algorithm (Part1) UniMAP Sem II 11/12 DKT121: Basic Computer Programming 1 General Information Contributes 3 units: 2 hours lectures 2 hours labs and tutorials Main
More informationLab 3. Pointers Programming Lab (Using C) XU Silei
Lab 3. Pointers Programming Lab (Using C) XU Silei slxu@cse.cuhk.edu.hk Outline What is Pointer Memory Address & Pointers How to use Pointers Pointers Assignments Call-by-Value & Call-by-Address Functions
More informationArrays III and Enumerated Types
Lecture 15 Arrays III and Enumerated Types Multidimensional Arrays & enums CptS 121 Summer 2016 Armen Abnousi Multidimensional Arrays So far we have worked with arrays with one dimension. Single dimensional
More informationPointer. Pointer variable
Pointer Pointer variable Pointer variable content is a memory address A variable directly contains a specific value. A pointer, on the other hand, contains an address of a variable that contains a specific
More informationint marks[10]; // fixed size and fixed address No change in Memory address.
Dynamic Memory Allocation : Used When we want to allocate memory during run time. int marks[10]; // fixed size and fixed address No change in Memory address. // fixed size. ( no change in size possible
More informationSOLUTIONS TO EXERCISES PART ONE: Problem-Solving Techniques
SOLUTIONS TO EXERCISES PART ONE: Problem-Solving Techniques 1 Principles of Programming and Software Engineering 1 const CENTS_PER_DOLLAR = 100; void computechange(int dollarcost, int centscost, int& d,
More informationC Pointers. 6th April 2017 Giulio Picierro
C Pointers 6th April 07 Giulio Picierro Functions Return type Function name Arguments list Function body int sum(int a, int b) { return a + b; } Return statement (return keyword
More informationBSM540 Basics of C Language
BSM540 Basics of C Language Chapter 9: Functions I Prof. Manar Mohaisen Department of EEC Engineering Review of the Precedent Lecture Introduce the switch and goto statements Introduce the arrays in C
More informationIntroduction to Computing Lecture 10 Arrays (Part 1)
Introduction to Computing Lecture 10 Arrays (Part 1) Assist.Prof.Dr. Nükhet ÖZBEK Ege University Department of Electrical&Electronics Engineering nukhet.ozbek@ege.edu.tr 1 Topics Arrays Declaration Initialization
More informationChapter 3 Structured Program Development
1 Chapter 3 Structured Program Development Copyright 2007 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 3 - Structured Program Development Outline 3.1 Introduction
More informationCOP 3223 Introduction to Programming with C - Study Union - Fall 2017
COP 3223 Introduction to Programming with C - Study Union - Fall 2017 Chris Marsh and Matthew Villegas Contents 1 Code Tracing 2 2 Pass by Value Functions 4 3 Statically Allocated Arrays 5 3.1 One Dimensional.................................
More informationPointers. Pointers. Pointers (cont) CS 217
Pointers CS 217 Pointers Variables whose values are the addresses of variables Operations address of (reference) & indirection (dereference) * arithmetic +, - Declaration mimics use char *p; *p is a char,
More informationprintf("this program adds the value 10 to a given integer number.\n\n");
PA1 Sample Solution Program 1 void add10(int *n); //Prototype int n; printf("this program adds the value 10 to a given integer number.\n\n"); printf("please enter an integer number: "); scanf("%d", &n);
More informationTOP-DOWN PROCEDURAL PROGRAMMING
TOP-DOWN PROCEDURAL PROGRAMMING Top-down programming is an incremental strategy where you implement the most general modules first and work towards implementing those that provide specific functionality.
More informationClass Information ANNOUCEMENTS
Class Information ANNOUCEMENTS Third homework due TODAY at 11:59pm. Extension? First project has been posted, due Monday October 23, 11:59pm. Midterm exam: Friday, October 27, in class. Don t forget to
More informationET156 Introduction to C Programming
ET156 Introduction to C Programming Unit 1 INTRODUCTION TO C PROGRAMMING: THE C COMPILER, VARIABLES, MEMORY, INPUT, AND OUTPUT Instructor : Stan Kong Email : skong@itt tech.edutech.edu Figure 1.3 Components
More informationC: How to Program. Week /Mar/05
1 C: How to Program Week 2 2007/Mar/05 Chapter 2 - Introduction to C Programming 2 Outline 2.1 Introduction 2.2 A Simple C Program: Printing a Line of Text 2.3 Another Simple C Program: Adding Two Integers
More informationSequential Search (Searching Supplement: 1-2)
(Searching Supplement: 1-2) A sequential search simply involves looking at each item in an array in turn until either the value being searched for is found or it can be determined that the value is not
More information1. The Mac Environment in SIE 1222
Friday, September 1, 2017 Lab Notes Topics for today The Mac Environment C (and Unix) Notes on C Part 1 Program 1 1. The Mac Environment in SIE 1222 a. Turning on the Mac If the Mac is in sleep mode you
More informationCS 108 Computing Fundamentals. October/November Array Bootcamp
CS 108 Computing Fundamentals October/November 2017 Array Bootcamp For arrays: passing to a function "by value" means passing a single element's "contents" For arrays: no more than one element's contents
More informationArrays and Pointers in C. Alan L. Cox
Arrays and Pointers in C Alan L. Cox alc@rice.edu Objectives Be able to use arrays, pointers, and strings in C programs Be able to explain the representation of these data types at the machine level, including
More informationMore Pointers Week 11
More Pointers Week 11 Pointer Variable Normal variables Contain a specific value (direct reference) Pointer variables Contain memory addresses as their values countptr count 7 count 7 Pointer Expressions
More informationLecture 4: Outline. Arrays. I. Pointers II. III. Pointer arithmetic IV. Strings
Lecture 4: Outline I. Pointers A. Accessing data objects using pointers B. Type casting with pointers C. Difference with Java references D. Pointer pitfalls E. Use case II. Arrays A. Representation in
More informationChapter 4: Expressions. Chapter 4. Expressions. Copyright 2008 W. W. Norton & Company. All rights reserved.
Chapter 4: Expressions Chapter 4 Expressions 1 Chapter 4: Expressions Operators Expressions are built from variables, constants, and operators. C has a rich collection of operators, including arithmetic
More informationC Language Part 2 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee
C Language Part 2 (Minor modifications by the instructor) 1 Scope Rules A variable declared inside a function is a local variable Each local variable in a function comes into existence when the function
More informationDecisions II. Switch Statement. If else allows a 2 way decision Switch allows for n-way decisions
Switch Statement If else allows a 2 way decision Switch allows for n-way decisions switch(variable){ case val1: statement; case val2: statement; case val3: statement; default: statement; variable must
More information16.216: ECE Application Programming Fall 2011
16.216: ECE Application Programming Fall 2011 Exam 2 Solution 1. (24 points, 6 points per part) Multiple choice For each of the multiple choice questions below, clearly indicate your response by circling
More informationLecture 14. Arrays II. Selection Sort & Parallel Arrays. CptS 121 Summer 2016 Armen Abnousi
Lecture 14 Arrays II Selection Sort & Parallel Arrays CptS 121 Summer 2016 Armen Abnousi Sorting an array We have seen how to search in an array Often we want to sort our arrays for more efficient future
More informationCSC-140 Assignment 6
CSC-140 Assignment 6 1 Introduction In this assignment we will start out defining our own classes. For now, we will design a class that represents a date, e.g., Tuesday, March 15, 2011, or in short hand
More informationECE495k Final Sample Soln.
Final Sample Soln. ECE495k ECE495k Final Sample Soln. May 3 2008 NAME: There are?? pages (including this one) in this exam. Assessment: This exam is worth a total of 100 points. There are a total of??
More information1. The Mac Environment in Sierra Hall 1242
Wednesday, August 26, 2015 Lab Notes Topics for today The Mac Environment C (and Unix) Notes on C Part 1 Program 1 1. The Mac Environment in Sierra Hall 1242 a. Turning on the Mac If the Mac is in sleep
More informationChapter 2. Section 2.5 while Loop. CS 50 Hathairat Rattanasook
Chapter 2 Section 2.5 while Loop CS 50 Hathairat Rattanasook Loop Iteration means executing a code segment more than once. A loop is an iterative construct. It executes a statement 0..n times while a condition
More informationSlides adopted from T. Ferguson Spring 2016
CSE1311 Introduction to Programming for Science & Engineering Students Mostafa Parchami, Ph.D. Dept. of Comp. Science and Eng., Univ. of Texas at Arlington, USA Slides adopted from T. Ferguson Spring 2016
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 informationCOMP26120: Pointers in C (2018/19) Lucas Cordeiro
COMP26120: Pointers in C (2018/19) Lucas Cordeiro lucas.cordeiro@manchester.ac.uk Organisation Lucas Cordeiro (Senior Lecturer, FM Group) lucas.cordeiro@manchester.ac.uk Office: 2.44 Office hours: 10-11
More informationAPS105. Collecting Elements 10/20/2013. Declaring an Array in C. How to collect elements of the same type? Arrays. General form: Example:
Collecting Elements How to collect elements of the same type? Eg:., marks on assignments: APS105 Arrays Textbook Chapters 6.1-6.3 Assn# 1 2 3 4 5 6 Mark 87 89 77 96 87 79 Eg: a solution in math: x 1, x
More informationCOP 3223 Introduction to Programming with C - Study Union - Fall 2017
COP 3223 Introduction to Programming with C - Study Union - Fall 2017 Chris Marsh and Matthew Villegas Contents 1 Code Tracing 2 2 Pass by Value Functions 4 3 Statically Allocated Arrays 5 3.1 One Dimensional.................................
More informationChapter 6 - Pointers
Chapter 6 - Pointers Outline 1 Introduction 2 Pointer Variable Declarations and Initialization 3 Pointer Operators 4 Calling Functions by Reference 5 Using the const Qualifier with Pointers 6 Bubble Sort
More informationCSCI-1200 Data Structures Fall 2011 Lecture 1 Introduction and Background
Instructor CSCI-1200 Data Structures Fall 2011 Lecture 1 Introduction and Background Professor Barb Cutler 331A Materials Research Center (MRC), x3274 cutler@cs.rpi.edu Today Discussion of Website & Syllabus:
More informationScheme G. Sample Test Paper-I. Course Name : Computer Engineering Group Course Code : CO/CD/CM/CW/IF Semester : Second Subject Tile : Programming in C
Sample Test Paper-I Marks : 25 Time:1 Hrs. Q1. Attempt any THREE 09 Marks a) State four relational operators with meaning. b) State the use of break statement. c) What is constant? Give any two examples.
More informationFundamentals of Programming Session 4
Fundamentals of Programming Session 4 Instructor: Reza Entezari-Maleki Email: entezari@ce.sharif.edu 1 Fall 2011 These slides are created using Deitel s slides, ( 1992-2010 by Pearson Education, Inc).
More informationCS 61C: Great Ideas in Computer Architecture Introduction to C
CS 61C: Great Ideas in Computer Architecture Introduction to C Instructors: Vladimir Stojanovic & Nicholas Weaver http://inst.eecs.berkeley.edu/~cs61c/ 1 Agenda C vs. Java vs. Python Quick Start Introduction
More informationStructured Program Development in C
1 3 Structured Program Development in C 3.2 Algorithms 2 Computing problems All can be solved by executing a series of actions in a specific order Algorithm: procedure in terms of Actions to be executed
More informationLanguage comparison. C has pointers. Java has references. C++ has pointers and references
Pointers CSE 2451 Language comparison C has pointers Java has references C++ has pointers and references Pointers Values of variables are stored in memory, at a particular location A location is identified
More informationassertion: A statement that is either true or false.
Logical assertions assertion: A statement that is either true or false. Examples: Java was created in 1995. The sky is purple. 23 is a prime number. 10 is greater than 20. x divided by 2 equals 7. (depends
More informationCENG 707 Data Structures and Algorithms
CENG 707 Data Structures and Algorithms Tolga Can Department of Computer Engineering Middle East Technical University Fall 2011 1 Instructor: Tolga Can Office: B-109 CENG 707 Email: tcan@ceng.metu.edu.tr
More informationUnited States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017
United States Naval Academy Electrical and Computer Engineering Department EC310-6 Week Midterm Spring AY2017 1. Do a page check: you should have 8 pages including this cover sheet. 2. You have 50 minutes
More informationLecture 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
More informationMemory, Data, & Addressing II CSE 351 Spring
Memory, Data, & Addressing II CSE 351 Spring 2018 http://xkcd.com/138/ Review Questions 1) If the word size of a machine is 64-bits, which of the following is usually true? (pick all that apply) a) 64
More informationDecision Making -Branching. Class Incharge: S. Sasirekha
Decision Making -Branching Class Incharge: S. Sasirekha Branching The C language programs presented until now follows a sequential form of execution of statements. Many times it is required to alter the
More informationLecture 17. Strings II. CptS 121 Summer 2016 Armen Abnousi
Lecture 17 Strings II CptS 121 Summer 2016 Armen Abnousi String concatenation Sometimes we want to put two strings next to each other to make one longer string. firstname = John lastname = Kennedy JohnKennedy
More informationLecture 05 POINTERS 1
Lecture 05 POINTERS 1 Pointers Powerful, but difficult to master Simulate call-by-reference Close relationship with arrays and strings Pointer Variable vs. Normal Variable Normal variables contain a specific
More informationAPSC 160 Review. CPSC 259: Data Structures and Algorithms for Electrical Engineers. Hassan Khosravi Borrowing many questions from Ed Knorr
CPSC 259: Data Structures and Algorithms for Electrical Engineers APSC 160 Review Hassan Khosravi Borrowing many questions from Ed Knorr CPSC 259 Pointers Page 1 Learning Goal Briefly review some key programming
More informationLecture 5. Functions II. Functions with Arguments. CptS 121 Summer 2016 Armen Abnousi
Lecture 5 Functions II Functions with Arguments CptS 121 Summer 2016 Armen Abnousi Remember Functions break problems into smaller pieces Easier to read, test and maintain Functions allow to avoid repetition
More informationUNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING
UNIVERSITY OF TORONTO FACULTY OF APPLIED SCIENCE AND ENGINEERING APS 105 Computer Fundamentals Midterm Examination October 20, 2011 6:15 p.m. 8:00 p.m. (105 minutes) Examiners: J. Anderson, T. Fairgrieve,
More informationCS2351 Data Structures. Lecture 7: A Brief Review of Pointers in C
CS2351 Data Structures Lecture 7: A Brief Review of Pointers in C 1 About this lecture Pointer is a useful object that allows us to access different places in our memory We will review the basic use of
More informationMore examples for Control statements
More examples for Control statements C language possesses such decision making capabilities and supports the following statements known as control or decision-making statements. 1. if statement 2. switch
More informationDECISION MAKING STATEMENTS
DECISION MAKING STATEMENTS If, else if, switch case These statements allow the execution of selective statements based on certain decision criteria. C language provides the following statements: if statement
More informationChapter 8. Arrays, Addresses, and Pointers : Structured Programming Structured Programming 1
Chapter 8 Arrays, Addresses, and Pointers 204112: Structured Programming 204112 Structured Programming 1 Pointer Pointer is a variable that contains an address. If num_ptr is a pointer, *num_ptr means
More informationVariation of Pointers
Variation of Pointers A pointer is a variable whose value is the address of another variable, i.e., direct address of the memory location. Like any variable or constant, you must declare a pointer before
More informationExample: Pointer Basics
Example: Pointer Basics #include int (void) { float a1, a2; /* Simple variables */ float *p1, *p2, *w; /* Pointers to variables of type float */ a1 = 10.0, a2 = 20.0; printf("after a1 = 10.0;
More information1.4 Control Structures: Selection. Department of CSE
1.4 Control Structures: Selection 1 Department of CSE Objectives To understand how decisions are made in a computer To understand the relational operators To understand the logical operators and,or and
More informationChapter 14. Dynamic Data Structures. Instructor: Öğr. Gör. Okan Vardarlı. Copyright 2004 Pearson Addison-Wesley. All rights reserved.
Chapter 14 Dynamic Data Structures Instructor: Öğr. Gör. Okan Vardarlı Copyright 2004 Pearson Addison-Wesley. All rights reserved. 12-1 Dynamic Data Structure Usually, so far, the arrays and strings we
More informationProducts and Records
Products and Records Michael P. Fourman February 2, 2010 1 Simple structured types Tuples Given a value v 1 of type t 1 and a value v 2 of type t 2, we can form a pair, (v 1, v 2 ), containing these values.
More informationA few examples are below. Checking your results in decimal is the easiest way to verify you ve got it correct.
CS107 Handout 22S Spring 2007 May 4, 2007 Assignment 5 Solution Brought to you by Julie Zelenski and Jerry Cain. Problem 1: Binary numbers and bit operations A few examples are below. Checking your results
More informationSOFTWARE Ph.D. Qualifying Exam Spring Consider the following C program, which includes three function definitions, including the main function.
(i) (6 pts.) SOFTWARE Ph.D. Qualifying Exam Spring 2017 Consider the following C program, which includes three function definitions, including the main function. #include #include
More informationReview! * follows a pointer to its value! & gets the address of a variable! Pearce, Summer 2010 UCB! ! int x = 1000; Pearce, Summer 2010 UCB!
CS61C L03 Introduction to C (pt 2) (1)! inst.eecs.berkeley.edu/~cs61c CS61C : Machine Structures Lecture 3 Introduction to C (pt 2) 2010-06-23!!!Instructor Paul Pearce! The typical! development cycle!
More information