CS10001: Programming & Data Structures. Dept. of Computer Science & Engineering

Similar documents
Lecture 2. Examples of Software. Programming and Data Structure. Programming Languages. Operating Systems. Sudeshna Sarkar

General Announcements

Programming and Data Structures

General Announcements

Features of C. Portable Procedural / Modular Structured Language Statically typed Middle level language

UNIT - I. Introduction to C Programming. BY A. Vijay Bharath

C: How to Program. Week /Mar/05

VARIABLES AND CONSTANTS

Data Types and Variables in C language

Chapter 2 - Introduction to C Programming

Basic Elements of C. Staff Incharge: S.Sasirekha

DEPARTMENT OF MATHS, MJ COLLEGE

BLM2031 Structured Programming. Zeyneb KURT

C Language, Token, Keywords, Constant, variable

LESSON 1. A C program is constructed as a sequence of characters. Among the characters that can be used in a program are:

Variables Data types Variable I/O. C introduction. Variables. Variables 1 / 14

Syntax and Variables

Programming Fundamentals (CS 302 ) Dr. Ihsan Ullah. Lecturer Department of Computer Science & IT University of Balochistan

Dept. of CSE, IIT KGP

Chapter 1 & 2 Introduction to C Language

A Fast Review of C Essentials Part I

DECLARATIONS. Character Set, Keywords, Identifiers, Constants, Variables. Designed by Parul Khurana, LIECA.

ME 172. Lecture 2. Data Types and Modifier 3/7/2011. variables scanf() printf() Basic data types are. Modifiers. char int float double

Introduction to C Programming. Chih-Wei Tang ( 唐之瑋 ) Department of Communication Engineering National Central University JhongLi, Taiwan

These are reserved words of the C language. For example int, float, if, else, for, while etc.

ANSI C Programming Simple Programs

Fundamental Data Types. CSE 130: Introduction to Programming in C Stony Brook University

C Language Part 1 Digital Computer Concept and Practice Copyright 2012 by Jaejin Lee

Course Outline Introduction to C-Programming

Presented By : Gaurav Juneja

Laboratory 2: Programming Basics and Variables. Lecture notes: 1. A quick review of hello_comment.c 2. Some useful information

B.V. Patel Institute of Business Management, Computer & Information Technology, Uka Tarsadia University

C How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.

Variables in C. Variables in C. What Are Variables in C? CMSC 104, Fall 2012 John Y. Park

Introduction to C programming. By Avani M. Sakhapara Asst Professor, IT Dept, KJSCE

CS102: Variables and Expressions

Computers Programming Course 5. Iulian Năstac

ET156 Introduction to C Programming

2. Numbers In, Numbers Out

Problem Solving and 'C' Programming

Character Set. The character set of C represents alphabet, digit or any symbol used to represent information. Digits 0, 1, 2, 3, 9

6.096 Introduction to C++ January (IAP) 2009

Fundamentals of Programming

Computer System and programming in C

Lecture 02 C FUNDAMENTALS

Programming in C and Data Structures [15PCD13/23] 1. PROGRAMMING IN C AND DATA STRUCTURES [As per Choice Based Credit System (CBCS) scheme]

ITC213: STRUCTURED PROGRAMMING. Bhaskar Shrestha National College of Computer Studies Tribhuvan University

Unit 4. Input/Output Functions

Main Program. C Programming Notes. #include <stdio.h> main() { printf( Hello ); } Comments: /* comment */ //comment. Dr. Karne Towson University

CS5000: Foundations of Programming. Mingon Kang, PhD Computer Science, Kennesaw State University

UNIT IV 2 MARKS. ( Word to PDF Converter - Unregistered ) FUNDAMENTALS OF COMPUTING & COMPUTER PROGRAMMING

.. Cal Poly CPE 101: Fundamentals of Computer Science I Alexander Dekhtyar..

Computer Science & Information Technology (CS) Rank under AIR 100. Examination Oriented Theory, Practice Set Key concepts, Analysis & Summary

SEQUENTIAL STRUCTURE. Erkut ERDEM Hacettepe University October 2010

C OVERVIEW BASIC C PROGRAM STRUCTURE. C Overview. Basic C Program Structure

Introduction. Arizona State University 1

Introduction to C Language

