From 5b205092a72e9b563f40aafa3a301597557eb18a Mon Sep 17 00:00:00 2001 From: Louise Brown Date: Thu, 7 Apr 2022 16:58:01 +0100 Subject: [PATCH] Initial commit of lecture code --- .gitignore | 2 + LC10/simple_functions_1.c | 47 +++++++++++ LC10/simple_functions_2.c | 51 ++++++++++++ LC11/loop_into_array.c | 26 +++++++ LC12/global_ex1.c | 28 +++++++ LC12/global_ex2.c | 37 +++++++++ LC12/global_ex3.c | 57 ++++++++++++++ LC14/pointer_function_example_1.c | 32 ++++++++ LC14/pointer_function_example_2.c | 31 ++++++++ LC15/pointer_to_array_1.c | 33 ++++++++ LC15/pointer_to_array_2.c | 33 ++++++++ LC15/pointer_to_array_examples.c | 33 ++++++++ LC16/Dynamic1.c | 46 +++++++++++ LC16/Dynamic2.c | 54 +++++++++++++ LC16/Dynamic3.c | 66 ++++++++++++++++ LC17/DynamicFunction.c | 79 +++++++++++++++++++ LC17/Quadratic_with_Pointers.c | 61 +++++++++++++++ LC18/filemove.c | 45 +++++++++++ LC18/filesize.c | 38 +++++++++ LC19/ConstHashDefine.c | 25 ++++++ LC19/Static.c | 45 +++++++++++ LC19/Structure_1.c | 27 +++++++ LC19/Structure_2.c | 39 ++++++++++ LC19/Structure_3.c | 59 ++++++++++++++ LC19/WriteHeader.c | 77 ++++++++++++++++++ LC19/WriteHeaderArrayAndUpdate.c | 90 +++++++++++++++++++++ LC19/WriteHeaderArrayAndUpdateAndSeek.c | 99 ++++++++++++++++++++++++ LC19/WriteHeaderWithArray.c | 77 ++++++++++++++++++ LC19/enum.c | 24 ++++++ LC19/enumdefine.c | 41 ++++++++++ LC19/file_header.c | 90 +++++++++++++++++++++ LC19/file_header_move.c | 99 ++++++++++++++++++++++++ LC19/swap.c | 72 +++++++++++++++++ LC19/union.c | 31 ++++++++ LC21/cond.c | 37 +++++++++ LC21/getthem.c | 24 ++++++ LC21/simple.c | 19 +++++ LC21/sprints.c | 23 ++++++ LC21/use.c | 29 +++++++ LC4/hello_world.c | 9 +++ LC4/hello_world.exe | Bin 0 -> 256808 bytes LC5/printf_example.c | 14 ++++ LC5/printf_example.exe | Bin 0 -> 256808 bytes LC7/fgets_string.c | 22 ++++++ LC7/getch.c | 27 +++++++ LC7/getchar.c | 27 +++++++ LC7/gets_string.c | 22 ++++++ LC7/scanf_examples.c | 36 +++++++++ LC7/scanf_string.c | 23 ++++++ LC8/complex_if.c | 35 +++++++++ LC8/if_else_if_else.c | 35 +++++++++ LC8/if_equals_example.c | 37 +++++++++ LC8/if_examples.c | 34 ++++++++ LC8/switch_1.c | 31 ++++++++ LC8/switch_2.c | 34 ++++++++ LC8/switch_3.c | 33 ++++++++ LC9/do_while_example.c | 42 ++++++++++ LC9/for_loops.c | 42 ++++++++++ LC9/while_example_version_1.c | 47 +++++++++++ LC9/while_example_version_2.c | 37 +++++++++ 60 files changed, 2413 insertions(+) create mode 100644 .gitignore create mode 100644 LC10/simple_functions_1.c create mode 100644 LC10/simple_functions_2.c create mode 100644 LC11/loop_into_array.c create mode 100644 LC12/global_ex1.c create mode 100644 LC12/global_ex2.c create mode 100644 LC12/global_ex3.c create mode 100644 LC14/pointer_function_example_1.c create mode 100644 LC14/pointer_function_example_2.c create mode 100644 LC15/pointer_to_array_1.c create mode 100644 LC15/pointer_to_array_2.c create mode 100644 LC15/pointer_to_array_examples.c create mode 100644 LC16/Dynamic1.c create mode 100644 LC16/Dynamic2.c create mode 100644 LC16/Dynamic3.c create mode 100644 LC17/DynamicFunction.c create mode 100644 LC17/Quadratic_with_Pointers.c create mode 100644 LC18/filemove.c create mode 100644 LC18/filesize.c create mode 100644 LC19/ConstHashDefine.c create mode 100644 LC19/Static.c create mode 100644 LC19/Structure_1.c create mode 100644 LC19/Structure_2.c create mode 100644 LC19/Structure_3.c create mode 100644 LC19/WriteHeader.c create mode 100644 LC19/WriteHeaderArrayAndUpdate.c create mode 100644 LC19/WriteHeaderArrayAndUpdateAndSeek.c create mode 100644 LC19/WriteHeaderWithArray.c create mode 100644 LC19/enum.c create mode 100644 LC19/enumdefine.c create mode 100644 LC19/file_header.c create mode 100644 LC19/file_header_move.c create mode 100644 LC19/swap.c create mode 100644 LC19/union.c create mode 100644 LC21/cond.c create mode 100644 LC21/getthem.c create mode 100644 LC21/simple.c create mode 100644 LC21/sprints.c create mode 100644 LC21/use.c create mode 100644 LC4/hello_world.c create mode 100644 LC4/hello_world.exe create mode 100644 LC5/printf_example.c create mode 100644 LC5/printf_example.exe create mode 100644 LC7/fgets_string.c create mode 100644 LC7/getch.c create mode 100644 LC7/getchar.c create mode 100644 LC7/gets_string.c create mode 100644 LC7/scanf_examples.c create mode 100644 LC7/scanf_string.c create mode 100644 LC8/complex_if.c create mode 100644 LC8/if_else_if_else.c create mode 100644 LC8/if_equals_example.c create mode 100644 LC8/if_examples.c create mode 100644 LC8/switch_1.c create mode 100644 LC8/switch_2.c create mode 100644 LC8/switch_3.c create mode 100644 LC9/do_while_example.c create mode 100644 LC9/for_loops.c create mode 100644 LC9/while_example_version_1.c create mode 100644 LC9/while_example_version_2.c diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..474e379 --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.vscode +build/ \ No newline at end of file diff --git a/LC10/simple_functions_1.c b/LC10/simple_functions_1.c new file mode 100644 index 0000000..058d7ab --- /dev/null +++ b/LC10/simple_functions_1.c @@ -0,0 +1,47 @@ +#include +#include +#include // Needed to give access to M_PI + +/* FUNCTION: CalculateAreaOfCircle + + INPUTS: radius float + RETURNS: area float + + Description + Calculate area using area = M_PI * radius * radius + +*/ + + +float CalculateAreaOfCircle ( float radius ) +{ + float area; + area = M_PI * radius * radius ; + return (area) ; +} + + +/* Show use of function */ +int main (void) +{ + // Declare variables - no need to initialise as values will be read in / calculated + float rad, Area; + + // Prompt for and obtain value + printf ("Please enter the raduis of the circle: "); + scanf ("%f", &rad); + + // Use our function to calculate the area + Area = CalculateAreaOfCircle(rad); + + // And display the answer on the screen + printf ("The area of a circle of radius %f is %f\n", rad, Area ); + + // Note: As the function returns a value, if we did not need to store it + // we could calculate & display within the printf statement + + //printf ("The area of a circle of radius %f is %f\n", rad, CalculateAreaOfCircle(r) ); + + // All done + return 0; +} diff --git a/LC10/simple_functions_2.c b/LC10/simple_functions_2.c new file mode 100644 index 0000000..3b70441 --- /dev/null +++ b/LC10/simple_functions_2.c @@ -0,0 +1,51 @@ +#include +#include +#include // Needed to give access to M_PI + +/* FUNCTION: CalculateSurfaceAreaOfCylinder + + INPUTS: radius float + length float + + RETURNS: SurfaceArea float + + Description + Calculate the surface area of a cylinder given radius and length + +*/ + + +float CalculateSurfaceAreaOfCylinder ( float radius, float length ) +{ + float area; + area = 2.0 * ( M_PI * radius * radius ) + ( M_PI * 2.0 * radius * length ); // two ends + side + return (area) ; +} + + +/* Show use of function */ +int main (void) +{ + // Declare variables - no need to initialise as values will be read in / calculated + float rad, len, SurfaceArea; + + // Prompt for and obtain values + printf ("Please enter the radius of the cylinder: "); + scanf ("%f", &rad); +ad + printf ("Please enter the length of the cylinder: "); + scanf ("%f", &len); + + // Use our function to calculate the area + SurfaceArea = CalculateSurfaceAreaOfCylinder(rad, len); + + // And display the answer on the screen + printf ("The surface area of a cylinder of radius %f and length %f is %f\n", rad, len, SurfaceArea ); + + // Note: As the function returns a value, if we did not need to store it + // we could calculate & display within the printf statement + //printf ("The surface area of a cylinder of radius %f and length %f is %f\n", rad, len, CalculateSurfaceAreaOfCylinder(r,l) ); + + // All done + return 0; +} diff --git a/LC11/loop_into_array.c b/LC11/loop_into_array.c new file mode 100644 index 0000000..093baa3 --- /dev/null +++ b/LC11/loop_into_array.c @@ -0,0 +1,26 @@ + +/* A very simple program that defines an array of ten integers */ +/* And puts a different value into each */ + +#include /* Usual includes */ +#include + +int main( void ) +{ + + int Values[10]; /* Define an array of 10 integers */ + int j; /* Define an integer 'j' */ + + /* Use a loop to put some values into the array, displaying the */ + /* vaules stored on the screen */ + + for ( j = 0 ; j < 10 ; j++ ) + { + Values[j] = j * 2; + printf("\nThe value in array index %d is %d ",j,Values[j]); + } + + + return 0; /* End of the program */ + +} diff --git a/LC12/global_ex1.c b/LC12/global_ex1.c new file mode 100644 index 0000000..be30202 --- /dev/null +++ b/LC12/global_ex1.c @@ -0,0 +1,28 @@ +/* + This makes global variables look like a good idea + + THEY ARE NOT - DO NOT USE THEM + +*/ + +#include +#include + +int y,k,ans; /* Define GLOBAL variables */ + +void NastyGlobalFunction (void ) /* Define function */ +{ + ans = ( y * k ); /* y, k and ans are defined globally above */ + return ; +} + +int main( void ) +{ + y = 2; /* Set value of y */ + k = 3; /* Set value of k */ + + NastyGlobalFunction(); /* call the function */ + + printf("%d multiplied by %d is %d " ,y ,k ,ans ); /* Display values */ + return 0; +} \ No newline at end of file diff --git a/LC12/global_ex2.c b/LC12/global_ex2.c new file mode 100644 index 0000000..db7235c --- /dev/null +++ b/LC12/global_ex2.c @@ -0,0 +1,37 @@ +/* + In this example, we do not have a problem as although + we have a global variable 'i', we do not corrupt it in + the function + +*/ + +#include +#include + +int i; /* Nasty global variable ! */ + +/* + This function returns the sum of the number 1->10 + Note that although we use 'i' it is not defined in + the function its self. +*/ + +int SumToTen ( void ) +{ + + int Result = 0; + + for ( i = 10 ; i >= 0 ; i-- ) // Count down as more effecient + Result = Result + i; + + return Result; +} + +/* This is our main function */ + +int main(void) +{ + printf ("\nThe sum of the values 0 to 10 is %d ",SumToTen() ); + return 0; +} + diff --git a/LC12/global_ex3.c b/LC12/global_ex3.c new file mode 100644 index 0000000..36bdebe --- /dev/null +++ b/LC12/global_ex3.c @@ -0,0 +1,57 @@ +/* + + This time we have a real problem. We are using the variable + 'i' in the main loop to count and again in the function. + + Thus the function will change the value seen by the 'main' + routine - and will cause *Serious* problems + +*/ + +#include +#include + +int i; /* Again, the nasty global variable */ + +/* + + This function returns the sum of the number 0 -> i, but + summing from the limit back to zero ( to prove a point ! ) + + The problem this will cause is that at the end of the routine + the value of 'i' will always be '1' which will stop the loop + in 'main' working ! + +*/ + + +int SumToValue ( int Limit ) +{ + + int Result = 0; + + printf("\nIn function "); + + for ( i = Limit ; i > 0 ; i-- ) + Result = Result + i; + + return Result; +} + +/* + This is our main function - this time we are aiming to print out + at table of the sums of values from 1 to 10 +*/ + + +int main( void ) +{ + + for ( i = 0 ; i < 10 ; i++ ) + { + printf ("\nThe sum of the values 0 to %d is %d ",i,SumToValue(i)); + } + + return 0; +} + diff --git a/LC14/pointer_function_example_1.c b/LC14/pointer_function_example_1.c new file mode 100644 index 0000000..7e91ee4 --- /dev/null +++ b/LC14/pointer_function_example_1.c @@ -0,0 +1,32 @@ +#include +#include +#include + +// As we are using the function BEFORE it is actually written we need to provide the +// prototype so that the compiler can verify we are calling it correctly + +void CalculateArea ( double Radius, double *pArea); // note the ‘*’ + +// This is the main code for our application + +int main() +{ + double radius, area; + radius = 1.0; + CalculateArea (radius, &area); + + printf ("The area of circle of radius %f is %f\n", radius, area); + return 0; + +} + + +// And here is our function + +// Note: Pi is written out simply to match the notes, M_PI could also be used + +void CalculateArea ( double Radius, double *pArea ) +{ + *pArea = 3.14159265 * Radius * Radius; + return; +} diff --git a/LC14/pointer_function_example_2.c b/LC14/pointer_function_example_2.c new file mode 100644 index 0000000..856f6a0 --- /dev/null +++ b/LC14/pointer_function_example_2.c @@ -0,0 +1,31 @@ +#include +#include +#include + +// As we are using the function BEFORE it is actually written we need to provide the +// prototype so that the compiler can verify we are calling it correctly + +void CalculateVolumeAndSA ( double Radius, double Length, double *Volume, double *SurfaceArea); // note the ‘*’ + +// This is the main code for our application + +int main() +{ + double radius = 3.4, length = 7.3, volume, SurfaceArea; + + CalculateVolumeAndSA(radius, length, &volume, &SurfaceArea); + + printf("The volume is %f \n", volume); + printf( "The surface area is %f\n", SurfaceArea); + return 0; + +} + + +// And here is our function + +void CalculateVolumeAndSA ( double Radius, double Length, double *Volume, double *SurfaceArea) // note the ‘*’ +{ + *Volume = M_PI * Radius * Radius * Length; + *SurfaceArea = ( 2 * M_PI * Radius * Radius * Length ) +( 2 * M_PI * Radius * Length ); +} diff --git a/LC15/pointer_to_array_1.c b/LC15/pointer_to_array_1.c new file mode 100644 index 0000000..078a657 --- /dev/null +++ b/LC15/pointer_to_array_1.c @@ -0,0 +1,33 @@ +#include +#include + +int main(void) // Main : Execution starts here... +{ + // Define variables - pre-populate the array + int MyArray[10] = {12,34,23,11,8,19,6,44,9,16}; + int *pArray = &MyArray[0]; + int i; + + // Direct from the array + printf ("Directly from the array\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n",i,MyArray[i]); + + + // Pointer approach 1 + printf ("Pointer method 1\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n", i, pArray[i] ); + + printf ("Pointer method 1\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n", i, *(pArray+i) ); + + printf ("Pointer method 2 (only works for moving sequentially\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n", i, *pArray++ ); + + + // Exit the application + return 0; +} diff --git a/LC15/pointer_to_array_2.c b/LC15/pointer_to_array_2.c new file mode 100644 index 0000000..078a657 --- /dev/null +++ b/LC15/pointer_to_array_2.c @@ -0,0 +1,33 @@ +#include +#include + +int main(void) // Main : Execution starts here... +{ + // Define variables - pre-populate the array + int MyArray[10] = {12,34,23,11,8,19,6,44,9,16}; + int *pArray = &MyArray[0]; + int i; + + // Direct from the array + printf ("Directly from the array\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n",i,MyArray[i]); + + + // Pointer approach 1 + printf ("Pointer method 1\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n", i, pArray[i] ); + + printf ("Pointer method 1\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n", i, *(pArray+i) ); + + printf ("Pointer method 2 (only works for moving sequentially\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n", i, *pArray++ ); + + + // Exit the application + return 0; +} diff --git a/LC15/pointer_to_array_examples.c b/LC15/pointer_to_array_examples.c new file mode 100644 index 0000000..078a657 --- /dev/null +++ b/LC15/pointer_to_array_examples.c @@ -0,0 +1,33 @@ +#include +#include + +int main(void) // Main : Execution starts here... +{ + // Define variables - pre-populate the array + int MyArray[10] = {12,34,23,11,8,19,6,44,9,16}; + int *pArray = &MyArray[0]; + int i; + + // Direct from the array + printf ("Directly from the array\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n",i,MyArray[i]); + + + // Pointer approach 1 + printf ("Pointer method 1\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n", i, pArray[i] ); + + printf ("Pointer method 1\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n", i, *(pArray+i) ); + + printf ("Pointer method 2 (only works for moving sequentially\n"); + for ( i = 0 ; i < 10 ; i++ ) + printf ("Item %d contains value %d\n", i, *pArray++ ); + + + // Exit the application + return 0; +} diff --git a/LC16/Dynamic1.c b/LC16/Dynamic1.c new file mode 100644 index 0000000..8d1e0e9 --- /dev/null +++ b/LC16/Dynamic1.c @@ -0,0 +1,46 @@ +/* An example of + + Creating dynamically an array + Populating the array + Displaying the contents + Freeing up the memory + + Example 1 : No sucessful allocation checking + + +*/ + +#include +#include + + +int main(void) +{ + int *ipArray = NULL; /* Create the pointer and set */ + /* to null to start with */ + int iSize = 0; /* Define our 'size' variable */ + + int i; /* A Loop variables */ + + /* Prompt for array size */ + + printf("\nHow big is the array to be ? "); + scanf("%d",&iSize); + + /* Allocate the memory */ + ipArray = (int *)calloc(iSize, sizeof(int)); + + /* Populate the array (Method 1) */ + for ( i = 0 ; i < iSize ; i++ ) + ipArray[i] = iSize - i; + + /* display the data */ + for ( i = 0 ; i < iSize ; i++ ) + printf("Value %d is %d\n",i,ipArray[i] ); + + /* free memory */ + free(ipArray); + + return 0; +} + diff --git a/LC16/Dynamic2.c b/LC16/Dynamic2.c new file mode 100644 index 0000000..4176c7f --- /dev/null +++ b/LC16/Dynamic2.c @@ -0,0 +1,54 @@ +/* An example of + + Creating dynamically an array + Populating the array + Displaying the contents + Freeing up the memory + + Version 2 : Check memory has been assigned + + + +*/ + +#include +#include + + +int main(void) +{ + int *ipArray = NULL; /* Create the pointer and set */ + /* to null to start with */ + int iSize = 0; /* Define our 'size' variable */ + + int i; /* A Loop variables */ + + /* Prompt for array size */ + + printf("\nHow big is the array to be ? "); + scanf("%d",&iSize); + + /* Allocate the memory */ + ipArray = (int *)calloc(iSize, sizeof(int)); + + if ( ipArray == NULL ) + { + printf("\nUnable to allocate the memory requested"); + printf("\n ** Program terminating ** \n"); + exit (1); + } + + /* Populate the array (Method 1) */ + for ( i = 0 ; i < iSize ; i++ ) + ipArray[i] = iSize - i; + + /* display the data */ + for ( i = 0 ; i < iSize ; i++ ) + printf("Value %d is %d\n",i,ipArray[i] ); + + /* free memory */ + free(ipArray); + + return 0; +} + diff --git a/LC16/Dynamic3.c b/LC16/Dynamic3.c new file mode 100644 index 0000000..e883720 --- /dev/null +++ b/LC16/Dynamic3.c @@ -0,0 +1,66 @@ +/* An example of + + Creating dynamically an array + Populating the array + Displaying the contents + Freeing up the memory + + Version 3 : Read and Write values using pointers + + +*/ + +#include +#include + + +int main(void) +{ + int *ipArray = NULL; /* Create the pointer and set */ + /* to null to start with */ + + int *ipStartValue = NULL; /* A place to store ipArray's */ + /* initial value ,ie ipArray[0] */ + int iSize = 0; /* Define our 'size' variable */ + + int i; /* A Loop variables */ + + /* Prompt for array size */ + + printf("\nHow big is the array to be ? "); + scanf("%d",&iSize); + + /* Allocate the memory */ + ipArray = (int *)calloc(iSize, sizeof(int)); + + if ( ipArray == NULL ) + { + printf("\nUnable to allocate the memory requested"); + printf("\n ** Program terminating ** \n"); + exit (1); + } + + /* Store the base memory address for use later */ + ipStartValue = ipArray; + + /* Populate the array (Method 2 - Use Pointers: This is much faster !) */ + for ( i = 0 ; i < iSize ; i++ ) + *ipArray++ = iSize - i; + + /* Reset the pointer to the origin of the array */ + ipArray = ipStartValue; + + /* display the data */ + for ( i = 0 ; i < iSize ; i++ ) + printf("Value %d is %d\n",i,*ipArray++ ); + + /* free memory : Again, reset ipArray to its origin */ + + ipArray = ipStartValue; + free(ipArray); + + /* The above two lines could be replaced with free (ipStartValue) */ + + return 0; +} + diff --git a/LC17/DynamicFunction.c b/LC17/DynamicFunction.c new file mode 100644 index 0000000..8dace68 --- /dev/null +++ b/LC17/DynamicFunction.c @@ -0,0 +1,79 @@ +/* An example of + + Creating dynamically an array + Populating the array + Displaying the contents + Freeing up the memory + + Version 4 : Check memory has been assigned + Read and Write values using pointers + Pass array data to a function + + +*/ + +#include +#include + + +int Sum ( int *Data, int n ) /* Define our function */ +{ + int Sum = 0,i; /* Define working variables */ + + for ( i = 0 ; i < n ; i++ ) + { + printf("Item %d=%d\n", i, Data[i]); + Sum += Data[i]; /* This means Sum = Sum + Data[i] */ + } + + + return Sum; /* Return the value */ + +} +int main(void) +{ + int *ipArray = NULL; /* Create the pointer and set */ + /* to null to start with */ + + int *ipStartValue = NULL; /* A place to store ipArray's */ + /* initial value ,ie ipArray[0] */ + int iSize = 0; /* Define our 'size' variable */ + + int i; /* A Loop variables */ + + /* Prompt for array size */ + + printf("\nHow big is the array to be ? "); + scanf("%d",&iSize); + + /* Allocate the memory */ + ipArray = (int *)calloc(iSize, sizeof(int)); + + if ( ipArray == NULL ) + { + printf("\nUnable to allocate the memory requested"); + printf("\n ** Program terminating ** \n"); + exit (1); + } + + /* Store the base memory address for use later */ + ipStartValue = ipArray; + + /* Populate the array (Method 2 - Use Pointers: This is much faster !) */ + for ( i = 0 ; i < iSize ; i++ ) + ipArray[i] = i; + + /* Display the sum of the values in the array */ + + printf("\nThe sum of the array values is %d ",Sum(ipArray,iSize) ); + + /* free memory : Again, reset ipArray to its origin */ + + ipArray = ipStartValue; + free(ipArray); + + /* The above two lines could be replaced with free (ipStartValue) */ + + return 0; +} + diff --git a/LC17/Quadratic_with_Pointers.c b/LC17/Quadratic_with_Pointers.c new file mode 100644 index 0000000..8eb030e --- /dev/null +++ b/LC17/Quadratic_with_Pointers.c @@ -0,0 +1,61 @@ +#include +#include +#include + + +// This function will return +// +// 0 if the equation can be solved, +// -1 if it is not a quadratic +// -2 if it is complex + +int SolveQuadratic ( int a, int b, int c, float *x1, float *x2) +{ + int d; + + // If the equations is not a quadratic return -1 + if ( a == 0 ) + return (-1); + + // Calculate the value that will be square rooted + d = (b*b) - (4*a*c); + + // If less than zero then it would be complex - give up! + if ( d < 0 ) + return (-2); + + // If we got to here we are OK to solve things + *x1 = (-b - sqrt(d)) / (2*a); + *x2 = (-b + sqrt(d)) / (2*a); + + // This is are 'OK' return value + return 0; + +} + +int main() +{ + int A,B,C, r; + float X1, X2; + + printf ("Please enter a b & c separated by a space: "); + + scanf("%d %d %d",&A, &B, &C); + + r = SolveQuadratic(A,B,C, &X1, &X2); + + // The value returned lets us know if we have values in X1 and X2 we can use + switch (r) + { + case 0 : + printf ("The solutions are %f and %f", X1, X2 ); + break; + case -1 : + printf ("The equation provided was not a quadratic" ); + break; + case -2 : + printf ("The solutions had complex roots and could not be solved"); + break; + } + return 0; +} diff --git a/LC18/filemove.c b/LC18/filemove.c new file mode 100644 index 0000000..b8108c1 --- /dev/null +++ b/LC18/filemove.c @@ -0,0 +1,45 @@ +#include +#include + +/* Example 3 - jumping & getting element count */ + +int main(void) +{ + + int ValRead; + int Item; + int Locn; + FILE *fptr; + /* Open the file from example 1 */ + + fptr = fopen ("data.dat","rb"); + if ( fptr == NULL ) + { + printf ("\nError opening input file - aborting "); + exit (0); + } + + /* Ask the user which value to jump to */ + printf ("\nWhich value do you wish to view ? "); + scanf ("%d",&Item); + + /* Jump to this item */ + /* notice we move in steps of item size */ + + Locn = Item * sizeof(int); + fseek (fptr, Locn, SEEK_SET); + + /* And read a single integer in */ + fread (&ValRead, sizeof(int), 1, fptr ); + + /* Display the read value */ + printf ("Item %d is %d\n",Item,ValRead); + + /* And close */ + fclose (fptr); + + /* All Done */ + return 0; + +} + \ No newline at end of file diff --git a/LC18/filesize.c b/LC18/filesize.c new file mode 100644 index 0000000..3c0f676 --- /dev/null +++ b/LC18/filesize.c @@ -0,0 +1,38 @@ +#include +#include + +/* Example 3 - jumping & getting element count */ + +main() +{ + + long FileBytes; + FILE *fptr; + /* Open the file from example 1 */ + + fptr = fopen ("data.dat","rb"); + if ( fptr == NULL ) + { + printf ("\nError opening input file - aborting "); + exit (0); + } + + /* Move to the end of file */ + fseek (fptr, 0, SEEK_END); + + /* Get the byte size */ + FileBytes = ftell(fptr); + + /* Convert to size based on fact all int's */ + FileBytes = FileBytes / sizeof(int); + + /* Display the read value */ + printf ("No. of items in file is %d\n",FileBytes); + + /* And close */ + fclose (fptr); + + /* All Done */ + return 0; +} + \ No newline at end of file diff --git a/LC19/ConstHashDefine.c b/LC19/ConstHashDefine.c new file mode 100644 index 0000000..4f253b7 --- /dev/null +++ b/LC19/ConstHashDefine.c @@ -0,0 +1,25 @@ +#include + +//macro definition +#define X 30 + +//global integer constant +const int Y = 10; + +int main() +{ + //local integer constant` + const int Z = 20; + + printf("Value of X: %d\n", X); + printf("Value of Y: %d\n", Y); + printf("Value of Z: %d\n", Z); + +// #undef X +// #define X 300 +// printf("Value of X: %d\n", X); + +// Y = 30; + + return 0; +} diff --git a/LC19/Static.c b/LC19/Static.c new file mode 100644 index 0000000..c4cc180 --- /dev/null +++ b/LC19/Static.c @@ -0,0 +1,45 @@ +/* + Static variables - a variable that is created when a function is first + called and remains until the program terminates + + This is to say that in future calls to the function it is not redefined + and can take the value it last had in the function. + + This should hopefully show this ! +*/ + +#include +#include + +void NonStaticFunction(void) +{ + int i =0 ; /* This is issued EVERY time the function is called */ + i = i + 1; + printf ("\nIn Non static function, the value of i is %d ",i); + return; +} + +void StaticFunction(void) +{ + static int i =0 ; /* This is issued THE FIRST TIME, + AND ONLY THE FIRST TIME + that the function is called */ + i = i + 1; + printf ("\nIn *static* function, the value of i is %d ",i); + return; +} + + +int main(void) +{ + + int i; + for ( i = 0 ; i < 10 ; i++ ) + { + NonStaticFunction(); + StaticFunction(); + } + + return 0; +} + \ No newline at end of file diff --git a/LC19/Structure_1.c b/LC19/Structure_1.c new file mode 100644 index 0000000..b8b91a0 --- /dev/null +++ b/LC19/Structure_1.c @@ -0,0 +1,27 @@ + +#include +#include + +struct DataSet /* Define a struture called DataSet */ +{ + int x; /* The X data */ + int y; /* The Y data */ +}; + + +int main(void) +{ + + struct DataSet MyPoints; /* Define structure, type DataSet */ + + MyPoints.x = 1; + MyPoints.y = 2; + + printf("\nThe dataset values are "); + printf("\n\t\t X = %d ",MyPoints.x); + printf("\n\t\t Y = %d ",MyPoints.y); + + + + return 0; +} \ No newline at end of file diff --git a/LC19/Structure_2.c b/LC19/Structure_2.c new file mode 100644 index 0000000..ad9748a --- /dev/null +++ b/LC19/Structure_2.c @@ -0,0 +1,39 @@ +#include +#include + +struct DataSet /* Define a struture called DataSet */ +{ + int x; /* The X data */ + int y; /* The Y data */ +}; + + +int main(void) +{ + + struct DataSet MyPoints[5]; /* Define array of structure, */ + /* type DataSet */ + /* Elements : 10 */ + + int i; /* Define an integer */ + + + + for ( i = 0 ; i < 5 ; i++ ) /* Populate structure */ + { + MyPoints[i].x = i; + MyPoints[i].y = i*i; + } + + printf("\nThe dataset values are "); /* Display message & Values */ + + for ( i = 0 ; i < 5 ; i++ ) + { + printf("\n\t Set %d : ",i); + printf("\t X = %d ",MyPoints[i].x); + printf("\t Y = %d ",MyPoints[i].y); + } + + + return 0; +} \ No newline at end of file diff --git a/LC19/Structure_3.c b/LC19/Structure_3.c new file mode 100644 index 0000000..834d680 --- /dev/null +++ b/LC19/Structure_3.c @@ -0,0 +1,59 @@ +#include +#include + +struct DataSet /* Define a struture called DataSet */ +{ + int x; /* The X data */ + int y; /* The Y data */ +}; + + +int main(void) +{ + + struct DataSet MyPoints[5]; /* Define array of structure, */ + /* type DataSet */ + /* Elements : 10 */ + + struct DataSet CpPoints[5]; /* Define array of structure, */ + /* type DataSet */ + /* Elements : 10 */ + + int i; /* Define an integer */ + + + + for ( i = 0 ; i < 5 ; i++ ) /* Populate structure */ + { + MyPoints[i].x = i; + MyPoints[i].y = i*i; + } + + printf("\nThe dataset values are "); /* Display message & Values */ + + for ( i = 0 ; i < 5 ; i++ ) + { + printf("\n\t Set %d : ",i); + printf("\t X = %d ",MyPoints[i].x); + printf("\t Y = %d ",MyPoints[i].y); + } + + /* Make a copy of the data */ + + for ( i = 0 ; i < 5 ; i++ ) + CpPoints[i] = MyPoints[i]; + + + /* And print it out again */ + + printf("\nThe copied dataset values are "); /* Display message & Values */ + + for ( i = 0 ; i < 5 ; i++ ) + { + printf("\n\t Set %d : ",i); + printf("\t X = %d ",MyPoints[i].x); + printf("\t Y = %d ",MyPoints[i].y); + } + + return 0; +} \ No newline at end of file diff --git a/LC19/WriteHeader.c b/LC19/WriteHeader.c new file mode 100644 index 0000000..3ae28c6 --- /dev/null +++ b/LC19/WriteHeader.c @@ -0,0 +1,77 @@ +#include +#include + +struct MyStruct +{ + int NoItems; + int max; + float average; +}; + +int main() +{ + + struct MyStruct MyRecord; + FILE *fptr; + + int ArrayData[100]; + int items = 0; + int sum = 0; + int i; + + + + /* Write this file to disk - binary format, usual error checking */ + fptr = fopen ("strdata.dat","wb"); + if ( fptr == NULL ) + { + printf ("\nError creating file - aborting "); + exit (0); + } + + /* Populate the array & set header values*/ + for ( i = 0 ; i < 100 ; i++) + { + ArrayData[i] = i; + if ( ArrayData [i] > MyRecord.max) + MyRecord.max = ArrayData[i]; + sum = sum + ArrayData[i]; + items++; + } + + /* Update the values in the structure */ + MyRecord.NoItems = items; + MyRecord.NoItems = (float)sum / (float)items; + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + + /* This line does the writing of the Array */ + fwrite ( &ArrayData[0], sizeof(struct MyStruct),1, fptr); + + + /* And close */ + fclose (fptr); + + /* To read the data we would use */ + + fptr = fopen ("strdata.dat","rb"); + if ( fptr == NULL ) + { + printf ("\nError opening input file - aborting "); + exit (0); + } + + /* This line does the reading */ + fread ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + printf ("No. items in the file = %d", MyRecord.NoItems); + printf ("Maximum = %d", MyRecord.max); + printf ("Average is = %.2f", MyRecord.average); + + /* And close */ + fclose (fptr); + + /* All Done */ + return 0; +} diff --git a/LC19/WriteHeaderArrayAndUpdate.c b/LC19/WriteHeaderArrayAndUpdate.c new file mode 100644 index 0000000..074828f --- /dev/null +++ b/LC19/WriteHeaderArrayAndUpdate.c @@ -0,0 +1,90 @@ +#include +#include + +struct MyStruct +{ + int NoItems; + int max; + float average; +}; + +int main() +{ + + struct MyStruct MyRecord; + FILE *fptr; + + int ArrayData[100]; + int items = 0; + int sum = 0; + int i; + + + + /* Write this file to disk - binary format, usual error checking */ + fptr = fopen ("strdata.dat","wb"); + if ( fptr == NULL ) + { + printf ("\nError creating file - aborting "); + exit (0); + } + + /* Pop some dummy data into our structure */ + MyRecord.NoItems = 0; + MyRecord.max = 0; ; + MyRecord.average = 0; + + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + /* Populate the array */ + for ( i = 0 ; i < 100 ; i++) + { + ArrayData[i] = i; + if ( ArrayData [i] > MyRecord.max) + MyRecord.max = ArrayData[i]; + sum = sum + ArrayData[i]; + items++; + } + + + /* This line does the writing of the Array */ + fwrite ( &ArrayData[0], sizeof(int),100, fptr); + + + /* Update the values in the structure */ + MyRecord.NoItems = items; + MyRecord.NoItems = (float)sum / (float)items; + + /* rewind the file to write the structure again */ + fseek(fptr, SEEK_SET, 0); + rewind (fptr); + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + /* And close */ + fclose (fptr); + +/* To read the data we would use */ + + fptr = fopen ("strdata.dat","rb"); + if ( fptr == NULL ) + { + printf ("\nError opening input file - aborting "); + exit (0); + } + + /* This line does the reading */ + fread ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + printf ("No. items in the file = %d", MyRecord.NoItems); + printf ("Maximum = %d", MyRecord.max); + printf ("Average is = %.2f", MyRecord.average); + + /* And close */ + fclose (fptr); + + /* All Done */ + return 0; +} diff --git a/LC19/WriteHeaderArrayAndUpdateAndSeek.c b/LC19/WriteHeaderArrayAndUpdateAndSeek.c new file mode 100644 index 0000000..fb0ef03 --- /dev/null +++ b/LC19/WriteHeaderArrayAndUpdateAndSeek.c @@ -0,0 +1,99 @@ +#include +#include + +struct MyStruct +{ + int NoItems; + int max; + float average; +}; + +int main() +{ + + struct MyStruct MyRecord; + FILE *fptr; + + int ArrayData[100]; + int items = 0; + int sum = 0; + int i; + int AValue; + + + + /* Write this file to disk - binary format, usual error checking */ + fptr = fopen ("strdata.dat","wb"); + if ( fptr == NULL ) + { + printf ("\nError creating file - aborting "); + exit (0); + } + + /* Pop some dummy data into our structure */ + MyRecord.NoItems = 0; + MyRecord.max = 0; ; + MyRecord.average = 0; + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + /* Populate the array */ + for ( i = 0 ; i < 100 ; i++) + { + ArrayData[i] = i; + if ( ArrayData [i] > MyRecord.max) + MyRecord.max = ArrayData[i]; + sum = sum + ArrayData[i]; + items++; + } + + + /* This line does the writing of the Array */ + fwrite ( &ArrayData[0], sizeof(int),100, fptr); + + /* Update the values in the structure */ + MyRecord.NoItems = items; + MyRecord.average= (float)sum / (float)items; + + /* rewind the file to write the structure again */ + fseek(fptr, SEEK_SET, 0); + rewind (fptr); + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + /* And close */ + fclose (fptr); + +/* To read the data we would use */ + + fptr = fopen ("strdata.dat","rb"); + if ( fptr == NULL ) + { + printf ("\nError opening input file - aborting "); + exit (0); + } + + /* This line does the reading */ + fread ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + printf ("No. items in the file = %d\n", MyRecord.NoItems); + printf ("Maximum = %d\n", MyRecord.max); + printf ("Average is = %.2f\n", MyRecord.average); + + // Get how far to move for thr 10th item + long Posn = sizeof (struct MyStruct) + (9 * sizeof(int)); + + // Move + fseek(fptr, Posn, SEEK_SET); + + // Read value + fread ( &AValue, sizeof(int),1 , fptr); + printf ("The 10th value is %d", AValue); + + /* And close */ + fclose (fptr); + + /* All Done */ + return 0; +} diff --git a/LC19/WriteHeaderWithArray.c b/LC19/WriteHeaderWithArray.c new file mode 100644 index 0000000..4724d3f --- /dev/null +++ b/LC19/WriteHeaderWithArray.c @@ -0,0 +1,77 @@ +#include +#include + +struct MyStruct +{ + int NoItems; + int max; + float average; +}; + +int main() +{ + + struct MyStruct MyRecord; + FILE *fptr; + + int ArrayData[100]; + int items = 0; + int sum = 0; + int i; + + + + /* Write this file to disk - binary format, usual error checking */ + fptr = fopen ("strdata.dat","wb"); + if ( fptr == NULL ) + { + printf ("\nError creating file - aborting "); + exit (0); + } + + /* Populate the array & set header values*/ + for ( i = 0 ; i < 100 ; i++) + { + ArrayData[i] = i; + if ( ArrayData [i] > MyRecord.max) + MyRecord.max = ArrayData[i]; + sum = sum + ArrayData[i]; + items++; + } + + /* Update the values in the structure */ + MyRecord.NoItems = items; + MyRecord.NoItems = (float)sum / (float)items; + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + + /* This line does the writing of the Array */ + fwrite ( &ArrayData[0], sizeof(int),100, fptr); + + + /* And close */ + fclose (fptr); + + /* To read the data we would use */ + + fptr = fopen ("strdata.dat","rb"); + if ( fptr == NULL ) + { + printf ("\nError opening input file - aborting "); + exit (0); + } + + /* This line does the reading */ + fread ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + printf ("No. items in the file = %d", MyRecord.NoItems); + printf ("Maximum = %d", MyRecord.max); + printf ("Average is = %.2f", MyRecord.average); + + /* And close */ + fclose (fptr); + + /* All Done */ + return 0; +} diff --git a/LC19/enum.c b/LC19/enum.c new file mode 100644 index 0000000..9ed292f --- /dev/null +++ b/LC19/enum.c @@ -0,0 +1,24 @@ +#include +#include + +int main(void) +{ + + /* Set up our enumerated type */ + enum Days { Mon, Tue, Wed, Thu, Fri, Sat, Sun }; + + /* If we wish, we can set the base level */ + //enum Days { Mon = 1 , Tue, Wed, Thu, Fri, Sat, Sun }; + + /* Create a variable that can take values of this type */ + enum Days DOW; + + /* Set variable equal to one of these days */ + DOW = Sun; + + /* And print the assigned value */ + printf ("\nThe value assigned to Sun is %d ",DOW); + + + return 0; +} \ No newline at end of file diff --git a/LC19/enumdefine.c b/LC19/enumdefine.c new file mode 100644 index 0000000..84a41e7 --- /dev/null +++ b/LC19/enumdefine.c @@ -0,0 +1,41 @@ +/* This program shows the use of an 'enum' statements to make code + more general. This is an 'OK' method but realise that it does + mean that we need to recompile if we change a vlaue. + + This method is best used only for fixed constants (eg PI ) + + While this version acts the same as the previous, it is better + as the compiler handles the 'enum'. Whereas the pre-processor + deals with #defines (performing simple substitutions) this is done + no with little error checking, the 'enum' is dealt with by the + compiler which finds error more easily - hence more stable code. + +*/ + +#include +#include + +enum ProblemSize { SIZE = 3 }; /* 'ProblemSize' is optional + but a warning is generated is + it not specified */ + + +int main(void) +{ + int i,j; + int iMatrix[SIZE][SIZE]; + int iCols = SIZE; + int iRows = SIZE; + + for (i = 0 ; i < iCols ; i++ ) + { + for (j = 0 ; j < iRows ; j++ ) + { + iMatrix[i][j] = i+j; + printf ("%2d ",iMatrix[i][j]); + } + printf ("\n"); + } + + return 0; +} \ No newline at end of file diff --git a/LC19/file_header.c b/LC19/file_header.c new file mode 100644 index 0000000..074828f --- /dev/null +++ b/LC19/file_header.c @@ -0,0 +1,90 @@ +#include +#include + +struct MyStruct +{ + int NoItems; + int max; + float average; +}; + +int main() +{ + + struct MyStruct MyRecord; + FILE *fptr; + + int ArrayData[100]; + int items = 0; + int sum = 0; + int i; + + + + /* Write this file to disk - binary format, usual error checking */ + fptr = fopen ("strdata.dat","wb"); + if ( fptr == NULL ) + { + printf ("\nError creating file - aborting "); + exit (0); + } + + /* Pop some dummy data into our structure */ + MyRecord.NoItems = 0; + MyRecord.max = 0; ; + MyRecord.average = 0; + + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + /* Populate the array */ + for ( i = 0 ; i < 100 ; i++) + { + ArrayData[i] = i; + if ( ArrayData [i] > MyRecord.max) + MyRecord.max = ArrayData[i]; + sum = sum + ArrayData[i]; + items++; + } + + + /* This line does the writing of the Array */ + fwrite ( &ArrayData[0], sizeof(int),100, fptr); + + + /* Update the values in the structure */ + MyRecord.NoItems = items; + MyRecord.NoItems = (float)sum / (float)items; + + /* rewind the file to write the structure again */ + fseek(fptr, SEEK_SET, 0); + rewind (fptr); + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + /* And close */ + fclose (fptr); + +/* To read the data we would use */ + + fptr = fopen ("strdata.dat","rb"); + if ( fptr == NULL ) + { + printf ("\nError opening input file - aborting "); + exit (0); + } + + /* This line does the reading */ + fread ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + printf ("No. items in the file = %d", MyRecord.NoItems); + printf ("Maximum = %d", MyRecord.max); + printf ("Average is = %.2f", MyRecord.average); + + /* And close */ + fclose (fptr); + + /* All Done */ + return 0; +} diff --git a/LC19/file_header_move.c b/LC19/file_header_move.c new file mode 100644 index 0000000..fb0ef03 --- /dev/null +++ b/LC19/file_header_move.c @@ -0,0 +1,99 @@ +#include +#include + +struct MyStruct +{ + int NoItems; + int max; + float average; +}; + +int main() +{ + + struct MyStruct MyRecord; + FILE *fptr; + + int ArrayData[100]; + int items = 0; + int sum = 0; + int i; + int AValue; + + + + /* Write this file to disk - binary format, usual error checking */ + fptr = fopen ("strdata.dat","wb"); + if ( fptr == NULL ) + { + printf ("\nError creating file - aborting "); + exit (0); + } + + /* Pop some dummy data into our structure */ + MyRecord.NoItems = 0; + MyRecord.max = 0; ; + MyRecord.average = 0; + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + /* Populate the array */ + for ( i = 0 ; i < 100 ; i++) + { + ArrayData[i] = i; + if ( ArrayData [i] > MyRecord.max) + MyRecord.max = ArrayData[i]; + sum = sum + ArrayData[i]; + items++; + } + + + /* This line does the writing of the Array */ + fwrite ( &ArrayData[0], sizeof(int),100, fptr); + + /* Update the values in the structure */ + MyRecord.NoItems = items; + MyRecord.average= (float)sum / (float)items; + + /* rewind the file to write the structure again */ + fseek(fptr, SEEK_SET, 0); + rewind (fptr); + + /* This line does the writing of the structure */ + fwrite ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + + /* And close */ + fclose (fptr); + +/* To read the data we would use */ + + fptr = fopen ("strdata.dat","rb"); + if ( fptr == NULL ) + { + printf ("\nError opening input file - aborting "); + exit (0); + } + + /* This line does the reading */ + fread ( &MyRecord, sizeof(struct MyStruct), 1, fptr); + printf ("No. items in the file = %d\n", MyRecord.NoItems); + printf ("Maximum = %d\n", MyRecord.max); + printf ("Average is = %.2f\n", MyRecord.average); + + // Get how far to move for thr 10th item + long Posn = sizeof (struct MyStruct) + (9 * sizeof(int)); + + // Move + fseek(fptr, Posn, SEEK_SET); + + // Read value + fread ( &AValue, sizeof(int),1 , fptr); + printf ("The 10th value is %d", AValue); + + /* And close */ + fclose (fptr); + + /* All Done */ + return 0; +} diff --git a/LC19/swap.c b/LC19/swap.c new file mode 100644 index 0000000..eb2fb4a --- /dev/null +++ b/LC19/swap.c @@ -0,0 +1,72 @@ +#include +#include + +union number +{ + double d; + float f; + long l; + int i; + unsigned short s; + unsigned char c[8]; +}; + +int main(void) +{ + /* Define variables and a union */ + int my_i; + short my_s; + unsigned char tc; + union number mynum; + + /* Prompt for use input ao a number whose bytes we are to swap */ + printf ("\nPlease enter a number "); + scanf("%hi",&my_s); // hi is the format for a signed short + + /* pop this number into our union */ + mynum.s = my_s; + + /* Show the present byte order */ + printf ("\nThe bytes making up your number %hi are ",my_s); + printf ("%d %d %d %d %d %d %d %d ",mynum.c[0],mynum.c[1],mynum.c[2],mynum.c[3],mynum.c[4],mynum.c[5],mynum.c[6],mynum.c[7]); + + /* We now swap the two lowest bytes (via an intermediate variable) */ + tc = mynum.c[1]; + mynum.c[1] = mynum.c[0]; + mynum.c[0] = tc; + + printf ("\nThe bytes making up your number are now "); + printf ("%d %d %d %d %d %d %d %d ",mynum.c[0],mynum.c[1],mynum.c[2],mynum.c[3],mynum.c[4],mynum.c[5],mynum.c[6],mynum.c[7]); + + printf ("\nWhich corresponds to %d ",mynum.s); + + // Repeat for an integer + /* Prompt for use input ao a number whose bytes we are to swap */ + printf ("\nPlease enter a number [INTEGER] "); + scanf("%d",&my_i); + + /* pop this number into our union */ + mynum.i = my_i; + + /* Show the present byte order */ + printf ("\nThe bytes making up your number %d are ",my_i); + printf ("%d %d %d %d %d %d %d %d ",mynum.c[0],mynum.c[1],mynum.c[2],mynum.c[3],mynum.c[4],mynum.c[5],mynum.c[6],mynum.c[7]); + + /* We now swap the 1st and 4th bytes (via an intermediate variable) */ + tc = mynum.c[3]; + mynum.c[3] = mynum.c[0]; + mynum.c[0] = tc; + + /* We now swap the 1st and 4th bytes (via an intermediate variable) */ + tc = mynum.c[2]; + mynum.c[2] = mynum.c[1]; + mynum.c[1] = tc; + + printf ("\nThe bytes making up your number are now "); + printf ("%d %d %d %d %d %d %d %d ",mynum.c[0],mynum.c[1],mynum.c[2],mynum.c[3],mynum.c[4],mynum.c[5],mynum.c[6],mynum.c[7]); + + printf ("\nWhich corresponds to %d ",mynum.i); + + return 0; + +} diff --git a/LC19/union.c b/LC19/union.c new file mode 100644 index 0000000..cc0fe09 --- /dev/null +++ b/LC19/union.c @@ -0,0 +1,31 @@ +#include +#include + +union number{ + double d; + float f; + long l; + int i; + short s; + unsigned char c[8]; +}; + +int main(void) +{ + int my_i; + union number mynum; + printf ("\nPlease enter a number "); + scanf("%d",&my_i); + printf ("\nThe bytes making up your number %d are ",my_i); + + mynum.i = my_i; + printf ("%d %d %d %d %d %d %d %d ",mynum.c[0],mynum.c[1],mynum.c[2],mynum.c[3],mynum.c[4],mynum.c[5],mynum.c[6],mynum.c[7]); + + printf ("\nSize of double id %d ",sizeof(double)); + printf ("\nSize of float id %d ",sizeof(float)); + printf ("\nSize of long id %d ",sizeof(long)); + printf ("\nSize of int id %d ",sizeof(int)); + printf ("\nSize of short id %d ",sizeof(short)); + return 0; + +} \ No newline at end of file diff --git a/LC21/cond.c b/LC21/cond.c new file mode 100644 index 0000000..d3409f3 --- /dev/null +++ b/LC21/cond.c @@ -0,0 +1,37 @@ +#include +#include + +/* We define one thing - we need not give it a value, but we can */ +#define BUILD1 + +int main(void) +{ + + + printf ("\nThis code is common to all "); + +/* We check for the existance ob 'BUILD1' and act accordingly */ + +#ifdef BUILD1 + + printf ("\nWe had BUILD1 defined "); + +#else + + printf ("\nBUILD1 was not defined "); + +#endif + +/* Can can see if somthing was not defined too */ + +#ifndef BUILD2 + + printf ("\nBUILD2 was *NOT* defined "); + +#endif + + printf ("\n\n"); + + return 0; + +} diff --git a/LC21/getthem.c b/LC21/getthem.c new file mode 100644 index 0000000..abd4026 --- /dev/null +++ b/LC21/getthem.c @@ -0,0 +1,24 @@ +#include +#include + +int main(int argc, char *argv[]) +{ + int age; + char name[10]; + + /* we check the argument count is 3 ( prog name plus 2 params ) */ + if ( argc != 3 ) + { + printf ("\nProgram use %s name age ",argv[0]); + exit (0); + } + + /* Copy the command parameters into suitable variables */ + sscanf(argv[1],"%s",name); + sscanf(argv[2],"%d",&age); + + /* And display for all to see */ + printf ("\nHello %s, you are %d ",name,age); + + return 0; +} diff --git a/LC21/simple.c b/LC21/simple.c new file mode 100644 index 0000000..7c013bb --- /dev/null +++ b/LC21/simple.c @@ -0,0 +1,19 @@ +#include +#include + +/* Note the new type of main */ + +int main(int argc, char *argv[]) +{ + int x; + + /* Print the argument count */ + printf("Arguments -> %d\n",argc); + + /* And the arguments themselves */ + for (x=0; x +#include +#include + +int main(void) +{ + char buffer[100]; + int age=6; + char name[6]; + + /* This command copies "James" into the character array 'Name' */ + + strcpy(name,"James"); + + /* Print to the string (rather than screen) */ + + sprintf(buffer,"Name: %s, Age %d ",name,age); + + /* And output the string created */ + printf("\n->%s\n",buffer); + + return 0; +} diff --git a/LC21/use.c b/LC21/use.c new file mode 100644 index 0000000..e127221 --- /dev/null +++ b/LC21/use.c @@ -0,0 +1,29 @@ +#include +#include + +#define BUILD1 23 + +int main(void) +{ + + int MyValue = 0; + + printf ("\nThis code is common to all "); + +#ifdef BUILD1 + + printf ("\nWe had BUILD1 defined, will adjust value accordingly "); + MyValue = BUILD1; + +#else + + printf ("\nBUILD1 was not defined, leaving MyValue alone "); + +#endif + + printf ("\nThe value in MyValue is %d ",MyValue); + printf ("\n\n"); + + return 0; + +} diff --git a/LC4/hello_world.c b/LC4/hello_world.c new file mode 100644 index 0000000..d089699 --- /dev/null +++ b/LC4/hello_world.c @@ -0,0 +1,9 @@ +#include +#include + +int main( void ) +{ + /* My first program in C */ + printf ("Hello World \n"); + return 0; // Return from prog +} diff --git a/LC4/hello_world.exe b/LC4/hello_world.exe new file mode 100644 index 0000000000000000000000000000000000000000..35f237eb56ddef2cf2b2b45377458e2e3527c75b GIT binary patch literal 256808 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 +#include +int main(void) +{ + int a,b,c,sum; /* Define variables */ + a = 1; /* Assign values */ + b = 2; + c = 3; + sum = a + b + c ; /* Calculate sum & Display */ + + printf ("\nThe sum of %d + %d + %d is %d \n", a, b, c, sum); + + return 0; /* Return from prog */ +} diff --git a/LC5/printf_example.exe b/LC5/printf_example.exe new file mode 100644 index 0000000000000000000000000000000000000000..6e6e74564ac9209f3a8bdb980c4ba0563ee996e3 GIT binary patch literal 256808 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
1RGV#Q#CQT;sovN=(mius33w)%m8>J4C;);e6l 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 IcD=~(zf#MN)Bpeg literal 0 HcmV?d00001 diff --git a/LC7/fgets_string.c b/LC7/fgets_string.c new file mode 100644 index 0000000..a6471c1 --- /dev/null +++ b/LC7/fgets_string.c @@ -0,0 +1,22 @@ +/* EEEE1001/H61CAE*/ + +/* A program to show how to use fgets to safely read in a string */ + +#include +#include + +int main() +{ + + char MyName[50]; /* Define a string of 10 characters */ + + + /* A string */ + + printf("\nPlease enter your name & press return "); + fgets(MyName, 80, stdin); + printf("\nHello %s ",MyName); + + return 0; /* End of the program */ + +} diff --git a/LC7/getch.c b/LC7/getch.c new file mode 100644 index 0000000..98f7990 --- /dev/null +++ b/LC7/getch.c @@ -0,0 +1,27 @@ +/* + Chapter 7: example of getch + + This program reads a single keystroke and displays it + on the screen + +*/ + +#include /* Standard include files */ +#include +#include + +int main(void) +{ + + char x; /* Define a variable of type char */ + + x = getch(); /* Use getchar to read a keypress and store the */ + /* result in 'x' */ + + putchar(x); /* Display the character stored in 'x' on the */ + /* screen using putchar */ + + + return 0; + +} diff --git a/LC7/getchar.c b/LC7/getchar.c new file mode 100644 index 0000000..9826d10 --- /dev/null +++ b/LC7/getchar.c @@ -0,0 +1,27 @@ +/* + Chapter 7: example of getchar + + This program reads a single keystroke and displays it + on the screen + +*/ + +#include /* Standard include files */ +#include + + +int main(void) +{ + + char x; /* Define a variable of type char */ + + x = getchar(); /* Use getchar to read a keypress and store the */ + /* result in 'x' */ + + putchar(x); /* Display the character stored in 'x' on the */ + /* screen using putchar */ + + + return 0; + +} diff --git a/LC7/gets_string.c b/LC7/gets_string.c new file mode 100644 index 0000000..2a7c94b --- /dev/null +++ b/LC7/gets_string.c @@ -0,0 +1,22 @@ +/* EEEE1001/H61CAE - Chapter 7 */ + +/* A program to show how to use gets to read a string (that can include spaces) */ + +#include +#include + +int main( void ) +{ + + char MyName[50]; /* Define a string of 10 characters */ + + + /* A string */ + + printf("\nPlease enter your name & press return "); + gets(MyName); + printf("\nHello %s ",MyName); + + return 0; /* End of the program */ + +} diff --git a/LC7/scanf_examples.c b/LC7/scanf_examples.c new file mode 100644 index 0000000..9e676cc --- /dev/null +++ b/LC7/scanf_examples.c @@ -0,0 +1,36 @@ +/* Chapter 7 : Examples of using scanf */ + +/* A program to show how to use scanf to read various types of values (float/integer)*/ + +#include +#include + + +int main( void ) +{ + + int v1; /* An integer */ + float fv; /* A float */ + + + /* Reading an integer */ + printf("\nPlease enter an integer and press return "); + scanf("%d",&v1); + printf("\nThe value you entered was %d ",v1); + + /* Reading a floating point number */ + printf("\nPlease enter a floating point number & press return "); + scanf("%f",&fv); + printf("\nThe value you typed in was %f ",fv); + + + /* Reading all three in one go */ + printf("\nPlease enter your age and salary\n"); + scanf("%d %f", &v1, &fv); + + printf("\nYou are %d years old ",v1); + printf("\nAnd earn %f per year ",fv); + + return 0; /* End of the program */ + +} diff --git a/LC7/scanf_string.c b/LC7/scanf_string.c new file mode 100644 index 0000000..12874b5 --- /dev/null +++ b/LC7/scanf_string.c @@ -0,0 +1,23 @@ +/* EEEE1001/H61CAE - Chapter 7 */ + +#include +#include + + +int main(void) +{ + + char MyName[50]; /* Define a string of 50 characters */ + + + /* Prompt for and read in a string */ + printf("\nPlease enter your name & press return "); + scanf("%s",MyName); + + /* Display fixed text and string on the screen */ + printf("\nHello %s ",MyName); + + + return 0; /* End of the program */ + +} diff --git a/LC8/complex_if.c b/LC8/complex_if.c new file mode 100644 index 0000000..3d70e30 --- /dev/null +++ b/LC8/complex_if.c @@ -0,0 +1,35 @@ +/* EEEE1001/H61CAE Chapter 8 */ + +/* Example of a simple if statements */ + + +#include /* Standard include files */ +#include +#include + + +int main( void ) +{ + + int a = 1, b = 6; // Define and intialise variables + + + if ( (a == 1 ) && ( b == 6 ) ) + { + printf("a is 1 AND b is 6\n" ); + } + + if ( (a == 1 ) || ( b == 99 ) ) + { + printf("a is 1 OR b is 99\n" ); + } + + if (( b < a ) || ( a == 7 ) ) + { + printf ("The value of b is less than a OR a is 7\n"); + } + + + return 0; + +} diff --git a/LC8/if_else_if_else.c b/LC8/if_else_if_else.c new file mode 100644 index 0000000..40bb1bf --- /dev/null +++ b/LC8/if_else_if_else.c @@ -0,0 +1,35 @@ +/* Chapter 8 */ + +/* Example of a simple if statements */ + + +#include /* Standard include files */ +#include +#include + + +int main( void ) +{ + + int x = 55; // Define and intialise variable + + + if ( x == 2 ) + { + printf ("The value of x was 2\n"); + printf ("I will now do something\n"); + } + else if ( x == 3 ) + { + printf ("The value of x was 3\n"); + printf ("I will now do something else\n"); + } + else + { + printf ("x is neither 2 or 3; I will do this instead!\n"); + } + + + return 0; + +} diff --git a/LC8/if_equals_example.c b/LC8/if_equals_example.c new file mode 100644 index 0000000..659589c --- /dev/null +++ b/LC8/if_equals_example.c @@ -0,0 +1,37 @@ +/* EEEE1001/H61CAE Chapter 8 */ + +/* Incorrect use of a single equals sign in an if statement */ + + +#include /* Standard include files */ +#include +#include + + +int main( void ) +{ + + int c = 6; // Define variable as initialise with value + + printf ("\nThe current value in c is %d\n",c); // Display value in c + + // This is correct + if ( c == 1 ) + { + printf("\nThe value of c is 1\n" ); + } + + printf ("\nThe current value in c is %d\n",c); // Display value in c + + // This is WRONG - it is setting c to one, this value is then tested + // and, as non-zero, is considered to be TRUE + if ( c = 1 ) + { + printf("\nThe value of c is 1\n" ); + } + + printf ("\nThe current value in c is %d\n",c); // Display value in c + + return 0; + +} diff --git a/LC8/if_examples.c b/LC8/if_examples.c new file mode 100644 index 0000000..04c8d9e --- /dev/null +++ b/LC8/if_examples.c @@ -0,0 +1,34 @@ +/* Chapter 8 */ + +/* Example of a simple if statements */ + + +#include /* Standard include files */ +#include +#include + + +int main( void ) +{ + + int a = 1, b = 6; // Define and intialise variables + + + if ( a == 1 ) + { + printf("\nThe value of a is 1\n" ); + } + + if ( a < b ) + { + printf ("The value of a is less than b\n"); + } + + if ( b < a ) + { + printf ("The value of b is less than a\n"); + } + + return 0; + +} diff --git a/LC8/switch_1.c b/LC8/switch_1.c new file mode 100644 index 0000000..65afe5e --- /dev/null +++ b/LC8/switch_1.c @@ -0,0 +1,31 @@ +/* EEEE1001/H61CAE Chapter 8 */ + +/* Example of a simple if statements */ + + +#include /* Standard include files */ +#include + +int main( void ) +{ + + int a; /* Define an int */ + scanf ("%d",&a); /* Get value */ + switch (a) /* Start of switch */ + { + case 1: + printf("Hi"); /* Case 1 */ + break; + + case 2: + printf("Bye"); /* Case 2 */ + break; + + default : + printf("Err"); /* Default */ + break; + } + + return 0; + +} \ No newline at end of file diff --git a/LC8/switch_2.c b/LC8/switch_2.c new file mode 100644 index 0000000..76719cf --- /dev/null +++ b/LC8/switch_2.c @@ -0,0 +1,34 @@ +/* Chapter 8 */ + +/* Example of a simple if statements */ + + +#include /* Standard include files */ +#include + +#include /* Required for getch() */ + +int main( void ) +{ + + char c; /* Define an char */ + c = getch(); /* Get value - no return required*/ + + switch (c) /* Start of switch */ + { + case '1': + printf("Hi"); /* Case 1 */ + break; + + case '2': + printf("Bye"); /* Case 2 */ + break; + + default : + printf("Err"); /* Default */ + break; + } + + return 0; + +} diff --git a/LC8/switch_3.c b/LC8/switch_3.c new file mode 100644 index 0000000..7b6ed51 --- /dev/null +++ b/LC8/switch_3.c @@ -0,0 +1,33 @@ +/* EEEE1001/H61CAE Chapter 8 */ + +/* Example of a simple if statements */ + + +#include /* Standard include files */ +#include + +#include /* Required for getch() */ + +int main( void ) +{ + + char c; /* Define an char */ + c = getch(); /* Get value - no return required*/ + + switch (c) /* Start of switch */ + { + case '1': + printf("Hi"); /* Case 1 */ + + case '2': + printf("Bye"); /* Case 2 */ + break; + + default : + printf("Err"); /* Default */ + break; + } + + return 0; + +} diff --git a/LC9/do_while_example.c b/LC9/do_while_example.c new file mode 100644 index 0000000..7af177c --- /dev/null +++ b/LC9/do_while_example.c @@ -0,0 +1,42 @@ +/* + This program shows how to use a DO/WHILE statement to keep displaying + the key pressed on the screen. It terminates when the 'q' key is + pressed + + James Bonnyman +*/ + +#include /* Standard include files */ +#include +#include + +int main(void) +{ + + char x; /* Define a variable of type char */ + + + /* We now use the while statement. The 'loop' continues to execute */ + /* until such time as the expression in the brackets becomes false */ + + /* we use != , meaning 'Not Equal to' as the test, as we wish the */ + /* the statements to be executed every time we press a key other */ + /* than 'q'. Once we press 'q' the code continues on to the next */ + /* statement */ + + /* Note: This time the getch is in the while expression */ + + + do + { + x = getch(); + /* Display a message on the screen */ + printf("\nThe key you pressed was the %c key",x ); + } + while ( x != 'q' ); + + // All done :-) + + return 0; + +} diff --git a/LC9/for_loops.c b/LC9/for_loops.c new file mode 100644 index 0000000..54bccc5 --- /dev/null +++ b/LC9/for_loops.c @@ -0,0 +1,42 @@ +/* Example Program */ + +/* + This program shows how to write a simple loop that counts up + from zero to 9. + + A second loop then counts from 10 down to 1 + + Remember + + j++ means j = j + 1 + j-- means j = j - 1 + +*/ + +#include /* Standard include files */ +#include + + +int main(void) +{ + + char j; /* Define a variable of type integer */ + + + /* The count up loop */ + printf("\nCounting Up ... "); + + for ( j = 0 ; j < 10 ; j++ ) + printf("\nThe value of j is %d",j ); + + + /* The count down loop */ + + printf ("\nCounting Down .. "); + for ( j = 10 ; j > 0 ; j-- ) + printf("\nThe value of j is %d",j ); + + + return 0; + +} diff --git a/LC9/while_example_version_1.c b/LC9/while_example_version_1.c new file mode 100644 index 0000000..1dde928 --- /dev/null +++ b/LC9/while_example_version_1.c @@ -0,0 +1,47 @@ +/* + This program shows how to use a WHILE statment to keep displaying + the key pressed on the screen. It terminates when the 'q' key is + pressed + + +*/ + +#include /* Standard include files */ +#include +#include + + +int main( void ) +{ + + char x; /* Define a variable of type char */ + + printf("Press a key "); + x = getch(); /* Use getch to read a keypress and store the */ + /* result in 'x'. We do this initially so that */ + /* there is a value in 'x' for the while statment */ + /* to consider the first time round */ + + /* We now use the while statement. The 'loop' continues to execute */ + /* until such time as the expression in the brackets becomes false */ + + /* we use != , meaning 'Not Equal to' as the test, as we wish the */ + /* the statements to be executed every time we press a key other */ + /* than 'q'. Once we press 'q' the code continues on to the next */ + /* statement */ + + while ( x != 'q' ) + { + /* Display a message on the screen */ + printf("\nThe key you pressed was the %c key\n",x ); + + /* Get a new value for X, if we do not the 'expression' will never */ + /* change, and the loop will go for ever */ + + printf( "Press another key or q to quit \n"); + x = getch(); + + } + return 0; + +} diff --git a/LC9/while_example_version_2.c b/LC9/while_example_version_2.c new file mode 100644 index 0000000..5978fb2 --- /dev/null +++ b/LC9/while_example_version_2.c @@ -0,0 +1,37 @@ +/* + This program shows how to use a WHILE statment to keep displaying + the key pressed on the screen. It terminates when the 'q' key is + pressed + +*/ + +#include /* Standard include files */ +#include +#include + +int main(void) +{ + + char x; /* Define a variable of type char */ + + + /* We now use the while statement. The 'loop' continues to execute */ + /* until such time as the expression in the brackets becomes false */ + + /* we use != , meaning 'Not Equal to' as the test, as we wish the */ + /* the statements to be executed every time we press a key other */ + /* than 'q'. Once we press 'q' the code continues on to the next */ + /* statement */ + + /* Note: This time the getch is in the while expression */ + + + while ( ( x = getch() ) != 'q' ) + { + /* Display a message on the screen */ + printf("\nThe key you pressed was the %c key",x ); + } + + return 0; + +}