Programming Language B
|
|
- Brooke Rich
- 5 years ago
- Views:
Transcription
1 Programming Language B Takako Nemoto (JAIST) 17 December Takako Nemoto (JAIST) 17 December 1 / 17
2 A tip for the last homework 1 Do Exercise 9-5 ( 9-5) in p.249 (in the latest edtion). The type of the second argument of str_char could be changed. Make a function int str_char (const char char s[], int c){... s.t. if a string s contains the character c, then it returns the smallest index of c; otherwise, it returns 1. Make also the function main so that we can input the string and the character you want to search and see the result. Takako Nemoto (JAIST) 17 December 2 / 17
3 Error sample 1 % c is a conversion specifier for single character. The reason this program does not work seems the Enter key at the end of the input of the first string is recognized as the second character input. To avoid it, we can use scanf("%*c%c", &search);. The first %*c means ignore the input. Takako Nemoto (JAIST) 17 December 3 / 17
4 Error sample 2 The reason the second program does not work seems the length of the array search. Since, as we studied last time, the length of the string in the system is always the length of string+'\0'. To avoid the problem, we should change the length of search more than 2. Takako Nemoto (JAIST) 17 December 4 / 17
5 How should we do? #include <stdio.h> /*10-1.c*/ void sum_diff(int n1, int n2, int sum, int diff){ sum = n1 + n2; diff = (n1 > n2)? n1 - n2 : n2 - n1; int na, nb; int wa = 0, sa = 0; puts("input two integers: "); printf("integer 1: "); scanf("%d", &na); printf("integer 2: "); scanf("%d", &nb); sum_diff(na, nb, wa, sa); printf("the sum is %d and the difference is %d.\n", wa, sa); return 0; Takako Nemoto (JAIST) 17 December 5 / 17
6 Why it does not work well? First of all, the function can return only one value. (This is why we set void for the return value of sum_diff.) The function sum_diff calls only the value of na, nb, wa, sa. It does not access the memory location for them, so they cannot rewrite the value of them. Such call of arguments are called call-by-value. Takako Nemoto (JAIST) 17 December 6 / 17
7 Address operator & #include <stdio.h> int n; double x; int a[3]; printf("the address of n: %p\n", &n); printf("the address of x: %p\n", &x); printf("the address of a[0]: %p\n", &a[0]); printf("the address of a[1]: %p\n", &a[1]); printf("the address of a[2]: %p\n", &a[2]); return 0; Takako Nemoto (JAIST) 17 December 7 / 17
8 Address operator & #include <stdio.h> int n; double x; int a[3]; Unary & operator is called address operator. By applying it to an object, it returns the address in the memory location. The conversion specifier %p for addresses stands for pointer. printf("the address of n: %p\n", &n); printf("the address of x: %p\n", &x); printf("the address of a[0]: %p\n", &a[0]); printf("the address of a[1]: %p\n", &a[1]); printf("the address of a[2]: %p\n", &a[2]); return 0; Takako Nemoto (JAIST) 17 December 7 / 17
9 We have already used the address operator. Recall that we used & often in scanf. int n; scanf("%d", &n); This means Install the scaned value into the address of n. Takako Nemoto (JAIST) 17 December 8 / 17
10 Usage of pointers #include <stdio.h> int sato = 178; int sanaka = 175; int masaki = 179; int *isako, *hiroko; isako = &sato; hiroko = &masaki; printf("*isako = %d\n", *isako); printf("*hiroko = %d\n", *hiroko); isako = &sanaka; *hiroko = 180; printf("sato = %d\n", sato); printf("sanaka = %d\n", sanaka); printf("masaki = %d\n", masaki); printf("*isako = %d\n", *isako); printf("*hiroko = %d\n", *hiroko); return 0; Takako Nemoto (JAIST) 17 December 9 / 17
11 Usage of pointers #include <stdio.h> int sato = 178; int sanaka = 175; int masaki = 179; int *isako, *hiroko; isako = &sato; hiroko = &masaki; printf("*isako = %d\n", *isako); printf("*hiroko = %d\n", *hiroko); isako = &sanaka; *hiroko = 180; printf("sato = %d\n", sato); printf("sanaka = %d\n", sanaka); printf("masaki = %d\n", masaki); printf("*isako = %d\n", *isako); printf("*hiroko = %d\n", *hiroko); Variables declared with * is called pointer. In this example, isako and hiroko are pointers. Their type are called pointer type to int-type object, pointer type to int, or int * type. If you declare them as int *isako, hiroko then hiroko has int type. return 0; Takako Nemoto (JAIST) 17 December 9 / 17
12 Usage of pointers #include <stdio.h> int sato = 178; int sanaka = 175; int masaki = 179; int *isako, *hiroko; isako = &sato; hiroko = &masaki; printf("*isako = %d\n", *isako); printf("*hiroko = %d\n", *hiroko); isako = &sanaka; *hiroko = 180; printf("sato = %d\n", sato); printf("sanaka = %d\n", sanaka); printf("masaki = %d\n", masaki); printf("*isako = %d\n", *isako); printf("*hiroko = %d\n", *hiroko); Pointers has the value of addresses of the objects with declared type. When the address of x is assigned into a pointer p, we say p points x. In this example, isako points sato and hiroko points first masaki and changed to sanaka. Unary * operator is applied to pointers and takes the object the pointer points. If the pointer p points the object x, then *p is an alias (alternative name) for x. E.g., *hiroko = 180; has the same meaning masaki = 180;. return 0; Takako Nemoto (JAIST) 17 December 10 / 17
13 Pointers in functions #include <stdio.h> void hiroko(int *height){ if (*height < 180) *height = 180; int sato = 178; int sanaka = 175; int masaki = 179; hiroko(&masaki); printf("sato printf("sanaka printf("masaki = %d\n", sato); = %d\n", sanaka); = %d\n", masaki); The formal arguments int *height in the definition hiroko means it takes an address of int-type object. In the function call, we have to give an address for the argument of hiroko. return 0; Takako Nemoto (JAIST) 17 December 11 / 17
14 Some modification #include <stdio.h> /*10-5.c*/ void sum_diff(int n1, int n2, int *sum, int *diff){ *sum = n1 + n2; *diff = (n1 > n2)? n1 - n2 : n2 -n1; int na, nb; int wa = 0, sa = 0; puts("input two integers: "); printf("integer 1: "); scanf("%d", &na); printf("integer 2: "); scanf("%d", &nb); sum_diff(na, nb, &wa, &sa); printf("the sum is %d and the difference is %d.\n", wa, sa); return 0; Takako Nemoto (JAIST) 17 December 12 / 17
15 Pointers void sum_diff(int n1, int n2, int *sum, int *diff){ *sum = n1 + n2; *diff = (n1 > n2)? n1 - n2 : n2 -n1; The formal arguments int *sum and int *diff in void sum_diff(int n1, int n2, int *sum, int *diff) means that the function takes the address of the variable sum and diff. sum_diff(na, nb, &wa, &sa); Since the 3rd and 4th argument of sum_diff are addresses of int type objects, we have to give the address of wa and sa. The above function call gives the values of na and nb, and the addresses of wa and sa as arguments. In the function body, *sum and *diff act as aliases (alternative names) for wa and sa, respectively. Takako Nemoto (JAIST) 17 December 13 / 17
16 #include <stdio.h>/*10-6.c*/ void swap(int *px, int *py){ int temp = *px; *px = *py; *py = temp; int na, nb; puts("input two integers."); printf("integer A: "); scanf("%d", &na); printf("integer B: "); scanf("%d", &nb); swap(&na, &nb); puts("swap A and B!"); printf("integer A: %d\n", na); printf("integer B: %d\n", nb); return 0; Takako Nemoto (JAIST) 17 December 14 / 17
17 #include <stdio.h> void swap(int *px, int *py){ int temp = *px; *px = *py; *py = temp; void sort2(int *n1, int *n2){ if (*n1 > *n2) swap(n1, n2); In swap(n1, n2);, we don t need & in front of n1 and n2, since they declared as pointers and so has the value of some addresses. int na, nb; puts("input two integers."); printf("integer A: "); scanf("%d", &na); printf("integer B: "); scanf("%d", &nb); sort2(&na, &nb); puts("result of sorting in ascending order:"); printf("integer A: %d\n", na); printf("integer B: %d\n", nb); return 0; Takako Nemoto (JAIST) 17 December 15 / 17
18 #include <stdio.h> /*10-8.c*/ void swap(int *px, int *py){ int temp = *px; *px = *py; *py = temp; double da, db; puts("input two real numbers."); printf("a: "); scanf("%lf", &da); printf("b: "); scanf("%lf", &db); swap(&da, &db); puts("result of sorting in ascending order:"); printf("a: %f\n", da); printf("b: %f\n", db); return 0; Takako Nemoto (JAIST) 17 December 16 / 17
19 Today s homework 1 Do Exercise 10-1 ( 10-1): Make a function void adjust_value(int *n) s.t. if the value pointed by n is smaller than 0, then it updates the value as 0 and if the value is greater than 100, then it updates the value as 100. Make also main function so that the user can input the value and can see the value updated by the above function. 2 Do Exercise 10-3 ( 10-3): Make a function void sort3(int *n1, int *n2, int *n3) s.t. it sorts the 3 values pointed by n1, n2 and n3 in ascending order. Make also the main function so that the user can input 3 values and can see the result of sorting. 3 Read sections 10 and 11. As usual, send the programs and the text file as attached files to me via , with the title Homework Lecture 10 by the next lecture. Please make sure to include your name and student ID number. Takako Nemoto (JAIST) 17 December 17 / 17
Programming Language B
Programming Language B Takako Nemoto (JAIST) 7 January Takako Nemoto (JAIST) 7 January 1 / 13 Usage of pointers #include int sato = 178; int sanaka = 175; int masaki = 179; int *isako, *hiroko;
More informationProgramming Language A
Programming Language A Takako Nemoto (JAIST) 22 October Takako Nemoto (JAIST) 22 October 1 / 28 From Homework 2 Homework 2 1 Write a program calculate something with at least two integer-valued inputs,
More informationProgramming Language B
Programming Language B Takako Nemoto (JAIST) 3 December Takako Nemoto (JAIST) 3 December 1 / 18 Today s topics 1 Function-like macro 2 Sorting 3 Enumeration 4 Recursive definition of functions 5 Input/output
More informationProgramming Language B
Programming Language B Takako Nemoto (JAIST) 21 January Takako Nemoto (JAIST) 21 January 1 / 18 Today s quiz The following is a which returns 0 if s1 and s2 are same, a negative number if s1 is prior to
More informationProgramming Language A
Programming Language A Takako Nemoto (JAIST) 12 November Takako Nemoto (JAIST) 12 November 1 / 25 From Quiz 5 // A program to print the double of the input. int no printf("input an integer: "); scanf("%d",
More informationProgramming Language B
Programming Language B Takako Nemoto (JAIST) 16 January Takako Nemoto (JAIST) 16 January 1 / 15 Strings and pointers #include //11-1.c char str[] = "ABC"; char *ptr = "123"; printf("str = \"%s\"\n",
More informationProgramming Language B
Programming Language B Takako Nemoto (JAIST) 10 December Takako Nemoto (JAIST) 10 December 1 / 15 Strings A string literal is a strings of characters included by double quotations. Examples String literals
More informationProgramming Language A
Programming Language A Takako Nemoto (JAIST) 26 November Takako Nemoto (JAIST) 26 November 1 / 12 Type char char is a datatype for characters. char express integers in certain region. For each ASCII character,
More informationProgramming Language A
Programming Language A Takako Nemoto (JAIST) 30 October Takako Nemoto (JAIST) 30 October 1 / 29 From Homework 3 Homework 3 1 Write a program to convert the input Celsius degree temperature into Fahrenheight
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 informationCS113: Lecture 5. Topics: Pointers. Pointers and Activation Records
CS113: Lecture 5 Topics: Pointers Pointers and Activation Records 1 From Last Time: A Useless Function #include void get_age( int age ); int age; get_age( age ); printf( "Your age is: %d\n",
More informationPointers and Structure. Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island
Pointers and Structure Bin Li Assistant Professor Dept. of Electrical, Computer and Biomedical Engineering University of Rhode Island 1 Pointer Variables Each variable in a C program occupies space in
More informationFunctions. Arash Rafiey. September 26, 2017
September 26, 2017 are the basic building blocks of a C program. are the basic building blocks of a C program. A function can be defined as a set of instructions to perform a specific task. are the basic
More informationProgramming Language B
Programming Language B Takako Nemoto (JAIST) 28 January Takako Nemoto (JAIST) 28 January 1 / 20 Today s quiz The following are program to print each member of the struct Student type object abe. Fix the
More informationComputer Science & Engineering 150A Problem Solving Using Computers
Computer Science & Engineering 150A Problem Solving Using Computers Lecture 06 - Stephen Scott Adapted from Christopher M. Bourke 1 / 30 Fall 2009 Chapter 8 8.1 Declaring and 8.2 Array Subscripts 8.3 Using
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 13, SPRING 2013
CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 13, SPRING 2013 TOPICS TODAY Reminder: MIDTERM EXAM on THURSDAY Pointer Basics Pointers & Arrays Pointers & Strings Pointers & Structs
More informationPointers (part 1) What are pointers? EECS We have seen pointers before. scanf( %f, &inches );! 25 September 2017
Pointers (part 1) EECS 2031 25 September 2017 1 What are pointers? We have seen pointers before. scanf( %f, &inches );! 2 1 Example char c; c = getchar(); printf( %c, c); char c; char *p; c = getchar();
More informationLecture 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
More informationC/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
More informationC/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
More informationProcedural programming with C
Procedural programming with C Dr. C. Constantinides Department of Computer Science and Software Engineering Concordia University Montreal, Canada August 11, 2016 1 / 77 Functions Similarly to its mathematical
More informationArray1.c. all arrays start at 0 sometimes known as a list
Learning Outcomes 1) EXPLAIN AND APPLY THE CONCEPT OF A PROCEDURAL PROGRAMMING PARADIGM AND APPLY THE ASSOCIATED DESIGN PRINCIPLES TO A RANGE OF PROBLEM SOLUTIONS 2) BE ABLE TO DESIGN, IMPLEMENT, AND DOCUMENT
More information3/22/2016. Pointer Basics. What is a pointer? C Language III. CMSC 313 Sections 01, 02. pointer = memory address + type
Pointer Basics What is a pointer? pointer = memory address + type C Language III CMSC 313 Sections 01, 02 A pointer can contain the memory address of any variable type A primitive (int, char, float) An
More informationChapter 4. Section 4.4 Passing Parameters to Functions. CS 50 Hathairat Rattanasook
Chapter 4 Section 4.4 Passing Parameters to Functions CS 50 Hathairat Rattanasook Passing parameters Pass by Value: The variable is copied during the function call and a local copy of the variable exists
More information10/20/2015. Midterm Topic Review. Pointer Basics. C Language III. CMSC 313 Sections 01, 02. Adapted from Richard Chang, CMSC 313 Spring 2013
Midterm Topic Review Pointer Basics C Language III CMSC 313 Sections 01, 02 1 What is a pointer? Why Pointers? Pointer Caution pointer = memory address + type A pointer can contain the memory address of
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 28, 2008 12:20 p.m. 1:50 p.m. Examiners: Jason Anderson, Tom Fairgrieve, Baochun
More informationPointers. Pointer Variables. Chapter 11. Pointer Variables. Pointer Variables. Pointer Variables. Declaring Pointer Variables
Chapter 11 Pointers The first step in understanding pointers is visualizing what they represent at the machine level. In most modern computers, main memory is divided into bytes, with each byte capable
More informationModule 07: Programming in C++
: Programming in C++ & Pointer Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur ppd@cse.iitkgp.ernet.in Tanwi Mallick Srijoni Majumdar Himadri B G S Bhuyan NPTEL
More informationLecture 5: Multidimensional Arrays. Wednesday, 11 February 2009
Lecture 5: Multidimensional Arrays CS209 : Algorithms and Scientific Computing Wednesday, 11 February 2009 CS209 Lecture 5: Multidimensional Arrays 1/20 In today lecture... 1 Let s recall... 2 Multidimensional
More informationMore on Arrays CS 16: Solving Problems with Computers I Lecture #13
More on Arrays CS 16: Solving Problems with Computers I Lecture #13 Ziad Matni Dept. of Computer Science, UCSB Announcements Homework #12 due today No homework assigned today!! Lab #7 is due on Monday,
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 13, FALL 2012
CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 13, FALL 2012 TOPICS TODAY Project 5 Pointer Basics Pointers and Arrays Pointers and Strings POINTER BASICS Java Reference In Java,
More informationStructured programming
Exercises 9 Version 1.0, 13 December, 2016 Table of Contents 1. Remainders from lectures.................................................... 1 1.1. What is a pointer?.......................................................
More informationBasic and Practice in Programming Lab7
Basic and Practice in Programming Lab7 Variable and Its Address (1/2) What is the variable? Abstracted representation of allocated memory Having address & value Memory address 10 0x00000010 a int a = 10;
More informationLecture 16. Daily Puzzle. Functions II they re back and they re not happy. If it is raining at midnight - will we have sunny weather in 72 hours?
Lecture 16 Functions II they re back and they re not happy Daily Puzzle If it is raining at midnight - will we have sunny weather in 72 hours? function prototypes For the sake of logical clarity, the main()
More informationLecture06: Pointers 4/1/2013
Lecture06: Pointers 4/1/2013 Slides modified from Yin Lou, Cornell CS2022: Introduction to C 1 Pointers A ointer is a variable that contains the (memory) address of another variable What is a memory address?
More informationAt the end of this module, the student should be able to:
INTRODUCTION One feature of the C language which can t be found in some other languages is the ability to manipulate pointers. Simply stated, pointers are variables that store memory addresses. This is
More informationMaterials covered in this lecture are: A. Completing Ch. 2 Objectives: Example of 6 steps (RCMACT) for solving a problem.
60-140-1 Lecture for Thursday, Sept. 18, 2014. *** Dear 60-140-1 class, I am posting this lecture I would have given tomorrow, Thursday, Sept. 18, 2014 so you can read and continue with learning the course
More informationESc101: Pointers and Arrays
ESc101: Pointers and Arrays Instructor: Krithika Venkataramani Semester 2, 2011-2012 1 The content of some of these slides are from the lecture slides of Prof. Arnab Bhattacharya 2 1 Movie Theater Seat
More informationEngineering program development 6. Edited by Péter Vass
Engineering program development 6 Edited by Péter Vass Variables When we define a variable with its identifier (name) and type in the source code, it will result the reservation of some memory space for
More informationProgramming in OOP/C++
Introduction Lecture 3-2 Programming in OOP/C++ Arrays Part (2) By Assistant Professor Dr. Ali Kattan 1 Arrays Examples Solutions for previous assignments Write a program to enter and store your name and
More informationOnline Judge and C. Roy Chan. January 12, Outline Information Online Judge Introduction to C. CSC2100B Data Structures Tutorial 1
Roy Chan CSC2100B Data Structures Tutorial 1 January 12, 2009 1 / 38 1 Information Your TA team Course Information Assignment 2 Online Judge Writing Your Assignment Program Submitting Your Program Online
More informationBİL200 TUTORIAL-EXERCISES Objective:
Objective: The purpose of this tutorial is learning the usage of -preprocessors -header files -printf(), scanf(), gets() functions -logic operators and conditional cases A preprocessor is a program that
More informationIntroduction to Scientific Computing and Problem Solving
Introduction to Scientific Computing and Problem Solving Lecture #22 Pointers CS4 - Introduction to Scientific Computing and Problem Solving 2010-22.0 Announcements HW8 due tomorrow at 2:30pm What s left:
More informationpointers + memory double x; string a; int x; main overhead int y; main overhead
pointers + memory computer have memory to store data. every program gets a piece of it to use as we create and use more variables, more space is allocated to a program memory int x; double x; string a;
More informationCopyright The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Chapter 18 I/O in C Standard C Library I/O commands are not included as part of the C language. Instead, they are part of the Standard C Library. A collection of functions and macros that must be implemented
More informationITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University
ITC213: STRUCTURED PROGRAMMING Bhaskar Shrestha National College of Computer Studies Tribhuvan University Lecture 10: Arrays Readings: Chapter 9 Introduction Group of same type of variables that have same
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 informationStructured programming. Exercises 3
Exercises 3 Table of Contents 1. Reminder from lectures...................................................... 1 1.1. Relational operators..................................................... 1 1.2. Logical
More informationSubject: Fundamental of Computer Programming 2068
Subject: Fundamental of Computer Programming 2068 1 Write an algorithm and flowchart to determine whether a given integer is odd or even and explain it. Algorithm Step 1: Start Step 2: Read a Step 3: Find
More informationWorksheet 4 Basic Input functions and Mathematical Operators
Name: Student ID: Date: Worksheet 4 Basic Input functions and Mathematical Operators Objectives After completing this worksheet, you should be able to Use an input function in C Declare variables with
More informationA brief intro to pointers for the purposes of passing reference parameters
A brief intro to pointers for the purposes of passing reference parameters With respect to functions, we have only talked about pass by value parameters. Today we will discuss pass by reference parameters.
More informationCMPT 102 Introduction to Scientific Computer Programming. Input and Output. Your first program
CMPT 102 Introduction to Scientific Computer Programming Input and Output Janice Regan, CMPT 102, Sept. 2006 0 Your first program /* My first C program */ /* make the computer print the string Hello world
More informationDepartment of Computer Science & Engineering Indian Institute of Technology Kharagpur. Practice Sheet #07. Topic: Pointer in C Date:
Department of Computer Science & Engineering Indian Institute of Technology Kharagpur Practice Sheet #07 Topic: Pointer in C Date: 23-02-2017 1. Assume the following C variable declaration int *A [10],
More informationGoals of this Lecture
C Pointers Goals of this Lecture Help you learn about: Pointers and application Pointer variables Operators & relation to arrays 2 Pointer Variables The first step in understanding pointers is visualizing
More informationFunctions BCA-105. Few Facts About Functions:
Functions When programs become too large and complex and as a result the task of debugging, testing, and maintaining becomes difficult then C provides a most striking feature known as user defined function
More informationProgramming & Data Structure Laboratory. Day 2, July 24, 2014
Programming & Data Structure Laboratory Day 2, July 24, 2014 Loops Pre and post test loops for while do-while switch-case Pre-test loop and post-test loop Condition checking True Loop Body False Loop Body
More informationC PROGRAMMING Lecture 4. 1st semester
C PROGRAMMING Lecture 4 1st semester 2017-2018 Structures Structure: Collection of one or more variables a tool for grouping heterogeneous elements together (different types) Array: a tool for grouping
More informationSlide 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
More informationECE15: Homework 10. void wordstats(file *fp, char string[]) { void printfrequencies(file *fp) {
ECE15: Homework 10 Recall that in the Unix dialogues shown below, we denote the prompt by ( )$ and show user input in red and computer output in black. We indicate a single space by in computer output,
More informationThe Compilation Process
Crash Course in C Lecture 2 Moving from Python to C: The compilation process Differences between Python and C Variable declaration and strong typing The memory model: data vs. address The Compilation Process
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 informationChapter 7 C Pointers
Chapter 7 C Pointers Objectives of This Chapter Definition and Operations with Pointers Using Pointers to pass arguments as call by reference call. Using Pointers to deal with arrays and strings. Character
More informationUNIVERSITY OF WINDSOR Fall 2007 QUIZ # 2 Solution. Examiner : Ritu Chaturvedi Dated :November 27th, Student Name: Student Number:
UNIVERSITY OF WINDSOR 60-106-01 Fall 2007 QUIZ # 2 Solution Examiner : Ritu Chaturvedi Dated :November 27th, 2007. Student Name: Student Number: INSTRUCTIONS (Please Read Carefully) No calculators allowed.
More informationCSE101-lec#12. Designing Structured Programs Introduction to Functions. Created By: Amanpreet Kaur & Sanjeev Kumar SME (CSE) LPU
CSE101-lec#12 Designing Structured Programs Introduction to Functions Created By: Amanpreet Kaur & Sanjeev Kumar SME (CSE) LPU Outline Designing structured programs in C: Counter-controlled repetition
More informationPrinciples of Programming. Chapter 6: Arrays
Chapter 6: Arrays In this chapter, you will learn about Introduction to Array Array declaration Array initialization Assigning values to array elements Reading values from array elements Simple Searching
More informationAN OVERVIEW OF C, PART 3. CSE 130: Introduction to Programming in C Stony Brook University
AN OVERVIEW OF C, PART 3 CSE 130: Introduction to Programming in C Stony Brook University FANCIER OUTPUT FORMATTING Recall that you can insert a text field width value into a printf() format specifier:
More informationLecture 9 - C Functions
ECET 264 C Programming Language with Applications Lecture 9 C Functions Paul I. Lin Professor of Electrical & Computer Engineering Technology http://www.etcs.ipfw.edu/~lin Lecture 9- Prof. Paul I. Lin
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 informationFunctions in C. Lecture Topics. Lecture materials. Homework. Machine problem. Announcements. ECE 190 Lecture 16 March 9, 2011
Functions in C Lecture Topics Introduction to using functions in C Syntax Examples Memory allocation for variables Lecture materials Textbook 14.1-14.2, 12.5 Homework Machine problem MP3.2 due March 18,
More informationArrays. An array is a collection of several elements of the same type. An array variable is declared as array name[size]
(November 10, 2009 2.1 ) Arrays An array is a collection of several elements of the same type. An array variable is declared as type array name[size] I The elements are numbered as 0, 1, 2... size-1 I
More informationArrays Arrays and pointers Loops and performance Array comparison Strings. John Edgar 2
CMPT 125 Arrays Arrays and pointers Loops and performance Array comparison Strings John Edgar 2 Python a sequence of data access elements with [index] index from [0] to [len-1] dynamic length heterogeneous
More informationBITG 1113: POINTER LECTURE 12
BITG 1113: POINTER LECTURE 12 1 LEARNING OUTCOMES At the end of this lecture, you should be able to: 1. Describe the concept of pointer. 2. Write declaration and initialization of a pointer. 3. Do arithmetic
More informationSYSC 2006 C Winter 2012
SYSC 2006 C Winter 2012 Pointers and Arrays Copyright D. Bailey, Systems and Computer Engineering, Carleton University updated Sept. 21, 2011, Oct.18, 2011,Oct. 28, 2011, Feb. 25, 2011 Memory Organization
More informationQ1: Multiple choice / 20 Q2: C input/output; operators / 40 Q3: Conditional statements / 40 TOTAL SCORE / 100 EXTRA CREDIT / 10
EECE.2160: ECE Application Programming Spring 2016 Exam 1 February 19, 2016 Name: Section (circle 1): 201 (8-8:50, P. Li) 202 (12-12:50, M. Geiger) For this exam, you may use only one 8.5 x 11 double-sided
More informationRunning a C program Compilation Python and C Variables and types Data and addresses Functions Performance. John Edgar 2
CMPT 125 Running a C program Compilation Python and C Variables and types Data and addresses Functions Performance John Edgar 2 Edit or write your program Using a text editor like gedit Save program with
More informationQ1: Functions / 33 Q2: Arrays / 47 Q3: Multiple choice / 20 TOTAL SCORE / 100 Q4: EXTRA CREDIT / 10
EECE.2160: ECE Application Programming Spring 2018 Exam 2 March 30, 2018 Name: Lecture time (circle 1): 8-8:50 (Sec. 201) 12-12:50 (Sec. 202) For this exam, you may use only one 8.5 x 11 double-sided page
More informationOutline. Computer Memory Structure Addressing Concept Introduction to Pointer Pointer Manipulation Summary
Pointers 1 2 Outline Computer Memory Structure Addressing Concept Introduction to Pointer Pointer Manipulation Summary 3 Computer Memory Revisited Computers store data in memory slots Each slot has an
More informationDECLARAING AND INITIALIZING POINTERS
DECLARAING AND INITIALIZING POINTERS Passing arguments Call by Address Introduction to Pointers Within the computer s memory, every stored data item occupies one or more contiguous memory cells (i.e.,
More informationPointers. Part VI. 1) Introduction. 2) Declaring Pointer Variables. 3) Using Pointers. 4) Pointer Arithmetic. 5) Pointers and Arrays
EE105: Software Engineering II Part 6 Pointers page 1 of 19 Part VI Pointers 1) Introduction 2) Declaring Pointer Variables 3) Using Pointers 4) Pointer Arithmetic 5) Pointers and Arrays 6) Pointers and
More informationEM108 Software Development for Engineers
EE108 Section 6 Pointers page 1 of 20 EM108 Software Development for Engineers Section 6 - Pointers 1) Introduction 2) Declaring Pointer Variables 3) Using Pointers 4) Pointer Arithmetic 5) Pointers and
More informationPhysics 2660: Fundamentals of Scientific Computing. Lecture 3 Instructor: Prof. Chris Neu
Physics 2660: Fundamentals of Scientific Computing Lecture 3 Instructor: Prof. Chris Neu (chris.neu@virginia.edu) Announcements Weekly readings will be assigned and available through the class wiki home
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 informationArray Lesson 1 Outline
Outline 1. Outline 2. mean of a List of Numbers 3. mean: Declarations 4. mean: Greeting, Input 5. mean: Calculation 6. mean: Output 7. mean: Compile, Run 8. mean: 5 Input Values 9. mean: 7 Input Values
More informationEECE.2160: ECE Application Programming Fall 2017
EECE.2160: ECE Application Programming Fall 2017 1. (46 points) C input/output; operators Exam 1 Solution a. (13 points) Show the output of the short program below exactly as it will appear on the screen.
More informationPointers and Output Parameters
CSE / ENGR 142 Programming I Pointers and Output Parameters Chapter 6 6.1 Output Parameters 6.2 Multiple calls to functions with output parameters 6.3 Scope of Names 6.4 Passing Output Parameters to other
More informationFundamentals of Programming. Lecture 3: Introduction to C Programming
Fundamentals of Programming Lecture 3: Introduction to C Programming Instructor: Fatemeh Zamani f_zamani@ce.sharif.edu Sharif University of Technology Computer Engineering Department Outline A Simple C
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 informationPointer Basics. Lecture 13 COP 3014 Spring March 28, 2018
Pointer Basics Lecture 13 COP 3014 Spring 2018 March 28, 2018 What is a Pointer? A pointer is a variable that stores a memory address. Pointers are used to store the addresses of other variables or memory
More informationPointers. Lecture 2 Sections Robb T. Koether. Hampden-Sydney College. Fri, Jan 18, 2013
Pointers Lecture 2 Sections 10.3-10.8 Robb T. Koether Hampden-Sydney College Fri, Jan 18, 2013 Robb T. Koether (Hampden-Sydney College) Pointers Fri, Jan 18, 2013 1 / 35 1 Introduction 2 Pointer Arithmetic
More informationComputer Programming Lecture 12 Pointers
Computer Programming Lecture 2 Pointers Assist.Prof.Dr. Nükhet ÖZBEK Ege University Department of Electrical & Electronics Engineering nukhet.ozbek@ege.edu.tr Topics Introduction to Pointers Pointers and
More informationCSCI 2132 Software Development. Lecture 17: Functions and Recursion
CSCI 2132 Software Development Lecture 17: Functions and Recursion Instructor: Vlado Keselj Faculty of Computer Science Dalhousie University 15-Oct-2018 (17) CSCI 2132 1 Previous Lecture Example: binary
More informationIntroduction to Pointers in C. Address operator. Pointers. Readings: CP:AMA 11, 17.7
Introduction to Pointers in C Readings: CP:AMA 11, 17.7 CS 136 Fall 2017 06: Pointers 1 Address operator C was designed to give programmers low-level access to memory and expose the underlying memory model.
More informationStructured programming
Exercises 6 Version 1.0, 25 October, 2016 Table of Contents 1. Arrays []................................................................... 1 1.1. Declaring arrays.........................................................
More informationSlides adopted from T. Ferguson Spring 2016
CSE3 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 06 Pointers
More informationCGS 3460 Summer 07 Midterm Exam
Short Answer 3 Points Each 1. What would the unix command gcc somefile.c -o someotherfile.exe do? 2. Name two basic data types in C. 3. A pointer data type holds what piece of information? 4. This key
More informationC and Programming Basics
Announcements Assignment 1 Will be posted on Wednesday, Jan. 9 Due Wednesday, Jan. 16 Piazza Please sign up if you haven t already https://piazza.com/sfu.ca/spring2019/cmpt125 Lecture notes Posted just
More informationComputer Science II CSci 1200 Test 1 Overview and Practice
Computer Science II CSci 1200 Test 1 Overview and Practice Overview Test 1 will be held Tuesday, February 13, 2007, 2:00-3:30pm, West Hall Auditorium. No make-ups will be given except for emergency situations,
More informationC Pointers. 7.2 Pointer Variable Definitions and Initialization
1 7 C Pointers 7.2 Pointer Variable Definitions and Initialization Pointer variables Contain memory addresses as their values Normal variables contain a specific value (direct reference) Pointers contain
More informationFundamental of Programming (C)
Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi Lecture 8 Array typical problems, Search, Sorting Department of Computer Engineering Outline
More information2. Numbers In, Numbers Out
COMP1917: Computing 1 2. Numbers In, Numbers Out Reading: Moffat, Chapter 2. COMP1917 15s2 2. Numbers In, Numbers Out 1 The Art of Programming Think about the problem Write down a proposed solution Break
More information