1 / 37

Computer Science 1620

Computer Science 1620. C++ - Basics. #include <iostream> using namespace std; int main() { return 0; }. A very basic C++ Program. When writing your first programs, always start with this template. The code that you should write should go here.

Download Presentation

Computer Science 1620

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Science 1620 C++ - Basics

  2. #include <iostream> using namespace std; int main() { return 0; } • A very basic C++ Program. • When writing your first programs, always start with this template. • The code that you should write should go here. • The details of this template (what each component means) will become clear as the semester progresses.

  3. cout • consoleoutput • sends data to the current output stream • for us, this will typically mean the screen • this can be re-routed to other output devices if necessary • when you wish to display something to the screen, use the following syntax: a valid C++ expression cout <<

  4. C++ Expression • an expression in C++ is an entity that represents a value • this value can take on many types • we will look at one type of expressions first • string literal

  5. String Literal • a string literal is a sequence of characters • enclosed in quotation marks • Examples: • "Hello" • "Computer Science 1620" • ”Dolly Parton"

  6. Back to cout • to display a string literal to the screen, include it on the right side of the << operator • Example: • write a program that displays the text "Hello world!" on the computer screen.

  7. #include <iostream> using namespace std; int main() { cout <<"Hello World!"; cout << endl; return 0; } String literal

  8. Notice the semicolon at the end of each line • all of your C++ constructs will end in a semicolon (unless otherwise instructed) • indicates the end of an instruction

  9. What about the second cout command? • cout << endl; • endl causes the data to be flushed from the buffer (explained in class), and moves the input to the next line • your output should always include a call to endl (at some point)

  10. cout concatenation • instead of having two separate cout statements, you can include them on the same line

  11. #include <iostream> using namespace std; int main() { cout <<"Hello World!" << endl; return 0; }

  12. #include <iostream> using namespace std; int main() { cout <<"Hello " << "World!" << endl; return 0; }

  13. Example: Write a program that writes your name and address to the screen: #include <iostream> using namespace std; int main() { cout <<"Robert Benkoczi" << endl; cout << "123 Sunset Blvd" << endl; cout << "Hollywood, CA" << endl; cout << "90210" << endl; return 0; }

  14. applepie $ g++ -o print-adr print-adr.cc applepie $ ./print-adr Robert Benkoczi 123 Sunset Blvd Hollywood, CA 90210 applepie $

  15. Recap: structure of a C++ program #include <iostream> using namespace std; int main( ) { statement 1; statement 2; return 0; } // end of program • the first 2 lines are almost always included in a C++ program. • every program begins with “main ( )”. • main begins with { and ends with } • the brackets ( ) after main are required. • program starts and ends in “main”. • return 0 is put right before the closing } • statements always end with a semicolon. • Anything preceded with // is a comment and the compiler ignores it.

  16. Other data types • C++ Data Types • simple • structured (struct, class) • pointers • function we will deal with these later

  17. Other data types • C++ Data Types • four categories of simple data • integer • whole numbers, no fractional part • floating point • real numbers • enumeration • boolean

  18. Integer types • a number without a decimal part • integers: • 10, -24, 5800, -9600, etc… • non-integers • 14.5, -24.6, 5800.0, -8 x 106 • How are integers written in C++? • in the simplest case, exactly as you would expect • no spaces or punctuation (commas, dollar signs, etc)

  19. Note that a number in C++ is an expression • hence, the number 34 is an expression • typically called an integer literal • the value of this expression is 34 • because it is an expression, it can be used wherever an expression is permitted • eg. as data to cout

  20. Write a program that displays your name on the first line, and age on the second line. Display your name as a string, and your age as an integer. #include <iostream> using namespace std; int main() { return 0; }

  21. Integer types • there are actually several flavours of "integer" in C++ • by default, all integer literals are ints • we will defer discussion about the others until we take variables * compiler dependent

  22. Internal vs source code representations • Type: • used to specify the internal representation of a value (or expression). EX: how is that value stored in the computer memory. • Source code representation: • how do we write a literal in the source code

  23. Representation of integers • Representing numbers: • roman: I, II, III, IV, V, VI, VII, VIIII, IX, X • arabic: coins with face value 1, 10, 100, 1000 etc • Base 2 numbering (face value 1, 2, 4, 8...) 13 = 10 + 3 13 = 8 + 4 + 1 = 1101 (meaning 1 x 8, 1 x 4, 0 x 2, 1 x 1)

  24. Representation of integers • Representing numbers: • roman: I, II, III, IV, V, VI, VII, VIIII, IX, X • arabic: coins with face value 1, 10, 100, 1000 etc • Base 2 numbering (face value 1, 2, 4, 8...) 13 = 10 + 3 13 = 8 + 4 + 1 = 1101 (meaning 1 x 8, 1 x 4, 0 x 2, 1 x 1) • Addition is easy with arabic numerals! bits

  25. Representation of integers • char (8 bits or 1 byte) 0 1 1 1 1 1 1 1 = +127 • int, long - same idea, more bits. represents the sign (+/-)

  26. Representation of integers • negative integers 1 0 0 0 0 0 0 0 = -0 (?) • This one’s complement representation. Not nice to have negative 0! • We would like to add + and - integers using the same procedure as for adding + integers. represents the sign (+/-)

  27. Representation of integers • two’s complement representation 1 ? ? ? ? ? ? ? = -x Goal: x + (-x) = x - x = 0 = 0 0 0 0 0 0 0 0 represents the sign (+/-)

  28. Unsigned integers • Use when there is no need to represent negative integers. We can represent more positive integers.

  29. Floating Point Numbers • a number with a decimal part • floating point numbers: • 10.8, -24.8372, 5800.0, etc… • non-fps • 14, 28, 96, -49 • How are fp numbers written in C++? (source code representation) • in the simplest case, exactly as you would expect • no spaces or punctuation (commas, dollar signs, etc) • scientific notation: <mantissa> E <exponent> = <mantissa> 10<exponent>

  30. Write a program that displays your name on the first line, age on the second line, and bank account balance on the 3rd. #include <iostream> using namespace std; int main() { return 0; }

  31. Floating Point types • there are actually several flavours of fps in C++ • by default, all floating point literals are doubles • we will defer discussion about the others until we take variables * compiler dependent

  32. Integers vs. Floating Point • why would you use a floating point instead of an integer? • when you are working with real numbers • why would you use an integer instead of a floating-point number? • 1) Integers use less memory than doubles • 2) Integers are more precise than floats • more on this when we take variables

  33. Why would you use either number type instead of a string? • after all, could we not just say: cout << "Car Price:" << endl; cout << "32999" << endl; • two reasons • 1) Cannot do arithmetic on a string • 2) Strings typically require more space than the number.

  34. 1) Cannot do arithmetic on a string • next class, we will perform arithmetic on numbers • cout << (32999 – 5000) << endl; • you cannot perform the same operation on the string representation • cout << ("32999" – "5000") << endl;

  35. 2) Strings typically require more space than a number • as mentioned, an int requires 4 bytes of memory • a string requires x+1 bytes, where x is the number of characters in the string • 32999 requires 4 bytes to store • "32999" requires 6 bytes to store

  36. Exercise: Determine an appropriate data type (int, fp, string) for each of the following? • 1) The average height of the class • 2) The number of desks in the class • 3) The name of the class • 4) The distance from my office to the classroom

More Related