Computers in Engineering - 308-208 Lecture 19
Computers in Engineering - 308-208

# Lesson 19 - Learning Goals

## 19.3 Learn the C vector functions

```float f_value ;
double d_value ;
char c_value ;
short int s_value ;
long int l_value ;
int i_value ;
```

 Expression Type c_value * i_value int f_value - 7.3 double d_value + c_value double c_value - s_value int s_value - l_value long int s_value + 7 int s_value - 7.0 double 7 + 7.0 double

EXAMPLE USE OF CASTS

```double ratio, q, r ;
q = 7.0 ;
r = 2.0 ;
ratio = (int) q / (int) r ;
```

STRING FUNCTIONS

 Functions Arguments Description strcpy( ) char *s1, char *s2 copies s2 to s1 ; returns s1 strncpy( ) char *s1, char *s2, int n copies at most n characters of s2 to s1 ; returns s1 strcat( ) char *s1, char *s2 concatenates s2 to end of s1 ; returns s1 strncat( ) char *s1, char *s2, int n concatenates first n characters of s2 to end of s1 ; returns s1 strcmp( ) char *s1, char *s2 compares s1 to s2 ; returns < 0 if s1 < s2, 0 if s1 == s2 or > 0 if s1 > s2 strlen( ) char *s1 returns length of s1 ( not including `\0` )

PROGRAM USING STRING FUNCTIONS

```/* test various functions in string library */
#include <stdio.h>
#include <string.h>

main ( )
{

char string1[ ] = "document" ;
/* first test string */
char string2[ ] = "disk" ;
/* second test string */
char s3[20], s4 [20], s5[20] ;

/* test string length */
printf("Length of string 1 is %d\n",
strlen(string1)) ;

/* test string copy functions */
strcpy(s3, string2) ;
strncpy(s4, string2, 3) ;
printf("Two copied strings are %s and %s \n",
s3, s4) ;

/* test string concatenation functions */
strcat(s3, string1) ;
strncat(s4, string1, 3) ;
printf("Two concatenated strings are %s and %s \n",
s3, s4) ;

/* test string comparison */
if(strcmp(s3, s4)) printf("Strings are different \n") ;
else
printf("Strings are identical \n") ;
}

```

OUTPUT :

```Length of string1 is 8
Two copied strings are disk and dis
Two concatenated strings are disk document and disdoc
Strings are different
```

FUNCTION TO COMPUTE LENGTH OF A VECTOR

```/* function to compute the length of a vector */

#include <math.h>
double length( double v[ ], int n)
{
double total = 0.0 ;
int i ;
for( i=0 ; i<n ; i++ ) total += v[i] * v[i] ;
return(sqrt(total)) ;
}

```

FUNCTION TO COMPUTE INNER PRODUCT OF TWO VECTORS

```/* function to compute an inner product */

double inner_product( double v[ ], double w[ ], int n )
{
double total = 0.0 ;
int i ;
for ( i=0 ; i<n ; i++ ) total += v[i] * w[i] ;
return(total) ;
}

```

On to the next lecture