Xem Nhiều 3/2023 #️ Toàn Bộ Kiến Thức Cơ Bản Về C++ – Nguyễn Công Trình Tổng Hợp # Top 3 Trend | Trucbachconcert.com

Xem Nhiều 3/2023 # Toàn Bộ Kiến Thức Cơ Bản Về C++ – Nguyễn Công Trình Tổng Hợp # Top 3 Trend

Cập nhật thông tin chi tiết về Toàn Bộ Kiến Thức Cơ Bản Về C++ – Nguyễn Công Trình Tổng Hợp mới nhất trên website Trucbachconcert.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất.

Tổng quan về C++

C++ là một ngôn ngữ lập trình kiểu tĩnh,dữ liệu trừ tượng, phân biệt kiểu chữ thường chữ hoa mà hỗ trợ lập trình hướng đối tượng, lập trình thủ tục.

C++ được coi như là ngôn ngữ bậc trung (middle-level), khi nó kết hợp các đặc điểm và tính năng của ngôn ngữ bậc cao và bậc thấp.

C++ được phát triển bởi Bjarne Stroustrup năm 1979 tại Bell Labs ở Murray Hill, New Jersey, như là một bản nâng cao của ngôn ngữ C và với tên gọi đầu tiên là « C với các Lớp », nhưng sau đó được đổi tên thành C++ vào năm 1983.

C++ là một Superset của C, và bất kỳ chương trình C nào cũng là một chương trình C++.

Cấu trúc một chương trình trong C++

1.   Statements

Khai báo tên các tệp chứa những thành phần có sẵn ( các hằng chuẩn, kiểu chuẩn và hàm chuẩn) mà người sử dụng sẽ sử dụng trong chương trình.

Ví dụ:

int x;

x = 5;

std::cout << x;

2. Expressions

Trình biên dịch cũng có khả năng giải quyết các biểu thức. Biểu thức xác định một tính toán sẽ được thực hiện.

Ví dụ, tất cả chúng ta đều học rằng 2 + 3 bằng 5. Trong lập trình, chúng ta nói rằng 2 + 3 là một biểu thức đánh giá giá trị 5

Ví dụ:

2

« Hello, world »

x

2 + 3

x = 5

(2+x)*(y-3)

std::cout << x

3. Functions

Trong C ++, các câu lệnh thường được nhóm thành các đơn vị gọi là hàm. Hàm là một tập hợp các câu lệnh thực thi tuần tự. Mỗi chương trình C ++ phải chứa một hàm đặc biệt gọi là main.Các chức năng thường được viết để làm một công việc rất cụ thể.

Ví dụ:

int main()

{

int a;

if (a <4){

cout << « so nho hon 4″<< endl;

} else{

cout << « so lon hon 4″<< endl;

}

system(« pause »);

return 0;

}

Các kiểu dữ liệu trong C++

Ví dụ:

#include

using namespace std;

int main()

{

cout << « Kich thuoc cua char la:  » << sizeof(char)<< endl;

cout << « Kich thuoc cua int la:  » << sizeof(int)<< endl;

cout << « Kich thuoc cua short int la:  » << sizeof(short int)<< endl;

cout << « Kich thuoc cua long int la:  » << sizeof(int)<< endl;

cout << « Kich thuoc cua float la:  » << sizeof(float)<< endl;

cout << « Kich thuoc cua double la:  » << sizeof(double)<< endl;

cout << « Kich thuoc cua wchar_t la:  » << sizeof(wchar_t)<< endl;

system(« pause »);

return 0;

}

Biến trong C++

Trong C++, biến có thể được khai báo ở bất kì địa điểm nào trong chương trình trước khi sử dụng.

Tên của một biến :

Bắt đầu bằng dấu gạch dưới “_” hoặc chữ cái.Tên biến có thể là chữ hoa hoặc chữ thường như là a-z hoặc A-Z. Trong C phân biệt chữ hoa chữ thường.

Tên biến có thể bao gồm chữ cái, chữ số, và dấu gạch dưới.

Không bao gồm các kĩ tự đặc biệt như là !, %, ], $.

Không bao gồm khoảng trống.

Không được trùng tên với từ khóa.

Không nên dài quá 32 kí tự.

Cách khai báo biến

Khai báo không khởi tạo

Tên_kiểu  Tên_biến;

Ví dụ:

int i, j;

float x;

char c,d[100];

Khai báo khởi tạo

Tên_kiểu  Tên_biến = Giá_trị;

Ví dụ:

int a = 5;

float b = 6.5;

string st = « nhom 1 »;

Con trỏ trong C++

Khai báo:

Kiểu_dữ_liệu *tên_con_trỏ

Ví dụ:

int *iPtr; float *fPtr; double *dPtr; int *iPtr1, *iPtr2;

Lưu ý: Dấu sao trong khai báo con trỏ không phải là toán tử trỏ đến (dereference operator), nó chỉ là cú pháp được ngôn ngữ C/C++ quy định.

Cách khai báo dễ gây nhầm lẫn

int *iPtr1;

Nhưng mình khuyến nghị các bạn sử dụng cách khai báo đặt dấu sao ngay trước tên con trỏ vì cách thứ hai có thể gây nhầm lẫn.

int* iPtr1, iPtr2;

Với cách khai báo này, iPtr1 là một con trỏ kiểu int, trong khi đó, iPtr2 là một biến kiểu int. Để có được hai con trỏ, chúng ta cần khai báo như sau:

int *iPtr1, *iPtr2;

Gán giá trị cho con trỏ

Giá trị mà biến con trỏ lưu trữ là địa chỉ của biến khác có cùng kiểu dữ liệu với biến con trỏ.

int *ptr;

int value = 5;

ptr = &value;

Do đó, chúng ta cần sử dụng address-of operator để lấy ra địa chỉ ảo của biến rồi mới gán cho con trỏ được. Lúc này, biến ptr sẽ lưu trữ địa chỉ ảo của biến value.

Chúng ta có thể nói rằng con trỏ ptr đang nắm giữ địa chỉ của biến value, cũng có thể nói con trỏ ptr trỏ đến biến value.

Đoạn chương trình sau sẽ in ra địa chỉ của biến value và giá trị được lưu bởi con trỏ ptr sau khi trỏ đến biến value:

int main() {

int value = 5;

int *ptr = &value;

cout << &value << endl; cout << ptr << endl;

system(« pause »);

return 0;

}

Kết quả : 0012FF7C

0012FF7C

Lý do mà chúng ta gán được địa chỉ của biến value cho con trỏ kiểu int (int *) là vì address-of operator của một biến kiểu int trả về giá trị kiểu con trỏ kiểu int (int *).

Bên cạnh đó, khi có hai con trỏ cùng kiểu thì chúng ta có thể gán trực tiếp mà không cần sử dụng address-of operator.

Ví dụ:

int main() {

int value = 5;

int *ptr1, *ptr2; ptr1 = &value;

ptr2 = ptr1;

cout << ptr1 << endl; cout << ptr2 << endl;

system(« pause »);

return 0;

}

Lúc này, ptr1 và ptr2 cùng giữ địa chỉ của biến value.

Khác với tham chiếu (reference), một con trỏ có thể trỏ đến địa chỉ khác trong bộ nhớ ảo sau khi đã được gán giá trị. Tham chiếu (reference) không thể thay đổi địa chỉ sau lần tham chiếu đầu tiên.

Ví dụ:

int main() {

int *ptr;

int arr[5] = { 1, 2, 3, 4, 5 };

for(int i = 0; i < 5; i++) {

ptr = &arr[i]; cout << ptr << endl;

}

system(« pause »);

return 0;

}

Các phép gán không hợp lệ khi sử dụng con trỏ

