1. Trang chủ
  2. » Công Nghệ Thông Tin

Tự học C++ từ cơ bản đến nâng cao.

97 227 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 97
Dung lượng 1,27 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tài liệu được biên soạn rất chi tiết , phù hợp cho các bạn muốn học lập trình từ căn bản . Với mỗi phần , mỗi chương , có các bài tập áp dụng rất chi tiết . Các bạn có thể tự học rất đơn giản . Gồm : 1) Giới thiệu về C++ và cách cài đặt 2) Các hàm cơ bản của C++ 3) Tìm hiểu về các vòng lặp của C++ 4) Mở rộng của C++ so với C

Trang 2

Machine Language

● Only language computer directly understands

● Defined by hardware design

Trang 3

○ Translator programs (assemblers)

■ Convert to machine language

● Example:

LOAD BASEPAY

STORE GROSSPAY

Trang 4

High-level languages

● Similar to everyday English, use common mathematical notations

● Single statements accomplish substantial tasks

○ Assembly language requires many instructions to accomplish simple tasks

● Translator programs (compilers)

○ Convert to machine language

Trang 5

C Language

● Evolved from two other programming languages

○ BCPL and B

■ “Typeless” languages

● Dennis Ritchie (Bell Laboratories)

○ Added data typing, other features

● Development language of UNIX

Trang 6

C++ Language

● Extension of C

● Early 1980s: Bjarne Stroustrup (Bell Laboratories)

● Provides capabilities for object-oriented programming

○ Objects: reusable software components

■ Model items in real world

Trang 7

Java Language

● 1991: Sun Microsystems

○ Green project

● 1995: Sun Microsystems

○ Formally announced Java at trade show

● Web pages with dynamic and interactive content

● Develop large-scale enterprise applications

● Enhance functionality of web servers

● Provide applications for consumer devices

○ Cell phones, pagers, personal digital assistants, …

Trang 8

History of Programming Languages

Trang 9

Local Environment

● Text Editor

○ Windows: Notepad, Notepad++, Sublime Text…

○ MacOS: TextEdit, Sublime Text…

● C++ Compiler

○ Windows: Dev C++, MS Visual Studio…

○ MacOS: XCode

Trang 12

Compile and Execute

● Text Editor

● C++ Compiler

Trang 13

Semicolons and Blocks

• Semicolons

• Blocks

Trang 14

Identifiersmohd zara abc move_name a_123myname50 _temp j a23b9 retVal

Trang 15

bool explicit private truebreak export protected trycase extern public typedefcatch false register typeid

Trang 16

Int age;

Fruit = apples + oranges;

Trang 17

Comments/* This is a comment */

// This is a comment

Trang 18

Printing a Line of Text

Trang 19

Exercises

1 Write a program to print: Your Name, Gender, Birthday

2 Write a application print:

Trang 20

1 Write this text: \T\H\I\S\I\S\A\”PENCIL”

2 Research: Write a C++ program to declare two integer It

then prints these values on the screen

Trang 21

Double floating point double

Trang 24

Enumerated Types

enum color { red, green, blue } c;

c = blue;

enum color { red, green = 5, blue };

enum enum-name { list of names } var-list;

Trang 26

Variable Definition

extern int d = 3, f = 5; // declaration of d and f

int d = 3, f = 5; // definition and initializing d and f

byte z = 22; // definition and initializes z

char x = 'x'; // the variable x has the value 'x'

type variable_list;

type variable_name = value;

Trang 27

Variable Scope

• Local Variables

• Global Variables

Trang 29

Defining Constants

• #define

• const

Trang 33

Logical Operators

• &&

• ||

• !

Trang 36

Others Operators

• Bitwise Operators

• Assignment Operators

• Misc Operators

Trang 37

Write a program in C++ to print the sum of two numbers.

Write a program in C++ to swap two numbers.

Write a program in C++ to calculate the volume of a sphere.

Write a program in C++ to calculate the volume of a cube.

Write a program in C++ to calculate the volume of a cylinder.

Write a program in C++ to find the Area and Perimeter of a Rectangle Write a program in C++ to find the area of any triangle using Heron's Formula

Write a program in C++ to find the area and circumference of a circle.

Trang 38

Write a program in C++ to print the sum of two numbers.

Write a program in C++ to swap two numbers.

Write a program in C++ to calculate the volume of a sphere.

Write a program in C++ to calculate the volume of a cube.

Write a program in C++ to calculate the volume of a cylinder.

