Top Banner
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
35

Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Dec 17, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

ComputerComputer Programming BasicsProgramming Basics

Jeon, Seokhee

Assistant ProfessorAssistant ProfessorDepartment of Computer Engineering,Department of Computer Engineering,

Kyung Hee University, KoreaKyung Hee University, Korea

Page 2: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung 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

Page 3: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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;

}

Page 4: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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)

Page 5: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

““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

Page 6: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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

Page 7: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

CommentComment

• Internal program document• Not considered as a program code

Start of comment

End of comment

Start of comment

End of comment

Page 8: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Nested Block Comments are InvalidNested Block Comments are Invalid

Page 9: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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

Page 10: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Variables and IdentifiersVariables and Identifiers

Memory

Address of memory:

Hard to remember

Identifier: name of address

Page 11: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Variables and IdentifiersVariables and Identifiers

Memory

studentID

studentGrade1

studentGrade2

Identifiers

Page 12: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Variables and IdentifiersVariables and Identifiers

Memory

studentID

studentGrade

studentName

Compiler keeps trackof [identifier-address]table

Page 13: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Variables and IdentifiersVariables and Identifiers

In program

studentID_Total_Grade = studentGrade1 + studentGrade2

Page 14: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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.

Page 15: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Standard Data TypesStandard Data Types

Page 16: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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

Page 17: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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

Page 18: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Maximum/Minimum of C++ data typesMaximum/Minimum of C++ data types

Page 19: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Variables DeclarationVariables Declaration

Page 20: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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)

Page 21: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

ConstantsConstants

• Data values that cannot be changed during program execution

• E.g.,– 3.141592– ‘d’– “Hello word”– ‘\0’

Page 22: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.
Page 23: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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.

Page 24: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Standard streamsStandard streams

• A mapping between data and input/output device

Page 25: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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

Page 26: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.
Page 27: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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

Page 28: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.
Page 29: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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

Page 30: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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

Page 31: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.
Page 32: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

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.

Page 33: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.

Try to understand other examples in Try to understand other examples in textbook!textbook!

• Program 2-3 ~ 2-13

Page 34: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.
Page 35: Computer Programming Basics Assistant Professor Jeon, Seokhee Assistant Professor Department of Computer Engineering, Kyung Hee University, Korea.