Phép gán của con trỏ chỉ thực hiện được khi kiểu dữ liệu của con trỏ phù hợp kiểu dữ liệu của biến mà nó sẽ trỏ tới.

int iValue = 0;

float fValue = 0.0;

int *i_ptr = fValue;

float *f_ptr = iValue;

Mặc dù giá trị mà con trỏ lưu trữ có kiểu unsigned int, nhưng chúng ta không thể gán trực tiếp một giá trị địa chỉ cho con trỏ được.

int *ptr = 1245052;

Giá trị 1245052 không có địa chỉ cụ thể, trong khi đó, con trỏ chỉ nhận giá trị là địa chỉ nên phép gán trên là sai. Mặc dù giá trị được chuyển về dạng cơ số thập lục phân để tương xứng với định dạng giá trị mà con trỏ in ra, điều này cũng không được cho phép.

int *ptr = 0012FF7C;

Chỉ có giá trị kiểu con trỏ (có được nhờ toán tử address-of, hoặc từ một biến con trỏ cùng kiểu khác) mới có thể gán được cho biến con trỏ.

Truy xuất giá trị bên trong vùng nhớ mà con trỏ trỏ đến

Khi chúng ta có một con trỏ đã được trỏ đến địa chỉ nào đó trong bộ nhớ ảo, chúng ta có thể truy xuất giá trị tại địa chỉ đó bằng dereference operator. Dereference operator sẽ đánh giá nội dung địa chỉ được trỏ đến.

Ví dụ:

int *ptr;

int value = 5;

ptr = &value;

cout << &value << endl;

cout << ptr << endl;

cout << value << endl;

cout << *(&value) << endl;

cout << *ptr << endl;

Đối với con trỏ, NULL là một giá trị đặc biệt, khi gán NULL cho con trỏ, điều đó có nghĩa là con trỏ đó chưa trỏ đến địa chỉ nào cả. Con trỏ đang giữ giá trị NULL được gọi là con trỏ NULL (NULL pointer).

int *ptr = NULL;

Struct, mảng trong C++

structure – cấu trúc là một loại dữ liệu khác trong ngôn ngữ lập trình C/C++, cho phép bạn kết hợp các dữ liệu khác kiểu nhau.

Để định nghĩa cấu trúc, bạn phải sử dụng câu lệnh struct. Câu lệnh struct định nghĩa một kiểu dữ liệu mới, với hơn một thành viên trong chương trình của bạn. Dạng tổng quát của câu lệnh struct như sau đây:

struct [ten cau truc]

{

phan dinh nghia thanh vien;

phan dinh nghia thanh vien;

phan dinh nghia thanh vien;

} [mot hoac nhieu bien cau truc];

Ví dụ:

struct Books

{

char  tieude[50];

char  tacgia[50];

char  chude[100];

int   book_id;

}book;

Truy cập các thành viên của cấu trúc trong C++

#include

#include

using namespace std;

struct Books

{

char  tieude[50];

char  tacgia[50];

char  chude[100];

int   book_id;

};

int main( )

{

struct Books QuyenSach1;       

struct Books QuyenSach2;       

// chi tiet ve quyen sach thu nhat

strcpy( QuyenSach1.tieude, « Ngon ngu Lap trinh C++ »);

strcpy( QuyenSach1.tacgia, « Pham Van At »);

strcpy( QuyenSach1.chude, « Lap trinh »);

QuyenSach1.book_id = 1225;

// in thong tin ve QuyenSach1

cout << « Tieu de cua Quyen sach thu nhat la:  » << QuyenSach1.tieude <<endl;

cout << « Tac gia cua Quyen sach thu nhat la:  » << QuyenSach1.tacgia <<endl;

cout << « Chu de cua Quyen sach thu nhat la:  » << QuyenSach1.chude <<endl;

cout << « ID cua Quyen sach thu nhat la:  » << QuyenSach1.book_id <<endl;

return 0;

}

Mảng

Mảng gồm 2 loại: Mảng tĩnh và Mảng động

Mảng tĩnh

Mảng một chiều:

Kích thước được xác định ngay khi khai báo và không bao giờ thay đổi.

Cách khai báo mảng:

Phải xác định cụ thể số phần tử ngay lúc khai báo.

int n1=10;

int a [n1];

Const int n2 =20; int b[n2];

Nên sử dụng chỉ thị tiền xử lí #define để định nghĩa về số phần tử của mảng.

#define n1 10

#define n2 20

int a [n1]; ó int a[10];

int b [n1][n2]; ó int b[10][20];

Khởi tạo giá trị cho mảng.

Khởi tạo giá trị cho mọi phần tử của mảng.

int a[4] = {1012,1032,2012,1034};

Khởi tạo giá trị cho một số phần tử đầu mảng

int a[4] = {2012,1023};

Khởi tạo giá trị 0 cho mọi phần tử mảng.

int a[4] = {0};

Tự động xác định số phần tử mảng.

int a[] = {1012,1032,2012,1034};

Mảng động

Biến con trỏ dùng để lưu địa chỉ của những biến khác hay địa chỉ của một vùng nhớ hợp lệ, được phép dùng.

Cần dùng bao nhiêu thì cấp bấy nhiêu không cấp dư.

int *p;

int a =5;

p =&a;

*p=15;

//a=15

}

{

int *p;

p=new int;

*p=8;

delete p;

}

Các câu lệnh điều kiện, vòng lặp trong C++

Câu lệnh điều kiện.

Câu lệnh điều kiện if

Cấu trúc câu lệnh if thiếu

If ( điều kiện)

{

Thân của if gồm lệnh hoặc  khối lệnh

}

Cấu trúc câu lệnh if đủ

If ( điều kiện)

{

Thân của if gồm lệnh hoặc  khối lệnh

}

Else

{

Khối lệnh}

Ví dụ:

#include

using namespace std;

int main()

{

int a;

cout << « so nho hon 4″<< endl;}

else{

cout << « so lon hon 4″<< endl;}

system(« pause »);

return 0;

}

Câu lệnh điều kiện Swicth-case

Cấu trúc:

Switch ( giá trị hay biểu thức)

{

Case1:{ lựa chọn 1

}break;

Case1:{ lựa chọn 1

}break;

}

Default:

{cout  << “….” << endl;

}}

Ví dụ:

#include

using namespace std;

int main()

{

int luachon;

switch(luachon)

{

case 1: {

cout << « ban chon so 1 »;

break;

}

case 2: {

cout << « ban chon so 2 »;

break;

}

}

system (« pause »);

return 0;

}

Vòng lặp.

Trong C++ có ba vòng lặp chính : While, Do –While, for.

Vòng lặp While

Cú pháp:

While (Biểu thức logic)

{ thân vòng lặp while (lệnh hoặc đoạn lệnh)

}

Ví dụ:

#include

using namespace std;

//viet1 chuong trinh in ra cac so tu 0-100

int main()

{

int a =0;

while(a<=100){

cout << a << endl;

a++;

}

system (« pause »);

return 0;

}

===========

+Kênh youtube chính của tớ : https://www.youtube.com/channel/UCmh5eroSubN_w1J4u19d6_Q +facebook cá nhân :https://www.facebook.com/NguyenCongTrinh113

===========

Vòng lặp Do- While

Cú pháp:

Do

{ lệnh, khối lệnh

} while( biểu thức logic- điều kiện vòng lặp);

Ví dụ:

#include

using namespace std;

int main()

{

int n;// khai bao bien n

do {

}while(n<=0);

{

cout << « gia tri n la: »<< n<< endl;

}

system (« pause »);

return 0;

}

Vòng lặp for

Cú pháp:

{ lệnh, đoạn lệnh

}

Ví dụ:

#include

using namespace std;

//

