CSE 142 Computer Programming I Overview Topics Input and Output I O 2000 UW CSE Output printf Input scanf Basic format codes More on initializing variables E 1 E 2 What s a Computer Writing Useful Programs It s hard to write useful programs using only variables and assignment statements Even our Fahrenheit to Celsius program needed more Needed a way to get data into and out of the program Disk Files Central Processing Unit Main Memory We ll learn more about doing this today Monitor Keyboard mouse Network Lots of terminology and messy details but E 3 worthwhile E 4 Text Output Basic Definitions Input movement of data into memory from outside world e g from keyboard Changes the value of a variable read operation Output movement of data from memory to outside world e g to monitor write operation Does not change value of memory E 5 E 6 E 1 I O Statements from a Familiar Program printf Enter a Fahrenheit temperature Display Input and Output The functions printf and scanf provide basic display I O services printf control string list of expressions scanf lf fahrenheit scanf control string list of variables Control string gives the format of output or input celsius fahrenheit 32 0 5 0 9 0 Expressions are what to output printf That equals f degrees Celsius celsius Variables are where to store the input E 7 E 8 is magic that is REQUIRED for scanf printf Display Output int What Does the n Do numPushups int numPushups 5 printf Hello Do d pushups n numPushups output Hello Do 5 pushups d is a placeholder conversion character for an int value numPushups numPushups 5 printf Hello printf Do d pushups n numPushups printf Do them now n output Hello Do 5 pushups Do them now n is an escape sequence for newline character E 9 Getting a Little Fancier E 10 Multiple Output Expressions printf control string list of expressions printf might have more than one expression in its list printf d times f is f n multiplier pi double multiplier pi E 11 placeholders in format string match expressions in output list in number order and type int multiplier double pi pi 3 14 multiplier 2 printf d times f is f n multiplier pi double multiplier pi Output 2 times 3 14000 is 6 28000 E 12 E 2 Advanced Output Formatting This is only the beginning A few of many other things you can do Control number of decimals 3 1 vs 3 100000 Exponential scientific or decimal notation 3 1 vs 3 1E0 Control total width including spaces 3 1 vs 3 1 How E 13 Look in textbook or a reference manual or online help scanf Read Input Output Format Examples 10 2f 10 4f 2f 10d 10d 10c 123 55 123 5500 123 55 475 475 a double int char E 14 If You Forget the scanf control string input list The program will compile but when you execute int numPushups printf Hello Do how many pushups scanf d numPushups printf Do d pushups n numPushups output Hello Do how many pushups 5 Do 5 pushups input list variables MUST be preceded by an input list variables MUST be preceded by an E 15 E 16 Whitespace Multiple Inputs space tab t newline n are whitespace Basic rule Whitespace is skipped by scanf for int d and double lf This means the user can type spaces before a number and they are ignored Not skipped for char input c each character typed including spaces is used E 17 placeholders in the format must match variables in the input list MUST match one for one in number order and type int studentID double grade scanf d lf studentID grade E 18 E 3 printf scanf Summary Format Items Summary Type scanf printf char int c d c d double lf f i also works long float What happens if types don t match printf garbled output scanf unpredictable errors and don t forget the E 19 Output printf control string output list output list expressions values to be printed control string types and desired format for now NO ever Input scanf control string input list input list variables values to be read control string types and expected format can be a way of initializing variables for now YES always E 20 Both x s I O list match in number order type Bonus Topic More on Initializing Variables I O Summary Input is the movement of data into memory In C we use scanf for input from the keyboard Output is the movement of data from memory In C use printf for output to the screen Know the basic printf scanf rules and know them well Review Initialization means giving something a value for the first time Potential ways to initialize Assignment statement scanf Be aware that advanced formatting options exist E 21 and can be looked up when needed Yet another way initializer with declaration Initializing when Declaring Initialization Quiz Declarations without initializers Declarations with initializers int product i int product 40 i 5 product 40 i 5 i 6 int main void line 1 int a b c d 10 line 2 b 5 line 3 d 6 line 4 scanf d d b c line 5 return 0 line 6 Q Where is each of a b c and d initialized Initializers are part of the declaration they are not assignment statements despite the sign E 23 E 22 E 24 E 4 Next Time We ll learn about a powerful new type of statement the conditional or if statement Please join me then E 25 E 5
View Full Document
Unlocking...