1. An array is a collection of a fixed number of components wherein all of the components are of the same type Example: Suppose that there is a list of.

Slides:



Advertisements
Similar presentations
Problem Solving & Program Design in C
Advertisements

C Characters & Strings Character Review Character Handling Library Initialization String Conversion Functions String Handling Library Standard Input/Output.
 2003 Prentice Hall, Inc. All rights reserved Fundamentals of Characters and Strings Character constant –Integer value represented as character.
Strings.
1 Chapter 10 Strings and Pointers. 2 Introduction  String Constant  Example: printf(“Hello”); “Hello” : a string constant oA string constant is a series.
Character String Manipulation. Overview Character string functions sscanf() function snprintf() function.
Lecture 9. Lecture 9: Outline Strings [Kochan, chap. 10] –Character Arrays/ Character Strings –Initializing Character Strings. The null string. –Escape.
What is a pointer? First of all, it is a variable, just like other variables you studied So it has type, storage etc. Difference: it can only store the.
 2000 Prentice Hall, Inc. All rights reserved Fundamentals of Strings and Characters String declarations –Declare as a character array or a variable.
ECE Application Programming Instructor: Dr. Michael Geiger Spring 2012 Lecture 31: PE5.
Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Cpt S 122 – Data Structures Characters and Strings.
Current Assignments Homework 5 will be available tomorrow and is due on Sunday. Arrays and Pointers Project 2 due tonight by midnight. Exam 2 on Monday.
Chapter 9 Character Strings
 2000 Prentice Hall, Inc. All rights reserved. Chapter 8 - Characters and Strings Outline 8.1Introduction 8.2Fundamentals of Strings and Characters 8.3Character.
Chapter 10.
Chapter 8 Characters and Strings Acknowledgment The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved Fundamentals of Strings and Characters Characters.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Chapter 8 - Characters and Strings Outline 8.1Introduction.
To remind us We finished the last day by introducing If statements Their structure was:::::::::
Week 7 – String. Outline Passing Array to Function Print the Array How Arrays are passed in a function call Introduction to Strings String Type Character.
Data Structure and C Part-6. Naming a Function Any valid variable-name can be given to the user-defined function. The main program itself is considered.
 2007 Pearson Education, Inc. All rights reserved C Characters and Strings.
Strings in C. Strings are Character Arrays Strings in C are simply arrays of characters. – Example:char s [10]; This is a ten (10) element array that.
EPSII 59:006 Spring Introduction Fundamentals of Strings and Characters Character Handling Library String Conversion Functions Standard Input/Output.
C How to Program, 6/e © by Pearson Education, Inc. All Rights Reserved.
CHAPTER 8 CHARACTER AND STRINGS
Chapter 9 Character Strings 9.1 Character String Constants A character string constant is a sequence of characters enclosed in double quotation mark. Examples.
 2000 Prentice Hall, Inc. All rights reserved. Chapter 8 - Characters and Strings Outline 8.1Introduction 8.2Fundamentals of Strings and Characters 8.3Character.
STRING Dong-Chul Kim BioMeCIS UTA 10/7/
C Tokens Identifiers Keywords Constants Operators Special symbols.
Copyright © 2012 Pearson Education, Inc. Chapter 2: Introduction to C++
Character Arrays Based on the original work by Dr. Roger deBry Version 1.0.
Arrays II (Strings). Data types in C Integer : int i; Double: double x; Float: float y; Character: char ch; char cha[10], chb[]={‘h’,’e’,’l’,’l’,’o’};
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI C-Style Strings Strings and String Functions Dale Roberts, Lecturer.
Chapter 8: Character and String CMPD144: Programming 1.
Chapter 8 Strings. Copyright ©2004 Pearson Addison-Wesley. All rights reserved.9-2 Strings stringC implements the string data structure using arrays of.
CSCI 3133 Programming with C Instructor: Bindra Shrestha University of Houston – Clear Lake.
Representing Strings and String I/O. Introduction A string is a sequence of characters and is treated as a single data item. A string constant, also termed.
CSC141- Introduction to Computer programming Teacher: AHMED MUMTAZ MUSTEHSAN Lecture – 21 Thanks for Lecture Slides:
13. Strings. String Literals String literals are enclosed in double quotes: "Put a disk in drive A, then press any key to continue\n“ A string literal.
 2003 Prentice Hall, Inc. All rights reserved. 11 Fundamentals of Characters and Strings Character constant –Integer value of a character –Single quotes.