int main(){

int i,n;

for(i=0;i<n;i++){

cout << « gia tri n la: »<< i<< endl;

}

system (« pause »);

return 0;

}

 Lập trình hướng đối tượng trong C++

Đối tượng và các lớp trong C++

Object (đối tượng) nghĩa là một thực thể trong thế giới thực, chẳng hạn như: bàn, quả bóng, con bò, … Lập trình hướng đối tượng là một phương pháp để thiết kế một chương trình bởi sử dụng các lớp và các đối tượng. Nó làm đơn giản hóa việc duy trì và phát triển phần mềm bằng việc cung cấp một số khái niệm.

Về cơ bản, một đối tượng (objects) được tạo từ một lớp.

Khai báo các đối tượng của một lớp giống đúng như chúng ta khai báo các biến của kiểu cơ bản.

4 tính chất của đối tượng:

Tính trừu tượng (Abstraction)

Tính đóng gói (Escapsulation)

Tính kế thừa (Inheritance)

Tính đa hình (polymorphism)

Tính trừu tượng (Abstraction): Tập trung vào cốt lõi của đối tượng, bỏ qua những thứ không lien quan và không quan trọng. Bao hàm các điểm chung để xâu ra bên ngoài.

Tính đóng gói (Escapsulation): Tính chất không cho phép người dung hay đối tượng khác thay đổi dữ liệu thành viên của đối tượng nội tại, chỉ có các hàm thành viên của đối tượng đó mới có quyền thay đổi trạng thái nội tại của nó, truy cập thông tin qua phương thức get/set.

Đặc điểm của tính chất đóng gói dữ liệu:

Tạo ra các cơ chế để ngăn ngừa về việc gọi phương thức của lớp này tác động truy xuất dữ liệu của lớp đối tượng thuộc về lớp khác.

Người lập trình có thể dựa vào cơ chế này để ngăn ngừa việc gán giá trị không hợp lệ vào thành phần dữ liệu của mỗi đối tượng.

Không cho truy xuất 1 cách tùy tiện dữ liệu của class nôi tại.

Tính kế thừa (Inheritance)

Kế thừa , tái sử dụng phương thức, thuộc tính của lớp cơ sở.

Lớp kế thừa được gọi là lớp con, nó sẽ thừa hưởng những gì lớp cha có và cho phép.

Tính đa hình (polymorphism)

Tính đa hình cho phép các chức năng  (method) khác nhau được thực thi khác nhau trên các đối tượng khác nhau. Hay nói cách khác đa hình là cùng phương thức khác nhau về hình thể.

Lớp C++

Một định nghĩa lớp trong C++ bắt đầu với từ khóa class, được theo sau bởi tên lớp và phần thân lớp, được bao quanh trong một cặp dấu ngoặc móc. Một định nghĩa lớp phải được theo sau: hoặc bởi một dấu chấm phảy hoặc một danh sách các khai báo.

Ví dụ, chúng ta định nghĩa kiểu dữ liệu SinhVien bởi sử dụng từ khóa class trong C++ như sau:

class SinhVien

{

private:

string hoten;

string masv;

float diem;

public:

void Nhap_thong_tin();

void Xuat_thong_tin();

protected:

string email;

}

Từ khóa public quyết định các thuộc tính truy cập của các thành viên lớp mà theo sau nó. Một thành viên public có thể được truy cập từ bên ngoài lớp bất cứ đâu bên trong phạm vi (scope) của đối tượng lớp đó.

Tạo ra các cơ chế để ngăn ngừa về việc gọi phương thức của lớp này tác động truy xuất dữ liệu của lớp đối tượng thuộc về lớp khác.

Người lập trình có thể dựa vào cơ chế này để ngăn ngừa việc gán giá trị không hợp lệ vào thành phần dữ liệu của mỗi đối tượng.

Không cho truy xuất 1 cách tùy tiện dữ liệu của class nôi tại.

Tính kế thừa (Inheritance)

Kế thừa , tái sử dụng phương thức, thuộc tính của lớp cơ sở.

Lớp kế thừa được gọi là lớp con, nó sẽ thừa hưởng những gì lớp cha có và cho phép.

Tính đa hình (polymorphism)

Tính đa hình cho phép các chức năng  (method) khác nhau được thực thi khác nhau trên các đối tượng khác nhau. Hay nói cách khác đa hình là cùng phương thức khác nhau về hình thể.

Lớp C++

Một định nghĩa lớp trong C++ bắt đầu với từ khóa class, được theo sau bởi tên lớp và phần thân lớp, được bao quanh trong một cặp dấu ngoặc móc. Một định nghĩa lớp phải được theo sau: hoặc bởi một dấu chấm phảy hoặc một danh sách các khai báo.

Ví dụ, chúng ta định nghĩa kiểu dữ liệu SinhVien bởi sử dụng từ khóa class trong C++ như sau:

class SinhVien

{

private:

string hoten;

string masv;

float diem;

public:

void Nhap_thong_tin();

void Xuat_thong_tin();

protected:

string email;

}

Từ khóa public quyết định các thuộc tính truy cập của các thành viên lớp mà theo sau nó. Một thành viên public có thể được truy cập từ bên ngoài lớp bất cứ đâu bên trong phạm vi (scope) của đối tượng lớp đó.

Từ khóa private và protected thể hiện tính đóng gói trong C++.

Các thành viên dữ liệu public của các đối tượng của một lớp có thể được truy cập bởi sử dụng toán tử truy cập thành viên trực tiếp là dấu chấm (.).

Ví dụ:

#include

#include

using namespace std;

class SinhVien

{

private:

string hoten;

string masv;

float diem;

public:

void Nhap_thong_tin();

void Xuat_thong_tin();

protected:

string email;

//ham tao và ham huy

//          sinhvien();

//~sinhvien();

};

void sinhvien::Nhap_thong_tin()

{

cout << « Nhap ho ten: « ;

getline (cin,hoten);

cout << « masv: « ;

//fflush(stdin);

getline (cin,masv);

}

void sinhvien::Xuat_thong_tin()

{

cout << « ho ten: »<< hoten<<endl;

cout << « ma so: »<< masv<<endl;

cout << « diem: »<< diem<<endl;

}

int main()

{

sinhvien NguyenVanA;

//cout <<« Nhap_thong_tin »<<endl;

NguyenVanA.Nhap_thong_tin();

//cout << « Xuat_thong_tin »<<endl;

NguyenVanA.Xuat_thong_tin();

system (« pause »);

return 0;}

Constructor & Destructor trong C++

Một class constructor là một hàm đặc biệt trong một lớp mà được gọi khi một đối tượng mới của lớp đó được tạo. Một class destructor cũng là một hàm đặc biệt mà được gọi khi đối tượng đã tạo bị hủy.

Copy Constructor trong C++: copy constructor là một constructor mà tạo một đối tượng bằng việc khởi tạo nó với một đối tượng của cùng lớp đó, mà đã được tạo trước đó.

Hàm Friend trong C++: hàm friend được cho phép truy cập tới các thành viên là private và protected của một lớp.

Hàm Inline trong C++: với một hàm inline, trình biên dịch cố gắng mở rộng code trong thân hàm thế chỗ cho một lời gọi tới hàm đó.

Con trỏ this trong C++: mỗi đối tượng có một con trỏ this đặc biệt, mà trỏ tới chính đối tượng đó.

Con trỏ tới lớp trong C++: một con trỏ tới một lớp được thực hiện giống hệt như cách một con trỏ tới một cấu trúc. Thực ra, một lớp là một cấu trúc với các hàm trong nó.

Bộ tiền xử lí

Bộ tiền xử lý (Preprocessor) là các directive (chỉ thị), cung cấp chỉ lệnh tới bộ biên dịch để tiền xử lý thông tin trước khi bắt đầu biên dịch thực sự.

