Anda di halaman 1dari 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);
}
}

Anda mungkin juga menyukai