470 likes | 597 Views
CECS 130 EXAM 1. REACH TEST REVIEW. Can you predict the printout?. int main() { printf (“%c %c <br>", 'a', 65); printf ("%d %ld<br>", 1977, 650000L); printf (" %10d <br>", 1977); printf ("%010d <br>", 1977); printf ("floats: %4.2f <br>", 3.1416);
E N D
CECS 130 EXAM 1 REACH TEST REVIEW
Can you predict the printout? • int main() { printf (“%c %c \n", 'a', 65); printf ("%d %ld\n", 1977, 650000L); printf (" %10d \n", 1977); printf ("%010d \n", 1977); printf ("floats: %4.2f \n", 3.1416); printf ("%s \n", "A string"); return 0; } }
Printouts printf (“%c %c \n", 'a', 65); aA printf ("%d %ld\n", 1977, 650000L); 1977650000 printf (" %10d \n", 1977); 1977 printf ("%010d \n", 1977); 0000001977 printf ("floats: %4.2f \n", 3.1416); 3.14 printf ("%s \n", "A string"); A string
While(){} and Do{} While() • What’s the syntax of • While(){} • Do{} While() • What’s the difference between While and Do{} While()?
Answers • while ( condition ) { Code to execute while the condition is true } • do { } while ( condition ); • Do{} while() executes code at least once!
FOR Loops • Use when the number of iterations is already known • Syntax: • for ( variable initialization; condition; variable increment/decrement) • { • Code to execute while the condition is true • }
Can you predict the print out? • #include <stdio.h> • int main() { • int x; • for ( x = 0; x < 10; x++ ){ • printf( "%d\n", x ); • } • getchar(); • }
Practice FOR Loops • Write a program using a FOR Loop to display all of the multiples of 5 from 0 to 100.
Answer • #include <stdio.h> • int main() { • int x; • for ( x = 0; x < =20; x++ ) • { • printf( "%d\n", x*5 ); • } • getchar(); • }
BREAK and CONTINUE • Use to manipulate flow in loops • What does a Break statement do when executed within a loop? • What does a Continue statement do when executed within a loop?
Break and Continue Example • #include <stdio.h> • main() { • int x; • for ( x = 10; x >5; x-- ) • { • if (x==7) • break; • } • printf( “\n %d \n ”, x ); • } • #include <stdio.h> • main() { • int x; • for ( x = 10; x >5; x-- ) • { • if (x==7) • continue; • printf( “\n %d \n ”, x ); • } • }
Function Prototypes & Definitions • Function Prototype Syntax return-type function_name ( arg_type arg1, ..., arg_typeargN) • Function Prototypes tell you the data type returned by the function, the data type of parameters, how many parameters, and the order of parameters • Function definitions implement the function prototype • Where are function prototypes located in the program? • Where do you find function definitions?
Function Prototypes • Where are function prototypes located in the program? • Answer: before the Main(){} Function! • Function Definitions are self contained outside of the Main(){} function
Calling Functions • #include <stdio.h> • intmult ( int x, int y ); • int main() { • int x; • int y; • printf( "Please input two numbers to be multiplied: " ); • scanf( "%d", &x ); • scanf( "%d", &y ); • printf( "The product of your two numbers is %d\n", mult( x, y ) ); • getchar(); • } • intmult (int x, int y) • { • return x * y; • }
What’s Wrong with This Code? • #include <stdio.h> • Void printReportHeader(); • main() • { • printReportHeader; • } • void printReportHeader() • { • printf(“\n Column1\tColumn2\tColumn3\tColumn4 \n”) • }
Can You Pick Out the Local and Global Variables? • #include <stdio.h> • void printNumbers(); • intiNumber; • main() { • int x; • for(x=0, x<10,x++){ • printf(“\n Enter a number:”); • scanf(“%d”, &iNumber); • printNumbers(); • } • } • void printNumbers() • { • printf(“\n Your number is: %d \n”, iNumber); • }
Variable Scope • Variable scope defines the life time of a variable • Local Scope: defined within functions and loses scope after function is finished. Can reuse in other functions (ex. p.123) • Global Scope: defined outside of functions and can be accessed by multiple functions
How to Declare a One-Dimensional Array • Can you declare a one-dimensional array made up of 10 integers? • Answer: intiArray[10] • How to declare an Array • intiArray[10]; • float fAverages[30]; • double dResults[3]; • short sSalaries [9]; • char cName[19]; 18 characters and 1 null character
How to Initialize a 1-D Array • Why do we initialize? Because memory spaces may not be cleared from previous values when arrays are created • Can initialize an array directly • Example intiArray[5]={0,1,2,3,4}; • Can initialize an array with a loop such as FOR()
Example of Initializing an Array Using a For() Loop • #include <stdio.h> • main() • { • int x; • intiArray[5]; • for( x=0; x < 5 ; x++) • { • iArray[x] = 0; • } • }
Printing Arrays • Can you add code to print out the values of the program below? • #include <stdio.h> • main() • { • int x; • intiArray[5]; • for( x=0; x < 5 ; x++) • { • iArray[x] = 0; • } • }
Answer • #include <stdio.h> • main() • { • int x; • intiArray[5]; • for( x=0; x < 5 ; x++) • { • iArray[x] = 0; • } • for(x=0 ; x<5; x++) • { • printf(“\n The value of iArray index %d is %d \n”,x, iArray[x]); • } • }
Accessing the elements in an array • How do you search through an array?
#include <stdio.h> • main() • { • int x; • intiValue; • intiFound = -1; • intiArray[5]; • for( x=0; x < 5 ; x++) • iArray[x] = (x+x); • printf(“\n Enter value to search for:”); • scanf(“%d”, &iValue); • for(x=0 ; x<5; x++) • { • if( iArray[x] ==iValue){ • iFound =x; • break; • ) • } • if(iFound >-1) • printf(“\n I found your search value in element %d \n”,iFound); • else • printf(“\n Sorry, your search value was not found \n”); • }
String Examples #include <stdio.h> #include <string.h> main(){ char *str1 = “Michael”; char str2[] = “Vine”; printf(“\nThe length of string 1 is %d \n”, strlen(str1)); printf(“The length of string 2 is %d\n”,strlen(str2)); }
String Examples #include <stdio.h> #include <string.h> void convertL(char *); main(){ char name1[] = “Michael”; convertL(name1); } void convertL(char *str){ int x; for ( x = 0; x <=strlen(str) ; x++) str[x] = tolower(str[x]); printf(“\nThe name converted to lower case is %s\n”, str); }
Quiz Kelly 11/12/86 6 Louisville Allen 04/05/77 49 Atlanta Chelsea 03/30/90 12 Charleston How many fields are there? How many records are there? How many bytes are there in the first record? How many bits are there in “Kelly”?
Data Control Do you know the syntax for each of these, used to read and write to data files? • Pointers: think of it as the memory address of the file • fopen() • fclose() • fscanf() • fprintf()
fopen(“file name”, “Mode”) • fopen() returns a FILE pointer back to the pRead variable • #include <cstdio> • Main() • { • FILE *pRead; • pRead = fopen(“file1.dat”, “r”); • if(pRead == NULL) • printf(“\nFile cannot be opened\n”); • else • printf(“\nFile opened for reading\n”); • }
fclose(file pointer) • Pretty basic.
fscanf(FILE pointer, “data type”, variable in which to store the value) • Reads a single field from a data file • “%s” will read a series of characters until a white space is found • can do fscanf(pRead, “%s%s”, name, hobby);
#include <stdio.h> • Main() • { • FILE *pRead; • char name[10]; • pRead = fopen(“names.dat”, “r”); • if( pRead == NULL ) • printf( “\nFile cannot be opened\n”); • else • printf(“\nContents of names.dat\n”); • fscanf( pRead, “%s”, name ); • while( !feof(pRead) ) { • printf( “%s\n”, name ); • fscanf( pRead, “%s”, name ); • } • }
Quiz Kelly 11/12/86 6 Louisville Allen 04/05/77 49 Atlanta Chelsea 03/30/90 12 Charleston Can you write a program that prints out the contents of this information.dat file?
#include <stdio.h> • main() • { • FILE *pRead; • char name[10]; • char birthdate[9]; • float number; • char hometown[20]; • pRead = fopen(“information.dat”, “r”); • if( pRead == NULL ) • printf( “\nFile cannot be opened\n”); • else • fscanf( pRead, “%s%s%f%s”, name, birthdate, &number, hometown ); • while( !feof(pRead) ) { • printf( “%s \t %s \t %f \t %s\n”, name, birthdate, number, hometown ); • fscanf( pRead, “%s%s%f%s”, name, birthdate, &number, hometown ); • } • }
fprintf(FILE pointer, “list of data types”,list of values or variables) • The fprintf() function sends information (the arguments) according to the specified format to the file indicated by stream. fprintf() works just like printf() as far as the format goes.
#include <stdio.h> Main() { FILE *pWrite; char fName[20]; char lName [20]; float gpa; pWrite = fopen(“students.dat”,”w”); if( pWrite == NULL ) printf(“\nFile not opened\n”); else printf(“\nEnter first name, last name, and GPA separated” printf(“Enter data separated by spaces:”); scanf(“%s%s%f”, fName, lName, &gpa); fprintf(pWrite, “%s \t %s \t % .2f \n”, fName, lName, gpa); fclose(pWrite); }
Quiz • Can you write a program that asks the user for their • Name • Phone Number • Bank account balance And then prints this information to a data file called accounts.dat ?
References • TEXTBOOK RESOURCE: C Programming for the Absolute Beginner 2nd Edition by Michael Vine • www.cprogramming.com
References • TEXTBOOK RESOURCE: C Programming for the Absolute Beginner 2nd Edition by Michael Vine • www.cprogramming.com