String Array (Multidimensional Arrays) 1. A string array is a multidimensional array of strings. It is declared in the following syntax: char variable_name[No_of_strings][size_of_each_string];
Agenda  Take up homework  Loops - Continued –For loops Structure / Example involving a for loop  Storing Characters in variables  Introduction to Functions.
UniMAP SEM I - 09/10EKT 120 Computer Programming1 Lecture 8 – Arrays (2) & Strings.
Chapter 8 Characters and Strings. Objectives In this chapter, you will learn: –To be able to use the functions of the character handling library ( ctype).
UniMAP SEM I - 10/11EKT 120 Computer Programming1 Lecture 8 – Arrays (2) and Strings.
C++ Programming Lecture 19 Strings The Hashemite University Computer Engineering Department (Adapted from the textbook slides)
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI CSCI N305 Characters and Strings Functions.
Computer Programming for Engineers
Characters and Strings
Principles of Programming Chapter 8: Character & String  In this chapter, you’ll learn about;  Fundamentals of Strings and Characters  The difference.
1 Arrays and Pointers The name of an array is a pointer constant to the first element. Because the array’s name is a pointer constant, its value cannot.
1 Chapter 8 - Characters and Strings Outline 8.1Introduction 8.2Fundamentals of Strings and Characters 8.3Character Handling Library 8.4String Conversion.
Dale Roberts Department of Computer and Information Science, School of Science, IUPUI CSCI 230 Characters and Strings Dale Roberts, Lecturer Computer Science,
Strings. String Literals String literals are enclosed in double quotes: "Put a disk in drive A, then press any key to continue\n“ A string literal may.
CSE 251 Dr. Charles B. Owen Programming in C1 Strings and File I/O.
ECE 103 Engineering Programming Chapter 29 C Strings, Part 2 Herbert G. Mayer, PSU CS Status 7/30/2014 Initial content copied verbatim from ECE 103 material.
Principles of Programming - NI Chapter 10: Character & String : In this chapter, you’ll learn about; Fundamentals of Strings and Characters The difference.
String in C++. 2 Using Strings in C++ Programs String library or provides functions to: - manipulate strings - compare strings - search strings ASCII.
EKT150 INTRODUCTION TO COMPUTER PROGRAMMING
INC 161 , CPE 100 Computer Programming
C Characters and Strings
Fundamentals of Characters and Strings
Module 2 Arrays and strings – example programs.
Strings A string is a sequence of characters treated as a group
Arrays in C.
Chapter 8 - Characters and Strings
C++ Programming Lecture 20 Strings
Characters and Strings Functions
C Characters and Strings
Presentation transcript:

1

An array is a collection of a fixed number of components wherein all of the components are of the same type Example: Suppose that there is a list of five integers: 5, 10, 15, 20, and 25 Previously we would declare five variables: int iNum1,iNum2,iNum3,iNum4,iNum5; By using array, since they are all of the same data type, we could just write: int aiNum[5]; 2

aiNum aiNum[0] aiNum[1] aiNum[2] aiNum[3] aiNum[4] int aiNum[5]; 5 components or elements in this array Elements are referred to index Element aiNum[2] has index 2 and value 15

Column aiValue[0][0]aiValue[0][1] aiValue[1][0]aiValue[1][1] aiValue[2][0]aiValue[2][1] aiValue[3][0]aiValue[3][1] Row int aiValue[4][2]; aiValue[2][1]=5;

Column aiValue[0][0]aiValue[0][1] aiValue[1][0]aiValue[1][1] aiValue[2][0]5 aiValue[3][0]aiValue[3][1] Row int aiValue[4][2]; aiValue[2][1]=5;

1. Introduction to Strings 2. Declaration of Strings 3. Fundamentals of Strings & Characters 4. Initialization of Strings 5. Assigning Values to Strings 6. Character and String Manipulations 7. Strings Conversion Functions 8. ASCII Table 6

A string is a series of characters treated as a single unit. Also known as character array Strings can be treated as array of type char used to store names of people, places, or anything that involves a combination of letters. A string may include letters, digits and various special characters such as +, -, *, ? and $. String literals, or string constants, in C are written in double quotation marks ( “ ” ) as follows: Example: “John Doe”(a name) “99999 Main Street” (a street address) “Kangar, Perlis”(a city and a state) “(012) ”(a telephone number) 7

