Computer Computer Programming Programming Basics Basics Jeon, Seokhee Assistant Professor Assistant Professor Department of Computer Engineering, Department of Computer Engineering, Kyung Hee University, Korea Kyung Hee University, Korea
Dec 17, 2015
ComputerComputer Programming BasicsProgramming Basics
Jeon, Seokhee
Assistant ProfessorAssistant ProfessorDepartment of Computer Engineering,Department of Computer Engineering,
Kyung Hee University, KoreaKyung Hee University, Korea
Pre-compiler directivePre-compiler directive
Opening brace
Closing brace
Opening brace
Closing brace
Structure of a C++ ProgramStructure of a C++ Program
Without namespaceWithout namespaceWithout namespaceWithout namespace
Hello World!Hello World!
Namespace std contains all the classes, objects and functions of the standard
C++ library.
Namespace std contains all the classes, objects and functions of the standard
C++ library. #include <iostream>
int main () {
std::cout << "Hello world!\n";
return 0;
}
Preprocessor DirectivesPreprocessor 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” Directivesusing” 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 functionmain 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
CommentComment
• Internal program document• Not considered as a program code
Start of comment
End of comment
Start of comment
End of comment
Nested Block Comments are InvalidNested Block Comments are Invalid
VariablesVariables
• 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 IdentifiersVariables and Identifiers
Memory
Address of memory:
Hard to remember
Identifier: name of address
Variables and IdentifiersVariables and Identifiers
Memory
studentID
studentGrade1
studentGrade2
Identifiers
Variables and IdentifiersVariables and Identifiers
Memory
studentID
studentGrade
studentName
Compiler keeps trackof [identifier-address]table
Variables and IdentifiersVariables and Identifiers
In program
studentID_Total_Grade = studentGrade1 + studentGrade2
Naming IdentifiersNaming 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.
Standard Data TypesStandard Data Types
Integer and Floating Point TypesInteger and Floating Point Types
2 or 4 Bytes2 or 4 Bytes
4 Bytes4 Bytes
2 Bytes2 Bytes
8 Bytes8 Bytes
10 Bytes10 Bytes
4 Bytes4 Bytes
Size of value type depends on computer architectureSize of value type depends on computer architecture
Maximum/Minimum of Integer Value Maximum/Minimum of Integer Value TypeType
Type Sign Byte Minimum value Maximum value
short int/shortsigned
2-32,768 32,767
unsigned 0 65,535
int (PC)signed
2-32,768 32,767
unsigned 0 65,535
int (Mainframe)signed
4-2,147,483,648 2,147,483,647
unsigned 0 4,294,967,295
long int/longsigned
4-2,147,483,648 2,147,483,647
unsigned 0 4,294,967,295
Maximum/Minimum of C++ data typesMaximum/Minimum of C++ data types
Variables DeclarationVariables Declaration
Variable InitializationVariable 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)
ConstantsConstants
• Data values that cannot be changed during program execution
• E.g.,– 3.141592– ‘d’– “Hello word”– ‘\0’
To RememberTo 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 streamsStandard streams
• A mapping between data and input/output device
More about More about coutcout
• 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 More about coutcout
• 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 More about coutcout
• precision (int) sets the number of significant digits of float type numbers
float y = 23.1415;cout.precision(1);cout << y << '\n'; // Outputs 2e+01cout.precision(2);cout << y << '\n'; // Outputs 23cout.precision(3);cout << y << '\n'; // Outputs 23.1
More about More about coutcout
• 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\ncout << hex << x << endl; // Outputs 2a\ncout << dec << x << endl; // Outputs 42\n
Example codes reading (Program 2-2)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 addsthree numbers. Enter three numbersin the form: nnn nnn nnn <return>11 22 33
The total is: 66
Thank you. Have a good day.
Welcome. This program addsthree numbers. Enter three numbersin 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 Try to understand other examples in textbook!textbook!
• Program 2-3 ~ 2-13