Procedures, Parameters, Values and Variables. Steven R. Bagley

ET156 Introduction to C Programming

Fundamental of Programming (C)

Binghamton University. CS-211 Fall Syntax. What the Compiler needs to understand your program

C Fundamentals & Formatted Input/Output. adopted from KNK C Programming : A Modern Approach

Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100

c) Comments do not cause any machine language object code to be generated. d) Lengthy comments can cause poor execution-time performance.

LESSON 5 FUNDAMENTAL DATA TYPES. char short int long unsigned char unsigned short unsigned unsigned long

Work relative to other classes

2. Numbers In, Numbers Out

from Appendix B: Some C Essentials

C OVERVIEW. C Overview. Goals speed portability allow access to features of the architecture speed

Full file at C How to Program, 6/e Multiple Choice Test Bank

THE FUNDAMENTAL DATA TYPES

C Concepts - I/O. Lecture 19 COP 3014 Fall November 29, 2017

Fundamental of C programming. - Ompal Singh

C - Basic Introduction

INTRODUCTION 1 AND REVIEW

ADARSH VIDYA KENDRA NAGERCOIL COMPUTER SCIENCE. Grade: IX C++ PROGRAMMING. Department of Computer Science 1

CSE 1001 Fundamentals of Software Development 1. Identifiers, Variables, and Data Types Dr. H. Crawford Fall 2018

Expressions. Arithmetic expressions. Logical expressions. Assignment expression. n Variables and constants linked with operators

CSc Introduction to Computing

C Programming Multiple. Choice

Data Type Fall 2014 Jinkyu Jeong

Midterm Examination # 2 Wednesday, March 19, Duration of examination: 75 minutes STUDENT NAME: STUDENT ID NUMBER:

Introduction to C# Applications

COMPUTER SYSTEM. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U

3/13/2012. ESc101: Introduction to Computers and Programming Languages

STUDY NOTES UNIT 1 - INTRODUCTION TO OBJECT ORIENTED PROGRAMMING

Today. o main function. o cout object. o Allocate space for data to be used in the program. o The data can be changed

Fundamentals of C Programming

One Dimension Arrays 1

Number Systems, Scalar Types, and Input and Output

mith College Computer Science CSC270 Spring 2016 Circuits and Systems Lecture Notes, Week 11 Dominique Thiébaut

Full file at

COMPUTER SCIENCE HIGHER SECONDARY FIRST YEAR. VOLUME II - CHAPTER 10 PROBLEM SOLVING TECHNIQUES AND C PROGRAMMING 1,2,3 & 5 MARKS

Sri Vidya College of Engineering & Technology

Note: unless otherwise stated, the questions are with reference to the C Programming Language. You may use extra sheets if need be.

CS Programming In C

CS113: Lecture 3. Topics: Variables. Data types. Arithmetic and Bitwise Operators. Order of Evaluation

بسم اهلل الرمحن الرحيم

Differentiate Between Keywords and Identifiers

ESC101N: Fundamentals of Computing End-sem st semester

Transcription:

CS10001: Programming & Data Structures Dept. of Computer Science & Engineering 1

Course Materials Books: 1. Programming with C (Second Edition) Byron Gottfried, Third Edition, Schaum s Outlines Series, 2. The C Programming Language Brian W Kernighan, Dennis M Ritchie 3. Data structures S. Lipschutz, Schaum s Outline Series 2

About the Course n Section 9, 10 Teacher: Prof. Sandip Chakraborty (SC) Mon (10:00-10:55) + Wed (8:00-9:55) NR-122 (Nalanda Complex) n Section 11, 12 Teacher: Prof. Bivas Mitra (BM) Mon (10:00-10:55) + Wed (8:00-9:55), NR-222 (Nalanda Complex) 3

About the Course n Section 13,14 Teacher: Prof. Niloy Ganguly (NG) Thurs (9:00-9:55) + Fri (11:00-12:55), NR-122 (Nalanda Complex) n Section 15,16 Teacher: Prof. K. S. Rao Thurs (9:00-9:55) + Fri (11:00-12:55), NR-222 (Nalanda Complex) 4

About the Course n Course website: http://cse.iitkgp.ac.in/pds/current/ n Tutorial classes (one hour per week) will be conducted on a per section basis during Lab hours n Evaluation in the theory course: Mid-semester 30% End-semester 50% Two class tests and attendance 20%