Write a program in C++ to find the Area and Perimeter of a Rectangle Write a program in C++ to find the area of any triangle using Heron's Formula

Write a program in C++ to find the area and circumference of a circle.

Trang 40

7 s = (a || b) && (a && true);

8 s = a || b && a && true;

9 s = c > a || b < c && a > b;

10 s = (a == 0) || (a > 1) && (s > 10);

11 s = (a == b) && (a < c) && (b < c);

Trang 41

IF

Trang 42

IF ELSE

Trang 43

The ? : Operator

Exp1 ? Exp2 : Exp3;

Trang 44

SWITCH CASE

Trang 45

Defining a Function

return_type function_name( parameter list ) { body of the function

}

Trang 48

• Viết một chương trình C++ để nhắc người dùng nhập 3 số nguyên và tìm giá trị lớn nhất.

• Viết một chương trình C++ để nhắc người dùng nhập 3 số nguyên và tìm giá trị ở giữa

Trang 49

● Viết chương trình C++ xếp hạng học lực của học sinh Chương trình nhập 3 điểm là điểm bài kiểm tra, điểm thi giữa kỳ, điểm thi cuối kỳ và xác định học lực dựa trên nguyên tắc:

○ Điểm trung bình >= 9.0 là hạng A

○ Điểm trung bình >=7.0 và < 9.0 là hạng B

○ Điểm trung bình >=5.0 và < 7.0 là hạng C

○ Điểm trung bình <5.0 là hạng F

Trang 50

● Cửa hàng của bạn nhận gửi bán sản phẩm cho một công ty khác và sau mỗi tháng bạn cần tính toán số tiền hoa hồng bạn nhận được Với mức hoa hồng theo doanh số bán hàng như sau:

○ 5% nếu tổng doanh số nhỏ hơn hoặc bằng 100 triệu

○ 10% nếu tổng doanh số nhỏ hơn hoặc bằng 300 triệu

○ 20 % nếu tổng doanh số là lớn hơn 300 triệu

Dựa vào dữ liệu trên, bạn viết chương trình C++ để tính hoa hồng đại lý bạn sẽ nhận được

Trang 51

while(condition) {

statement(s);

}

Trang 52

while

Trang 54

for ( init; condition; increment ) { statement(s);

}

Trang 55

for

Trang 56

for( int a = 10; a < 20; a = a + 1 ) {

cout << "value of a: " << a << endl;}

Trang 58

do while

Trang 60

Loop Control Statements

• break

• continue

Trang 61

Array

Trang 62

int points[10];

int *point = new int[10];

double balance[5] = {1000.0, 2.0, 3.4, 17.0, 50.0};char greeting[] = {'H', 'e', 'l', 'l', 'o', '\0'};

char greeting[] = "Hello";

Trang 63

String

Trang 65

1 Nhập vào 1 mảng 8 phần tử số thực sau đó in mảng đó ra.

2 In mảng đã nhập ở câu 1 theo chiều đảo ngược

6 Viết hàm kiểm tra một mảng có là mảng đối xứng

7 Viết hàm xoá một phần tử trong mảng nguyên một chiều

8 Viết hàm xoá các phần tử giống nhau trong mảng sao cho mỗi phần tử trong mảng đều có giá trị khác nhau

Trang 66

3 Viết chương trình C++ để tính tổng mỗi hàng, mỗi cột của một ma trận có kích cỡ n x m, và nếu là ma trận vuông thì tính tổng đường chéo.

4 Viết chương trình C++ để nhập và hiển thị tam giác Pascal Chắc bạn đã khá quen thuộc với tam giác Pascal rồi, ở đây, hàng đầu tiên và thứ hai được thiết lập là 1 Bắt đầu từ hàng thứ ba trở đi, mỗi phần tử là tổng của phần tử ngay trên nó và phần tử bên trái của phần tử ngay trên đó

Trang 67

Virtual memory & Physical memory

Trang 68

Variable address & address-of operator

Trang 69

Pointer

Trang 71

struct Books {

char title[50];

char author[50]; char subject[100]; int book_id;

} book;

Trang 72

3 Viết chương trình C++ để cộng hai phân số và hiển thị kết quả

Trang 73

class [CLASS_NAME] { public:

private:

protected:

};

Trang 75

ObjectBox *Box1 = new Box(); // Declare Box1 of type BoxBox Box2; // Declare Box2 of type Box

Trang 76

Class Member Functions

