1 / 62

CS208 C++ Programming

CS208 C++ Programming. Part 1. Introduction. The C++ language will be used as a tool to learn about programming We will only cover a small part of C++ programming You will learn how to write short , imperative C++ programs Object-oriented aspects of C++ will NOT be covered.

Anita
Download Presentation

CS208 C++ Programming

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. CS208 C++ Programming Part 1

  2. Introduction • The C++ language will be used as a tool to learn about programming • We will only cover a small part of C++ programming • You will learn how to write short, imperative C++ programs • Object-oriented aspects of C++ will NOT be covered

  3. C++ Programming Concepts • To write a C++ program, we need: • Text editor • C++ compiler • Bloodshed Dev-C++ contains an editor and a compiler in one • This is known as an IDE (Integrated Development Environment)

  4. Running C++ Programs • Use an editor to create/edit C++ code in a text file • C++ filenames ended with extension .cpp • Compile and link the C++ file • Execute the executable file created • If find bugs or errors, go back to the first step and correct them and try again.

  5. A Simple C++ program: #include <iostream> using namespace std; //Displays greeting  int main() { cout << "Hello World!"; return 0; } (Each line is explained on the following slides)

  6. A Simple C++ program: #include <iostream> using namespace std; //Displays greeting  int main() { cout << "Hello World!"; return 0; } Tells compiler to include code from the iostream library for use of input and output routines.

  7. A Simple C++ program: #include <iostream> using namespace std; //Displays greeting  int main() { cout << "Hello World!"; return 0; } Tells compiler to use a standard environment. (The first 2 lines must appear in ALL your programs)

  8. A Simple C++ program: #include <iostream> using namespace std; //Displays greeting int main() { cout << "Hello World!"; return 0; } Comment for the programmer – lines beginning with "//" are ignored by the compiler

  9. A Simple C++ program: Note Your text uses: void main() But our compiler requires: int main() #include <iostream> using namespace std; //Displays greeting  int main() { cout << "Hello World!"; return 0; } C++ programs are built using functions. A C++ program must contain at least one function, called main. This is the main function “header”.

  10. A Simple C++ program: #include <iostream> using namespace std; //Displays greeting  int main() { cout << "Hello World!"; return 0; } Left curly brace marks beginning and right curly brace marks end of the main function

  11. A Simple C++ program: #include <iostream> using namespace std; //Displays greeting  int main() { cout << "Hello World!"; return 0; } cout displays output, in this case, Hello World! to the monitor

  12. A Simple C++ program: #include <iostream> using namespace std; //Displays greeting  int main() { cout << "Hello World!"; return 0; } return tells the program to exit from the main function. By default, returning 0 implies success.

  13. A Simple C++ program:Sample Run When the program is executed, this is the output:

  14. Identifiers • Identifiers are the words that a programmer uses to name things in a program • An identifier can be made up of letters, digits, and the underscore character • An identifier cannotbegin with a digit • C++ is case sensitive, therefore num and Num are different identifiers • Keywords CANNOT be identifiers (see next slide)

  15. Keywords C++ keywords (do NOT use as Identifiers) : asm auto bool break case catch char class const const_cast continue default delete do double dynamic-cast else enum explicit extern FALSE float for friend goto if int long mutable namespace new operator private register return Short signed sizeof static static-cast struct switch template this throw try TRUE typedef typeid typename union unsigned using virtual void volatile wchar_t while

  16. Data • You can store each piece of program data as: • a Constant or • a Variable • You will assign an identifier (name) to: • each constant • each variable

  17. Data Types Each piece of data stored in a program must also have a type. Three basic C++ data types are: • int- whole numbers // No commas or leading zeros in number • double- numbers with fractional parts // Has a decimal point • char- a single ASCII character // Enclosed in single quotes

  18. Variables • Variables are containers used to hold • input data • intermediate data • output data in your program (think of them as named chunks of memory) • A variable will occupy a number of bytes in Main Memory • The number of bytes allocated to a variable depends on the type of data that will be stored in it (e.g. numbers, characters, etc.)

  19. Declaring Variables • Declaring a variable will: - define its type - reserve a memory cell for it - give the memory cell a name (an identifier) Format: type variable-list; Examples: char initial; int num, count; double gpa;

  20. Memory variable name(s) data type numStudents: 9200 9204 9208 9212 9216 9220 9224 9228 9232 double total; … average: int average, max; max: total: Variables in Memory int numStudents; … The value stored in a variable is initially garbage, and changes as the program runs.

  21. Constants • A constant is similar to a variable, except that its value is set by the programmer and CANNOT change • The compiler will issue an error if you try to modify a constant • Why use constants? • Gives names to otherwise unclear literal values • Facilitates easier changes to the code • Prevents inadvertent errors

  22. Declaring Constants • Declaring a constant will: - define its type and reserve a memory cell for it - give the memory cell a name (an identifier) - store a value in the memory cell • Since the value is set by the programmer, the value must be known when the program is written Format: const type constant-name = value; Examples: const double PI = 3.14; const int AGE = 33; const char YES = 'Y';

  23. constant name Memory data type constant value 6200 6204 6208 6212 6216 6220 6224 6228 6232 const int DOZEN = 12; … 12 DOZEN: const double PI = 3.14; 3.14 PI: Constants in Memory The value stored in a constant CANNOT change as the program runs.

  24. Declaring Constants/Variables • Declare constants and variables at the top of the main function • Use good identifiers to make code "Self-Documenting" • Follow the identifier rules: • Should begin with a letter, followed by letters, digits and underscores • Are case-sensitive. Standard conventions are: • Variable identifiers should begin with a lowercase letter • Constants identifiers should be ALL uppercase

  25. Constants/Variables Example #include <iostream> using namespace std; int main() { const char INITIAL = ‘P’; int num; : Constant INITIAL and variable num are declared at the top of the main function

  26. Comments There are two types of C++ comments: • Single-line comments use //… // This comment runs to the end of the current line • Multi-lines comments use /* … */ /* This comment runs to the ending symbol, even onto new lines */ Comments are ignored by the compiler.

  27. Function Statements • Function statements are located between the function’s curly braces ''{" and "}" • Statements are separated by semicolons (;) • Statements can take up more than one line • Extra blanks are ignored - used for readability

  28. Memory count: 0 num: 55 ltr: A Assignment Statements • An assignment statement changes the value of a variable • The assignment operator is the = sign int count, num; char ltr; count = 0; num = 55; ltr = ‘A’; • The value on the right is stored in the variable on the left • Any value that was in the variable is overwritten

  29. Memory max: 50 count: 0 Assignment Statements • You can only assign a value to a variable that is compatible with the variable's declared type • You can declare a variable and assign an initial value to it at the same time: int count = 0; int max = 50; This is called “initializing” a variable

  30. Arithmetic Expressions • An expression is a combination of operators and operands • Arithmetic expressions compute numeric results using arithmetic operators: Addition + Subtraction - Multiplication * Division / Remainder %

  31. Operator Results • Arithmetic operators can be used with any numeric type • An operand is a number or variable used by the operator • Result of an operator depends on the types of operands • If both operands are int, the result is int • If one or both operands are double, the result is double

  32. Division and Remainder • If both operands to the division operator (/) are integers, the result is an integer (the fractional part is discarded) 14 / 3 equals? 4 8 / 12 equals? 0 • The modulus operator (%) returns the remainder after dividing the second operand into the first (both operands must be integers) 14 % 3 equals? 2 8 % 12 equals? 8

  33. Operator Precedence • Operators can be combined into complex expressions: result = total + count / max - offset; • Precedence rules (same as default math rules) • Parenthesis are done first • Division, multiplication and modulus are done second (left to right) • Addition and subtraction are done last (left to right)

  34. Assignment Revisited • You can consider assignment as another operator, with a lower precedence than the arithmetic operators First the expression on the right hand side of the = operator is evaluated, in precedence order answer = sum / 4 + MAX * lowest; 4 1 3 2 Then the result is stored in the variable on the left hand side

  35. Memory count: 8 Assignment Revisited • The right and left hand sides of an assignment statement can contain the same variable count = 8; First, 20 is added to the original value of count count = count + 20; 28 Then the result is stored back into count (overwriting the original value)

  36. Spacing • Use spacing to make arithmetic assignment statements more readable! • Which is easier to read? ans=num1+num2*num3; or ans = num1 + num2 * num3;

  37. Arithmetic Equivalencies • Mathmatical Formulas: • c = a2 + b2 • num = 1 x(x+y) • C++ Equivalent Expressions: • c = (a * a) + (b * b); • num = 1 / ( x * (x + y));

  38. Input/Output (I/O) • We use two input/output statements • one for output (cout) • one for input (cin) • In any program that uses these statements, you must have the following lines at the very beginning of the code: #include <iostream> using namespace std;

  39. Output Statement cout– writes output to the monitor Format: cout << field1 << field2 << ... << fieldN; A field can be: - a string of characters (text) in double quotes - a variable - endl (end line/new line)

  40. Output Example Example Code: cout << "Hello" << endl; sum = 10; cout << "Sum is " << sum << endl; cout << "Enter a number:"; Resulting Output: Hello Sum is 10 Enter a number:

  41. Input Statement cin- gets input from the keyboard (typed in by the user) Format: cin >> field; Here the fieldmust be a variable name

  42. Memory pay: 9.50 Input Example Example:cout << "Enter pay amount: "; cin >> pay; Resulting Output:Enter pay amount: 9.50 cinstores the number typed at keyboard (9.50) into the variable pay in memory

  43. Variables during Program Execution (1/8) • The next seven slides will walk you through the execution of the program below: #include <iostream> using namespace std; int main() { int num1, num2; double avg; num2 = 5; num1 = 7; avg = (num1 + num2) / 2; cout << "Avg is" << avg; return 0; }

  44. num2 num1 Variables during Program Execution (2/8) Main Memory During Compile Time: #include <iostream> using namespace std; int main() { int num1, num2; double avg; num2 = 5; num1 = 7; avg = (num1 + num2) / 2; cout << "Avg is" << avg; return 0; } Executable Program Allocate 2 bytes of main memory for each int variable, and assign names num1 and num2

  45. y num2 num1 avg Executable Program Variables during Program Execution (3/8) During Compile Time: #include <iostream> using namespace std; int main() { int num1, num2; double avg; num2 = 5; num1 = 7; avg = (num1 + num2) / 2; cout << "Avg is" << avg; return 0; } Allocate 4 bytes of main memory for the double variable and assign name avg

  46. y k Variables during Program Execution (4/8) Main Memory num2 During Execution Time: #include <iostream> using namespace std; int main() { int num1, num2; double avg; num2 = 5; num1 = 7; avg = (num1 + num2) / 2; cout << "Avg is" << avg; return 0; } 5 num1 avg Executable Program Store the integer 5 (0000000000000101)in location allocated to num2

  47. y k Variables during Program Execution (5/8) Main Memory num2 During Execution Time: #include <iostream> using namespace std; int main() { int num1, num2; double avg; num2 = 5; num1 = 7; avg = (num1 + num2) / 2; cout << "Avg is" << avg; return 0; } 5 num1 7 avg Executable Program Store the integer 7 (0000000000000111)in location allocated to num1

  48. y k Variables during Program Execution (6/8) Main Memory num2 During Execution Time: #include <iostream> using namespace std; int main() { int num1, num2; double avg; num2 = 5; num1 = 7; avg = (num1 + num2) / 2; cout << "Avg is" << avg; return 0; } 5 num1 7 avg 6.0 Executable Program Read contents of bytes allocated to num1 and num2 from Main Memory. Add the values and divide by 2. End result will be written into the bytes allocated to the variable avg

  49. y k Variables during Program Execution (7/8) Main Memory num2 During Execution Time: #include <iostream> using namespace std; int main() { int num1, num2; double avg; num2 = 5; num1 = 7; avg = (num1 + num2) / 2; cout << "Avg is" << avg; return 0; } num1 5 7 avg 6.0 Screen Executable Program Avg is 6.0 Send the text “Avg is” to the screen. Then read the value of avg from Main Memory and send that value to the screen.

  50. y k Variables during Program Execution (8/8) Main Memory num2 During Execution Time: #include <iostream> using namespace std; int main() { int num1, num2; double avg; num2 = 5; num1 = 7; avg = (num1 + num2) / 2; cout << "Avg is" << avg; return 0; } num1 5 7 avg 6.0 Screen Executable Program Avg is 6.0 Program exits main function and terminates.

More Related