Lecture 17. Strings II. CptS 121 Summer 2016 Armen Abnousi

Size: px
Start display at page:

Download "Lecture 17. Strings II. CptS 121 Summer 2016 Armen Abnousi"

Transcription

1 Lecture 17 Strings II CptS 121 Summer 2016 Armen Abnousi

2 String concatenation Sometimes we want to put two strings next to each other to make one longer string. firstname = John lastname = Kennedy JohnKennedy We can do this using two functions strcat and strncat

3 strcat char* result = strcat(string1, string2) Both string1 and string2 should be strings (i.e. have \0 in them) It modifies the string1 to contain the joined string and also returns a pointer to it. #define SIZE 14 char str1[size] = John ; char str2[size] = Kennedy ; str1: J o h n \0????????? str2: K e n n e d y \0??????

4 strcat char* result = strcat(string1, string2) Both string1 and string2 should be strings (i.e. have \0 in them) It modifies the string1 to contain the joined string and also returns a pointer to it. #define SIZE 15 char str1[size] = John ; char str2[size] = Kennedy ; str1: J o h n \0????????? str2: K e n n e d y \0?????? char* result = strcat(str1, str2); str1: J o h n K e n n e d y \0?? char* result Note that strcpy inserts a \0 at the end, making a string

5 strcat #define SIZE 14 char str1[size] = John ; char str2[size] = Kennedy ; str1: J o h n \0????????? str2: K e n n e d y \0?????? char* result = strcat(str1, str2); str1: J o h n K e n n e d y \0?? char* result What will happen if str1 is not large enough to contain the concatenated string? Will continue writing in the adjacent memory cells, possibly making other variables values to change, or give run-time error. (i.e. trashing the memory) solution? strncat

6 strncat char* result = strncat(string1, string2, integer) Strncat is similar to strcat except it takes one last argument (int count) Last argument tells C how many characters from the string2 should be concatenated into string1. Use strlen() to know the length of string1, subtracting this length from its size (memory cells available to it) you can find how many characters you can afford concatenating. Remember you need to concatenate one less character, so that the last cell can be used for \0. Strncat copies \0 by itself.

7 strncat #define SIZE 14 char str1[size] = Jacqueline; char str2[size] = Kennedy ; str1: J a c q u e l i n e \0??? str2: K e n n e d y \0?????? char* result = strncat(str1, str2, SIZE strlen(str1) - 1); str1: J a c q u e l i n e K e n \0 char* result = 3

8 Notes Remember when manipulating an array, ask yourself: Does the output parameter have enough space for the result? Does the created string have the null terminator? Note the distinction between character c and string c! (If a function receives a string you cannot give char to it!)? c?? c \0 char myc char* myc Do not use strcat or strncat to add a char to the end of a string. (you can use array element assignment instead)

9 gets Blank space is a valid character in a string. scanf/fscanf separate the input on whitespaces, not allowing the blank spaces to be present in a string: scanf( %s, &str); /*input John Kennedy */ printf( %s, str); /*prints only John */ Use gets to read a complete line from the (console input). #define LINE_SIZE 25 char line[line_size]; gets(line); The input should be less than 25 characters, leaving a space for \0 gets reads a whole line (until a \n ) and puts a \0 at the end. It does not store the \n. If the input line is longer than the array size it will overwrite adjacent memories (can cause runtime error).

10 fgets To read a complete line from file input use fgets When reaching end-of-file, fgets returns a NULL pointer! #define LINE_SIZE char line[line_size]; fgets(line, LINE_SIZE, filepointer); + This will store at most LINE_SIZE 1 characters from the input file or until it reaches a \n, whichever comes early. + Will always set the last character as \0. (No overflow risk) -- If \n is read before the character limit is reached, it stores the \n and then the \0

11 fgets To read a complete line from file input use fgets #define LINE_SIZE 10 char line[line_size]; fgets(line, LINE_SIZE, filepointer); + This will store at most LINE_SIZE 1 characters from the input file or until it reaches a \n, whichever comes early. + Will always set the last character as \0. (No overflow risk) -- If \n is read before the character limit is reached, it stores the \n and then the \0 fgets(line, LINE_SIZE, filepointer); (file: this is the first line in the file) line: t h i s i s t \0

12 fgets To read a complete line from file input use fgets #define LINE_SIZE 10 char line[line_size]; fgets(line, LINE_SIZE, filepointer); + This will store at most LINE_SIZE 1 characters from the input file or until it reaches a \n, whichever comes early. + Will always set the last character as \0. (No overflow risk) -- If \n is read before the character limit is reached, it stores the \n and then the \0 fgets(line, LINE_SIZE, filepointer); (file: a line<new line>) line: a l i n e \n \0??

