Assignment #6 Answers
|
|
- Magnus Cobb
- 5 years ago
- Views:
Transcription
1 Assignment #6 Answers Introductory C Programming UW Experimental College Assignment #6 ANSWERS Question 1. If we say int i = 5; int *ip = &i; then what is ip? What is its value? ip is a variable which can point to an int (that is, its value will be a pointer to an int; or informally, we say that ip is ``a pointer to an int''). Its value is a pointer which points to the variable i. Question 2. If ip is a pointer to an int, what does ip++ mean? What does *ip++ = 0 do? ip++ means about the same as it does for any other variable: increment it by 1, that is, as if we had written ip = ip + 1. In the case of a pointer, this means to make it point to the object (the int) one past the one it used to. *ip++ = 0 sets the int variable pointed to by ip to 0, and then increments ip to point to the next int. Question 3. How much memory does the call malloc(10) allocate? What if you want enough memory for 10 ints? malloc(10) allocates 10 bytes, which is enough space for 10 chars. To allocate space for 10 ints, you could call malloc(10 * sizeof(int)). Question 4. If char and int pointers are different, how is it possible to write char *cp = malloc(10); int *ip = malloc(sizeof(int)); without error on either line? malloc is declared as returning the special, ``generic'' pointer type void *, which can be (and is) automatically converted to different pointer types, as needed. Exercise 1. Write a program to read lines and print only those containing a certain word. #include <string.h> (1 of 11)10/31/2005 2:33:28 PM
2 extern int getline(char [], int); int main() char line[100]; char *pat = "hello"; while(getline(line, 100)!= EOF) if(strstr(line, pat)!= NULL) printf("%s\n", line); Exercise 2. Rewrite the checkbook-balancing program to use the getwords function to make it easy to take the word ``check'' or ``deposit'', and the amount, from a single line. #include <stdlib.h> /* for atof() */ #define MAXLINE 100 #define MAXWORDS 10 extern int getline(char [], int); extern int getwords(char *, char *[], int); int main() double balance = 0.0; char line[maxline]; char *words[maxwords]; int nwords; while (getline(line, MAXLINE) > 0) nwords = getwords(line, words, MAXWORDS); if(nwords == 0) /* blank line */ continue; (2 of 11)10/31/2005 2:33:28 PM
3 if(strcmp(words[0], "deposit") == 0) if(nwords < 2) printf("missing amount\n"); continue; balance += atof(words[1]); else if(strcmp(words[0], "check") == 0) if(nwords < 2) printf("missing amount\n"); continue; balance -= atof(words[1]); else printf("bad data line: \"%s\"\n", words[0]); continue; printf("balance: %.2f\n", balance); Exercise 3. Rewrite the line-reversing function to use pointers. Here is one way: int reverse(char *string) char *lp = string; /* left pointer */ char *rp = &string[strlen(string)-1]; /* right pointer */ char tmp; while(lp < rp) tmp = *lp; *lp = *rp; *rp = tmp; (3 of 11)10/31/2005 2:33:28 PM
4 lp++; rp--; Exercise 4. Rewrite the character-counting function to use pointers. int countnchars(char *string, int ch) char *p; int count = 0; for(p = string; *p!= '\0'; p++) if(*p == ch) count++; return count; Exercise 5. Rewrite the string concatenation program to call malloc to allocate memory for the concatenated result. #include <stdlib.h> /* for malloc */ #include <string.h> /* for strcpy and strcat */ #define MAXLINE 100 extern int getline(char [], int); int main() char string1[maxline], string2[maxline]; int len1, len2; char *newstring; printf("enter first string:\n"); len1 = getline(string1, 100); printf("enter second string:\n"); len2 = getline(string2, 100); if(len1 == EOF len2 == EOF) (4 of 11)10/31/2005 2:33:28 PM
5 newstring = malloc(len1 + len2 + 1); /* +1 for \0 */ if(newstring == NULL) strcpy(newstring, string1); strcat(newstring, string2); printf("%s\n", newstring); Exercise 6. Rewrite the string-replacing function to use pointers. Here is one way: void replace(char string[], char *from, char *to) char *start, *p1, *p2; for(start = string; *start!= '\0'; start++) p1 = from; p2 = start; while(*p1!= '\0') if(*p1!= *p2) break; p1++; p2++; if(*p1 == '\0') for(p1 = to; *p1!= '\0'; p1++) *start++ = *p1; return; (5 of 11)10/31/2005 2:33:28 PM
6 The bulk of this code is a copy of the mystrstr function in the notes, chapter 10, section 10.4, p. 8. (Since strstr's job is to find one string within another, it's a natural for the first half of replace.) We could also call strstr directly, simplifying replace: #include <string.h> void replace(char string[], char *from, char *to) char *p1; char *start = strstr(string, from); if(start!= NULL) for(p1 = to; *p1!= '\0'; p1++) *start++ = *p1; return; Again, we might wonder about the case when the string to be edited contains multiple occurrences of the from string, and ask whether replace should replace the first one, or all of them. The problem statement didn't make this detail clear. Our first two implementations have replaced only the first occurrence. It happens, though, that it's trivial to rewrite our first version to make it replace all occurrences--just omit the return after the first string has been replaced: void replace(char string[], char *from, char *to) char *start, *p1, *p2; for(start = string; *start!= '\0'; start++) p1 = from; p2 = start; while(*p1!= '\0') if(*p1!= *p2) break; p1++; p2++; if(*p1 == '\0') for(p1 = to; *p1!= '\0'; p1++) (6 of 11)10/31/2005 2:33:28 PM
7 *start++ = *p1; Rewriting the second version wouldn't be much harder. Exercise 7. Write a program to read lines of text up to EOF, and then print them out in reverse order. One of the reasons this program is harder is that it uses pointers to pointers. When we used pointers to simulate an array of integers, we used pointers to integers. In this program, we want to simulate an array of strings, or an array of pointers to characters. Therefore, we use pointers to pointers to characters, or char **. #include <stdlib.h> extern int getline(char [], int); #define MAXLINE 100 int main() int i; char line[maxline]; char **lines; int nalloc, nitems; nalloc = 10; lines = malloc(nalloc * sizeof(char *)); if(lines == NULL) nitems = 0; while(getline(line, MAXLINE)!= EOF) if(nitems >= nalloc) (7 of 11)10/31/2005 2:33:28 PM
8 char **newp; nalloc += 10; newp = realloc(lines, nalloc * sizeof(char *)); if(newp == NULL) lines = newp; lines[nitems] = malloc(strlen(line) + 1); strcpy(lines[nitems], line); nitems++; for(i = nitems - 1; i >= 0; i--) printf("%s\n", lines[i]); Notice that for each line we read, we call malloc to allocate space for a copy of it, and then use strcpy to make the copy. We could not simply set lines[nitems++] = line; each time, because line is a single array, which can only hold one line, and it gets overwritten with the contents of each input line. (In other words, if we didn't call malloc and make a copy, we'd end up at the end with only the last line. You might try it to see what happens.) Extra credit: remove the restriction imposed by the fixed-size array; allow the program to accept arbitrarily-long lines. First we will write another version of getline, called mgetline. mgetline calls malloc and realloc to get enough memory for the line it's currently reading, regardless of how long that line is. mgetline returns a pointer to the allocated memory; therefore, the caller does not have to pass an array for mgetline to read into. (It will be the caller's responsibility to free the memory when it doesn't need the line of text any more.) #include <stdlib.h> (8 of 11)10/31/2005 2:33:28 PM
9 char *mgetline() char *line; int nalloc = 10; int nch = 0; int c; line = malloc(nalloc + 1); if(line == NULL) while((c = getchar())!= EOF) if(c == '\n') break; if(nch >= nalloc) char *newp; nalloc += 10; newp = realloc(line, nalloc + 1); if(newp == NULL) line = newp; line[nch++] = c; if(c == EOF && nch == 0) free(line); return NULL; line[nch] = '\0'; (9 of 11)10/31/2005 2:33:28 PM
10 return line; Now we can rewrite the line-reversing program to call mgetline. Note that we no longer need the local line array. Instead, we use a pointer, linep, which holds the return value from mgetline. Since mgetline returns a new pointer to a new block of memory each time we call it, in this program (unlike the previous one) we can set lines[nitems++] = linep; without overwriting anything. #include <stdlib.h> extern char *mgetline(); int main() int i; char *linep; char **lines; int nalloc, nitems; nalloc = 10; lines = malloc(nalloc * sizeof(char *)); if(lines == NULL) nitems = 0; while((linep = mgetline())!= NULL) if(nitems >= nalloc) char **newp; nalloc += 10; newp = realloc(lines, nalloc * sizeof(char *)); if(newp == NULL) (10 of 11)10/31/2005 2:33:28 PM
11 lines = newp; lines[nitems++] = linep; for(i = nitems - 1; i >= 0; i--) printf("%s\n", lines[i]); This page by Steve Summit // Copyright // mail feedback (11 of 11)10/31/2005 2:33:28 PM
Assignment #5 Answers
Assignment #5 Answers Introductory C Programming UW Experimental College Assignment #5 ANSWERS Question 1. What's wrong with #define N 10;? The semicolon at the end of the line will become part of N's
More informationAssignment #2 Answers
Assignment #2 Answers Intermediate C Programming UW Experimental College Assignment #2 ANSWERS Question 1. List some differences between text and binary data files. Text files store lines of characters,
More informationIntroduction to C. CS2023 Winter 2004
Introduction to C CS2023 Winter 2004 Outcomes: Introduction to C After the conclusion of this section you should be able to Recognize the sections of a C program Describe the compile and link process Compile
More informationmith College Computer Science CSC270 Spring 2016 Circuits and Systems Lecture Notes, Week 11 Dominique Thiébaut
mith College Computer Science CSC270 Spring 2016 Circuits and Systems Lecture Notes, Week 11 Dominique Thiébaut dthiebaut@smithedu Outline A Few Words about HW 8 Finish the Input Port Lab! Revisiting Homework
More informationArray Initialization
Array Initialization Array declarations can specify initializations for the elements of the array: int primes[10] = { 2, 3, 5, 7, 11, 13, 17, 19, 23, 29 ; initializes primes[0] to 2, primes[1] to 3, primes[2]
More informationECE551 Midterm. There are 7 questions, with the point values as shown below. You have 75 minutes with a total of 75 points. Pace yourself accordingly.
Name: ECE551 Midterm NetID: There are 7 questions, with the point values as shown below. You have 75 minutes with a total of 75 points. Pace yourself accordingly. This exam must be individual work. You
More informationECE551 Midterm Version 1
Name: ECE551 Midterm Version 1 NetID: There are 7 questions, with the point values as shown below. You have 75 minutes with a total of 75 points. Pace yourself accordingly. This exam must be individual
More informationJagannath Institute of Management Sciences Lajpat Nagar. BCA II Sem. C Programming
Jagannath Institute of Management Sciences Lajpat Nagar BCA II Sem C Programming UNIT I Pointers: Introduction to Pointers, Pointer Notation,Decalaration and Initialization, Accessing variable through
More informationIntermediate Programming, Spring 2017*
600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general
More informationPersonal SE. Functions, Arrays, Strings & Command Line Arguments
Personal SE Functions, Arrays, Strings & Command Line Arguments Functions in C Syntax like Java methods but w/o public, abstract, etc. As in Java, all arguments (well, most arguments) are passed by value.
More informationECE551 Midterm Version 1
Name: ECE551 Midterm Version 1 NetID: There are 7 questions, with the point values as shown below. You have 75 minutes with a total of 75 points. Pace yourself accordingly. This exam must be individual
More informationTo declare an array in C, a programmer specifies the type of the elements and the number of elements required by an array as follows
Unti 4: C Arrays Arrays a kind of data structure that can store a fixed-size sequential collection of elements of the same type An array is used to store a collection of data, but it is often more useful
More informationSYSC 2006 C Winter String Processing in C. D.L. Bailey, Systems and Computer Engineering, Carleton University
SYSC 2006 C Winter 2012 String Processing in C D.L. Bailey, Systems and Computer Engineering, Carleton University References Hanly & Koffman, Chapter 9 Some examples adapted from code in The C Programming
More informationDynamic Memory. Dynamic Memory Allocation Strings. September 18, 2017 Hassan Khosravi / Geoffrey Tien 1
Dynamic Memory Dynamic Memory Allocation Strings September 18, 2017 Hassan Khosravi / Geoffrey Tien 1 Pointer arithmetic If we know the address of the first element of an array, we can compute the addresses
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 informationFloating-point lab deadline moved until Wednesday Today: characters, strings, scanf Characters, strings, scanf questions clicker questions
Announcements Thursday Extras: CS Commons on Thursdays @ 4:00 pm but none next week No office hours next week Monday or Tuesday Reflections: when to use if/switch statements for/while statements Floating-point
More informationAssignment #3 Answers
Assignment #3 Answers Introductory C Programming UW Experimental College Assignment #3 ANSWERS Question 1. How many elements does the array int a[5] contain? Which is the first element? The last? The array
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 informationECE551 Midterm Version 2
Name: ECE551 Midterm Version 2 NetID: There are 7 questions, with the point values as shown below. You have 75 minutes with a total of 75 points. Pace yourself accordingly. This exam must be individual
More informationMemory Management. CSC215 Lecture
Memory Management CSC215 Lecture Outline Static vs Dynamic Allocation Dynamic allocation functions malloc, realloc, calloc, free Implementation Common errors Static Allocation Allocation of memory at compile-time
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 informationC++ Arrays. Arrays: The Basics. Areas for Discussion. Arrays: The Basics Strings and Arrays of Characters Array Parameters
C++ Arrays Areas for Discussion Strings and Joseph Spring/Bob Dickerson School of Computer Science Operating Systems and Computer Networks Lecture Arrays 1 Lecture Arrays 2 To declare an array: follow
More informationComputer Programming Unit 3
POINTERS INTRODUCTION Pointers are important in c-language. Some tasks are performed more easily with pointers such as dynamic memory allocation, cannot be performed without using pointers. So it s very
More informationChapter 8 - Characters and Strings
1 Chapter 8 - Characters and Strings Outline 8.1 Introduction 8.2 Fundamentals of Strings and Characters 8.3 Character Handling Library 8.4 String Conversion Functions 8.5 Standard Input/Output Library
More informationhttps://www.eskimo.com/~scs/cclass/notes/sx8.html
1 de 6 20-10-2015 10:41 Chapter 8: Strings Strings in C are represented by arrays of characters. The end of the string is marked with a special character, the null character, which is simply the character
More informationStrings(2) CS 201 String. String Constants. Characters. Strings(1) Initializing and Declaring String. Debzani Deb
CS 201 String Debzani Deb Strings(2) Two interpretations of String Arrays whose elements are characters. Pointer pointing to characters. Strings are always terminated with a NULL characters( \0 ). C needs
More informationAssignment #4 Answers
Assignment #4 Answers Intermediate C Programming UW Experimental College Assignment #4 ANSWERS Exercise 2. Modify the findobject function in object.c so that it can find objects when they're inside containers.
More information8. Characters, Strings and Files
REGZ9280: Global Education Short Course - Engineering 8. Characters, Strings and Files Reading: Moffat, Chapter 7, 11 REGZ9280 14s2 8. Characters and Arrays 1 ASCII The ASCII table gives a correspondence
More informationThis code has a bug that allows a hacker to take control of its execution and run evilfunc().
Malicious Code Insertion Example This code has a bug that allows a hacker to take control of its execution and run evilfunc(). #include // obviously it is compiler dependent // but on my system
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 informationChapter 5. Section 5.4 The Common String Library Functions. CS 50 Hathairat Rattanasook
Chapter 5 Section 5.4 The Common String Library Functions CS 50 Hathairat Rattanasook Library Functions We already discussed the library function fgets() Library functions are available: to find the length
More informationMemory Allocation. General Questions
General Questions 1 Memory Allocation 1. Which header file should be included to use functions like malloc() and calloc()? A. memory.h B. stdlib.h C. string.h D. dos.h 2. What function should be used to
More informationCS 0449 Sample Midterm
Name: CS 0449 Sample Midterm Multiple Choice 1.) Given char *a = Hello ; char *b = World;, which of the following would result in an error? A) strlen(a) B) strcpy(a, b) C) strcmp(a, b) D) strstr(a, b)
More informationPDS Class Test 2. Room Sections No of students
PDS Class Test 2 Date: October 27, 2016 Time: 7pm to 8pm Marks: 20 (Weightage 50%) Room Sections No of students V1 Section 8 (All) Section 9 (AE,AG,BT,CE, CH,CS,CY,EC,EE,EX) V2 Section 9 (Rest, if not
More informationESC101N: Fundamentals of Computing End-sem st semester
ESC101N: Fundamentals of Computing End-sem 2010-11 1st semester Instructor: Arnab Bhattacharya 8:00-11:00am, 15th November, 2010 Instructions 1. Please write your name, roll number and section below. 2.
More informationMidterm Examination # 2 Wednesday, March 18, Duration of examination: 75 minutes STUDENT NAME: STUDENT ID NUMBER:
Page 1 of 8 School of Computer Science 60-141-01 Introduction to Algorithms and Programming Winter 2015 Midterm Examination # 2 Wednesday, March 18, 2015 ANSWERS Duration of examination: 75 minutes STUDENT
More informationmalloc(), calloc(), realloc(), and free()
1 next CITS2002 CITS2002 schedule Dynamic data structures Initially, we focused on scalar and array variables, whose size is known at compile-time. More recently, we've focused on arrays of values, whose
More information19-Nov CSCI 2132 Software Development Lecture 29: Linked Lists. Faculty of Computer Science, Dalhousie University Heap (Free Store)
Lecture 29 p.1 Faculty of Computer Science, Dalhousie University CSCI 2132 Software Development Lecture 29: Linked Lists 19-Nov-2018 Location: Chemistry 125 Time: 12:35 13:25 Instructor: Vlado Keselj Previous
More informationThese problems are provided to you as a guide for practice. The questions cover important concepts covered in class.
Midterm Written Exam Practice Midterm will cover all concepts covered up to the midterm exam. Concepts of arrays, LL s, pointers (*,**,***), malloc, calloc, realloc, function pointers, Hash tables will
More informationFinal Intro to C Review
Final Exam Content: Final Intro to C Review - Pass by reference Functions - General Syntax - Structures - Recursion(maybe?) - Programming by nature is cumulative so any past material is up for grabs as
More informationPersonal SE. Arrays Pointers Strings
Personal SE Arrays Pointers Strings Array Identifiers & Pointers char message[] = Hello ; message H e l l o \0 Array Identifiers & Pointers char message[] = Hello ; message H e l l o \0 Question: So what
More informationC programming basics T3-1 -
C programming basics T3-1 - Outline 1. Introduction 2. Basic concepts 3. Functions 4. Data types 5. Control structures 6. Arrays and pointers 7. File management T3-2 - 3.1: Introduction T3-3 - Review of
More informationDynamic Memory CMSC 104 Spring 2014, Section 02, Lecture 24 Jason Tang
Dynamic Memory CMSC 104 Spring 2014, Section 02, Lecture 24 Jason Tang Topics Memory Lifetime Dynamic Memory Allocation Dynamic Memory Deallocation Variable Lifetime (Review) Lifetime refers to when the
More informationAssignment #5 Answers
Assignment #5 Answers Intermediate C Programming UW Experimental College Assignment #5 ANSWERS Exercise 2. If you didn't use dynamically-allocated memory to hold long object and room descriptions, make
More informationCS 222: Pointers and Manual Memory Management
CS 222: Pointers and Manual Memory Management Chris Kauffman Week 4-1 Logistics Reading Ch 8 (pointers) Review 6-7 as well Exam 1 Back Today Get it in class or during office hours later HW 3 due tonight
More informationCS107, Lecture 4 C Strings
CS107, Lecture 4 C Strings Reading: K&R (1.9, 5.5, Appendix B3) or Essential C section 3 This document is copyright (C) Stanford Computer Science and Nick Troccoli, licensed under Creative Commons Attribution
More informationDynamic Memory & ADTs in C. The heap. Readings: CP:AMA 17.1, 17.2, 17.3, The primary goal of this section is to be able to use dynamic memory.
Dynamic Memory & ADTs in C Readings: CP:AMA 17.1, 17.2, 17.3, 17.4 The primary goal of this section is to be able to use dynamic memory. CS 136 Winter 2018 10: Dynamic Memory & ADTs 1 The heap The heap
More informationDynamic Memory & ADTs in C
Dynamic Memory & ADTs in C Readings: CP:AMA 17.1, 17.2, 17.3, 17.4 The primary goal of this section is to be able to use dynamic memory. CS 136 Winter 2018 10: Dynamic Memory & ADTs 1 The heap The heap
More informationRicardo Rocha. Department of Computer Science Faculty of Sciences University of Porto
Ricardo Rocha Department of Computer Science Faculty of Sciences University of Porto Adapted from the slides Revisões sobre Programação em C, Sérgio Crisóstomo Compilation #include int main()
More informationIntroduction to string
1 Introduction to string String is a sequence of characters enclosed in double quotes. Normally, it is used for storing data like name, address, city etc. ASCII code is internally used to represent string
More informationChapter 8: Character & String. In this chapter, you ll learn about;
Chapter 8: Character & String Principles of Programming In this chapter, you ll learn about; Fundamentals of Strings and Characters The difference between an integer digit and a character digit Character
More informationCS107 Spring 2019, Lecture 4 C Strings
CS107 Spring 2019, Lecture 4 C Strings Reading: K&R (1.9, 5.5, Appendix B3) or Essential C section 3 This document is copyright (C) Stanford Computer Science and Nick Troccoli, licensed under Creative
More informationString Class in C++ When the above code is compiled and executed, it produces result something as follows: cin and strings
String Class in C++ The standard C++ library provides a string class type that supports all the operations mentioned above, additionally much more functionality. We will study this class in C++ Standard
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 informationFunctions Introduction to Algorithms and Programming II School of Computer Science Term: Summer 2013 Instructor: Dr. Asish Mukhopadhyay
Functions 60-141 Introduction to Algorithms and Programming II School of Computer Science Term: Summer 2013 Instructor: Dr. Asish Mukhopadhyay Motivation A complex program Approximate Ellipse Demo Ellipse2DDouble.java
More informationARRAYS(II Unit Part II)
ARRAYS(II Unit Part II) Array: An array is a collection of two or more adjacent cells of similar type. Each cell in an array is called as array element. Each array should be identified with a meaningful
More informationECE 551D Spring 2018 Midterm Exam
Name: SOLUTIONS ECE 551D Spring 2018 Midterm Exam NetID: There are 6 questions, with the point values as shown below. You have 75 minutes with a total of 75 points. Pace yourself accordingly. This exam
More information16.216: ECE Application Programming Spring 2015 Exam 3 Solution
16.216: ECE Application Programming Spring 2015 Exam 3 Solution 1. (20 points, 4 points per part) Multiple choice For each of the multiple choice questions below, clearly indicate your response by circling
More informationDynamic Memory Allocation
Dynamic Memory Allocation The process of allocating memory at run time is known as dynamic memory allocation. C does not Inherently have this facility, there are four library routines known as memory management
More informationECET 264 C Programming Language with Applications
ECET 264 C Programming Language with Applications Lecture 6 Control Structures and More Operators Paul I. Lin Professor of Electrical & Computer Engineering Technology http://www.etcs.ipfw.edu/~lin Lecture
More informationMemory and Addresses. Pointers in C. Memory is just a sequence of byte-sized storage devices.
Memory and Addresses Memory is just a sequence of byte-sized storage devices. 1 The bytes are assigned numeric addresses, starting with zero, just like the indexing of the cells of an array. It is the
More informationHigh Performance Programming Programming in C part 1
High Performance Programming Programming in C part 1 Anastasia Kruchinina Uppsala University, Sweden April 18, 2017 HPP 1 / 53 C is designed on a way to provide a full control of the computer. C is the
More informationStructured programming
Exercises 10 Version 1.0, 13 December, 2016 Table of Contents 1. Strings...................................................................... 1 1.1. Remainders from lectures................................................
More informationProcedural Programming
Exercise 5 (SS 2016) 28.06.2016 What will I learn in the 5. exercise Strings (and a little bit about pointer) String functions in strings.h Files Exercise(s) 1 Home exercise 4 (3 points) Write a program
More informationECET 264 C Programming Language with Applications
ECET 264 C Programming Language with Applications Lecture 9 & 10 Control Structures and More Operators Paul I. Lin Professor of Electrical & Computer Engineering Technology http://www.ecet.ipfw.edu/~lin
More informationUnderstanding Pointers
Division of Mathematics and Computer Science Maryville College Pointers and Addresses Memory is organized into a big array. Every data item occupies one or more cells. A pointer stores an address. A pointer
More informationA function is a named group of statements developed to solve a sub-problem and returns a value to other functions when it is called.
Chapter-12 FUNCTIONS Introduction A function is a named group of statements developed to solve a sub-problem and returns a value to other functions when it is called. Types of functions There are two types
More informationA pointer is a variable just like other variable. The only difference from other variables is that it stores the memory address other variables.
Lecture 9 Pointers A pointer is a variable just like other variable. The only difference from other variables is that it stores the memory address other variables. This variable may be of type int, char,
More informationStructures. Basics of Structures (6.1) EECS l Now struct point is a valid type. l Defining struct variables: struct point { int x; int y; };
Structures EECS 2031 25 September 2017 1 Basics of Structures (6.1) struct point { int x; int y; keyword struct introduces a structure declaration. point: structure tag x, y: members The same member names
More informationComputers Programming Course 10. Iulian Năstac
Computers Programming Course 10 Iulian Năstac Recap from previous course 5. Values returned by a function A return statement causes execution to leave the current subroutine and resume at the point in
More informationCS 61c: Great Ideas in Computer Architecture
Arrays, Strings, and Some More Pointers June 24, 2014 Review of Last Lecture C Basics Variables, functioss, control flow, types, structs Only 0 and NULL evaluate to false Pointers hold addresses Address
More informationEECE.2160: ECE Application Programming Spring 2018 Exam 3 May 10, 2018
EECE.2160: ECE Application Programming Spring 2018 Exam 3 May 10, 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 informationTHE UNIVERSITY OF WESTERN ONTARIO. COMPUTER SCIENCE 211a FINAL EXAMINATION 17 DECEMBER HOURS
Computer Science 211a Final Examination 17 December 2002 Page 1 of 17 THE UNIVERSITY OF WESTERN ONTARIO LONDON CANADA COMPUTER SCIENCE 211a FINAL EXAMINATION 17 DECEMBER 2002 3 HOURS NAME: STUDENT NUMBER:
More informationUsing Character Arrays. What is a String? Using Character Arrays. Using Strings Life is simpler with strings. #include <stdio.
What is a String? A string is actually a character array. You can use it like a regular array of characters. However, it has also some unique features that make string processing easy. Using Character
More informationContent. In this chapter, you will learn:
ARRAYS & HEAP Content In this chapter, you will learn: To introduce the array data structure To understand the use of arrays To understand how to define an array, initialize an array and refer to individual
More informationDynamic memory. EECS 211 Winter 2019
Dynamic memory EECS 211 Winter 2019 2 Initial code setup $ cd eecs211 $ curl $URL211/lec/06dynamic.tgz tar zx $ cd 06dynamic 3 Oops! I made a mistake. In C, the declaration struct circle read_circle();
More informationmith College Computer Science CSC352 Week #7 Spring 2017 Introduction to C Dominique Thiébaut
mith College CSC352 Week #7 Spring 2017 Introduction to C Dominique Thiébaut dthiebaut@smith.edu Learning C in 2 Hours D. Thiebaut Dennis Ritchie 1969 to 1973 AT&T Bell Labs Close to Assembly Unix Standard
More informationCSCI 6610: Intermediate Programming / C Chapter 12 Strings
... 1/26 CSCI 6610: Intermediate Programming / C Chapter 12 Alice E. Fischer February 10, 2016 ... 2/26 Outline The C String Library String Processing in C Compare and Search in C C++ String Functions
More informationChapter 9 Strings. With this array declaration: char s[10];
Chapter 9 Strings 9.1 Chapter Overview There is no data type in C called ʻstringʼ; instead, strings are represented by an array of characters. There is an assortment of useful functions for strings that
More informationC Characters and Strings
CS 2060 Character handling The C Standard Library provides many functions for testing characters in ctype.h. int isdigit(int c); // is c a digit (0-9)? int isalpha(int c); // is c a letter? int isalnum(int
More informationCSE 230 Intermediate Programming in C and C++ Arrays, Pointers and Strings
CSE 230 Intermediate Programming in C and C++ Arrays, Pointers and Strings Fall 2017 Stony Brook University Instructor: Shebuti Rayana http://www3.cs.stonybrook.edu/~cse230/ Pointer Arithmetic and Element
More informationC: How to Program. Week /May/28
C: How to Program Week 14 2007/May/28 1 Chapter 8 - Characters and Strings Outline 8.1 Introduction 8.2 Fundamentals of Strings and Characters 8.3 Character Handling Library 8.4 String Conversion Functions
More informationProcedural Programming & Fundamentals of Programming
Procedural Programming & Fundamentals of Programming Exercise 3 (SS 2018) 29.05.2018 What will I learn in the 4. exercise Pointer (and a little bit about memory allocation) Structure Strings and String
More informationInstructions: Submit your answers to these questions to the Curator as OQ02 by the posted due date and time. No late submissions will be accepted.
Instructions: Submit your answers to these questions to the Curator as OQ02 by the posted due date and time. No late submissions will be accepted. For the next five questions, consider the function to
More informationChapter 8 Character Arrays and Strings
Chapter 8 Character Arrays and Strings INTRODUCTION A string is a sequence of characters that is treated as a single data item. String constant: String constant example. \ String constant example.\ \ includes
More informationLecture 04 Introduction to pointers
Lecture 04 Introduction to pointers A pointer is an address in the memory. One of the unique advantages of using C is that it provides direct access to a memory location through its address. A variable
More informationDynamic Data Structures. CSCI 112: Programming in C
Dynamic Data Structures CSCI 112: Programming in C 1 It s all about flexibility In the programs we ve made so far, the compiler knows at compile time exactly how much memory to allocate for each variable
More informationFinal Exam 1 /12 2 /12 3 /10 4 /7 5 /4 6 /10 7 /8 8 /9 9 /8 10 /11 11 /8 12 /10 13 /9 14 /13 15 /10 16 /10 17 /12. Faculty of Computer Science
Faculty of Computer Science Page 1 of 21 Final Exam Term: Fall 2018 (Sep4-Dec4) Student ID Information Last name: First name: Student ID #: CS.Dal.Ca userid: Course ID: CSCI 2132 Course Title: Instructor:
More information16.216: ECE Application Programming Fall 2015 Exam 2 Solution
16.216: ECE Application Programming Fall 2015 Exam 2 Solution 1. (20 points, 5 points per part) Multiple choice For each of the multiple choice questions below, clearly indicate your response by circling
More informationCS1100 Introduction to Programming
CS1100 Introduction to Programming Arrays Madhu Mutyam Department of Computer Science and Engineering Indian Institute of Technology Madras Course Material SD, SB, PSK, NSN, DK, TAG CS&E, IIT M 1 An Array
More informationString can be represented as a single-dimensional character type array. Declaration of strings
String String is the collection of characters. An array of characters. String can be represented as a single-dimensional character type array. Declaration of strings char string-name[size]; char address[25];
More informationArrays and Pointers (part 1)
Arrays and Pointers (part 1) CSE 2031 Fall 2010 17 October 2010 1 Arrays Grouping of data of the same type. Loops commonly used for manipulation. Programmers set array sizes explicitly. 2 1 Arrays: Example
More informationSOFTWARE Ph.D. Qualifying Exam Spring Consider the following C program which consists of two function definitions including the main function.
(i) (5 pts.) SOFTWARE Ph.D. Qualifying Exam Spring 2018 Consider the following C program which consists of two function definitions including the main function. #include int g(int z) { int y
More informationLab Exam 1 D [1 mark] Give an example of a sample input which would make the function
CMPT 127 Spring 2019 Grade: / 20 First name: Last name: Student Number: Lab Exam 1 D400 1. [1 mark] Give an example of a sample input which would make the function scanf( "%f", &f ) return -1? Answer:
More informationC for C++ Programmers
C for C++ Programmers CS230/330 - Operating Systems (Winter 2001). The good news is that C syntax is almost identical to that of C++. However, there are many things you're used to that aren't available
More informationEL2310 Scientific Programming
Lecture 11: Memory, Files and Bitoperations (yaseminb@kth.se) Overview Overview Lecture 11: Memory, Files and Bit operations Main function; reading and writing Bitwise Operations Lecture 11: Memory, Files
More informationECE 15B COMPUTER ORGANIZATION
ECE 15B COMPUTER ORGANIZATION Lecture 13 Strings, Lists & Stacks Announcements HW #3 Due next Friday, May 15 at 5:00 PM in HFH Project #2 Due May 29 at 5:00 PM Project #3 Assigned next Thursday, May 19
More informationreturn return else return
compare0.c 1 // Compares two strings' addresses 4 #include 5 6 int main(void) 7 { 8 // get two strings 9 string s = get_string("s: "); 10 string t = get_string("t: "); 11 1 // compare strings'
More informationArrays and Pointers (part 1)
Arrays and Pointers (part 1) CSE 2031 Fall 2012 Arrays Grouping of data of the same type. Loops commonly used for manipulation. Programmers set array sizes explicitly. Arrays: Example Syntax type name[size];
More informationPointers and File Handling
1 Pointers and File Handling From variables to their addresses Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY KHARAGPUR 2 Basics of Pointers INDIAN INSTITUTE OF TECHNOLOGY
More information