The data type string is a programmer-defined and is not part of the C language A string with no characters is called a null or empty string. “ ” is the empty string. Every character in a string has a relative position in the string. The position of the first character is 0, position of the second is 1, and so on. The length of a string is the number of character in it. of a string is the address of its first character. 8

StringPosition of a CharacterLength of the String in the String “William Jacob”Position of ‘W’ is 013 Position of the first ‘i’ is 1 Position of ‘ ’ (the space) is 7 Position of ‘J’ is 8 Position of ‘b’ is 12 “Mickey”Position of ‘M’ is 06 Position of ‘i’ is 1 Position of ‘c’ is 2 Position of ‘k’ is 3 Position of ‘e’ is 4 Position of ‘y’ is 5 9

Declaration of string/character array char variable_name[length]; An example of declaration of an array (or string of characters): char name[10]; //declaration  can use to store “William”, “John Doe” etc and all strings that shorter than defined length  It is not necessary that this max size of 10 characters should at all the times fully used The last value in the string will be a null character (‘\0’). 10 name char name[10]; can store a string up to 10 characters long, and may visualize it as below

name is an array of 10 elements of type char, could be represented by storing the strings of characters, e.g. “William” and “John Doe” in the following way: 11 W name illiam\0 JeoDnho to indicate end of string indefinite values

Also can be declared as a character array or a variable of type char * char name[] = “William"; char *name = “William"; 12