13 fgets To read a complete line from file input use fgets #define LINE_SIZE 10 char line[line_size]; fgets(line, LINE_SIZE, filepointer); + This will store at most LINE_SIZE 1 characters from the input file or until it reaches a \n, whichever comes early. + Will always set the last character as \0. (No overflow risk) -- If \n is read before the character limit is reached, it stores the \n and then the \0 fgets(line, LINE_SIZE, filepointer); (file: a line<new line>) line: a l i n e \n \0?? You can check and delete the new line character manually: if ( line [ strlen( line ) 1 ] == \n ) line [ strlen( line ) 1 ] = \0 ;

14 fgets - example Write a program that reads a file input and generates a copy of it, that is double spaced and includes line numbers.

15 #include <stdio.h> #define LINE_LEN 40 fgets - example int main() char line[line_len]; int status; int counter = 0; FILE* in = fopen("file.txt", "r"); FILE* out = fopen("out.txt", "w"); Might want to check if opened successfully for (status = fgets(line, LINE_LEN, in); status!= NULL; status = fgets(line, LINE_LEN, in)) fclose(out); fclose(in); return 0; counter++; if (line[strlen(line) - 1] == '\n') line[strlen(line) - 1] = '\0'; fprintf(out, "%3d%s\n\n", counter, line); Check the status of fgets with NULL rather than EOF If the last char in line (before \0 ) is the new line char, remove it.

16 String Comparison Often we want to compare strings Comparison for equality of two string variables Comparison to decide inequality (e.g. in sorting) strcmp (string1, string2) Strcmp returns: 0 if two strings are equal >0 (a positive integer) if string1 is larger than string2 <0 (a negative integer) if string1 is smaller than string2 strcmp( apple, apple ) = 0 strcmp( apple, app ) > 0 strcmp( apple, apply ) < 0 Use strcmp for all-capital or all-lower-case strings. It might give different results on different computers for mixed case strings!

17 Example sorting strings Modify your program for selection sort to sort a list of strings

