0% found this document useful (0 votes)
305 views

Array and String-Students

- An array is a variable that can hold multiple values of the same data type under one name. It is declared with square brackets containing the number of elements. - One-dimensional arrays have a single index, while two-dimensional arrays have two indices to reference the rows and columns. - Common string functions in C include strcpy to copy strings, strcat to concatenate strings, strcmp to compare strings, and strlen to return the length of a string.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
305 views

Array and String-Students

- An array is a variable that can hold multiple values of the same data type under one name. It is declared with square brackets containing the number of elements. - One-dimensional arrays have a single index, while two-dimensional arrays have two indices to reference the rows and columns. - Common string functions in C include strcpy to copy strings, strcat to concatenate strings, strcmp to compare strings, and strlen to return the length of a string.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 33

Array

Is a special type of variable which can obtain or hold one


or more variables of the same data type with reference
to only one variable name.
A variable can be distinguished through a pair of square
brackets:[]
The number inside the bracket is called an index or
element.
Syntax for one-dimensional array
datatype arrayname[index];
Example
int rose[4];

Graphical representation

Cont
Individual value of variable rose[4].
rose[0]=10;
rose[1]=20;
rose[2]=30;
rose[3]=40;
other examples are:
Char name[10];
Float[3];

Two-dimensional array
Two dimensional array syntax
datatype arrayname[row][column];
Ex:
int score[2][3];
Graphical representation

Cont

score[0][0]=10;
score[0][1]=20;
score[0][2]=30;
score[1][0]=40;
score[1][1]=50;
score[1][2]=80;

Example1:

int c[]={2,3,4};
printf("%d",c[2]);

EXAMPLE2
int c[]={2,3,4},a;
for(a=0;a<3;a++)
{
printf("a [%d]=%d\n",a,c[a]);
}

Cont
int grade[10],i,n=3,sum=0;
for(i=0;i<n;++i){
printf("Enter the grades for grade [%d]: ",i);
scanf("%d",&grade[i]);
}
for(i=0;i<n;++i){
printf("\ngrade [%d]=%d",i,grade[i]);
}

Strings
A special kind of array is an array of characters
ending in the null character \0 called string arrays
A string is declared as an array of characters
char s[10]
char p[30]
When declaring a string dont forget to leave a
space for the null character which is also known
as the string terminator character

C offers four main operations on


strings
strcpy - copy one string into another
strcat - append one string onto the right
side of the other
strcmp compare alphabetic order of two
strings
strlen return the length of a string

strcpy
strcpy(destinationstring, sourcestring)
Copies sourcestring into destinationstring
For example
strcpy(str, hello world); assigns hello
world to the string str

Example with strcpy


#include <stdio.h>
#include <string.h>
main()
{
char x[] = Example with strcpy;
char y[25];
printf(The string in array x is %s \n , x);
strcpy(y,x);
printf(The string in array y is %s \n , y);
}

strcat
strcat(destinationstring, sourcestring)
appends sourcestring to right hand side of
destinationstring
For example if str had value a big
strcat(str, hello world); appends hello world to
the string a big to get
a big hello world

Example with strcat


#include <stdio.h>
#include <string.h>
main()
{
char x[] = Example with strcat;
char y[]= which stands for string concatenation;

printf(The string in array x is %s \n , x);


strcat(x,y);
printf(The string in array x is %s \n , x);
}

strcmp
strcmp(stringa, stringb)
Compares stringa and stringb alphabetically
Returns a negative value if stringa precedes
stringb alphabetically
Returns a positive value if stringb precedes
stringa alphabetically
Returns 0 if they are equal
Note lowercase characters are greater than
Uppercase

Example with strcmp


#include <stdio.h>
#include <string.h>
main()
{
char x[] = cat;
char y[]= cat;
char z[]= dog;
if (strcmp(x,y) == 0)

printf(The string in array x %s is equal to


that in %s \n , x,y);

continued
if (strcmp(x,z) != 0)

{printf(The string in array x %s is not equal to that in z %s \n ,


x,z);
if (strcmp(x,z) < 0)
printf(The string in array x %s precedes that in z %s \n , x,z);
else
printf(The string in array z %s precedes that in x %s \n , z,x);
}
else
printf( they are equal);
}