Formatted input Use scanf scanf("%s", name); Copies input into name[] Does not need & (because a string is a pointer) Remember to leave room in the array for the null character ('\0’) Formatted output Use printf printf(“%s”,name); 13

#include int main() { char name[30]; printf("Enter name: "); scanf(“%s”,name); //read string from user printf(“Hi %s\n“,name); //display string return 0; } Input and output characters using scanf() and printf() Example program: 14

Similar to array, but each character is enclosed in ‘ ’ or “ ”. Example: char newString[]={‘W’, ‘e’, ‘l’, ‘c’, ‘o’, ‘m’, ‘e’, ‘\0’}; char newString[]= “Welcome”; ‘\0’ is automatically inserted The difference is that single quotes (‘) are used to specify single character constants and null character must be added at the end of the sentence. char newString[]= {‘W’,‘e’,‘l’,‘c’,‘o’,‘m’,‘e’,‘\0’}; 15 Single quotes – null char must be added

On the other hand, double quotes (“) are constant that specify sequence of characters and always have a null character (‘\0’) automatically inserted at the end. char newString[] = “Welcome”; 16 Double quotes – null char automatically inserted

The examples below are NOT VALID for string / characters array. newString = “Welcome”; //no [] and data type newString [] =“Welcome”; //no data type newString = {‘W’,‘e’,‘l’,‘c’,‘o’,‘m’,‘e’,‘\0’}; //no [] and data type 17

The left hand side value of an assignation can only be array items and not the entire array, a possible way to assign a string of characters to an array of char can be shown as: newString[0] = ‘W’; newString[1] = ‘e’; newString[2] = ‘l’; newString[3] = ‘c’; newString[4] = ‘o’; newString[5] = ‘m’; newString[6] = ‘e’; newString[7] = ‘\0’; 18

A program may need to verify/perform, e.g. Calculation of the string size Copy one string to another Appends one string to another Built-in functions available – makes it easier. Standard input/output library General utilities library Character handling library String handling library 19

#include int main() { char name[30]; printf("Enter name: "); gets(name); //Function to read string from user printf(“Hi "); puts(name); //Function to display string return 0; } Input and output characters using gets() puts() function from Example program: 20

#include int main() { char name[30]; printf("Enter name: "); gets(name); //Function to read string from user printf(“Hi "); puts(name); //Function to display string return 0; } Input and output characters using gets() puts() function from Example program: 21 Enter name : John Hi John

#include int main() { char name[3][30]; printf("Enter 3 names:\n"); for(i=0;i<3;i++) gets(name[i]); //Function to read string from user printf(“\nName Entered:\n”); for(i=0;i<3;i++) puts(name[i]); //Function to display string return 0; } Input and output characters using gets() puts() function from Example program: 22

#include int main() { char name[3][30]; printf("Enter 3 names:\n"); for(i=0;i<3;i++) gets(name[i]); //Function to read string from user printf(“\nName Entered:\n”); for(i=0;i<3;i++) puts(name[i]); //Function to display string return 0; } Input and output characters using gets() puts() function from Example program: 23 Enter 3 names: Michael John Sarah Names Entered: Michael John Sarah

Calculation of string size using strlen(char *string) function from char is 1 byte, the total number of alphabets would be the size of the string. Example program: #include char newString1[] = {'W','e','l','c','o','m','e','\0'}; char newString2[] = "Good Bye"; int main() { //size of string Welcome printf ("Size of ‘%s’ is %d\n", newString1,strlen(newString1); //size of string Good Bye printf ("\nSize of ‘%s’ is %d\n",newString2,strlen(newString2)); return 0; } 24

Calculation of string size using strlen(char *string) function from char is 1 byte, the total number of alphabets would be the size of the string. Example program: #include char newString1[] = {'W','e','l','c','o','m','e','\0'}; char newString2[] = "Good Bye"; int main() { //size of string Welcome printf ("Size of ‘%s’ is %d\n", newString1,strlen(newString1); //size of string Good Bye printf ("\nSize of ‘%s’ is %d\n",newString2,strlen(newString2)); return 0; } 25 Size of `Welcome’ is 7 Size of `Good Bye’ is 8

In C, upper case letter, e.g. ‘K’ is not equal to lower case ‘k’ So in C programming, you usually use: if (cChoice == ‘K’ || cChoice == ‘k’), OR while (cChoice == ‘Y’ || cChoice == ‘y’) The case of a character can be controlled using tolower() and toupper() functions from temporarily converts a letter/char to uppercase or lowercase before comparing it toupper(int c) tolower(int c) Also, can use functions that converts the whole string to upper or lowercase from strupr(char *string) strlwr(char *string) 26

… char cChoice; printf ( “Continue? (Y or N) : “); scanf (“%c”, &cChoice); while(tolower(choice)=='y') { … scanf("%s",&choice); } … 27

//To convert a string to uppercase #include void main() { char acName[20]; //declare an array of //characters 0-79 printf("Enter in a name in lowercase\n"); scanf( "%s", acName ); strupr(acName); printf("The name in uppercase is %s", acName ); } 28

//To convert a string to uppercase #include void main() { char acName[20]; //declare an array of //characters 0-79 printf("Enter in a name in lowercase\n"); scanf( "%s", acName ); strupr(acName); printf("The name in uppercase is %s", acName ); } 29 Enter in a name in lowercase john The name in uppercase is JOHN

//To convert a string to uppercase #include int main() { int i=0; char line[]= "my NAME is JOHN"; printf(“Before conversion : %s\n",line); i=0; while (line[i] != 0) { if (islower(line[i])) { line[i]= toupper(line[i]); } ++i; } printf(“After conversion : %s\n",line); return 0; } 30

//To convert a string to uppercase #include int main() { int i=0; char line[]= "my NAME is JOHN"; printf(“Before conversion : %s\n",line); i=0; while (line[i] != 0) { if (islower(line[i])) { line[i]= toupper(line[i]); } ++i; } printf(“After conversion : %s\n",line); return 0; } 31 Before conversion : my NAME is JOHN After conversion : MY NAME IS JOHN

32 void changeCase1(char *strPtr) { while (*strPtr!= NULL) { if (islower(*strPtr)) *strPtr= toupper(*strPtr); ++strPtr; } void changeCase2(char *strPtr) { for(;*strPtr!= NULL;strPtr++) { if (isupper(*strPtr)) *strPtr= tolower(*strPtr); } #include void changeCase1(char *strPtr); int main() { char string[] = “my NAME is JOHN"; printf(“Before conversion: %s\n",string); changeCase1(string); printf(“After conversion1: %s\n",string); changeCase2(string); printf(“After conversion2: %s\n",string); return 0; }

33 void changeCase1(char *strPtr) { while (*strPtr!= NULL) { if (islower(*strPtr)) *strPtr= toupper(*strPtr); ++strPtr; } void changeCase2(char *strPtr) { for(;*strPtr!= NULL;strPtr++) { if (isupper(*strPtr)) *strPtr= tolower(*strPtr); } #include void changeCase1(char *strPtr); int main() { char string[] = “my NAME is JOHN"; printf(“Before conversion: %s\n",string); changeCase1(string); printf(“After conversion1: %s\n",string); changeCase2(string); printf(“After conversion2: %s\n",string); return 0; } Before conversion : my NAME is JOHN After conversion1 : MY NAME IS JOHN After conversion2 : my name is john

Real value does not changed. The functions only affect characters of letters or alphabets. does not affect numbers and special characters such as $ and % If the character is already lowercase or uppercase, the function will not affect the real value return the original value Example: char cRepeat = ‘Y’; cLetter = strupr(cRepeat); cLetter = ? 34

Conversion functions In (general utilities library) Convert strings of digits to integer and floating-point values 35

Comparing strings Computer compares numeric ASCII codes of characters in string int strcmp( const char *s1, const char *s2 ); Compares string s1 to s2 Returns a negative number if s1 s2 int strncmp(const char *s1, const char *s2, size_t n ); Compares up to n characters of string s1 to s2 Returns values as above 36

ASCII Character Set nulsohstxetxeotenqackbelbsht 1Ifvtffcrsosidledc1dc2dc3 2dc4naksynetbcanemsubescfsgs 3rsussp!“#$%&` 4()*+,-./ :; 7FGHIJKLMNO 8PQRSTUVWXY 9Z[\]^_’abC 10defghijklM 11nopqrstUvW 12xyz{|}~del 37 ‘A’  65, ‘a’  97

#include int main() { char acString1[20], acString2[20]; //declaration int iResult; printf( "Enter two strings: " ); scanf( "%s %s", acString1, acString2 ); iResult = strcmp( acString1, acString2);//comparing acString1 and acString2 if (iResult > 0 ) printf( "\"%s\" is greater than \"%s\"\n",acString1, acString2 ); else if ( iResult == 0 ) printf( "\"%s\" is equal to \"%s\"\n",acString1, acString2 ); else printf( "\"%s\" is less than \"%s\"\n",acString1, acString2 ); return 0; } 38

#include int main() { char acString1[20], acString2[20]; //declaration int iResult; printf( "Enter two strings: " ); scanf( "%s %s", acString1, acString2 ); iResult = strcmp( acString1, acString2 );//comparing acString1 and acString2 if ( iResult > 0 ) printf( "\"%s\" is greater than \"%s\"\n",acString1, acString2 ); else if ( iResult == 0 ) printf( "\"%s\" is equal to \"%s\"\n",acString1, acString2 ); else printf( "\"%s\" is less than \"%s\"\n",acString1, acString2 ); return 0; } 39 Enter two strings: computer programming "computer" is less than "programming" Enter two strings: programming computer "programming" is greater than "computer"

#include int main() { char acString1[ 20 ], acString2[ 20 ]; int iResult, iCompareCount; printf( "Enter two strings: " ); scanf( "%s %s", acString1, acString2 ); printf( "How many characters should be compared: " ); scanf( "%d", &iCompareCount ); iResult = strncmp( acString1, acString2, iCompareCount ); if (iResult > 0 ) printf( "\"%s\" is greater than \"%s\" up to %d characters\n", acString1, acString2, iCompareCount ); else if ( iResult == 0 ) printf( "\"%s\" is equal to \"%s\" up to %d characters\n", acString1, acString2, iCompareCount ); else printf( "\"%s\" is less than \"%s\" up to %d characters\n", acString1, acString2, iCompareCount ); return 0; } 40

41 #include int main() { char acString1[ 20 ], acString2[ 20 ]; int iResult, iCompareCount; printf( "Enter two strings: " ); scanf( "%s %s", acString1, acString2 ); printf( "How many characters should be compared: " ); scanf( "%d", &iCompareCount ); iResult = strncmp( acString1, acString2, iCompareCount ); if (iResult > 0 ) printf( "\"%s\" is greater than \"%s\" up to %d characters\n", acString1, acString2, iCompareCount ); else if ( iResult == 0 ) printf( "\"%s\" is equal to \"%s\" up to %d characters\n", acString1, acString2, iCompareCount ); else printf( "\"%s\" is less than \"%s\" up to %d characters\n", acString1, acString2, iCompareCount ); return 0; } Enter two strings: computer programming How many characters should be compared: 7 "computer" is less than "programming" up to 7 characters Enter two strings: programming computer How many characters should be compared: 7 "programming" is greater than "computer" up to 7 characters

strcat Appends a string strchr Finds first occurrence of a given character strcmp Compares two strings strcmpi Compares two strings, non-case sensitive strcpy Copies one string to another strlen Finds length of a string strlwr Converts a string to lowercase strncatAppends n characters of string strncmp Compares n characters of two strings strncpy Copies n characters of one string to another strnset Sets n characters of string to a given character strrchr Finds last occurrence of given character in string strrev Reverses string strset Sets all characters of string to a given character strspn Finds first substring from given character set in string strupr Converts string to uppercase 42

Q & A! 43