350 likes | 487 Views
Computer Programming Basics Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea. Structure of a C++ Program. Pre-compiler directive. Opening brace. Closing brace. Opening brace. Closing brace. Hello World!.
E N D
ComputerProgramming Basics Jeon, SeokheeAssistant Professor Department of Computer Engineering,Kyung Hee University, Korea
Structure of a C++ Program Pre-compiler directive Opening brace Closing brace Opening brace Closing brace
Hello World! Namespace std contains all the classes, objects and functions of the standard C++ library. Without namespace #include <iostream> int main () { std::cout << "Hello world!\n"; return 0; }
Preprocessor Directives #include <iostream> • “I want to use a predefined library called iostream” • Always start with a ‘#’ • iostream: a library for inputs (from e.g., a user) and outputs (to e.g., the monitor)
“using” Directives using namespace std; • “I want to use objects in a name group ‘std’ ” • Tells the compiler where to look for names in the library • Can deal with the situation where two or more objects in different libraries share a same name (naming confliction). • Read Appendix N for more about namespace
main function int main() • The main body of the program. • Compiler first tries to locate “main()” to find where to begin the program • In the form of a function • I will cover “function” soon
Comment • Internal program document • Not considered as a program code Start of comment End of comment Start of comment End of comment
Variables • Named memory locations that have a type • Named: identifier • Type: needs declaration • What you can do with variables • Storing data • Modifying data • Reading data
Variables and Identifiers Memory Address of memory: Hard to remember Identifier: name of address
Variables and Identifiers Memory Identifiers studentID studentGrade1 studentGrade2
Variables and Identifiers Memory studentID studentGrade studentName Compiler keeps trackof [identifier-address] table
Variables and Identifiers In program studentID_Total_Grade = studentGrade1 + studentGrade2
Naming Identifiers • Allowed characters: A-Z, a-z, 0-9, _ (underscore) • Not allowed to start with a digit. E.g., 3class (x), class3(o) • The identifier cannot duplicate a reserved word. e.g., if, case, while… • Good names descriptive but short • C++ is case sensitive; PI, Pi and pi are different.
Integer and Floating Point Types 2 Bytes 4 Bytes 8 Bytes 2 or 4 Bytes 10 Bytes 4 Bytes Size of value type depends on computer architecture
Variable Initialization • Variable declaration ≠ variable initialization • Should be initialized by a programmer before it is used e.g., int count; declaration (o), initialization(x) char grade = ‘d’; declaration (o), initialization(o)
Constants • Data values that cannot be changed during program execution • E.g., • 3.141592 • ‘d’ • “Hello word” • ‘\0’
To Remember • A character constant is enclosed by the single quotes. (e.g. ‘a’) • Use double quotes for string constants. (e.g. “Jeon, Seokhee”) • bool types are treated as a number. True: non-zero. False: zero.
Standard streams • A mapping between data and input/output device
More about cout • width(int) function sets the width for printing a value • Only works until the next insertion command comes int x = 42; cout.width(5); cout << x << ‘\n’; // Outputs 42 cout << x << ‘\n’; // Outputs 42
More about cout • fill(char) function sets the fill character. • The character remains as the fill character until set again. int x = 42; cout.width(5); cout.fill(‘*’); cout << x << ‘\n’; // Outputs ***42
More about cout • precision (int) sets the number of significant digits of float type numbers float y = 23.1415; cout.precision(1); cout << y << '\n'; // Outputs 2e+01 cout.precision(2); cout << y << '\n'; // Outputs 23 cout.precision(3); cout << y << '\n'; // Outputs 23.1
More about cout • Output Manipulators (not a function) endl - outputs a new line character, flushes output dec - sets int output to decimal hex - sets int output to hexadecimal oct - sets int output to octal #include <iomanip.h> int x = 42; cout << oct << x << endl; // Outputs 52\n cout << hex << x << endl; // Outputs 2a\n cout << dec << x << endl; // Outputs 42\n
Example codes reading (Program 2-2) • #include <iostream> • using namespace std; • int main (void) • { • int a; • int b; • int c; • int sum; • cout << "Welcome. This program adds\n"; • cout << "three numbers. Enter three numbers\n"; • cout << "in the form: nnn nnn nnn <return>\n"; • cin >> a >> b >> c; • // Numbers are now stored in a, b, and c. Add them. • sum = a + b + c; • cout << "\nThe total is: " << sum << "\n"; • cout << "\nThank you. Have a good day.\n"; • return 0; • } // main Welcome. This program adds three numbers. Enter three numbers in the form: nnn nnn nnn <return> 11 22 33 The total is: 66 Thank you. Have a good day.
Try to understand other examples in textbook! • Program 2-3 ~ 2-13