cecs 130 exam 1. int main() { printf (“%c %c \n", 'a', 65); printf ("%d...

Post on 17-Jan-2016

248 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

REACH TEST REVIEWCECS 130 EXAM 1

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); aAprintf ("%d %ld\n", 1977, 650000L);

1977650000printf (" %10d \n", 1977);

1977printf ("%010d \n", 1977);

0000001977printf ("floats: %4.2f \n", 3.1416); 3.14

printf ("%s \n", "A string"); A string

Review Printing with Precision

Example Printout

printf(“%.1f”,3.123456); 3.1

printf(“\n%.2f”,3.123456); 3.12

printf(“\n%.3f”,3.123456); 3.123

printf(“\n%.4f”,3.123456); 3.1234

printf(“\n%.5f”,3.123456); 3.12345

printf(“\n%.6f”,3.123456); 3.123456

Switch-Case Statments

Example Switch-Case Statement

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!

Use when the number of iterations is already known

Syntax:

FOR Loops

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_type argN)

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>

int mult ( int x, int y );

int main() { int x = 0; int y = 0;

printf( "Please input two numbers to be multiplied: " ); scanf( "%d", &x ); printf( "%d ", x );scanf( "%d", &y );printf( "%d ", y);printf( "The product of your two numbers is %d\n", mult( x, y ) ); getchar();

}

int mult (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();int iNumber = 0;

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 lifetime 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: int iArray[10]

How to declare an Array int iArray[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 int iArray[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;int iArray[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;int iArray[5];

for( x=0; x < 5 ; x++){ iArray[x] = 0;}

}

Answer

#include <stdio.h>

main(){

int x;int iArray[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;int iValue;int iFound = -1;int iArray[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”);

}

Manipulating Strings

Function Description

strlen() Returns numeric string length up to, but not including null character

tolower() and toupper() Converts a single character to upper or lower case

strcpy() Copies the contents of one string into another string

strcat() Appends one string onto the end of another

strcmp() Compares two strings for equality

strstr() Searches the first string for the first occurrence of the second string

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);}

Data File Hierarchy

Entity Description

Bit Binary digit, 0 or 1 Smallest value in a data file

Byte Eight bits Stores a single character

Field Grouping of bytes i.e a word, social security number

Record Grouping of fields a single row of information, student name, age, ID, GPA

File Grouping of records separate fields in a record using spaces, tabs, or commas

Quiz

Kelly 11/12/86 6 LouisvilleAllen 04/05/77 49 AtlantaChelsea 03/30/90 12Charleston

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 <stdio.h>

main(){

FILE *pRead;pRead = fopen(“file1.dat”, “r”);

if(pRead == NULL) printf(“\nFile cannot be opened\n”);else printf(“\nFile opened for reading\n”);

}

Common Text File Modes

Mode Meaning Already Exists Does Not Exist

“r” Open a file for reading read from start error

“w” Create a file for writing destroy contents create new

“a” Append to a file write to end create new

“r+“ Open a file for read/write read from start error

“w+“ Create a file for read/write destroy contents create new

“a+“ Open a file for read/write write to end create new

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”);

elseprintf(“\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 LouisvilleAllen 04/05/77 49 AtlantaChelsea 03/30/90 12Charleston

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);

}}

Questions?

top related