strlen
strlen(str) returns length of string
excluding null character
strlen(ttttt) = 4 not 5 since \0 not counted

Example with strlen


#include <stdio.h>
#include <string.h>
main()
{
int i, count;
char x[] = tommy tucket took a tiny ticket ;
count = 0;

for (i = 0; i < strlen(x);i++)


{
if (x[i] == t) count++;
}
printf(The number of ts in %s is %d \n , x,count);
}

No of space in the sentence


#include <stdio.h>
#include <string.h>
main()
{
int i,j, count;
char x[] = tommy tucket took a tiny ticket ;
count = 0;

for (i = 0; i < strlen(x);i++)


{
if ((x[i] == )
{ count++;
for(j=i;x[j] != ;j++);
i = j;
}
}
printf(The number of wordss in %s is %d \n , x,count+1);
}

Input output functions of characters


and strings
getchar() reads a character from the
screen in a non-interactive environment
getche() like getchar() except interactive
putchar(int ch) outputs a character to
screen
gets(str) gets a string from the keyboard
puts(str) outputs string to screen

Characters are at the heart of


strings

Exercise 1
Output
1
12
123
1234
.
1 2 3 4 5 6 7 8 9 10

Exercise 1
#include <stdio.h>
main()
{
int i,j;
for(j = 1; j <= 10; j++)
{
for(i=1;i <= j;i++)
{
printf(%d ,i);
}
printf(\n);
}
}

Exercise 2
Output
*
**
***
****
.
**********

Exercise 2
#include <stdio.h>
main()
{
int i,j;
for(j = 1; j <= 10; j++)
{
for(i=1;i <= j;i++)
{
printf(* );
}
printf(\n);
}
}

Exercise 3
Output
***********
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
***********

#include <stdio.h>
main()
{
int i,j;
for(j = 1; j <= 10; j++)
{
printf(* );
for(i=1;i <= 8;i++)
{
if ((j==1) || (j==10)) printf(* );
else
printf( );
}
printf(* \n );
}
}

Some Useful C Character


Functions
Don't forget to #include <ctype.h> to get
the function prototypes.

Functions
Function
int isalpha(c);
int isupper(c);
int islower(c);
int isdigit(c);

Return true if
c is a letter.
c is an upper case
letter.
c is a lower case letter.
c is a digit [0-9].

More Functions
Function
Return true if
int isxdigit(c); c is a hexadecimal digit
[0-9A-Fa-f].
int isalnum(c); c is an alphanumeric character (c
is a letter or a digit);
int isspace(c); c is a SPACE, TAB,
RETURN,
NEWLINE, FORMFEED,
or vertical tab character.

Even More C Functions


Function
int ispunct(c);

int isprint(c);
int iscntrl(c);

Return true if
c is a punctuation
character (neither
control nor
alphanumeric).
c is a printing character.
c is a delete character
or ordinary control
character.

Still More C Functions


Function
int isascii(c);

Return true if
c is an ASCII character,
codeless than 0200.
int toupper(int c); convert character c to
upper case (leave it
alone if not lower)
int tolower(int c); convert character c to
lower case (leave it
alone if not upper)

Program to Reverse Strings


#include <stdio.h>
#include <string.h>
int main ()
{
int i;
char a[10];
char temp;

//clrscr(); // only works on windows


gets(a);
for (i = 0; a[i] != '\0' ; i++);
i--;
for (int j = 0; j <= i/2 ; j++)
{
temp = a[j];
a[j] = a[i - j];
a[i - j] = temp;
}
printf("%s",a);
return(0);

Program to count the number of


vowels in a string :

Note Two different ways to declare strings


One using pointers *str
Two using character array char a[]
#include <stdio.h>
#include <string.h>

void main() {
char *str;
char a[]="aeiouAEIOU";
int i,j,count=0;
clrscr();
printf("\nEnter the string\n");
gets(str);
for(i=0;str[i]!='\0';i++)
{
for(j=0;a[j]!='\0';j++)
if(a[j] == str[i]
{
count++;
break;

}
printf("\nNo. of vowels = %d",count);
}
}

You might also like