class Box {

public:

double length; // Length of a box

double breadth; // Breadth of a box

double height; // Height of a box

Trang 77

Class Member Functions

double Box::getVolume(void) {

return length * breadth * height;

}

Trang 78

Xây dựng class Timer Gồm giờ, phút, giây Xây dựng hàm cộng giờ để cộng thêm giây vào class đó.

Trang 79

Xây dựng lớp biểu diễn khái niệm số phức với hai thành phần dữ liệu thực, ảo và các hàm thành phần xuất, nhập, cộng, trừ, nhân, chia hai số phức Viết chương trình cho phép nhập vào hai số phức, in ra kết quả các phép toán cộng, trừ, nhân, chia hai số phức kể trên.

Trang 80

The Class Constructor

class Line {

public:

void setLength( double len );

double getLength( void );

Line(); // This is the constructor

private:

double length;

};

Trang 81

Parameterized Constructor

class Line {

public:

void setLength( double len );

double getLength( void );

Line(double len); // This is the constructor

private:

double length;

};

Trang 82

The Class Destructor

class Line {

public:

void setLength( double len );

double getLength( void );

Line(); // This is the constructor declaration

~Line(); // This is the destructor: declaration

private:

double length;

};

Trang 83

C++ Copy Constructor

class Line {

public:

int getLength( void );

Line( int len ); // simple constructor

Line( const Line &obj); // copy constructor

~Line(); // destructor

private:

int *ptr;

};

Trang 84

Static Function Members

static int objectCount;

static int func()

Trang 85

Viết định nghĩa lớp String để biểu diễn khái niệm chuỗi ký tự

với các phương thức thiết lập và huỷ bỏ, các hàm thành phần tính chiều dài chuỗi, so sánh hai chuỗi, nối hai chuỗi, đảo

chuỗi, xuất chuỗi

Trang 87

Type of Inheritance

• public

• protected

• private

Trang 89

class printData {

public:

void print(int i) {

cout << "Printing int: " << i << endl;

}

void print(double f) {

cout << "Printing float: " << f << endl;

}

void print(char* c) {

cout << "Printing character: " << c << endl; }

};

Trang 90

Khai báo lớp Human bao gồm các thuộc tính và phương thức sau:

- Thuộc tính :tên (name), tuổi (age), giới tính (sex)

- Phương thức: hàm khởi tạo không có tham số, hàm khởi tạo có đầy đủ các tham số, hàm hiền thị các thông tin.

Sau đó khai báo lớp Person kế thừa từ lớp Human, lớp Person có:

- Thuộc tính : tên (name),tuổi (age), giới tính (sex) , địa chỉ(address), số điện thoại (phone)

- Phương thức: Hàm khởi tạo không có tham số, hàm khởi tạo có đầy đủ các tham số, hàm hiển thị đầy đủ các thông tin: Tên, Tuổi, giới tính, địa chỉ, số điện thoại

Trang 91

Box operator+(const Box& b) {

Box box;

box.length = this->length + b.length;

box.breadth = this->breadth + b.breadth; box.height = this->height + b.height;

return box;

}

Trang 95

Virtualvirtual int area()

Trang 96

Bài 1: Viết class thể hiện Phân số, có thể +, -, *, /, các phép

so sánh logic và sử dụng toán tử nhập xuất

Bài 2: Sử dụng lớp String trước đây để cộng 2 String Kết quả

là được 1 String mới

Trang 97

Có 2 loại sổ tiết kiệm có kỳ hạn và không kỳ hạn, thông tin cơ bản của mỗi loại gồm:

● Số tiền gửi (triệu đồng)

● Đối với sổ có kỳ hạn, cần lưu lại thêm thông tin Kỳ hạn (gửi bao nhiêu tháng).

● Công thức tı́nh số tiền lãi (n: là số tháng gửi)

■ Tiền lãi = Tiền gửi * Lãi suất * n.

○ Đối với sổ có kỳ hạn:

■ Tiền lãi = Tiền gửi * Lãi suất * n, nếu n lớn hơn bằng kỳ hạn.

■ Ngược lại, tiền lãi của sổ đó bằng 0.

Yêu cầu:

● Tı́nh số tiền lãi của sổ cho đến ngày hiện tại (lấy từ hệ thống).

● Tı́nh tổng tiền lãi ngân hàng phải trả.

Ngày đăng: 17/11/2018, 22:09

TỪ KHÓA LIÊN QUAN

w