Attendance REALLY matters n Important for understanding the course n Any student with low attendance may be deregistered from the course n Leave due to medical reasons must be certified by the B.C. Roy Technology Hospital 6

Important Dates n Class Test 1: Last week of August / first week of September n Class Test 2: Last week of October / first week of November (Class test dates are tentative and may change. The exact dates will be announced in the class) n Mid-semester: Sept 17 Sep 26, 2018 n End-semester: Nov 16 Nov 27, 2018 7

Introduction 8

Computer is a machine that can perform computation 1. Input : User gives a set of Input 2. Processing : Input data is processed by a well defined and finite sequence of steps 3. Output: Some data available from processing step and output to the user 9

A Computer (Level 0 Version) Input Peripherals Central Processing Unit (CPU) Output Peripherals Main Memory Storage Peripherals 10

I/O and Peripherals: Examples n Input Devices Keyboard, Mouse, Digital Camera n Output Devices Monitor, Printer, Speaker n Storage Peripherals Magnetic Disks: hard disk Optical Disks: CDROM, CD-RW, DVD Flash Memory: pen drives 11

Memory: Address and Values 12

CPU: A first cut R1 R2 R3 R4 Control Unit ALU PC IR MAR MDR FLAGS 13

Register Temporary storage inside CPU 1. General purpose Register 2. Special purpose Register PC: Program Counter IR: Instruction Register MDR: Memory Data Register MAR: Memory Address Register 5 R1 14

Read Write Control Unit CPU ALU MAR MDR Address Bus Data Bus Memory Von Newman Architecture 15

Read C=A+B Address Bus Control Unit MAR A (2) B (5) CPU ALU MDR Data Bus Memory Step 1: Fetch Operand A from memory Step 2: Store in Register R1 Step 3: Fetch Operand B from memory Step 4: Store in Register R2 Step 5: Add content of R1 and R2 Step 6: Store the result in register R3 Step 7: Store the content of R3 in memory C 16

Read C=A+B Address Bus Control Unit MAR A A (2) B (5) CPU ALU MDR 2 Memory Data Bus Step 1: Fetch Operand A from memory Step 2: Store in Register R1 Step 3: Fetch Operand B from memory Step 4: Store in Register R2 Step 5: Add content of R1 and R2 Step 6: Store the result in register R3 Step 7: Store the content of R3 in memory C 17

Read C=A+B Address Bus Control Unit MAR B A (2) B (5) CPU ALU MDR 5 Memory Data Bus Step 1: Fetch Operand A from memory Step 2: Store in Register R1 Step 3: Fetch Operand B from memory Step 4: Store in Register R2 Step 5: Add content of R1 and R2 Step 6: Store the result in register R3 Step 7: Store the content of R3 in memory C 18

Read C=A+B Address Bus Control Unit MAR A (2) B (5) CPU ALU MDR Data Bus Memory Step 1: Fetch Operand A from memory Step 2: Store in Register R1 Step 3: Fetch Operand B from memory Step 4: Store in Register R2 Step 5: Add content of R1 and R2 Step 6: Store the result in register R3 Step 7: Store the content of R3 in memory C R1 ALU R2 R3 19

Read C=A+B Address Bus Control Unit MAR C A (2) B (5) CPU Step 1: Fetch Operand A from memory Step 2: Store in Register R1 Step 3: Fetch Operand B from memory Step 4: Store in Register R2 Step 5: Add content of R1 and R2 Step 6: Store the result in register R3 Step 7: Store the content of R3 in memory C ALU MDR Memory 7 C Data Bus (7) 20

What can a computer do Solve Types of Problem 1. Functional Problem (Matrix Inverse) 2. Decision Problem (Primality test) 3. Search Problem 4. Optimization problem 21

What can a computer do n n n n n n n n n n n n Determining if a given integer is a prime number Root finding Read in airline route information as a matrix and determine the shortest time journey between two airports Telephone pole placement problem Matrix multiplication Finger-print recognition Chess Player Speech Recognition Language Recognition Discovering New Laws in Mathematics Automatic drug discovery.. 22