Tất cả chỉ thị tiền xử lý (Preprocessor directive) bắt đầu với #, và chỉ có các ký tự khoảng trống trắng là có thể xuất hiện ở trước một chỉ thị tiền xử lý trên một dòng. Chỉ thị tiền xử lý không là các lệnh trong C++, vì thế chúng không kết thúc với một dấu chấm phảy.

VD: Chỉ thị tiền xử lý là #include trong tất cả ví dụ. Macro này được sử dụng để bao một Header file vào trong source file.

Có một số chỉ thị tiền xử lý được hỗ trợ bởi C++ như #include, #define …

Bộ tiền xử lý # define trong C++

Chỉ thị tiền xử lý #define tạo các biểu tượng hằng. Biểu tượng hằng là một macro và mẫu chung của chỉ thị tiền xử lý này trong C++ là:

#define ten_cua_macro ten_thay_the

Khi dòng này xuất hiện trong một file, tất cả macro xuất hiện theo sau trong file này sẽ được thay thế bởi ten_thay_the trước khi chương trình được biên dịch.

Ví dụ:

#include

using namespace std;

#define PI 3.14159

int main () {

int main () {

cout << « Gia tri cua PI la:  » << 3.14159 << endl; return 0;

}

Biên dịch có điều kiện trong C++

Có một số chỉ thị tiền xử lý có thể sử dụng để biên dịch có sự tuyển chọn giữa các phần trong source code của bạn. Tiến trình này được gọi là biên dịch có điều kiện.

Chỉ lệnh tiền xử lý có điều kiện khá giống với cấu trúc lựa chọn if.

Ví dụ:

#ifndef NULL

#define NULL 0

#endif

Có thể biên dịch một chương trình với mục đích debug và có thể tắt hoặc bật việc debug này bởi sử dụng một macro trong C++, như sau:

#ifdef DEBUG cerr <<« Bien x =  » << x << endl;

#endif

Lệnh cerr để được biên dịch trong chương trình nếu biểu tượng hằng DEBUG đã được định nghĩa ở trước chỉ thị #ifdef DEBUG. Có thể sử dụng lệnh #if 0 để chú thích một phần của chương trình, như sau:

#if 0

khong duoc bien dich phan code nay

#endif

Static and dynamic library

Thư viện (library) là một tập mã nguồn đã được đóng gói, có thể được tái sử dụng trong nhiều chương trình khác nhau.

Thư viện trong ngôn ngữ C++ gồm 2 thành phần chính:

Những header files khai báo các hàm có thể được sử dụng trong chương trình.

Tập hợp mã nguồn đã được biên dịch thành mã máy tương ứng với phần định nghĩa của các hàm đã được khai báo trong các header files.

Nhiều thư viện khi cung cấp đã được biên dịch sẵn vì nhiều lý do. Thông thường, hiếm khi có sử chỉnh sửa trong phần thư viện, nên không cần phải biên dịch nhiều lần. Thư viện cũng được biên dịch sẵn thành mã máy để tránh người dùng truy cập và chỉnh sửa.

Có 2 kiểu thư viện: thư viện liên kết tĩnh (static library) và thư viện liên kết động (dynamic library).

Thư viện liên kết động – Dynamic Link library

Trong Windows thì các file thư viện này có đuôi là .dll, trong các hệ điều hành họ Linux thì chúng có đuôi là .so, trên MacOS thì là .dylib. Trong đó chứa  code, class, hàm… tất nhiên là không phải các loại code như C++, Java… mà là mã nhị phân, là ngôn ngữ bậc thấp của hệ điều hành, do đó chúng ta không thể mở nó ra như mở file text được. Khi chúng ta viết phần mềm bằng các ngôn ngữ cao cấp như Pascal, C++… thì các mã nguồn này sẽ được dịch dần dần qua mã Assembly rồi tới mã nhị phân. Các chương trình (hay các file .exe) có sử dụng đến thư viện liên kết động sẽ đọc code trong các file .dll (hay .so trên linux…) này để sử dụng trong quá trình chạy.

Ưu điểm:

Thư viện liên kết động giảm thiểu số lượng code có trong chương trình của bạn, do đó chương trình bạn viết ra sẽ luôn gọn nhẹ hơn so với dùng thư viện liên kết tĩnh.

Thư viện liên kết động cho phép nhiều chương trình sử dụng nó một cách trực tiếp mà không cần phải biên dịch lại.

Nhược điểm:

Sử dụng thư viện liên kết động sẽ làm cho thời gian chạy chương trình lâu hơn do phải truy cập file, đọc file… từ đĩa cứng… vốn là công việc đòi hỏi thời gian.

Thư viện liên kết tĩnh – Static library

Trong Windows thì chúng có đuôi .lib, trong Linux là .a. Cũng giống với thư viện liên kết động, thư viện liên kết tĩnh cũng chứa code  nhị phân, chỉ khác là chúng được các chương trình gọi tới trong quá trình biên dịch. Khi chương trình của chúng ta được dịch từ các ngôn ngữ cấp cao sang mã nhị phân, chúng sẽ copy cả mã nguồn của các file thư viện tĩnh này vào trong mã nguồn của mình, tức là bây giờ code trong file .exe của bạn sẽ bao gồm code của cả file thư viện.

Vậy tóm lại thư viện liên kết động gọi hàm từ các file .dll (hoặc .so) để chạy

Thư viện liên kết tĩnh thì copy code trong file .lib (hoặc .a) vào file .exe của mình để chạy. Vậy khi các file thư viện bị lỗi, chương trình của bạn có thể sẽ chỉ báo lỗi trong khi chạy nếu dùng file .dll, còn nếu dùng file .lib thì thư viện của bạn không thể chạy được, nói đúng hơn là không thể dịch được khi bị lỗi.

Nhược điểm:

Thư viện liên kết tĩnh chúng sẽ làm cho chương trình của bạn phình to ra do phải copy code trong thư viện vào code của chính nó.

Ưu điểm:

Tuy nhiên chương trình của bạn sẽ chạy rất nhanh, bởi vì chúng không mất thời gian mở các file .dll ra để đọc code, chúng đã có sẵn code trong RAM cùng với code của mình rồi, vì tốc độ đọc ghi trong RAM nhanh hơn tốc độ đọc ghi trong đĩa cứng rất nhiều lần.

Nguồn được tổng hợp từ : https://cpp.daynhauhoc.com

===========

Liên hệ : https://nguyencongtrinh1995.tumblr.com/

or :

kythuatysinhblog.wordpress.com/blog/

**Mọi đóng góp để blog phát triển hơn xin gửi vào tài khoản sau : Số tài khoản 103001836696 -Thẻ Viettinbank -Chủ thẻ Nguyễn Công Trình.

Partager :

Partager

Twitter

Facebook

Imprimer

LinkedIn

Reddit

Tumblr

Pinterest

Pocket

Telegram

WhatsApp

Skype

E-mail

WordPress:

J’aime

chargement…

Articles similaires

Auteur :

Nguyễn Công Trình -Biomedical

Nguyễn Công Trình -KTYS K13 A +https://medium.com/@nguyncngtrnh +facebook : https://www.facebook.com/NguyenCongTrinh113 Voir tous les articles par Nguyễn Công Trình -Biomedical

Bỏ Túi Ngay Các Kiến Thức Tổng Hợp Về Hàm Sum Trong Excel

Trong Excel thì SUM được định nghĩa là một phép tính tổng tất cả các số có trong dãy ô. Hay nói cách khác thì hàm SUM có nhiệm vụ là tính tổng những con số, tham số đang có trong các ô và dãy ô.

Cú pháp của hàm SUM sẽ bao gồm:

=SUM(number 1, [number 2]…)

Number 1, number 2, number n… : Chính là những giá trị mà bạn muốn tính tổng.

Hoặc cũng có thể là một phạm vi ô theo hàng, theo cột hoặc một số cụ thể. Ví dụ =SUM(A2:A5, 32, A7).

Hàm SUM có thể tính được số thập phân và phân số.

Trong phép tính hàm SUM như sau: =SUM(num1,num2, … num_n), nếu như bạn nhập tham số “num” không phải là những con số thì hàm SUM sẽ hiển thị lỗi là “#Name? Error”.

Cũng tương tự như vậy, tại phép tính =SUM(CellRange 1,CellRange 2, …CellRange_n) chứa nội dung không phải là những con số thì hàm SUM sẽ bỏ qua giá trị đó.

Hàm SUM không phải dạng hàm động lực học. Chính vì vậy, nếu bạn sử dụng hàm SUM vào dãy các ô rồi lọc ra một giá trị nào đó thì đầu ra của phép tính SUM cũng sẽ không thay đổi theo giá trị gần nhất. Do vậy, tốt nhất bạn nên sử dụng hàm Subtotal cho trường hợp này.

Trong hàm SUM ô có giá trị logic TRUE sẽ được xem là 1 và FALSE sẽ được xem là 0.

Hàm SUM là một trong những công cụ đắc lực hỗ trợ trong việc tính tổng các giá trị hằng ngày. Chẳng hạn như tính doanh thu hôm nay, làm bảng báo cáo,….

Hàm SUM có điều kiện trong Excel

Bên cạnh việc tính tổng thì hàm SUM còn được sử dụng để tính tổng theo 1 hay nhiều điều kiện trong Excel. Để thực hiện được điều này chúng ta sẽ sử dụng hàm SUMIF để tính tổng theo điều kiện và SUMIFS để tính tổng theo nhiều điều kiện.

Cú pháp sử dụng của hàm SUMIF (tính tổng một điều kiện) là:

Cú pháp để sử dụng hàm SUMIFS (tính tổng nhiều điều kiện) là:

Ví dụ 1: Ta có các công thức sau:

=SUM (1, 2, 3) sẽ cho giá trị bằng 6.

=SUM (2, 3, TRUE) sẽ cho giá trị bằng 6.

=SUM(“2,”3,”1) ta cũng sẽ thu lại giá trị bằng 6.

Căn cứ vào dữ liệu đã cung cấp trong bảng, ta sẽ áp dụng hàm SUM để tính tổng các giá trị.

Tại ô F14 bạn hãy nhập công thức:

Công thức này đang tính tổng của cột dữ liệu thành tiền trên tổng số tiền mà các mặt hàng đã bán được.

Sau khi nhập công thức thì kết quả mà hàm trả về tại ô F14 sẽ là: 11.291.000. Kết quả cho ra hoàn toàn chính xác, nếu cần bạn có thể bấm lại bằng máy tính để kiểm tra.

Những giá trị nào thường được đưa vào hàm SUM để tính toán?

Các giá trị số và ngày tháng thường được đưa vào hàm SUM Excel. Tuy nhiên, giá trị logic và giá trị văn bản khác nhau nên cũng sẽ được xử lý với cách khác nhau. Tùy thuộc vào giá trị đó là giá trị được lưu giữ trong các ô của bảng tính hay được cung cấp trực tiếp cho hàm SUM.

Các lỗi thường gặp và cách khắc phục khi sử dụng hàm SUM trong Excel

Thống thường, nếu hàm SUM tham chiếu vào ô chứa có lỗi hiển thị là #VALUE! thì công thức sẽ trả về lỗi là #VALUE!. Lỗi này thường xảy ra khi bất kỳ đối số nào được cung cấp trực tiếp cho hàm SUM nhưng không thể diễn giải là các giá trị số.

Lưu ý: Nếu một vùng dữ liệu ô được cung cấp chứa những giá trị không thể diễn giải nó thành các giá trị số thì hàm SUM sẽ bỏ qua nó.

Cách khắc phục: Để khắc phục lỗi này thì bạn cần xây dựng một công thức bỏ qua vùng tham chiếu chứa lỗi để có thể tính trung bình các giá trị không chứa lỗi còn lại.

Để thực hiện theo cách này thì bạn cần sử dụng kết hợp hàm SUM với hàm IF và hàm IFERROR từ đó xác định xem có xuất hiện lỗi trong vùng tham chiếu cụ thể hay không. Cách này sẽ sử dụng công thức là:

=SUM(IF(ISERROR(B2:D2),””,B2:D2))

Tuy nhiên đây là công thức mảng (array) nên bạn cần phải nhập bằng cách nhấn các phím CTRL + SHIFT + ENTER. Sau đó Excel sẽ tự động đóng công thức lại trong dấu {}. Nếu bạn thử nhập các công thức này tự động thì trên bảng tính Excel hiển thị công thức dưới dạng văn bản.

Với cách trên thì ngoài việc khắc phục lỗi #VALUE! thì bạn còn có thể sử dụng để khắc phục lỗi #N/A, #NULL, #p/0! và một số lỗi khác nữa.

Lỗi SUM hiển thị chữ và không trả kết quả

Với lỗi này chúng ta cần kiểm tra lại định dạng của cột.

Để khắc phục, bạn hãy vào Format và chọn Number và lựa chọn định dạng mình muốn. Nếu sau khi đã lựa chọn lại định dạng mà ô hiển thị chữ vẫn không thay đổi thì hãy nhấn F2 và ENTER.

Khi xảy ra lỗi này bạn cần chắc chắn rằng Calculation đang được đặt ở chế độ Automatic. Để kiểm tra trước tiên bạn vào mục Formula và chọn tùy chỉnh Calculation. Cuối cùng nhấn F9 để trang tự động cập nhật là được.

Lỗi này thường xuất hiện khi có lỗi chính tả. Vì vậy để khắc phục thì bạn chỉ cần kiểm tra lại công thức đã nhập.

Một vài giá trị không thể sử dụng trong hàm SUM

Thông thường chỉ có giá trị hoặc dãy chứa số mới được đặt ở bên trong hàm. Vậy nên những ô trống, hàm logic hoặc các chữ đều sẽ bị loại bỏ.

Như vậy thông qua những chia sẻ tại bài viết này về hàm SUM trong Excel chắc hẳn bạn đọc cũng đã nắm được phần kiến thức này rồi phải không. Hy vọng các thông tin chia sẻ tại bài viết này sẽ giúp bạn đọc sử dụng thành thạo hàm SUM trong Excel hơn.

Những Kiến Thức Cơ Bản Nhất Mà Bất Cứ Lập Trình Viên Nào Cũng Phải Biết Về Encoding Và Character Set (Phần 1)

Chắc rằng tất cả mọi người đều biết về điều này ở một mức độ nào đó, nhưng không hiểu sao những kiến thức đó lại bị mất đi trong các cuộc tranh luận về văn bản, nên đầu tiên hãy nhắc lại một chút: Máy tính không thể nào lưu trữ được “chữ”, “số”, “ảnh”, hay bất cứ thứ gì khác. Thứ duy nhất mà nó có thể lưu được và làm việc cùng đó là bit. Một bit chỉ có thể có 2 giá trị: có hoặc không, đúng hoặc sai, 1 hoặc 0, bạn thích gọi theo cách nào cũng được. Vì máy tính hoạt động bằng điện, một bit thực chất có thể được thể hiện bằng điện áp, xung hiện tại hoặc trạng thái điện của mạch flip-flop. Đối với con người, bit thường được biểu thị bằng 1 và 0 nên hãy coi đây là quy ước trong suốt bài viết này.

Để dùng bit để thể hiện cho bất cứ thứ gì, chúng ta cần các quy tắc. Chúng ta cần phải chuyển đổi một chuỗi các bit thành thứ gì đó như chữ, số và ảnh bằng cách sử dụng một encoding scheme (lược đồ mã hóa), hoặc gọi tắt là encoding. Như thế này:

01100010 01101001 01110100 01110011 b i t s

Trong encoding này, 01100010 đại diện cho chữ “b”, 01101001 cho chữ “i”, 01110100 cho chữ “t” và 01110011 cho chữ “s”. Một chuỗi các bit nhất định sẽ đại diện cho một chữ và một chữ sẽ đại diện cho một chuỗi các bit nhất định. Nếu bạn có trí nhớ tốt để nhớ được chuỗi bit cho 26 chữ thì bạn có thể đọc bit như đọc sách vậy.

Có tổng cộng 95 ký tự có thể đọc được quy định trong bảng ASCII, bao gồm chữ từ A đến Z ở trạng thái thường và in hoa, số từ 0 đến 9, một số dấu chấm câu và các ký tự như đồng đô la, dấu chấm than và một vài thứ khác. Nó cũng bao gồm 33 giá trị cho một số thứ như dấu cách, dấu xuống dòng, tab, backspace,… Những thứ này tất nhiên không thể in ra được, nhưng cũng vẫn hữu hình ở một số dạng và có ích trực tiếp với con người. Một vài giá trị thì chỉ có ích với máy tính, như mã để đánh dấu bắt đầu và kết thúc của văn bản. Tộng cộng có 128 ký tự được định nghĩa trong encoding ASCII, đó là một con số đẹp (với những người quen thuộc với máy tính), bởi vì nó sử dụng hết tất cả các kết hợp có thể của 7 bit ( 0000000 cho đến 1111111).

Và giờ thì chúng ta đã có cách để thể hiện văn bản chỉ bằng việc sử dụng 1 và 0:

01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100 01100100 "Hello World"

Để encode một thứ gì đó bằng ASCII, làm theo bảng từ phải qua trái, thay thế các chữ bằng các bit. Để decode một chuỗi các bit thành các ký tự có thể đọc được, làm theo bảng từ trái qua phải, thay thế các bit bằng chữ.

Encode nghĩa là sử dụng một thứ gì đó để thể hiện cho một thứ khác. encoding là một tập hợp các quy tắc để thực hiện việc chuyển đổi đó.

Một số thuật ngữ khác cần được làm rõ trong ngữ cảnh này:

character set, charset

Tập hợp các ký tự có thể được encode. “Mã hóa ASCII bao gồm một bộ ký tự gồm 128 ký tự.” Về cơ bản thì đồng nghĩa với “encoding”.

code page

Một “trang” các mã để liên kết các ký tự với một chuỗi các bit tương ứng. Cũng có thể hiểu là một “bảng”. Về cơ bản thì đồng nghĩa với “encoding”.

string

Một string là một số các thành phần được xâu lại với nhau. Một chuỗi bit là một loạt các bit, như 01010011. Một chuỗi ký tự là một loạt các ký tự, như thế này. Đồng nghĩa với “sequence”.

Sau khi đã nắm rõ những ý trên rồi thì cùng thú thật với nhau nào: 95 ký tự là quá ít khi chúng ta nói về các ngôn ngữ. Nó có thể áp dụng cho tiếng Anh cơ bản, nhưng sẽ thế nào nếu chúng ta muốn viết một risqué letter (thư báo rủi ro) bằng tiếng Pháp? Straßen­übergangs­änderungs­gesetz (luật đường bộ) trong tiếng Đức? Một lời mời đến tiệc smörgåsbord (tiệc đứng) bằng tiếng Thụy Điển? Ờm, bạn không thể. Không thể bằng ASCII. Không có một chỉ dẫn nào cho việc thể hiện các chữ như é, ß, ü, ä, ö or å trong ASCII, nên chúng ta không thể dùng nó được.

Và cũng đừng quên tiếng Nga, tiếng Ấn Độ, tiếng Ả Rập, tiếng Do Thái, tiếng Hàn và hàng ngàn ngôn ngữ khác đang được dùng trên trái đất. Chưa kể các ngôn ngữ đã không còn được dùng nữa. Một khi bạn đã giải được bài toán làm thế nào để viết nhiều ngôn ngữ trong cùng một văn bản với các thứ tiếng trên, hãy thử thách bản thân bằng tiếng Trung. Hoặc tiếng Nhật. Cả 2 ngôn ngữ này chứa cả chục nghìn ký tự. Bạn có tối đa 256 giá trị trong một byte chứa 8 bit. Triển!

Để tạo ra một bảng liên kết các ký tự với chữ cái cho một ngôn ngữ có nhiều hơn 256 ký tự, một byte đơn giản là không đủ. Với 2 byte (16 bit), chúng ta có thể mã hóa tới 65,536 ký tự khác nhau. BIG-5 là một encoding sử dụng cách đó. Thay vì tách một chuỗi các bit thành block 8, nó tách thành block 16 và có một cái bảng khổng lồ (ý tôi là, KHỔNG LỒ) quy định việc ký tự nào thì liên kết cùng chuỗi bit nào. BIG-5 ở thể đơn giản nhất đã xử lý hầu hết các ký tự của tiếng Trung phồn thể. GB18030 là một encoding khác cũng có cách tiếp cận tương tự, nhưng nó bao gồm cả tiếng Trung giản thể và phồn thể luôn. Và trước khi bạn hỏi, thì đúng vậy, có cả các encoding khác chỉ dành cho tiếng Trung giản thể thôi. Tôi chỉ muốn dùng 1 encoding thôi mà cũng khó khăn thế sao?

GB18030 xử lý một lượng lớn các ký tự (bao gồm cả phần lớn các ký tự La tinh), tuy nhiên cuối cùng thì nó cũng chỉ là một định dạng mã hóa chuyên biệt trong hàng hà sa số các cái khác thôi.

Cuối cùng thì cũng có người chịu hết nổi và đã đứng lên tạo ra một chuẩn mã hóa để hợp nhất tất cả các chuẩn khác. Chuẩn này được gọi là Unicode. Về cơ bản nó định nghĩa một bảng lớn cực đại với 1,114,112 các code point có thể được dùng cho mọi loại chữ cái và biểu tượng. Nó thừa đủ để mã hóa toàn bộ tiếng châu Âu, Trung Đông, Viễn Đông, miền Nam, miền Bắc, miền Tây, tiền sử và cả các ngôn ngữ tương lai mà con người chưa nghĩ ra. Sử dụng Unicode, bạn có thể soạn văn bản chứa gần như mọi ngôn ngữ bằng mọi ký tự mà bạn có thể gõ ra. Điều này hoặc là bất khả thi hoặc rất rất khó để thực hiện trước khi Unicode ra đời. Thậm chí còn có một mục không chính thức dành cho tiếng Klingon (Star Trek) trong Unicode. Bạn thấy đó, Unicode lớn đến nỗi nó cũng cho phép dùng vào mục đích cá nhân luôn.

Vậy thì Unicode sử dụng bao nhiêu bit để mã hóa tất cả các ký tự đó? 0. Bởi vì Unicode không phải một loại mã hóa (encoding).

Bối rối? Nhiều người có vẻ như vậy. Đầu tiên, Unicode định nghĩa ra một bảng chứa các code point cho các ký tự. Nghe có vẻ nguy hiểm vậy thôi, nó cũng như là nói “65 đại diện cho A, 66 cho B và 9,731 cho ☃” (thật đấy). Làm thế nào mà những code point này được mã hóa thành bit thì lại là một câu chuyện khác. Để chứa 1,114,112 giá trị khác nhau, 2 byte là không đủ. 3 byte thì đủ, nhưng chả ai dùng 3 byte cả, nên cuối cùng 4 byte đã được chọn. Nhưng, trừ khi bạn dùng tiếng Trung hoặc các thứ tiếng khác với một lượng lớn các ký tự mà cần nhiều bit để mã hóa, bạn sẽ chẳng bao giờ dùng hết phần lớn 4 byte đó cả. Nếu chữ “A” luôn được mã hóa thành 00000000 00000000 00000000 01000001, “B” thì thành 00000000 00000000 00000000 01000010,.. mọi văn bản sẽ có kích thước tăng lên 4 lần so với kích thước thực.

Để tối ưu hóa vấn đề này, có rất nhiều cách để mã hóa code point thành bit. UTF-32 là một encoding có tác dụng mã hóa mọi code point sử dụng 32 bit. Nghĩa là, 4 byte trên một ký tự. Nó rất đơn giản, nhưng thường thì chiếm kích thước quá lớn. UTF-16 và UTF-8 là 2 loại mã hóa đa chiều dài. Nếu một ký tự có thể được mã hóa bằng 1 byte (bởi vì code point của nó là một số rất nhỏ), UTF-8 sẽ mã hóa nó bằng 1 byte. Nếu ký tự cần tới 2 byte, nó sẽ mã hóa bằng 2 byte, vân vân. Khi giải mã (decode), byte đầu tiên trong chuỗi sẽ được sử dụng để xác định số byte cấu tạo thành ký tự, cụ thể:

Việc sử dụng bit có trọng số cao nhất (MSB) làm tín hiệu thông báo độ dài chuỗi có thể giúp giảm hao tốn bộ nhớ, nhưng vẫn sẽ tốn kém nếu được dùng quá thường xuyên. UTF-16 thì cân bằng hơn, dùng ít nhất 2 byte, sẽ tăng lên đến 4 byte nếu cần.

Và đó là tất cả về Unicode. Unicode là một bảng lớn với mục đích liên kết các ký tự với các số và các loại mã hoá UTF khác nhau thì chỉ định cách thức mà những số này được mã hoá thành bit. Về cơ bản, Unicode cũng chỉ là một trong các encoding scheme và không có gì đặc biệt về nó ngoại trừ việc nó cố gắng để xử lý mọi thứ trong khi vẫn hoạt động một cách hiệu quả mà thôi. Và đó là một điều rất tốt.™

Các ký tự được thể hiện thông qua “code point” của nó. Code point được viết dưới hệ thập lục phân (để làm cho nó ngắn hơn), được bắt đầu bằng “U+” (không có ý nghĩa gì ngoài việc ám chỉ đây là một code point của Unicode). Ví dụ, ký tự Ḁ có code point là U+1E00. Theo cách nói khác, nó là ký tự số 7680 của bảng Unicode. Tên gọi chính thức của nó là “LATIN CAPITAL LETTER A WITH RING BELOW” (Chữ la tinh viết hoa A với vòng tròn ở dưới).

Một chút tóm tắt các ý trên: Mọi ký tự có thể được mã hoá thành nhiều chuỗi bit khác nhau và bất chứ chuỗi bit nào cũng có thể thể hiện các ký tự khác nhau, tuỳ thuộc vào loại mã hoá nào được dùng để viết chúng ra. Lí do đơn giản chỉ vì các mã hoá khác nhau thì sử dụng số bit khác nhau với mỗi ký tự và các giá trị khác nhau thì thể hiện các ký tự khác nhau.

(Hết phần 1)

Bài viết được dịch từ What Every Programmer Absolutely, Positively Needs To Know About Encodings And Character Sets To Work With Text.

Có tham khảo và chỉnh sửa thêm từ các nguồn:

All Rights Reserved

Tổng Hợp Các Hàm Trong Excel Cơ Bản

Hàm SUM chính là một trong số các hàm cơ bản trong excel. Sẽ cho phép người dùng tính tổng giá trị của những ô đã được chọn.

Cú pháp của hàm tính tổng SUM như sau: =SUM(Number1, Number2..)

Ví dụ: Khi các bạn muốn tính tổng điểm của 3 môn học trong học kỳ vừa rồi.

Hàm điều kiện IF được sử dụng đối với trường hợp người dùng muốn lọc ra những giá trị nằm trong bảng tính Excel. Hàm điều kiện IF sẽ giúp các bạn thực hiện được công việc này một cách dễ dàng.

Cú pháp của hàm điều kiện IF như sau: IF (điều kiện, giá trị 1, giá trị 2)

Ví dụ: Để biết được thí sinh nào đã thi đỗ hay thí sinh nào chưa đạt. Các bạn hãy sử dụng đến hàm điều kiện IF. Được thực hiện với công thức như sau:

Khi các bạn gõ vào đúng công thức này thì kết quả sẽ xuất hiện nay.

3. Hàm lấy ký tự bên trái (LEFT)

Hàm LEFT cũng là một trong các hàm trong Excel 2010 được sử dụng phổ biến. Là một hàm lấy chuỗi giá trị ở vị trí bên trái của các ký tự. Các bạn sẽ được phép lấy 2, 3 hoặc có thể nhiều ký tự thuộc ký tự đó.

Cú pháp của hàm lấy ký tự bên trái như sau:

Text chính là chuỗi ký tự.

n: là số ký tự mà các bạn muốn lấy ra từ chuỗi ký tự. (thường thì giá trị mặc định của n sẽ là 1).

Ví dụ: Khi các bạn muốn lấy ra trong chuỗi ký tự ho tên của học sinh 2 ký tự đầu tiên. Các bạn hãy nhập vào hàm left với cú pháp như sau:

=LEFT(B5,2)

Ngay sau đó, bạn sẽ nhận được kết quả là 2 ký tự đầu tiên như hình bên dưới:

4. Hàm lấy ký tự bên phải (RIGHT)

Sẽ hoàn toàn trái ngược so với Hàm lấy ký tự bên trái (LEFT) ở trên. Đối với hàm RIGHT, sẽ hỗ trợ cho các bạn khi lấy ra một chuỗi giá trị nằm phía bên phải của một chuỗi ký tự. Bên cạnh đó, bạn còn có khả năng lấy ra nhiều hơn 1 ký tự phía bên phải của chuỗi ký tự đó.

Cú pháp của hàm lấy ký tự bên phải (RIGHT) như sau: =RIGHT(text, n)

– Trong đó:

Text sẽ là chuỗi ký tự.

n là số ký tự mà các bạn cần lấy ra từ chuỗi ký tự. (thường thì giá trị mặc định của n sẽ là 1)

Ví dụ: Khi các bạn muốn lấy ra 2 ký tự nằm phía bên phải của họ tên của các bạn Học sinh. Bạn chỉ cần nhập chính xác vào cú pháp như sau:

=RIGHT(B5,2)

Ngay sau đó, kết quả mà các bạn nhận được là 2 ký tự đầu tiên đúng như hình bên dưới:

Hàm MIN được sử dụng khi người dùng muốn tìm ra giá trị nhỏ nhất đối với những ô hay vùng đang được chọn.

Cú pháp của hàm MIN như sau: =MIN(Vùng chứa dữ liệu dưới dạng kiểu số)

Ví dụ: Khi các bạn muốn biết điểm trung bình thấp nhất của những bạn học sinh trong lớp là ai?

6. Hàm MAX (Hàm tìm giá trị lớn nhất)

Hàm MAX được sử dụng khi người dùng muốn tìm ra giá trị lớn nhất đối với những ô hay vùng đang được chọn.

Cú pháp của hàm MAX như sau: =MAX(Vùng chứa dữ liệu dưới dạng kiểu số)

Ví dụ: Khi các bạn muốn biết được tổng điểm cao nhất của những bạn học sinh trong lớp thông qua cách sử dụng các hàm trong Excel.

7. Hàm tính giá trị trung bình AVERAGE

Hàm tính giá trị trung bình AVERAGE là một trong số các hàm thường dùng trong excel. Hàm AVERAGE sẽ cho phép các bạn thực hiện quá trình tính giá trị trung bình của những ô hay vùng đang được chọn. Khi sử dụng các loại hàm trong excel AVERAGE, các bạn sẽ được thực hiện điều này một cách đơn giản nhất.

Cú pháp của hàm tính giá trị trung bình trong Excel như sau: =AVERAGE(Number1, Number2..)

Ví dụ: Khi các bạn muốn tính số điểm trung bình của các bạn học sinh trong lớp. Tất cả các hàm trong excel như hàm average sẽ giúp các bạn thực hiện tốt nhất.

8. Hàm cắt các khoảng trống TRIM

Khi tổng hợp các hàm trong excel hay nhất hiện nay, chúng ta không thể không nhắc đến hàm TRIM. Là một hàm hỗ trợ người dùng loại bỏ khoảng trống nằm giữa những ký tự thuộc trong chuỗi ký tự. Giữa các ký tự chỉ còn lại duy nhất một khoảng trống ứng với một dấu cách. Vì vậy, với những chuỗi ký tự đang có các khoảng trống, cách dùng các hàm trong excel với hàm TRIM sẽ vô cùng hữu ích.

Cú pháp của hàm TRIM như sau:

Trong đó: Text sẽ là chuỗi ký tự có chứa khoảng trắng mà các bạn đang muốn loại bỏ

Ví dụ: Tại cột Họ tên của các bạn học sinh, có chứa khoảng trống rất nhiều giữa các ký tự. Để có thể loại bỏ đi những khoảng trống đó. Các bạn chỉ cần nhập vào cú pháp =TRIM(B5). Ngay sau đó, kết quả sẽ hiển thị như hình bên dưới:

9. Các hàm trong excel cơ bản – Hàm nối chuỗi CONCATENATE

Hàm CONCATENATE thuộc trong danh sách các hàm cơ bản của Excel. Đây là một hàm nối các chuỗi ký tự lại với nhau trong bảng tính excel. Để có thể sử dụng hàm CONCATENATE này, các bạn không cần phải thực hiện thủ công ghép lại những chuỗi từ đó lại với nhau. Bạn chỉ cần nhập vào cú pháp như sau:

Cú pháp của hàm nối chuỗi CONCATENATE: =CONCATENATE (text 1, text 2, …) Trong đó:

Text 1 chính là chuỗi ký tự thứ 1 (là chuỗi ký tự bắt buộc)

Text 2 …: là chuỗi ký tự tùy chọn, sẽ cho phép tối đa là 255 chuỗi. Các chuỗi ký tự phải được tách rời nhau bằng dấu phẩy

Ví dụ: Khi các bạn muốn ghi chú lại xem các bạn sinh viên có tổng số điểm là bao nhiêu? Bạn hãy sử dụng đến cú pháp như sau:

=CONCATENATE(B5,” có tổng điểm là “,G5).

Để biết được kết quả như thế nào, bạn sử dụng con chuột trỏ vào I5 rồi bắt đầu kéo xuống dưới. Như vậy, các kết quả sẽ lần lượt được hiển thị khi sử dụng các hàm trong excel 2013 Concatenate.

10. Hàm đếm dữ liệu kiểu số COUNT

Hàm COUNT là một trong số các hàm đếm trong Excel cơ bản nhất. Với chức năng hỗ trợ người dùng đếm dữ liệu một cách nhanh chóng. Khi sử dụng đến hàm đếm dữ liệu Count, các bạn sẽ dễ dàng đếm được về số dữ liệu dưới dạng kiểu số tại bảng excel đơn giản.

Cú pháp của hàm đếm dữ liệu kiểu số COUNT như sau: =COUNT(Vùng chứa dữ liệu kiểu số cần đếm)

11. Hàm đếm các ô có chứa dữ liệu COUNTA

Hàm COUNTA là một hàm cơ bản và rất cần thiết khi học các hàm trong Excel hiện nay. Với chức năng vô cùng nổi bật là đếm các ô có chứa dữ liệu nhanh chóng.

Cú pháp của hàm đếm các ô có chứa dữ liệu COUNTA như sau: =COUNTA(Vùng có chứa dữ liệu đang cần đếm)

12. Hàm đếm chiều dài của chuỗi ký tự LEN

Hàm LEN là một trong các hàm hay dùng trong Excel không còn quá xa lạ với người dùng. Là một hàm đếm chiều dài của chuỗi ký tự với chức năng cho người dùng biết được chiều dài của chuỗi ký tự là bao nhiêu. Khi bạn nhập đúng cú pháp hàm LEN vào. Ngay lập tức sẽ được trả về một giá trị cho biết là chuỗi ký tự đó có độ dài là bao nhiêu. Tính bao gồm cả các ký tự khoảng trống trong chuỗi ký tự.

Cú pháp của hàm đếm chiều dài chuỗi ký tự như sau:

Text chính là chuỗi ký tự mà người dùng muốn biết chiều dài

Ví dụ: Khi các bạn muốn biết được số ký tự tại ô B1 là bao nhiêu? Bạn nhập vào cú pháp =LEN(B5). Sau đó, kết quả sẽ hiển thị như hình bên dưới. Nếu bạn muốn đếm ở những ô tiếp theo, các bạn chỉ cần nhấn giữ chuột ở I5 rồi bắt đầu di chuyển xuống dưới.

13. Sử dụng hàm trong Excel NOW – Hàm hiển thị thời gian hiện tại trên hệ thống

Hàm NOW chính là hàm được sử dụng hàm trong excel khi muốn hiển thị ngày tháng hiện tại ở trên hệ thống.

Cú pháp của Hàm hiển thị thời gian hiện tại trên hệ thống như sau: =NOW ()

14. Hàm SUMIF – Hàm tính tổng các ô có điều kiện trong Excel

Hàm SUMIF là một trong các hàm trong excel nâng cao được nhiều người sử dụng. Sẽ cho phép người dùng tính tổng tại những ô hay những vùng có giá trị đã thỏa mãn với điều kiện đã đặt ra.

Cú pháp của hàm SUMIF như sau: =SUMIF(Range, Criteria, Sum_range)

Trong đó:

Range: là những ô chứa điều kiện

Criteria là điều kiện

Sum_range chính là những ô cần được tính tổng

Ví dụ: Hàm SUMIF được sử dụng khi các bạn muốn tính tổng điểm môn Văn của những bạn Nam trong lớp. Thông qua các hàm trong excel và ví dụ là hàm SUMIF, các bạn sẽ được tính một cách đơn giản nhất.

15. Hàm COUNTIF – Hàm đếm dữ liệu có điều kiện

Hàm COUNTIF là một hàm cơ bản trong Excel với chức năng đếm những ô đã thỏa mãn điều kiện đặt ra.

Cú pháp của hàm COUNTIF như sau: =COUNTIF(Vùng có chứa dữ liệu đang cần đếm, điều kiện)

Ví dụ: Khi các bạn muốn đếm những ô đã thỏa mãn giá trị = 6 tại cột điểm Văn của các bạn học sinh.

16. Hàm COUNTBLANK – Hàm đếm dữ liệu rỗng

Hàm COUNTBLANK cũng là một trong những hàm excel cơ bản hiện nay. Hàm này có chức năng hỗ trợ người dùng đếm số tại những ô không có giá trị hay là dữ liệu rỗng.

Bạn đang xem bài viết Toàn Bộ Kiến Thức Cơ Bản Về C++ – Nguyễn Công Trình Tổng Hợp trên website Trucbachconcert.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!