C++ Programming Basics Chapter 1 Lecture CSIS 10A 1 Agenda Hardware Basics The IDE My First Program Its all G(r)eek to me Variables and Declarations Input and Output 2 Anatomy of a Computer ALU Control Input Mouse Keyboard Scanner Hard Disk Floppy Disk Memory Output Monitor Printer Speakers 3 The CPU uses machine language Assembly instructions to calculate the radius of a circle: LOAD radius LOAD pi MULTIPLY LOAD two MULTIPLY STORE circle 4 Compilers to the Rescue! High level languages like C++ allows writing code that is easier to understand and universally works on any CPU. circle=2.0*radius*pi; The compiler is what translates instructions from C++ into Machine language. 5 Agenda Hardware Basics The IDE My First Program Its all G(r)eek to me Variables and Declarations Input and Output 6 THE MECHANICS OF WRITING A PROGRAM 1. 2. 3. 4. 5. Editing -- Writing a program Compiling -- Translating from C++ into machine language Linking -- Combining your program with other libraries Running – Letting the computer execute a program Debugging – Running step by step through a program searching for mistakes The Integrated Development Environment (IDE) combines 1-5. 7 Agenda Hardware Basics The IDE My First Program Its all G(r)eek to me Variables and Declarations Input and Output 8 Hello World ! Lets start off the traditional way Program that prints out “Hello World” on your output console (your screen) Lets start off on our journey….. 9 Steps 1. 2. 3. 4. 5. 6. Create new source file Write the code Create a workspace (only in MSVC++) Compile Link Execute 10 Agenda Hardware Basics The IDE My First Program Its all G(r)eek to me Variables and Declarations Input and Output 11 It’s all G(r)eek to me … actually, its C++ Lets dissect and analyze a simple program 12 20,000 ft. above sea level #include <iostream> using namespace std; int main() { // This is my first program cout << "Hello World" << endl; system("pause"); return 0; } 13 20,000 leagues under the sea #include <iostream> Actually includes some information into your code Contains some definitions that are needed for your code More of this later on in the course 14 22,000 leagues under the sea using namespace std; This line refers to a set of standard object name definitions For now, this is “boilerplate”—stick it in cause it makes everything work!! 15 … deeper…. int main() • This is the piece of code (function) that is operated on first when a program is executed • What’s a function ??? • …. all that’s coming soon … 16 … even deeper…. //This is my first program • This is a comment you write to yourself • Useful when writing large programs • Starts with a // 17 … and deeper….. Output operator cout << “Hi”<<endl; cout is the console monitor (your display) << is the output operator. Use to chain together your output message. “Hi”is a string literal endl means end-line (like enter key) 18 … getting sleepy?….. For the Bloodshed environment…Hold the display open so you can read it (pressing a key will continue) system("pause"); Finish up this program, return a 0 to operating system (everything ended OK) return 0; 19 … and even deeper …. {} delineates the code block Each line ends with a ; 20 Other types of cout statement cout<< “ my age is” <<endl << 39<<endl; cout<< “ my age is 39”; cout<< “ what’s your’s”; Escape with \ Output a “ Output a endl cout<<“ \” ” <<endl; cout<<“\n”; 21 Tom’s All Purpose Program Shell #include <iostream> using namespace std; int main() { // Your code here ... system("pause"); return 0; } Future slides may neglect some of the above components for clarity 22 You Do It Modify your hello world program to print your name, address and phone number (COULD BE FAKE!) on three lines: Tom Rebold 1600 Pennsylvania Ave 123-456-7890 Experiment with line breaks 23 Lets get moving….. We’ll learn as we proceed You’ll be saying “Aha!” or “Oho!” when you hear these terms again Let’s play around a bit more 24 What more ? Variables and Declarations Getting User Input 25 Variables and Declarations Variables represent storage locations in the computer’s memory variable = expression Assignment is from right to left n = 5; Would give n the value 5 26 Using int Variables int main() { int m,n; m = 44; cout << “m = “ << m; n = m + 33; cout << “ and n = “ << n << endl; } 27 Clearing the haze int m; m = 44.0; m 44 int 28 Clearing the haze int m = 44, n; n = m + 33; m 44 int 44 + 33 = 77 n 77 int 29 Want more ? Variables and Declarations Getting User Input 30 User Input with cin How shall I feed in data ? Remember cout ? Meet cin cin >> m; Will put the value entered through the console (keyboard) into m 31 User Input with cin int main() { cout << "Enter the value of m:"; cin >> m; cout << "m = " << m << endl; } 32 User Input with cin int main() { cout << “Enter the value of m:”; cin >> m; cout << “m = “ << m << endl; } HEY THERE’S SOMETHING WRONG HERE !!! 33 User Input with cin int main() { int m; cout << "Enter the value of m:"; cin >> m; cout << "m = " << m << endl; } 34 Your turn () 1. from hello.cpp File>SaveAs age.cpp 2. Delete all the cout statements. Add lines to: a) Declare a variable called age b) Display a message asking for data (such as “tell me your age”) c) read the data into age d) display the variable age with a descriptive message. (refer to slide 34) 35 That’s a wrap ! What we learned so far: How to write a basic C++ program The structure of a program Displaying to the console (cout) Variables Getting user input via the console (cin) 36