Programming and Software Computer needs to be programmed to do such tasks Programming is the process of writing instructions in a language that can be understood by the computer so that a desired task can be performed by it Program: sequence of instructions to do a task, computer processes the instructions sequentially one after the other Software: programs for doing tasks on computers 23

Challenges n CPU understands machine language Different strings of 0 s and 1 s only!! Hard to remember and use n Instruction set of a CPU Mnemonic names for this strings Control Unit CPU ALU MAR MDR 24

Instruction Set Start Read M Write M Load Data, M Copy M1, M2 Add M1, M2, M3 Sub M1, M2, M3 Compare M1, M2, M3 Jump L J_Zero M, L Halt 25

Instruction Set Start Read M Write M Load Data, M Copy M1, M2 Add M1, M2, M3 Sub M1, M2, M3 Compare M1, M2, M3 Jump L J_Zero M, L Halt Program 0: Start 1: Read 10 2: Read 11 3: Add 10, 11, 12 4: Write 12 5: Halt 26

Problems with programming using instruction sets directly n Instruction sets of different types of CPUs different Need to write different programs for computers with different types of CPUs even to do the same thing n Solution: High level languages (C, C++, Java, ) CPU neutral, one program for many Compiler to convert from high-level program to low level program that CPU understands 27

High-Level Program Variables x, y; Begin Read (x); Read (y); If (x >y) then Write (x) else Write (y); End. 28

High-Level Program Variables x, y; Begin Read (x); Read (y); If (x >y) then Write (x) else Write (y); End. Low-Level Program 0: Start 1: Read 20 2: Read 21 3: Compare 20, 21, 22 4: J_Zero 22, 7 5: Write 20 6: Jump 8 7: Write 21 8: Halt 29

Three steps in writing programs Step 1: Write the program in a high-level language (in your case, C) Step 2: Compile the program using a C compiler Step 3: Run the program (as the computer to execute it) 30

Program and Algorithm n Swap two elements n Search an element from the list n 31

How does program run in a computer? 32

How does program run in a computer? n Data area n Instruction area n Fetch-decode-execute 33

The fetch-decode-execute cycle n n n n n n Sequence of machine instructions is copied to the instruction area of the memory. A particular control register, called the program counter (PC), is loaded with the address of the first instruction of the program. The CPU fetches the instruction from that location in the memory that is currently stored in the PC register. The instruction (in IR) is decoded in the control unit of the CPU. The instruction may require one or more operands. An operand may be either a data or a memory address. A data may be either a constant (also called an immediate operand) or a value stored in the data area of the memory or a value stored in a register. Similarly, an address may be either immediate or a resident of the main memory or available in a register. An immediate operand is available from the instruction itself. The content of a register is also available at the time of the execution of the instruction. Finally, a variable value is fetched from the data part of the main memory. 34

n n n n n If the instruction is a data movement operation, the corresponding movement is performed. For example, a "load" instruction copies the data fetched from memory to a register, whereas a "store" instruction sends a value from a register to the data area of the memory. If the instruction is an arithmetic or logical instruction, it is executed in the ALU after all the operands are available in the CPU (in its registers). The output from the ALU is stored back in a register. If the instruction is a jump instruction, the instruction must contain a memory address to jump to. The program counter (PC) is loaded with this address. A jump may be conditional, i.e., the PC is loaded with the new address if and only if some condition(s) is/are true. If the instruction is not a jump instruction, the address stored in the PC is incremented by one. If the end of the program is not reached, the CPU continues its fetch-decodeexecute cycle. 35

Home Computer@2004: Predicted versus Real Predicted in 1954 Reality 36

Binary Representation n Numbers are represented inside computers in the base-2 system (Binary Numbers) Only two symbols/digits 0 and 1 Positional weights of digits: 2 0, 2 1, 2 2, from right to left for integers n Decimal number system we use is base-10 10 digits, from 0 to 9, Positional weights 10 0, 10 1, 10 2, from right to left for integers Example: 723 = 3x10 0 + 2x10 1 + 7x10 2 37

Binary Numbers Dec Binary 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 38

