Title | lecture Notes Java and C |
---|---|
Course | Principles of Programming Languages |
Institution | Concordia University |
Pages | 24 |
File Size | 1.2 MB |
File Type | |
Total Downloads | 107 |
Total Views | 146 |
lecture notes for midterm 1: java and C...
Table of Contents Java....................................................................................................................................... 2 Pointer .................................................................................................................................. 4 Aliasing ................................................................................................................................. 5 Constant pointers and value .................................................................................................. 6 Constant pointer ............................................................................................................................6 Pointer to constant ........................................................................................................................6 Constant pointer to constant ..........................................................................................................7
Pointers swap ........................................................................................................................ 8 Function pointer .................................................................................................................... 9 Struct ..................................................................................................................................12 Unions ................................................................................................................................. 15 Enum ................................................................................................................................... 16 C code ................................................................................................................................. 16 Aggregate codes ..........................................................................................................................18 Address array...............................................................................................................................22 Pointer array................................................................................................................................23
Bubble sort .......................................................................................................................... 24
Java Static method
Dog or animal is called String
Collie is called
int main() { char str1[12]= "sami"; char str2[12]="ibrahim"; char str3 [12]; int len; strcpy(str3,str1); printf("copy str1 to str3:%s\n",str3); len=strlen(str1); printf("len= %d\n",len);
printf("%d",strcmp(str1,str2)); strcat(str1,str2); printf("\nstr1+str2= %s\n",str1); return 0}
Pointer
Aliasing
A and *ptr both are the same thing. Both can change the value
Constant pointers and value Constant pointer
Pointer to constant
Constant pointer to constant
Pointers swap
Function pointer
Struct
Unions
Enum
C code #include float minf(float* arr, int size); float maxf(float* arr, int size); float sumf(float* arr, int size); float avgf(float* arr, int size); float pseudo_avg(float* arr, int size); int main(){ float arr[] = {1,2,3,4,5}; maxf(arr, -5); minf(arr, 5); sumf(arr, 5); avgf(arr, 5); pseudo_avg(arr, 5); return 0; }
float maxf(float* arr, int size) { if(size maximum) { maximum = arr[i]; } }printf(" \nmax = %f", maximum); return maximum;} } float minf(float* arr, int size) { float minimum = arr[0]; for (int i = 0; i < size; ++i) { if (arr[i] < minimum) { minimum = arr[i]; } }printf(" \nmin = %f", minimum); return minimum; }
float sumf(float* arr, int size) { float sum =0; for (int i = 0; i < size; ++i) { sum=sum+arr[i]; }printf(" \nsum = %f", sum);
return sum; } float avgf(float* arr, int size) { float sum =0; float avg = 0; for (int i = 0; i < size; ++i) { sum=sum+arr[i]; avg=sum/size; }printf(" \navg = %f",avg); return avg; } float pseudo_avg(float* arr, int size) { float pseudo; float maximum = arr[0]; for (int i = 0; i < size; ++i) { if (arr[i] > maximum) { maximum = arr[i]; } } float minimum = arr[0]; for (int i = 0; i < size; ++i) { if (arr[i] < minimum) { minimum = arr[i]; } pseudo= (minimum+maximum)/2; } printf(" \npseudo-avg = %f",pseudo); return pseudo; }
Aggregate codes #include #include
float minf(float* arr, int size); float maxf(float* arr, int size); float sumf(float* arr, int size); float avgf(float* arr, int size); float pseudo_avg(float* arr, int size);
float maxf(float* arr, int size){ if (*arr==0){ printf("\nFATAL ERROR: maxf is not working ...the input array is NULL!!\n"); } else if(size maximum) { maximum = arr[i]; } } printf(" \nmax = %f", maximum); return maximum;} } float minf(float* arr, int size) { if (* arr==0){ printf("\nFATAL ERROR: minf is not working ...the input array is NULL!!\n"); } else if(size...