18 Selection Sort for an array of strings naïve method void selectionsortstrings(char list[][word_size], int listsize) int fill = 0, minindex = 0, temp = 0; for (fill = 0; fill < listsize - 1; fill++) /*last fill is listsize 2*/ minindex = findminindex(list, fill, listsize); /*gives the index of the minimum element of the list in the portion starting from fill to the end of the list*/ if (minindex!= fill) /* if list[fill] is already the min, no swap needed */ strcpy(temp, list[fill]); /* temp = list[fill]; */ strcpy(list[fill] = list[minindex]; /* list[fill] = list[minindex]; */ strcpy(list[minindex], temp); /* list[minindex] = temp; */

19 Selection Sort for an array of strings naïve method /* finds the index of the minimum element in the portion of the array that starts in index beginindex */ int findminindex(char list[][word_size], int beginindex, int listsize) int minindex = beginindex, index = 0; for (index = beginindex + 1; index < listsize; index++) if (strcmp(list[index], list[minindex]) < 0) minindex = index; return minindex;

20 A Better way to implement selection sort for strings? How efficient is the selection sort algorithm for strings that we just saw? In each iteration there are 3 strcpy commands. Each strcpy copies a string into another string Every string is copied character by character if there are 2 strings of length 5 and we want to swap them, we need to copy the second string in temp (5 copies), copy the first string in the second (5 copies) and copy the temp in the first (5 copies). (15 copies for one swap) We have n-1 iterations in selection sort!

21 A Better way to implement selection sort for strings? Remember that arrays in C are implemented using pointers. We can declare an array of pointers (each pointing to the beginning of a string) Instead of using strcpy to move one string (array of characters) into another array of characters: We can move the pointers

22 A Better way to implement selection sort for strings? Instead of using strcpy to move one string (array of characters) into another array of characters: We can use an array of pointers to strings to show us our desired order What we gain? Faster sorting! Instead of swapping strings character by character in each iteration, we only swap two pointers to the strings in each iteration. Declaring an array of pointers: char* pointerarray[]; (this is equivalent to: (char* pointer)[];) (*picture from the textbook - page 481)

23 Selection sort for strings - improved void selectionsortstringsimproved(char* list[], int listsize) int fill = 0, minindex = 0; char* temp = NULL; for (fill = 0; fill < listsize - 1; fill++) Note: you cannot have list[][] here. It will be an array of strings but now it is an array of pointers minindex = findminindex(list, fill, listsize); if (minindex!= fill) temp = list[ fill ]; /* strcpy(temp, list[fill]); */ list[ fill ] = list[ minindex ]; /* strcpy(list[fill] =list[minindex]; */ list[ minindex ] = temp; /* strcpy(list[minindex], temp); */ You can create a new array of pointers to different strings in the caller function and use that to do the sorting. Then you will have both the original ordering and the sorted list, without making a copy of the list of strings (but only making a copy of the beginning addresses of strings)

24 Selection sort for strings - improved int findminindex(char* list[], int beginindex, int listsize) int minindex = beginindex, index = 0; for (index = beginindex + 1; index < listsize; index++) if (strcmp(list[index], list[minindex]) < 0) minindex = index; return minindex;

25 Selection sort for strings - improved int main() char a[][word_size] = "this", "is", "my", "list" ; char* wp[word_count]; for (int i = 0; i < WORD_COUNT; i++) wp[i] = a[i]; selectionsortstringsimproved(wp, 4); /* now wp contains the sorted set of pointers to words */ /* a contains the original array of words; not sorted */ return 0;

26 Character manipulation using ctype library #include <ctype.h> and use functions: isalpha(char) isdigit(char) islower(char) isupper(char) ispunct(char) isspace(char) tolower(char) toupper(char) Return a non-zero for true or zero for false Return the lower/upper case value if they exist, Otherwise return the input character back

27 Example Write a function that converts two strings to all lowercase letters and then compares the resulting two strings using strcmp

28 Example - Lowercase comparison void tolowerstring(char str[]) int i; for (i = 0; i< strlen(str); i++) str[i] = tolower(str[i]); int compareloweredstrings(char str1[], char str2[]) return strcmp(tolowerstring(str1), tolowerstring(str2));

29 String-number conversion printf/scanf use placeholders to convert string input to numerical data type or a numerical value to string output sprintf can be used similar to printf to convert numerical data types to string but letting you to store the result in a string! The resulting string will be stored in the first argument of sprintf Second and next arguments are similar to arguments in printf sprintf(str, I m converting pi to string: pi = %lf, 3.14); printf( %s, str); /* prints I m converting pi to string: pi = 3.14 */ The first argument of sprintf needs to have enough space or it might overflow!

30 String-number conversion printf/scanf use placeholders to convert string input to numerical data type or a numerical value to string output sscanf can be used similar to scanf. to convert a string to other data types. First argument is the string that we want to convert, second and next arguments resemble arguments in scanf. char date[] = wed, jun 15, 2016 ; char day[5], mon[5]; int daynumber, year; sscanf(date, %s%s%d%d, day, mon, daynumber, year); printf( %s, mon); /*prints jun*/ If you are using a %s to convert a extract a string from a longer string, be careful about the size of the destination. It might overflow, just like scanf with %s.

31 Example Write a function for conversion between these two date formats: mm/dd/yyyy and mon dd, yyyy 12/20/1993 and Dec 20, 1993

32 References J.R. Hanly & E.B. Koffman, Problem Solving and Program Design in C (8thed.), Pearson, 2016 Andy O Fallon s lecture notes for CptS121 (

Lecture 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 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 information

Repetition Structures II

Repetition 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

CCE1111 Programming for Engineers [C Programming Language]

CCE1111 Programming for Engineers [C Programming Language] are collection of characters. Unfortunately C does not has a primitive data type for strings and therefore an array of characters is used to represent a string. The following code snippet illustrates a

More information

CSCE150A. Introduction. Basics. String Library. Substrings. Line Scanning. Sorting. Command Line Arguments. Misc CSCE150A. Introduction.

CSCE150A. Introduction. Basics. String Library. Substrings. Line Scanning. Sorting. Command Line Arguments. Misc CSCE150A. Introduction. Chapter 9 Scanning Computer Science & Engineering 150A Problem Solving Using Computers Lecture 07 - Strings Stephen Scott (Adapted from Christopher M. Bourke) Scanning 9.1 String 9.2 Functions: Assignment

More information

Computer Science & Engineering 150A Problem Solving Using Computers. Chapter 9. Strings. Notes. Notes. Notes. Lecture 07 - Strings

Computer Science & Engineering 150A Problem Solving Using Computers. Chapter 9. Strings. Notes. Notes. Notes. Lecture 07 - Strings Computer Science & Engineering 150A Problem Solving Using Computers Lecture 07 - Strings Scanning Stephen Scott (Adapted from Christopher M. Bourke) 1 / 51 Fall 2009 cbourke@cse.unl.edu Chapter 9 Scanning

More information

Computer Science & Engineering 150A Problem Solving Using Computers

Computer Science & Engineering 150A Problem Solving Using Computers Computer Science & Engineering 150A Problem Solving Using Computers Lecture 07 - Strings Stephen Scott (Adapted from Christopher M. Bourke) 1 / 51 Fall 2009 Chapter 9 9.1 String 9.2 Functions: Assignment

More information

Introduction to string

Introduction 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 information

Strings. Chuan-Ming Liu. Computer Science & Information Engineering National Taipei University of Technology Taiwan

Strings. Chuan-Ming Liu. Computer Science & Information Engineering National Taipei University of Technology Taiwan Strings Chuan-Ming Liu Computer Science & Information Engineering National Taipei University of Technology Taiwan 1 Outline String Basic String Library Functions Longer Strings: Concatenation and Whole-Line

More information

Chapter 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 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 information

C Characters and Strings

C 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 information

Selection Structures II

Selection 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 information

Strings(2) CS 201 String. String Constants. Characters. Strings(1) Initializing and Declaring String. Debzani Deb

Strings(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 information

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition

ELEC / COMP 177 Fall Some slides from Kurose and Ross, Computer Networking, 5 th Edition ELEC / COMP 177 Fall 2012 Some slides from Kurose and Ross, Computer Networking, 5 th Edition Prior experience in programming languages C++ programming? Java programming? C programming? Other languages?

More information

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University Unit 1 Programming Language and Overview of C 1. State whether the following statements are true or false. a. Every line in a C program should end with a semicolon. b. In C language lowercase letters are

More information

Lecture 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 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 information

Arrays III and Enumerated Types

Arrays 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 information

C mini reference. 5 Binary numbers 12

C mini reference. 5 Binary numbers 12 C mini reference Contents 1 Input/Output: stdio.h 2 1.1 int printf ( const char * format,... );......................... 2 1.2 int scanf ( const char * format,... );.......................... 2 1.3 char

More information

Strings. Arrays of characters. Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY

Strings. Arrays of characters. Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY Strings Arrays of characters Pallab Dasgupta Professor, Dept. of Computer Sc & Engg INDIAN INSTITUTE OF TECHNOLOGY 1 Basics Strings A string is a sequence of characters treated as a group We have already

More information

C programming basics T3-1 -

C 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 information

Chapter 8: Character & String. In this chapter, you ll learn about;

Chapter 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 information

Strings. Steven R. Bagley

Strings. Steven R. Bagley Strings Steven R. Bagley Recap Programs are a series of statements Defined in functions Functions, loops and conditionals can alter program flow Data stored in variables or arrays Or pointed at by pointers

More information

Chapter 8 Character Arrays and Strings

Chapter 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 information

Iosif Ignat, Marius Joldoș Laboratory Guide 9. Character strings CHARACTER STRINGS

Iosif Ignat, Marius Joldoș Laboratory Guide 9. Character strings CHARACTER STRINGS CHARACTER STRINGS 1. Overview The learning objective of this lab session is to: Understand the internal representation of character strings Acquire skills in manipulating character strings with standard

More information

Chapter 8 C Characters and Strings

Chapter 8 C Characters and Strings Chapter 8 C Characters and Strings Objectives of This Chapter To use the functions of the character handling library (). To use the string conversion functions of the general utilities library

More information

String Class in C++ When the above code is compiled and executed, it produces result something as follows: cin and strings

String 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 information

SYSC 2006 C Winter String Processing in C. D.L. Bailey, Systems and Computer Engineering, Carleton University

SYSC 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 information

ONE DIMENSIONAL ARRAYS

ONE DIMENSIONAL ARRAYS LECTURE 14 ONE DIMENSIONAL ARRAYS Array : An array is a fixed sized sequenced collection of related data items of same data type. In its simplest form an array can be used to represent a list of numbers

More information

Overview. Concepts this lecture String constants Null-terminated array representation String library <strlib.h> String initializers Arrays of strings

Overview. Concepts this lecture String constants Null-terminated array representation String library <strlib.h> String initializers Arrays of strings CPE 101 slides based on UW course Lecture 19: Strings Overview Concepts this lecture String constants ull-terminated array representation String library String initializers Arrays of strings

More information

Characters and Strings

Characters and Strings Characters and Strings 60-141: Introduction to Algorithms and Programming II School of Computer Science Term: Summer 2013 Instructor: Dr. Asish Mukhopadhyay Character constants A character in single quotes,

More information

Computer Systems and Networks

Computer Systems and Networks University of the Pacific LECTURE 6: C PROGRAMMING Computer Systems and Networks Dr. Pallipuram (vpallipuramkrishnamani@pacific.edu) Today s Class o What happens during a malloc and free o File I/O o String

More information

Characters in C consist of any printable or nonprintable character in the computer s character set including lowercase letters, uppercase letters,

Characters in C consist of any printable or nonprintable character in the computer s character set including lowercase letters, uppercase letters, Strings Characters in C consist of any printable or nonprintable character in the computer s character set including lowercase letters, uppercase letters, decimal digits, special characters and escape

More information

CSC 2400: Computer Systems. Arrays and Strings in C

CSC 2400: Computer Systems. Arrays and Strings in C CSC 2400: Computer Systems Arrays and Strings in C Lecture Overview Arrays! List of elements of the same type Strings! Array of characters ending in \0! Functions for manipulating strings 1 Arrays: C vs.

More information

CS 222: Pointers and Manual Memory Management

CS 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 information

Chapter 8 - Characters and Strings

Chapter 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 information

COP 3223 Final Review

COP 3223 Final Review COP 3223 Final Review Jennifer Brown December 2, 2018 1 Introduction 1.1 Variables I. How can we store data in a program? A. Which of these are valid names for variables? i. 9length ii. hello iii. IamASuperCoolName

More information

Standard C Library Functions

Standard C Library Functions Demo lecture slides Although I will not usually give slides for demo lectures, the first two demo lectures involve practice with things which you should really know from G51PRG Since I covered much of

More information

C: How to Program. Week /May/28

C: 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 information

C-String Library Functions

C-String Library Functions Strings Class 34 C-String Library Functions there are several useful functions in the cstring library strlen: the number of characters before the \0 strncat: concatenate two strings together strncpy: overwrite

More information

Fundamentals of Programming

Fundamentals of Programming Fundamentals of Programming Lecture 6 - Array and String Lecturer : Ebrahim Jahandar Borrowed from lecturer notes by Omid Jafarinezhad Array Generic declaration: typename variablename[size]; typename is

More information

8. Characters, Strings and Files

8. 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 information

Chapter 9 Strings. With this array declaration: char s[10];

Chapter 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 information

C-LANGUAGE CURRICULAM

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

More information

Fundamental of Programming (C)

Fundamental of Programming (C) Borrowed from lecturer notes by Omid Jafarinezhad Fundamental of Programming (C) Lecturer: Vahid Khodabakhshi Lecture 7 Array and String Department of Computer Engineering Outline Array String Department

More information

CSC 2400: Computer Systems. Arrays and Strings in C

CSC 2400: Computer Systems. Arrays and Strings in C CSC 2400: Computer Systems Arrays and Strings in C Lecture Overview Arrays! List of elements of the same type Strings! Array of characters ending in \0! Functions for manipulating strings 1 Arrays in C

More information

C Programming. Unit 9. Manipulating Strings File Processing.

C Programming. Unit 9. Manipulating Strings File Processing. Introduction to C Programming Unit 9 Manipulating Strings File Processing skong@itt-tech.edu Unit 8 Review Unit 9: Review of Past Material Unit 8 Review Arrays Collection of adjacent memory cells Each

More information

Course organization. Course introduction ( Week 1)

Course organization. Course introduction ( Week 1) Course organization Course introduction ( Week 1) Code editor: Emacs Part I: Introduction to C programming language (Week 2-9) Chapter 1: Overall Introduction (Week 1-3) Chapter 2: Types, operators and

More information

Computer Systems and Networks

Computer Systems and Networks LECTURE 6: C PROGRAMMING Computer Systems and Networks Dr. Pallipuram (vpallipuramkrishnamani@pacific.edu) University of the Pacific Today s Class o Recap from last class o File I/O o What happens during

More information

ARRAYS(II Unit Part II)

ARRAYS(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 information

Model Viva Questions for Programming in C lab

Model Viva Questions for Programming in C lab Model Viva Questions for Programming in C lab Title of the Practical: Assignment to prepare general algorithms and flow chart. Q1: What is a flowchart? A1: A flowchart is a diagram that shows a continuous

More information

Introduction to C/C++ Lecture 5 - String & its Manipulation

Introduction to C/C++ Lecture 5 - String & its Manipulation Introduction to C/C++ Lecture 5 - String & its Manipulation Rohit Sehgal Nishit Majithia Association of Computing Activities, Indian Institute of Technology,Kanpur rsehgal@cse.iitk.ac.in nishitm@cse.iitk.ac.in

More information

Using Character Arrays. What is a String? Using Character Arrays. Using Strings Life is simpler with strings. #include <stdio.

Using 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 information

(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 (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

Fundamentals of Programming & Procedural Programming

Fundamentals of Programming & Procedural Programming Universität Duisburg-Essen PRACTICAL TRAINING TO THE LECTURE Fundamentals of Programming & Procedural Programming Session Seven: Strings and Files Name: First Name: Tutor: Matriculation-Number: Group-Number:

More information

CS107 Spring 2019, Lecture 4 C Strings

CS107 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 information

Computer Programming: Skills & Concepts (CP) Strings

Computer Programming: Skills & Concepts (CP) Strings CP 14 slide 1 Tuesday 31 October 2017 Computer Programming: Skills & Concepts (CP) Strings Ajitha Rajan Tuesday 31 October 2017 Last lecture Input handling char CP 14 slide 2 Tuesday 31 October 2017 Today

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 (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

Programming in C. Session 7. Seema Sirpal Delhi University Computer Centre

Programming in C. Session 7. Seema Sirpal Delhi University Computer Centre Programming in C Session 7 Seema Sirpal Delhi University Computer Centre Relationship between Pointers & Arrays In some cases, a pointer can be used as a convenient way to access or manipulate the data

More information

LAB7 : Characters and Strings

LAB7 : Characters and Strings 1 LAB7 : Characters and Strings Task1: Write a C Program to Copy One String into Other Without Using Library Function. (use pointer) char s1[100], s2[100]; printf("\nenter the string :"); gets(s1); i =

More information

CSC209H Lecture 4. Dan Zingaro. January 28, 2015

CSC209H Lecture 4. Dan Zingaro. January 28, 2015 CSC209H Lecture 4 Dan Zingaro January 28, 2015 Strings (King Ch 13) String literals are enclosed in double quotes A string literal of n characters is represented as a n+1-character char array C adds a

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 (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 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 (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

Computer Security. Robust and secure programming in C. Marius Minea. 12 October 2017

Computer Security. Robust and secure programming in C. Marius Minea. 12 October 2017 Computer Security Robust and secure programming in C Marius Minea marius@cs.upt.ro 12 October 2017 In this lecture Write correct code minimizing risks with proper error handling avoiding security pitfalls

More information

C Style Strings. Lecture 11 COP 3014 Spring March 19, 2018

C Style Strings. Lecture 11 COP 3014 Spring March 19, 2018 C Style Strings Lecture 11 COP 3014 Spring 2018 March 19, 2018 Recap Recall that a C-style string is a character array that ends with the null character Character literals in single quotes a, \n, $ string

More information

Converting a Lowercase Letter Character to Uppercase (Or Vice Versa)

Converting a Lowercase Letter Character to Uppercase (Or Vice Versa) Looping Forward Through the Characters of a C String A lot of C string algorithms require looping forward through all of the characters of the string. We can use a for loop to do that. The first character

More information

CS107, Lecture 4 C Strings

CS107, 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 information

COP 3223 Final Review

COP 3223 Final Review COP 3223 Final Review Jennifer Brown December 2, 2018 1 Introduction 1.1 Variables I. How can we store data in a program? Initializing variables with data types A. Which of these are valid names for variables?

More information

C Programming Language

C Programming Language C Programming Language Character Strings and String Functions Manar Mohaisen Office: F208 Email: manar.subhi@kut.ac.kr Department of EECE Review of the Precedent Lecture Explained dynamic data allocation

More information

Grade Distribution. Exam 1 Exam 2. Exams 1 & 2. # of Students. Total: 17. Total: 17. Total: 17

Grade Distribution. Exam 1 Exam 2. Exams 1 & 2. # of Students. Total: 17. Total: 17. Total: 17 Grade Distribution Exam 1 Exam 2 Score # of Students Score # of Students 16 4 14 6 12 4 10 2 8 1 Total: 17 Exams 1 & 2 14 2 12 4 10 5 8 5 4 1 Total: 17 Score # of Students 28 2 26 5 24 1 22 4 20 3 18 2

More information

Reading Assignment. Strings. K.N. King Chapter 13. K.N. King Sections 23.4, Supplementary reading. Harbison & Steele Chapter 12, 13, 14

Reading Assignment. Strings. K.N. King Chapter 13. K.N. King Sections 23.4, Supplementary reading. Harbison & Steele Chapter 12, 13, 14 Reading Assignment Strings char identifier [ size ] ; char * identifier ; K.N. King Chapter 13 K.N. King Sections 23.4, 23.5 Supplementary reading Harbison & Steele Chapter 12, 13, 14 Strings are ultimately

More information

System Design and Programming II

System Design and Programming II System Design and Programming II CSCI 194 Section 01 CRN: 10968 Fall 2017 David L. Sylvester, Sr., Assistant Professor Chapter 10 Characters, Strings, and the string Class Character Testing The C++ library

More information

Computer Science & Engineering 150A Problem Solving Using Computers

Computer 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 information

Why arrays? To group distinct variables of the same type under a single name.

Why arrays? To group distinct variables of the same type under a single name. Lesson #7 Arrays Why arrays? To group distinct variables of the same type under a single name. Suppose you need 100 temperatures from 100 different weather stations: A simple (but time consuming) solution

More information

LECTURE 15. String I/O and cstring library

LECTURE 15. String I/O and cstring library LECTURE 15 String I/O and cstring library RECAP Recall that a C-style string is a character array that ends with the null character. Character literals in single quotes: 'a', '\n', '$ String literals in

More information

https://www.eskimo.com/~scs/cclass/notes/sx8.html

https://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 information

Chapter 5. Section 5.1 Introduction to Strings. CS 50 Hathairat Rattanasook

Chapter 5. Section 5.1 Introduction to Strings. CS 50 Hathairat Rattanasook Chapter 5 Section 5.1 Introduction to Strings CS 50 Hathairat Rattanasook "Strings" In computer science a string is a sequence of characters from the underlying character set. In C a string is a sequence

More information

Programmer s Points to Remember:

Programmer s Points to Remember: Programmer s Points to Remember: Always do bounds checking on arrays. Always do bounds checking on pointer arithmetic. Before you copy to, format, or send input to a buffer make sure it is big enough to

More information

CS 115 Exam 3, Spring 2010

CS 115 Exam 3, Spring 2010 Your name: Rules You must briefly explain your answers to receive partial credit. When a snippet of code is given to you, you can assume o that the code is enclosed within some function, even if no function

More information

Dynamic Data Structures (II)

Dynamic Data Structures (II) Lecture 23 Dynamic Data Structures (II) CptS 121 Summer 2016 Armen Abnousi Data Structure Data structures are different ways of organizing data in computer We design new data structures to make the programs

More information

Fundamentals of Programming. Lecture 11: C Characters and Strings

Fundamentals of Programming. Lecture 11: C Characters and Strings 1 Fundamentals of Programming Lecture 11: C Characters and Strings Instructor: Fatemeh Zamani f_zamani@ce.sharif.edu Sharif University of Technology Computer Engineering Department The lectures of this

More information

by Pearson Education, Inc. All Rights Reserved.

by Pearson Education, Inc. All Rights Reserved. The string-handling library () provides many useful functions for manipulating string data (copying strings and concatenating strings), comparing strings, searching strings for characters and

More information

today cs3157-fall2002-sklar-lect05 1

today cs3157-fall2002-sklar-lect05 1 today homework #1 due on monday sep 23, 6am some miscellaneous topics: logical operators random numbers character handling functions FILE I/O strings arrays pointers cs3157-fall2002-sklar-lect05 1 logical

More information

Chapter 10: Characters, C- Strings, and More About the string Class Character Testing

Chapter 10: Characters, C- Strings, and More About the string Class Character Testing Chapter 10: Characters, C- Strings, and More About the string Class 1 10.1 Character Testing 2 Character Testing require cctype header file FUNCTION isalpha isalnum isdigit islower isprint ispunct isupper

More information

COMP1917: 09 Arrays and Strings

COMP1917: 09 Arrays and Strings COMP1917: 09 Arrays and Strings Sim Mautner s.mautner@unsw.edu.au August 15, 2016 Sim Mautner (UNSW) COMP1917: 09 Arrays and Strings August 15, 2016 1 / 14 Arrays int sum(int n1, int n2); int sum(int n1,

More information

Strings in C++ Dr. Ferdin Joe John Joseph Kamnoetvidya Science Academy

Strings in C++ Dr. Ferdin Joe John Joseph Kamnoetvidya Science Academy Strings in C++ Dr. Ferdin Joe John Joseph Kamnoetvidya Science Academy Using Strings in C++ Programs String library or provides functions to: - manipulate strings - compare strings -

More information

Computer Programming. C Array is a collection of data belongings to the same data type. data_type array_name[array_size];

Computer Programming. C Array is a collection of data belongings to the same data type. data_type array_name[array_size]; Arrays An array is a collection of two or more adjacent memory cells, called array elements. Array is derived data type that is used to represent collection of data items. C Array is a collection of data

More information

Write a C program using arrays and structure

Write a C program using arrays and structure 03 Arrays and Structutes 3.1 Arrays Declaration and initialization of one dimensional, two dimensional and character arrays, accessing array elements. (10M) 3.2 Declaration and initialization of string

More information

CSCI 6610: Intermediate Programming / C Chapter 12 Strings

CSCI 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 information

String constants. /* Demo: string constant */ #include <stdio.h> int main() {

String constants. /* Demo: string constant */ #include <stdio.h> int main() { Strings 1 String constants 2 /* Demo: string constant */ #include s1.c int main() { printf("hi\n"); } String constants are in double quotes A backslash \ is used to include 'special' characters,

More information

PES INSTITUTE OF TECHNOLOGY (BSC) I MCA, First IA Test, November 2015 Programming Using C (13MCA11) Solution Set Faculty: Jeny Jijo

PES INSTITUTE OF TECHNOLOGY (BSC) I MCA, First IA Test, November 2015 Programming Using C (13MCA11) Solution Set Faculty: Jeny Jijo PES INSTITUTE OF TECHNOLOGY (BSC) I MCA, First IA Test, November 2015 Programming Using C (13MCA11) Solution Set Faculty: Jeny Jijo 1. (a)what is an algorithm? Draw a flowchart to print N terms of Fibonacci

More information

Chapter 10 Characters, Strings, and the string class

Chapter 10 Characters, Strings, and the string class Standard Version of Starting Out with C++, 4th Edition Chapter 10 Characters, Strings, and the string class Copyright 2003 Scott/Jones Publishing Topics 10.1 Character Testing 10.2 Character Case Conversion

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 (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

C++ Arrays. Arrays: The Basics. Areas for Discussion. Arrays: The Basics Strings and Arrays of Characters Array Parameters

C++ 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 information

Vidyalankar. F.E. Sem. II Structured Programming Approach Prelim Question Paper Solution

Vidyalankar. F.E. Sem. II Structured Programming Approach Prelim Question Paper Solution 1. (a) 1. (b) 1. (c) F.E. Sem. II Structured Programming Approach C provides a variety of stroage class specifiers that can be used to declare explicitly the scope and lifetime of variables. The concepts

More information

To declare an array in C, a programmer specifies the type of the elements and the number of elements required by an array as follows

To 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 information

CSE 5A Final Fall 2006

CSE 5A Final Fall 2006 Student ID cs5f Name Signature CSE 5A Final Fall 2006 Page 1 (18 points) Page 2 (26 points) Page 3 (28 points) Page 4 (16 points) Page 5 (40 points) Page 6 (44 points) Total (172 points = 164 points +

More information

mith 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 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 information

Chapter 8 Arrays and Strings. Objectives. Objectives (cont d.) Introduction. Arrays 12/23/2016. In this chapter, you will:

Chapter 8 Arrays and Strings. Objectives. Objectives (cont d.) Introduction. Arrays 12/23/2016. In this chapter, you will: Chapter 8 Arrays and Strings Objectives In this chapter, you will: Learn about arrays Declare and manipulate data into arrays Learn about array index out of bounds Learn about the restrictions on array

More information

Basic and Practice in Programming Lab7

Basic 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 information

Computers Programming Course 11. Iulian Năstac

Computers Programming Course 11. Iulian Năstac Computers Programming Course 11 Iulian Năstac Recap from previous course Cap. Matrices (Arrays) Matrix representation is a method used by a computer language to store matrices of different dimension in

More information

There are functions to handle strings, so we will see the notion of functions itself in little a detail later. (Refer Slide Time: 00:12)

There are functions to handle strings, so we will see the notion of functions itself in little a detail later. (Refer Slide Time: 00:12) Programming Data Structures, Algorithms Prof. Shankar Balachandran Department of Computer Science and Engineering Indian Institute of Technology, Madras Module - 13b Lecture - 19 Functions to handle strings;

More information