Binary Numbers Dec Binary 0 0 1 1 2 10 3 11 4 100 5 101 6 110 7 111 8 1000 Binary to Decimal Conversion 101011 è 1x2 5 + 0x2 4 + 1x2 3 + 0x2 2 + 1x2 1 + 1x2 0 = 43 (101011) 2 = (43) 10 111001 è 1x2 5 + 1x2 4 + 1x2 3 + 0x2 2 + 0x2 1 + 1x2 0 = 57 (111001) 2 = (57) 10 10100 è 1x2 4 + 0x2 3 + 1x2 2 + 0x2 1 + 0x2 0 = 20 (10100) 2 = (20) 10 39

Bits and Bytes n Bit a single 1 or 0 n Byte 8 consecutive bits 2 bytes = 16 bits 4 bytes = 32 bits n Max. integer that can represented in 1 byte = 255 (=11111111) In 4 bytes = 4294967295 (= 32 1 s) n No. of integers that can be represented in 1 byte = 256 (the integers 0, 1, 2, 3,.255) 40

Fundamentals of C 41

First C program print on screen #include <stdio.h> void main() { } printf ("Hello, World! \n") ; 42

More print #include <stdio.h> void main() { printf ("Hello, World! ") ; printf ("Hello \n World! \n") ; } 43

Some more print #include <stdio.h> void main() { printf ("Hello, World! \n") ; printf ("Hello \n World! \n") ; printf ("Hell\no \t World! \n") ; } 44

Reading values from keyboard #include <stdio.h> void main() { int num ; scanf ("%d", &num) ; printf ( No. of students is %d\n, num) ; } 45

Centigrade to Fahrenheit #include <stdio.h> void main() { float cent, fahr; scanf( %f,&cent); } fahr = cent*(9.0/5.0) + 32; printf( %f C equals %f F\n, cent, fahr); 46

Largest of two numbers #include <stdio.h> void main() { int x, y; scanf( %d%d,&x,&y); if (x>y) printf( Largest is %d\n,x); else printf( Largest is %d\n,y); } largest-1.c 47

What does this do? #include <stdio.h> void main() { int x, y; scanf( %d%d,&x,&y); if (x>y) printf( Largest is %d\n,x); printf( Largest is %d\n,y); } largest-2.c 48

The C Character Set n The C language alphabet Uppercase letters A to Z Lowercase letters a to z Digits 0 to 9 Certain special characters:! # % ^ & * ( ) - _ + = ~ [ ] \ ; : { },. < > /? blank A C program should not contain anything else 49

Structure of a C program n A collection of functions (we will see what they are later) n Exactly one special function named main must be present. Program always starts from there n Each function has statements (instructions) for declaration, assignment, condition check, looping etc. n Statements are executed one by one 50

Variables n Very important concept for programming n An entity that has a value and is known to the program by a name n Can store any temporary result while executing a program n Can have only one value assigned to it at any given time during the execution of the program n The value of a variable can be changed during the execution of the program 51

Contd. n Variables stored in memory n Remember that memory is a list of storage locations, each having a unique address n A variable is like a bin The contents of the bin is the value of the variable The variable name is used to refer to the value of the variable A variable is mapped to a location of the memory, called its address 52

Example #include <stdio.h> void main( ) { int x; int y; x=1; y=3; printf("x = %d, y= %d\n", x, y); } 53

Variables in Memory T i m e Instruction executed X = 10 X = 20 X = X +1 Memory location allocated to a variable X 10 X = X*5 54

Variables in Memory T i m e Instruction executed X = 10 X = 20 X = X +1 Memory location allocated to a variable X 20 X = X*5 55

Variables in Memory T i m e Instruction executed X = 10 X = 20 X = X +1 Memory location allocated to a variable X 21 X = X*5 56

Variables in Memory T i m e Instruction executed X = 10 X = 20 X = X +1 Memory location allocated to a variable X 105 X = X*5 57

Variables (contd.) X = 20 Y=15 X = Y+3 Y=X/6 20? X Y 58

Variables (contd.) X = 20 Y=15 X = Y+3 Y=X/6 20 15 X Y 59

Variables (contd.) X = 20 Y=15 X = Y+3 Y=X/6 18 15 X Y 60

Variables (contd.) X = 20 Y=15 X = Y+3 Y=X/6 18 3 X Y 61

Data Types n Each variable has a type, indicates what type of values the variable can hold n Four common data types in C int - can store integers (usually 4 bytes) float - can store single-precision floating point numbers (usually 4 bytes) double - can store double-precision floating point numbers (usually 8 bytes) char - can store a character (1 byte) 62

