230 likes | 323 Views
Lecture 2: First Program 1. Topics of this lecture. Introduce first program Explore inputs and outputs of a program Arithmetic using C++ Introduce the conditional statement. General Notes About C++ and This Book. Book geared toward novice programmers Stress programming clarity
E N D
Lecture 2: First Program1 CS 630
Topics of this lecture • Introduce first program • Explore inputs and outputs of a program • Arithmetic using C++ • Introduce the conditional statement CS 630
General Notes About C++and This Book • Book geared toward novice programmers • Stress programming clarity • C and C++ are portable languages • Portability • C and C++ programs can run on many different computers • Compatibility • Many features of current versions of C++ not compatible with older implementations CS 630
Introduction to C++ Programming • C++ language • Facilitates structured and disciplined approach to computer program design • Following several examples • Illustrate many important features of C++ • Each analyzed one statement at a time • Structured programming • Object-oriented programming CS 630
A Simple Program:Printing a Line of Text • Comments • Document programs • Improve program readability • Ignored by compiler • Single-line comment • Begin with // • Preprocessor directives • Processed by preprocessor before compiling • Begin with # CS 630
Basics of a Typical C++ Environment • Input/output • cin • Standard input stream • Normally keyboard • cout • Standard output stream • Normally computer screen • cerr • Standard error stream • Display error messages CS 630
fig01_02.cpp(1 of 1)fig01_02.cppoutput (1 of 1) 1 // Fig. 1.2: fig01_02.cpp 2 // A first program in C++. 3 #include <iostream> 4 5 // function main begins program execution 6 int main() 7 { 8 std::cout << "Welcome to C++!\n"; 9 10 return0; // indicate that program ended successfully 11 12 } // end function main Function main returns an integer value. Preprocessor directive to include input/output stream header file <iostream>. Left brace { begins function body. Function main appears exactly once in every C++ program. Statements end with a semicolon ;. Corresponding right brace } ends function body. Stream insertion operator. Single-line comments. Name cout belongs to namespace std. Keyword return is one of several means to exit function; value 0 indicates program terminated successfully. Welcome to C++! CS 630
A Simple Program:Printing a Line of Text • Standard output stream object • std::cout • “Connected” to screen • << • Stream insertion operator • Value to right (right operand) inserted into output stream • Namespace • std:: specifies using name that belongs to “namespace” std • std:: removed through use of using statements • Escape characters • \ • Indicates “special” character output CS 630
A Simple Program:Printing a Line of Text Make some modifications to First Program CS 630
Another Simple Program:Adding Two Integers • Variables • Location in memory where value can be stored • Common data types • int - integer numbers • char - characters • double - floating point numbers • Declare variables with name and data type before use int integer1; int integer2; int sum; • Can declare several variables of same type in one declaration • Comma-separated list int integer1, integer2, sum; CS 630
Another Simple Program:Adding Two Integers • Variables • Variable names • Valid identifier • Series of characters (letters, digits, underscores) • Cannot begin with digit • Case sensitive • Naming Conventions • start with a lower case letter • mix of lower and uppercase letters and numbers • short but meaningful • generally avoid single letter variables CS 630
Another Simple Program:Adding Two Integers • Input stream object • >> (stream extraction operator) • Used with std::cin • Waits for user to input value, then press Enter (Return) key • Stores value in variable to right of operator • Converts value to variable data type • = (assignment operator) • Assigns value to variable • Binary operator (two operands) • Example: sum = variable1 + variable2; CS 630
1 // Fig. 1.6: fig01_06.cpp 2 // Addition program. 3 #include <iostream> 4 // function main begins program execution 5 int main(){ 6 int integer1; // first number to be input by user 7 int integer2; // second number to be input by user 8 int sum; // variable in which sum will be stored 9 10 std::cout << "Enter first integer\n"; // prompt 11 std::cin >> integer1; // read an integer 12 13 std::cout << "Enter second integer\n"; // prompt 14 std::cin >> integer2; // read an integer 15 16 sum = integer1 + integer2; // assign result to sum 17 std::cout << "Sum is " << sum << std::endl; // print sum 18 19 return0; // indicate that program ended successfully 20 } // end function main fig01_06.cpp(1 of 1) Declare integer variables. Use stream extraction operator with standard input stream to obtain user input. Calculations can be performed in output statements: alternative for lines 16 and 17: std::cout << "Sum is " << integer1 + integer2 << std::endl; Stream manipulator std::endl outputs a newline, then “flushes output buffer.” Concatenating, chaining or cascading stream insertion operations. CS 630
Type Name Bytes Other Names Range of Values int * signed, signed int System dependent unsigned int * unsigned System dependent __int8 1 char, signed char –128 to 127 __int16 2 short, short int, signed short int –32,768 to 32,767 __int32 4 signed, signed int –2,147,483,648 to 2,147,483,647 __int64 8 none –9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 char 1 signed char –128 to 127 unsigned char 1 none 0 to 255 Microsoft Visual C++ numeric data types CS 630
Type Name Bytes Other Names Range of Values short 2 short int, signed short int –32,768 to 32,767 unsigned short 2 unsigned short int 0 to 65,535 long 4 long int, signed long int –2,147,483,648 to 2,147,483,647 unsigned long 4 unsigned long int 0 to 4,294,967,295 enum * none Same as int float 4 none 3.4E +/- 38 (7 digits) double 8 none 1.7E +/- 308 (15 digits) long double 10 none 1.2E +/- 4932 (19 digits) Microsoft Visual C++ numeric data types CS 630
Memory Concepts • Variable names • Correspond to actual locations in computer's memory • Every variable has name, type, size and value • When new value placed into variable, overwrites previous value • Reading variables from memory nondestructive CS 630
45 45 72 45 72 integer1 integer1 integer2 integer1 integer2 117 sum Memory Concepts std::cin >> integer1; • Assume user entered 45 std::cin >> integer2; • Assume user entered 72 sum = integer1 + integer2; CS 630
Effect of Several Assignments • What are the values of a and b after all statements are executed? int a = 1; int b; b = a; a = 2; • a = 2, b = 1 CS 630
Arithmetic • Arithmetic calculations • * • Multiplication • / • Division • Integer division truncates remainder • 7 / 5 evaluates to 1 • % • Modulus operator returns remainder • 7 % 5 evaluates to 2 CS 630
Arithmetic • Rules of operator precedence • Operators in parentheses evaluated first • Nested/embedded parentheses • Operators in innermost pair first • Multiplication, division, modulus applied next • Operators applied from left to right • Addition, subtraction applied last • Operators applied from left to right CS 630 X = 7 + 4 / 2 * (3 * ( 4 – 3) + 5) % 2 + 3
Decision Making: Equality and Relational Operators • if structure • Make decision based on truth or falsity of condition • If condition met, body executed • Else, body not executed • Equality and relational operators • Lower precedence than arithmetic operators • Equality operators • Same level of precedence • Relational operators • Same level of precedence • Associate left to right CS 630
Decision Making: Equality and Relational Operators Notice: “==“ (not “=“) CS 630
using statements • Eliminate the need to use the std:: prefix • Allow us to write cout instead of std::cout • To use the following functions without the std:: prefix, write the following at the top of the program • using std::cout; • using std::cin; • using std::endl; Look at example program CS 630