Contd. n Must declare a variable (specify its type and name) before using it anywhere in your program n All variable declarations should be at the beginning of the main() or other functions n A value can also be assigned to a variable at the time the variable is declared. int speed = 30; char flag = y ; 63

Variable Names n Sequence of letters and digits n First character must be a letter or _ n No special characters other than _ n No blank in between n Names are case-sensitive (max and Max are two different names) n Examples of valid names: i rank1 MAX max Min class_rank n Examples of invalid names: a s fact rec 2sqroot class,rank 64

More Valid and Invalid Identifiers n Valid identifiers X abc simple_interest a123 LIST stud_name Empl_1 Empl_2 avg_empl_salary n Invalid identifiers 10abc my-name hello simple interest (area) %rate

C Keywords n Used by the C language, cannot be used as variable names n Examples: int, float, char, double, main, if else, for, while. do, struct, union, typedef, enum, void, return, signed, unsigned, case, break, sizeof,. There are others, see textbook

Example 1 #include <stdio.h> void main() { int x, y, sum; scanf( %d%d,&x,&y); sum = x + y; Three int type variables declared Values assigned } printf( %d plus %d is %d\n, x, y, sum ); 67

Example - 2 #include <stdio.h> void main() { float x, y; int d1, d2 = 10; } Assigns an initial value to d2, can be changed later scanf( %f%f%d,&x, &y, &d1); printf( %f plus %f is %f\n, x, y, x+y); printf( %d minus %d is %d\n, d1, d2, d1-d2); 68

Read-only variables n Variables whose values can be initialized during declaration, but cannot be changed after that n Declared by putting the const keyword in front of the declaration n Storage allocated just like any variable n Used for variables whose values need not be changed Prevents accidental change of the value 69

Correct void main() { const int LIMIT = 10; int n; scanf( %d, &n); if (n > LIMIT) printf( Out of limit ); } Incorrect: Limit changed void main() { const int Limit = 10; int n; scanf( %d, &n); Limit = Limit + n; printf( New limit is %d, Limit); } 70

Constants n Integer constants Consists of a sequence of digits, with possibly a plus or a minus sign before it Embedded spaces, commas and non-digit characters are not permitted between digits n Floating point constants n Two different notations: Decimal notation: 25.0, 0.0034,.84, -2.234 Exponential (scientific) notation 3.45e23, 0.123e-12, 123e2 e means 10 to the power of 71

Contd. n Character constants Contains a single character enclosed within a pair of single quote marks. Examples :: 2, +, Z n Some special backslash characters \n \t new line horizontal tab \ single quote \ double quote \\ backslash \0 null 72

Input: scanf function n Performs input from keyboard n It requires a format string and a list of variables into which the value received from the keyboard will be stored n format string = individual groups of characters (usually % sign, followed by a conversion character), with one character group for each variable in the list int a, b; float c; scanf( %d %d %f, &a, &b, &c); Variable list (note the & before a variable name) Format string 73

Commonly used conversion characters c for char type variable d for int type variable f for float type variable lf for double type variable Examples scanf ("%d", &size) ; scanf ("%c", &nextchar) ; scanf ("%f", &length) ; scanf ( %d%d, &a, &b); 74

Reading a single character n A single character can be read using scanf with %c n It can also be read using the getchar() function char c; c = getchar(); n Program waits at the getchar() line until a character is typed, and then reads it and stores it in c 75

Output: printf function n Performs output to the standard output device (typically defined to be the screen) n It requires a format string in which we can specify: The text to be printed out Specifications on how to print the values printf ("The number is %d\n", num); The format specification %d causes the value listed after the format string to be embedded in the output as a decimal number in place of %d Output will appear as: The number is 125 76

Contd. n General syntax: printf (format string, arg1, arg2,, argn); format string refers to a string containing formatting information and data types of the arguments to be output the arguments arg1, arg2, represent list of variables/expressions whose values are to be printed n The conversion characters are the same as in scanf 77

n Examples: printf ( Average of %d and %d is %f, a, b, avg); printf ( Hello \ngood \nmorning \n ); printf ( %3d %3d %5d, a, b, a*b+2); printf ( %7.2f %5.1f, x, y); n Many more options are available for both printf and scanf Read from the book Practice them in the lab 78