C++ – Sửa Máy Nhanh https://suamaynhanh.vn/danh-muc-phan-mem/lap-trinh-c/ Miễn phí hướng dẫn sửa chữa, tháo lắp các thiết bị và cài đặt phần mềm. Sun, 15 Oct 2023 17:23:21 +0000 vi hourly 1 https://wordpress.org/?v=6.1.6 https://suamaynhanh.vn/wp-content/uploads/2018/06/cropped-cropped-cropped-ifix-logo-horiz-32x32.png C++ – Sửa Máy Nhanh https://suamaynhanh.vn/danh-muc-phan-mem/lap-trinh-c/ 32 32 Kiểu tập tin(file) C++ sử dụng trong CodeBlocks https://suamaynhanh.vn/phan-mem/kieu-tap-tinfile-c-su-dung-trong-codeblocks/ https://suamaynhanh.vn/phan-mem/kieu-tap-tinfile-c-su-dung-trong-codeblocks/#respond Tue, 22 Mar 2022 14:13:45 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=29022 Tải và tìm hiểu về CodeBlocks ấn ==> vào đây. Các bài hướng dẫn về ngôn ngữ C++ ấn ==> vào …

The post Kiểu tập tin(file) C++ sử dụng trong CodeBlocks appeared first on Sửa Máy Nhanh.

]]>
Tải và tìm hiểu về CodeBlocks ấn ==> vào đây.

Các bài hướng dẫn về ngôn ngữ C++ ấn ==> vào đây.

Các bài hướng dẫn về các ngôn ngữ lập trình khác ấn ==> vào đây.

Kiểu tập tin (file)

Để sử dụng một file dữ liệu, đầu tiên chúng ta cần tạo ra chúng.

Các bước thực hiện:

  1. Mở tập tin.
  2. Thực hiện các thao tác đọc, ghi dữ liệu trong nội dung của tập tin đang mở.
  3. Đóng tập tin.

Cách đọc ghi file TEXT DOCUMENTS (TXT).

Các dòng lệnh đọc và ghi dữ liệu lúc viết chương trình:

Mở file để đọc dữ liệu:

  freopen(“input.txt”, “r”, stdin);

// lúc bấy giờ file “input.txt” là dòng nhập chuẩn  “cin”

Đóng file đọc dữ liệu:

  fclose(stdin);

Mở file để ghi dữ liệu:

freopen(“ouput.txt”, “w”, stdout);// “w” tạo file mới; “a” mở file đã có và ghi tiếp theo.

// lúc bấy giờ file “output.txt” là dòng xuất chuẩn “cout”

Đóng file ghi dữ liệu:

  fclose(stdout);

Cách thêm tập tin text documents trong CodeBlocks:

Đầu tiên, bạn ấn chuột phải vào tên project dưới Workspace.Sau đó, chọn Add files.

Nó sẽ hiện ra thư mục chứa tập tin project của bạn.Sau đó, ấn chuột phải chọn New và chọn Text Document.

Nhập tên tệp text vào. (Chú ý: phải nhập tên tệp trùng với tên thư viện trong câu lệnh đọc và ghi dữ liệu thì sau khi chạy chương trình tệp text mới hoạt động theo chương trình chúng ta đã viết.).

Chọn Open hiện ra cửa sổ như hình bên dưới ta chọn OK.

Sau đó file text sẽ hiện ở thư mục Others.Khi bạn ấn chuột vào file nó sẽ hiện ra của sổ như hình bên dưới bạn ấn chọn Open it with the associated application để khi kích chuột vào file nó sẽ hiện thị file trong giao diện Notepad.

Một số ví dụ

+) Viết chương trình tạo một tập tin có tên output.txt và ghi thông tin Họ và tên của bạn vào tập tin đó.

(Ấn giữ Ctrl và lăn chuột để chỉnh font chữ)

Giao diện sau khi chạy:

Nhập vào dữ liệu cần nhập và ấn enter chương trình sẽ kết thúc chạy. Dữ liệu sẽ được lưu vào file text output.txt.

+) Một ví dụ khác để hiểu rõ hơn: Viết chương trình nhập các số ngẫu nhiên vào file input.txt và in ra các số chính phương từ file output.txt.

Sau khi chạy chương trình dữ liệu ta nhập vào file input.txt thì kết quả sẽ được lưu ở file output.txt.

Ấn vào file input.txt nhập các số ngẫu nhiên và Ctrl+S để lưu lại.

Thì theo đề bài các số chính phương sẽ được lưu lại ở file output.txt.

Và đó là những gì về kiểu tập tin (file) ngôn ngữ C++ được sử dụng thông qua phần mềm CodeBlocks.

Cảm ơn bạn đã theo dõi hết bài viết và tin tưởng vào suamaynhanh.vn. Nếu bạn hài lòng về bài viết cho mình xin 1 đánh giá 5* và 1 <3.Đó là động lức lớn để mình hoàn thành tốt hơn trong những bài viết tiếp theo ạ.

 

 

 

The post Kiểu tập tin(file) C++ sử dụng trong CodeBlocks appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/kieu-tap-tinfile-c-su-dung-trong-codeblocks/feed/ 0
Truyền mảng vào hàm https://suamaynhanh.vn/phan-mem/truyen-mang-vao-ham-2/ https://suamaynhanh.vn/phan-mem/truyen-mang-vao-ham-2/#respond Fri, 27 Mar 2020 15:37:59 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15217 Các bạn thân mến! Ở các bài trước chúng ta đã tìm hiểu cách gọi hàm, các tham số của hàm …

The post Truyền mảng vào hàm appeared first on Sửa Máy Nhanh.

]]>
Các bạn thân mến! Ở các bài trước chúng ta đã tìm hiểu cách gọi hàm, các tham số của hàm là những biến có kiểu dữ liệu đơn giản như int, float, double… Trong bài học hôm nay chúng ta cùng tìm hiểu tham số của hàm là mảng (Array).

Vậy tham số của hàm là mảng thì có gì khác so với các tham số có các kiểu dữ liệu khác trong C++. Chúng ta sẽ cùng tìm hiểu trong nội dung sau đây nhé.

1. Truyền mảng vào hàm

Trong C++ không cho phép truyền toàn bộ mảng như là tham số của hàm, Tuy nhiên, Chúng ta có thể truyền một con trỏ tới một mảng bằng cách chỉ đưa tên của mảng vào hàm.

Cú pháp

Cú pháp của việc truyền mảng vào hàm trong C++ như sau:

Cách 1: Khai báo tham số hình thức của hàm như là con trỏ

Cú pháp
1
2
3
4
KieuDuLieu TenHam(KieuDuLieu *TenMang) {
   .
   .
}

Cách 2: Khai báo tham số hình thức của hàm như là mảng có kích cở cụ thể

Cú pháp
1
2
3
4
KieuDuLieu TenHam(KieuDuLieu TenMang[KichCo]) {
   .
   .
}

Cách 3: Khai báo tham số hình thức của hàm như là mảng không có kích cở

Cú pháp
1
2
3
4
KieuDuLieu TenHam(KieuDuLieu TenMang[]) {
   .
   .
}

Ví dụ

Chúng ta cùng xem một số ví dụ sau có sử dụng mảng như là tham số của hàm.

Ví dụ 1: Hiển thị tất các phần tử mảng ra màn hình

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream> 
using namespace std;
void HienThi(int arr[10])  { 
    cout << "Cac phan tu cua mang: " << endl; 
    for (int i = 0; i < 10; i++)  { 
        cout << "   arr[" << i << "] = " << arr[i] << endl;   
    
}  
int main()  { 
    int arr[10] = { 1, 2, 5, 3, 1, 4, 7, 8, 9, 9 };   
    HienThi(arr); 
    return 0;
}

Và kết quả sau khi thực thi đoạn code trên như sau:

Ví dụ 2: Hiển thị số nhỏ nhất và số lớn nhất trong mảng

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream> 
using namespace std; 
void TimPTNhoNhat(int arr[10])  { 
    int min = arr[0];   
    for (int i = 0; i < 10; i++)  {   
        if (min > arr[i])  {   
            min = arr[i];   
        }   
    }   
    cout << "Phan tu nho nhat la: " << min << endl;   
void TimPTLonNhat(int arr[10])  { 
    int max = arr[0];   
    for (int i = 0; i < 10; i++) {   
        if (max < arr[i])  {   
            max = arr[i];   
        }   
    }   
    cout << "Phan tu lon nhat la: " << max << endl;   
}
void HienThi(int arr[10])  { 
    cout << "arr = { "
    for (int i = 0; i < 9; i++)  { 
        cout << arr[i] << ", ";   
    }
    
    cout << arr[9] << " }";
}
int main() { 
   int arr[10] = { 6, 1, 5, 2, 6, 6, 3, 8, 9, 2 };   
   HienThi(arr);
   cout << endl;
   TimPTNhoNhat(arr);
   TimPTLonNhat(arr);
   return 0;
}

Và kết quả sau khi thực thi đoạn code trên như sau:

Ví dụ 3: Tính giá trị trung bình của các phần tử trong mảng

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
using namespace std;
double TinhGiaTriTB(int arr[], int kichco) {
   int i, tong = 0;      
   double trungbinh;         
   for (i = 0; i < kichco; i++) {
      tong += arr[i];
   }
   trungbinh = double(tong) / kichco;
   return trungbinh;
}
int main () {
   int arr[10] = {1, 2, 3, 5, 7, 6, 1, 4, 9, 9};
   double trungbinh;
   trungbinh = TinhGiaTriTB(arr, 10) ;
   cout << "Gia tri trung binh la: " << trungbinh << endl;
    
   return 0;
}

Và kết quả sau khi thực thi đoạn code trên:

Ví dụ 4: In mảng 2 chiều ra màn hình

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
void HienThi(int n[5][2]) {
    cout << "In mang 2 chieu dang mang 1 chieu: " << endl;
    for(int i = 0;  i < 5; ++i) {
        for(int j = 0; j < 2; ++j) {
            cout << n[i][j] << " ";
        }
    }
    cout << "\n\nIn mang 2 chieu dang ma tran: " << endl;
    for(int i = 0;  i < 5; ++i) {
        for(int j = 0; j < 2; ++j) {
            cout << n[i][j] << " ";
        }
        cout << endl;
    }
}
  
int main()
{
    int arr[5][2] = {
        {1, 8},
        {2, 1},
        {4, 4},
        {2, 4},
        {1, 6}
    };
    HienThi(arr);
    return 0;
}

Và kết quả sau khi thực thi đoạn code trên như sau:

2. Kết luận

Như vậy chúng ta đã cùng tìm hiểu xong bài học về truyền mảng vào hàm. Việc sử dụng mảng như là tham số của hàm thì cũng không khác gì với việc sử dụng các biến như các bài học khác phải không các bạn.

Ở bài học này chúng ta cần ghì nhớ 3 cách để truyền mảng vào hàm đó là tham số hình thức như là con trỏ, tham số hình thức như là mảng có kích cở cụ thể, tham số hình thức như là mảng không có kích cở. Các bạn sử dụng cách nào cũng được tùy vào bản thân của mọi người.

Vậy mình sẽ kết thúc bài học này ở đây nhé. Cảm ơn các bạn đã theo dõi bài viết này.

Theo:freetuts.net

 

 

The post Truyền mảng vào hàm appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/truyen-mang-vao-ham-2/feed/ 0
Hàm đệ quy trong C++ https://suamaynhanh.vn/phan-mem/ham-de-quy-trong-c-2/ https://suamaynhanh.vn/phan-mem/ham-de-quy-trong-c-2/#respond Fri, 27 Mar 2020 15:31:14 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15216 Trong bài học hôm nay chúng ta sẽ tìm hiểu về hàm đệ quy trong C++. Đây là nội dung mà …

The post Hàm đệ quy trong C++ appeared first on Sửa Máy Nhanh.

]]>
Trong bài học hôm nay chúng ta sẽ tìm hiểu về hàm đệ quy trong C++. Đây là nội dung mà mình nghĩ là tương đối khó đối với các bạn mới bắt đầu học lập trình. Vì vậy trong bài học hôm nay mình sẽ lấy ví dụ đơn giản nhất có sử dụng hàm đệ quy để cho các bạn có thể hiểu một cách dễ dàng nhất.

1. Hàm đệ quy trong C++

Trong C++ một hàm gọi chính nó ta gọi đó là hàm đệ quy.

Cú pháp

Cú pháp của hàm đệ quy trong C++ như sau:

Cú pháp
1
2
3
HamDeQuy(){   
      HamDeQuy();  //goi lai chinh no
}

Ví dụ

Chúng ta cùng xem một ví dụ đơn giản về hàm đệ quy trong C++ đó là tính giai thừa của một số nguyên. Trước khi giải bài toán tính giai thừa của một số nguyên trong C++ chúng ta cùng nhớ lại công thức tính giai thừa trong toán học trước đã nhé.

Theo định nghĩa giai thừa ta có:

  • 0! = 1
  • n! = 1.2.3…n

Vậy là ta đã có công thức tính giai thừa của một số nguyên rồi. Nếu n = 0 thì giai thừa bằng 1. Nếu n > 0 thì giai thừa sẽ là tích từ 1 đến n. Và không có giai thừa của số âm.

Trước khi đi vào giải bài toán trên bằng hàm đệ quy, mình sẽ giải bằng vòng lặp for trong C++ trước nhé.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream> 
using namespace std;
int main()  
{   
    int n;
    while(true) {
        int giaithua = 1;
        cout << "Nhap so n: ";
        cin >> n;
        
        //Nhap n nho hon 0 de thoat khoi vong lap
        if(n < 0) {
            cout << "  So am khong co giai thua" << endl;
            break;
        }
        
        if ( n > 0) {
            for(int i = 1; i <=n; i++) {
                giaithua = giaithua * i;
            }
        }
        cout << "  Giai thua cua " << n << " la: " << giaithua << endl;
    }
    return 0; 
}

Và kết quả sau khi thực thi chương trình trên như sau:

Như vậy để giải quyết bài toán giai thừa của một số bằng vòng lặp for trong C++ rất đơn giản phải không các bạn? Bây giờ mình sẽ giải bài toán giai thừa trên bằng hàm đệ quy trong C++ như sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream> 
using namespace std;
int GiaiThua(int n) {
    if (n == 1)
        return 1;
    else
        return (n * GiaiThua(n - 1));
}
int main()  
{   
    int n;
    while(true) {
        cout << "Nhap so n: ";
        cin >> n;
        //Nhap n nho hon 0 de thoat khoi vong lap
        if(n < 0) {
            cout << "  So am khong co giai thua" << endl;
            break;
        }
        cout << "  Giai thua cua " << n << " la: " << GiaiThua(n) << endl;
    }
    return 0; 
}

Và kết quả sau khi thực thi chương trình trên như sau:

Đối với các bạn mới bắt đầu học lập trình thì cách giải bài toán giai thừa trên bằng vòng lặp for sẽ dễ hiểu hơn rất nhiều so với việc giải bằng hàm đệ quy. Tuy nhiên, các bạn đừng quá lo lắng, mình sẽ giải thích đoạn code cho các bạn bạn dễ hiểu.

Giả sử mình nhập n = 5 thì chương trình trên sẽ chạy như sau:

GiaiThua(5) 
   GiaiThua(4) 
      GiaiThua(3) 
         GiaiThua(2) 
            GiaiThua(1) 
               return 1 
            return 2*1 = 2 
         return 3*2 = 6 
      return 4*6 = 24 
   return 5*24 = 120

Mục đích của hàm đệ quy là chia vấn đề thành các vấn đề nhỏ hơn cho đến khi đạt được điều kiện cơ bản.

Ví dụ trong chương trình giai thừa ở trên, chúng ta đang giải quyết hàm giai thừa GiaiThua(n) bằng cách gọi hàm giai thừa nhỏ hơn GiaiThua(n-1), điều này được lặp lại liên tục cho đến khi giá trị n đạt đến điều kiện cơ sở (GiaiThua(1) = 1).

Vậy điều kiện cơ sở là gì chúng ta cùng tìm hiểu trong nội dung tiếp theo nhé.

2. Điều kiện cơ sở

Trong hàm đệ quy chúng ta nên chỉ ra ít nhất một điều kiện để dừng đệ quy, ta gọi điều kiện đó là điều kiện cơ sở.

Như ở ví dụ trên, điều kiện cơ sở là:

1
2
if (n == 1)
        return 1;

Nếu hàm đệ quy không có điều kiện cơ sở để dừng đệ quy thì chương trình chúng ta sẽ lặp vô hạn. Vì vậy, muốn giải quyết một bài toán bằng hàm đệ quy mà các bạn không tìm ra được điều kiện dừng thì tốt nhất các bạn đừng bao giờ sử dụng hàm đệ quy nhé, nó chỉ làm cho chương trình chúng ta bị lập vô tận mà thôi.

3. Đệ quy trực tiếp và đệ quy gián tiếp

Đệ quy trực tiếp: Khi hàm gọi chính nó, nó được gọi là đệ quy trực tiếp, ví dụ chúng ta đã thấy ở trên là một ví dụ đệ quy trực tiếp.

Đệ quy gián tiếp: Khi hàm gọi hàm khác và hàm đó lại gọi lại hàm gọi, thì đây được gọi là đệ quy gián tiếp. Ví dụ: hàm A gọi hàm B và hàm B lại gọi lại hàm A.

Chúng ta cùng xem một ví dụ đơn giản về đệ quy gián tiếp như sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
using namespace std;
int GiaiThua1(int);
int GiaiThua2(int);
int GiaiThua1(int n){
   if(n==0)
      return 1;
   else
      return n*GiaiThua2(n-1);
}
int GiaiThua2(int n){
   if(n==0)
      return 1;
   else
      return n*GiaiThua1(n-1);
}
int main(){
    int n;
    while(true) {
        cout << "Nhap so n: ";
        cin >> n;
        //Nhap n nho hon 0 de thoat khoi vong lap
        if(n < 0) {
            cout << "  So am khong co giai thua" << endl;
            break;
        }
        cout << "  Giai thua cua " << n << " la: " << GiaiThua1(n) << endl;
    }
    return 0; 
}

Và kết quả sau khi thực thi đoạn code trên như sau:

Nhìn chương trình rất là rất rối, các bạn hạn chế sử dụng đệ quy gián tiếp kiểu cũng như đệ quy trực tiếp nhé.

4. Kết luận

Vậy là trong bài học hôm nay chúng ta đã tìm hiểu xong về hàm đệ quy trong C++ là gì rồi. Trong bài học hôm nay chỉ cần các bạn nhớ một điều là khi sử dụng hàm đệ quy thì chắc chắn rằng hàm đệ quy đó phải có ít nhất một điều kiện dừng nhé.

Mình cũng không khuyến khích các bạn sử dụng hàm đệ quy trong chương trình của mình vì nó làm cho chương trình của bạn rối thêm mà thôi.

Vậy mình sẽ kết thúc bài học này ở đây nhé. Cảm ơn các bạn đã theo dõi bài viết này

Theo: freetuts.net

 

The post Hàm đệ quy trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/ham-de-quy-trong-c-2/feed/ 0
Lớp lưu trữ trong C++ https://suamaynhanh.vn/phan-mem/lop-luu-tru-trong-c-2/ https://suamaynhanh.vn/phan-mem/lop-luu-tru-trong-c-2/#respond Thu, 26 Mar 2020 08:52:31 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15193 Các bạn thân mến! Trong bài học hôm nay chúng ta sẽ cùng tìm hiểu về lớp lưu trữ (storage class) …

The post Lớp lưu trữ trong C++ appeared first on Sửa Máy Nhanh.

]]>
Các bạn thân mến! Trong bài học hôm nay chúng ta sẽ cùng tìm hiểu về lớp lưu trữ (storage class) trong C++. Vậy lớp lưu trữ trong C++ là gì? Chúng ta cùng tìm hiểu trong nội dung sau đây nhé!

1. Lớp lưu trữ trong C++

Một lớp lưu trữ (storage class) trong C++ xác định phạm vi và thời gian tồn tại của các biến hoặc các hàm trong một hương trình.

Trong C++ hổ trợ cho chúng ta các loại lớp lưu trữ như sau:

  • auto
  • register
  • static
  • extern
  • mutable

Chúng ta cùng tìm hiểu từng loại lớp lưu trữ một nhé.

2. Lớp lưu trữ Auto

Auto storage class là lớp lưu trữ mặc định cho tất cả các biến cục bộ. Nếu bạn nào chưa biết về biến cục bộ thì xem lại bài phạm vi biến trong C++ nhé.

Cú pháp

Cú pháp của biến auto trong C++ như sau:

Cú pháp
1
2
3
datatype name_variable [= value];
or
auto name_variable [= value];

Ví dụ

Chúng ta cùng xem ví dụ đơn giản về biến auto trong C++ như sau:

Ví dụ 1: Biến auto

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
void In() {
    int a = 5;
    auto b = 15;
    auto c = 1.5;
    cout << "Bien auto a = " << a << endl;
    cout << "Bien auto b = " << b << endl;
    cout << "Bien auto c = " << c << endl;
}
int main()
{
    In();
    return 0;
}

Kết quả sau khi thực thi đoạn code trên:

Ví dụ trên định nghĩa các biến có cùng một lớp lưu trữ đó là lớp lưu trữ auto, như vậy lớp lưu trữ auto chỉ có thể được sử dụng trong các hàm, tức là các biến cục bộ.

Vì phạm vi sử dụng của biến ở lớp lưu trữ auto chỉ có phạm vi bên trong hàm.

Ví dụ 2:  Hàm auto

Chúng ta cùng xem tiếp một ví dụ về hàm auto trong C++ như sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
auto Cong(int x, int y) {
    cout << x << " + " << y << " = " << x + y << endl;
}
auto Tru(double x, double y) {
    cout << x << " - " << y << " = " << x - y << endl;
}
auto In() {
    cout << "Freetuts xin chao moi nguoi" << endl;
}
int main()
{
    In();
    Cong(2, 3);
    Tru(5, 3);
    return 0;
}

Và kết quả sau khi thực thi chương trình trên:

3. Lớp lưu trữ Register

Biến thanh ghi được cấp phát bộ nhớ trong một thanh ghi thay vì RAM. Vì vậy biến thanh ghi chỉ có kích thước tối đa bằng kích thước thanh ghi và không thể áp dụng toán tử & cho biến thanh ghi vì nó không có vị trí bộ nhớ.

Cú pháp

Cú pháp của biến thanh ghi trong C++ như sau:

Cú pháp
1
register datatype name_variable;

Ví dụ

Chúng ta cùng xem một ví dụ đơn giản về biến thanh ghi trong C++ như sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
int main()
{  
    register int i = 100;
    cout << "Gia tri bien i = " << i*5 << endl;
    return 0;
}

Và kết quả sau khi thực thi chương trình trên:

Lưu ý: Biến ở lớp lưu trữ thanh ghi sẽ được truy cập nhanh hơn các biến ở lớp lưu trữ khác. Tuy nhiên không khuyến khích các bạn lạm dụng việc khai báo biến ở lớp lưu trữ thanh ghi, chỉ nên sử dụng khi cần có truy cập nhanh của một số biến đặc biệt nào đó thôi.

4. Lớp lưu trữ Static

Biến static trong C++ chỉ khởi tạo duy nhất một lần và tồn tại đến khi kết thúc chương trình.

Cú pháp

Cú pháp của biến static trong C++ như sau:

Cú pháp
1
static type variable;

Ví dụ

Chúng ta cùng xem một ví dụ đơn giản về biến static trong C++ như sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <iostream>
using namespace std;
void Dem() {
   static int i = 5;
   i++;
   cout << "   Bien i = " << i << endl ;
}
void DemNoStatic() {
   int i = 5;
   i++;
   cout << "   Bien i = " << i << endl ;
}
main() {
   int count = 5;
   int count2 = 5;
   cout << "Vi du bien static " << endl;
   while(count--) {
      Dem();
   }
   cout << "Vi du bien khong static " << endl;
   while(count2--) {
      DemNoStatic();
   }
   return 0;
}

Và kết quả sau khi thực thi đoạn code trên như sau:

5. Lớp lưu trữ External

Biến extern trong C++ được hiển thị cho tất cả các chương trình. Nó được sử dụng nếu hai hoặc nhiều file chia sẻ cùng một biến hoặc function.

Cú pháp

Cú pháp của biến extern trong C++ như sau:

Cú pháp
1
extern datatype name_variable;

Ví dụ

Chúng ta cùng xem ví dụ về sử dụng biến extern trong C++ như sau:

File1:

Ví dụ
1
2
3
4
5
6
7
8
#include <iostream>
int tong;
extern void Tong();
 
main() {
   tong= 10;
   Tong();
}

File2:

Ví dụ
1
2
3
4
5
6
7
#include <iostream>
using namespace std;
extern int tong;
void Tong() {
   cout << "Tong la:  " <<  tong << endl;
}

Và kết quả sau khi biên dịch và thực thi 2 file trên:

6. Lớp lưu trữ Mutable

mutable storage class trong C++ rất khó để giải thích trong bài này, vì nó liên quan đến lớp đối tượng, mình sẽ nói trong các bài sau này.

Tuy nhiên, các bạn cứ tham khảo, nếu không thì cũng không sao nhé, có thể quay lại đọc khi đã hiểu lớp đối tượng trong C++ là gì.

mutable được áp dụng cho lớp đối tượng. Nó cho phép một thành viên của một đối tượng ghi đè const thành viên

Cú pháp

Cú pháp của biến mutable trong C++ như sau:

Cú pháp
1
mutable datatype name_variable;

Ví dụ

Chúng ta cùng lấy ví dụ đơn giản về mutable trong C++ như sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include<iostream>
using namespace std;
class ExMutable
{
    mutable int a;
    int b;
    public:
        ExMutable(int x,int y)
        {
            a = x;
            b = y;
        }
        void Change() const
        {
            a = a + 1;
        }
        void Print() const
        {
            cout << "  Gia tri a = " << a << endl;
            cout << "  Gia tri b = " << b << endl;
        }
};
int main()
{
    const ExMutable x(6,5);
    cout << "Gia tri truoc khi thay doi " << endl;
    x.Print();
    x.Change();
    cout << "Gia tri sau khi thay doi " << endl;
    x.Print();
    return 0;
}

Và kết quả sau khi thực thi chương trình trên:

Ví dụ trên chúng ta khai báo một lớp ExMutable, có 2 dữ liệu thành viên đó là a và b, và chúng ta khai báo mutable cho biến a. Đối tượng const x của lớp ExMutable được tạo ra và nó được khởi tạo giá trị như trong hàm xây dựng ExMutable(x,y).

Lúc này a có giá trị là 6, b có giá trị là 5. Vì b là dữ liệu thành viên bình thường, nên không có thể thay đổi giá trị của b khi khỏi tạo giá trị, tuy nhiên thành viên là là mutable nên có thể thay đổi giá trị khi gọi phương thức Change(). Phương thức Print() đế in giá trị của a và b ra màn hình.

7. Kết luận

Như vậy là chúng ta đã tìm hiểu xong các loại lớp lưu trữ trong C++. Mỗi loại lớp lưu trữ có cách sử dụng khác nhau, tùy theo yêu cầu của bài toán mà các bạn lựa chọn lớp lưu trữ nào cho phù hợp nhé.

Mình sẽ kết thúc bài học này ở đây, cám ơn các bạn đã đọc bài viết.

Theo:freetuts.net

 

 

 

The post Lớp lưu trữ trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/lop-luu-tru-trong-c-2/feed/ 0
Phạm vi biến trong C++ https://suamaynhanh.vn/phan-mem/pham-vi-bien-trong-c-2/ https://suamaynhanh.vn/phan-mem/pham-vi-bien-trong-c-2/#respond Thu, 26 Mar 2020 08:50:21 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15194 Trong các bài học trước chúng ta đã cùng tìm hiểu về khái niệm biến, kiểu dữ liệu của biến trong …

The post Phạm vi biến trong C++ appeared first on Sửa Máy Nhanh.

]]>
Trong các bài học trước chúng ta đã cùng tìm hiểu về khái niệm biến, kiểu dữ liệu của biến trong C++ là gì? Trong bài học hôm nay chúng ta cùng tìm hiểu một khái niệm liên quan đến biến đó là phạm vi của biến.

Trong C++ cũng như các ngôn ngữ lập trình khác, biến có thể khai báo ở 3 nơi như sau:

    • Biến được khai báo bên trong một hàm hoặc block, ta gọi nó là biến cục bộ (local variable)
    • Biến được sử dụng như là tham số của hàm, ta gọi nó là tham số hình thức (formal parameter)
  • Biến được khai báo ở bên ngoài tất cả các hàm, ta gọi nó là biến toàn cục (global variable)

Trong bài học hôm nay chúng ta sẽ tìm hiểu về biến cục bộ (local variable) và biến toàn cục (global variable). Còn phần tham số hình thức (formal parameter) chúng ta sẽ tìm hiểu trong một bài khác.

1. Biến cục bộ (Local variable)

Biến cục bộ là biến được khai báo bên trong một hàm hoặc một block. (Tất cả những gì ở giữa dấu “{” và “}” chúng ta gọi là block).

Biến cục bộ chỉ có phạm vi sử dụng bên trong một hàm hoặc một block. Chúng ta không thể truy cập và sử dụng biến cục bộ ở bên ngoài hàm hoặc block.

Ví dụ

Ví dụ 1: chúng ta khai báo biến cục bộ c bên trong 1 hàm, và biến cục bộ d bên trong 1 block.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
using namespace std;
int Tong(int a, int b)
{
       int c = 0;  // c la bien cuc bo
       c = a + b;
       {
           
           cout << "Gia tri bien c ben trong block: " << c << "\n";
           int d = 40; // d la bien cuc bo khai bao ben trong mot block
           cout << "Gia tri bien d ben trong block: " << d << "\n";
       }
       cout << "Gia tri bien c ben trong ham: " << c << "\n";
       return c;  
}
int main () {
   Tong(1,2);
   return 0;
}

Và kết quả sau khi thực thi đoạn code trên:

Ví dụ 2: Chúng ta thử truy cập biến cục bộ bên ngoài một hàm, block

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <iostream>
using namespace std;
int Tong(int a, int b)
{
    int c = 0;  // c la bien cuc bo
    c = a + b;
    {
           
        cout << "Gia tri bien c ben trong block: " << c << "\n";
        int d = 40; // d la bien cuc bo khai bao ben trong mot block
        cout << "Gia tri bien d ben trong block: " << d << "\n";
    }
    cout << "Gia tri bien d ben trong ham: " << d << "\n";
    cout << "Gia tri bien c ben trong ham: " << c << "\n";
    return c;  
}
void In() {
   cout << "Gia tri cua bien c: " << c << "\n";
   cout << "Gia tri cua bien d: " << d << "\n";
 
}
int main () {
   Tong(1,2);
   In();
   return 0;
}

Và kết quả sau khi thực thi đoạn code trên:

2. Biến toàn cục (global variable)

Biến toàn cục là biến được khai báo bên ngoài tất cả các hàm. Chúng ta có thể truy cập và sử dụng biến toàn cục ở bất kỳ đâu của chương trình. Thường thì chúng ta nên khai báo biến toàn cục trên đầu của chương trình.

Ví dụ

Chúng ta cùng xem ví dụ đơn giản có sử dụng biến toàn cục như sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int g; //g la bien toan cuc
int Tong (int a, int b) {
   {
      g = 100;
      cout << "Gia tri cua bien g ben trong block: " << g << "\n";
   }
   g = a + b;
   cout << "Gia tri cua bien g ben trong ham: " << g << "\n";
}
int main () {
   Tong(10, 11);
   return 0;
}

Và kết quả sau khi thực thi đoạn code trên như sau:

3. Giá trị mặc định của biến toàn cục và biến cục bộ

Khi biến cục bộ được khởi tạo thì nó không được khởi tạo giá trị bởi hệ thống, chúng ta phải tự khởi tạo giá trị cho biến cục bộ.

Khi biến toàn cục được khởi tạo thì nó được hệ thống khởi tạo giá trị một cách tự động. Giá trị khởi tạo cho biến toàn cục bởi hệ thống như sau:

Kiểu dữ liệu Giá trị
int 0
char ‘\0’
float 0
double 0
pointer NULL

4. Biến toàn cục và biến cục bộ cùng tên.

Giả sử chúng ta có trường hợp biến cục bộ và biến toàn cục cùng tên, bên trong một hàm chúng ta muốn sử dụng biến cùng tên đó, thì giá trị của biến cục bộ hay biến toàn cục được sử dụng, chúng ta cùng tìm hiểu qua ví dụ sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
#include <iostream>
using namespace std;
  
int g = 10; //bien toan cuc
   
int main()
{   
    int g = 5; //bien cuc bo
    cout << "Gia tri cua bien g: " << g << "\n";
}

Và kết quả sau thực thi của đoạn code trên:

Như vậy nếu biến cục bộ và biến toàn cục cùng tên, thì hàm sẽ lấy giá trị của biến cục bộ. Vậy chúng ta muốn lấy giá trị của biến toàn cục mà trùng tên với biến cục bộ thì như thế nào?

Trong C++ cho phép chúng ta lấy giá trị của biến toàn cục trùng tên với biến cục bộ đó là sử dụng toán tử :: (scope resolution operator). Chúng ta cùng xem ví dụ sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
  
int g = 10; //bien toan cuc
   
int main()
{   
    int g = 5; //bien cuc bo
    cout << "Gia tri cua bien g toan cuc: " << ::g << "\n";
    cout << "Gia tri cua bien g: " << g << "\n";
}

Và kết quả thực thi đoạn code trên:

5. Kết luận

Như vậy chúng ta đã cùng tìm hiểu xong phạm vi biến toàn cục và biến cục bộ trong C++.

Trong bài này chúng ta cần nhớ phạm vi sử dụng của biến toàn cục và biến cục bộ đó là biến cục bộ chỉ có phạm vi sử dụng trong một hàm hoặc một block mà biến đó khai báo, biến toàn cục có phạm vi sử dụng trong một chương trình, bất cứ hàm hoặc block nào điều có thể truy cập biến toàn cục.

Một điều cần lưu ý ở đây là dù là biến toàn cục hay cục bộ thì chúng ta cần phải khai báo nó trước khi sử dụng.

Cảm ơn các bạn đã theo dõi bài viết này.

Theo:freetuts.net

 

 

 

The post Phạm vi biến trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/pham-vi-bien-trong-c-2/feed/ 0
Tham trị và tham chiếu trong C++ https://suamaynhanh.vn/phan-mem/tham-tri-va-tham-chieu-trong-c-2/ https://suamaynhanh.vn/phan-mem/tham-tri-va-tham-chieu-trong-c-2/#respond Thu, 26 Mar 2020 05:19:07 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15179 Trong C++ hỗ trợ cho chúng ta 2 cách gọi hàm đó là tham trị (Call by value) và tham chiếu (call by …

The post Tham trị và tham chiếu trong C++ appeared first on Sửa Máy Nhanh.

]]>
Trong C++ hỗ trợ cho chúng ta 2 cách gọi hàm đó là tham trị (Call by value) và tham chiếu (call by reference). Trước khi đi vào tìm hiểu chi tiết từng cách một, chúng ta cùng xem sơ đồ sau:

Nhìn sơ đồ cũng cho chúng ta hiểu sơ sơ về tham trị và tham chiếu trong C++ là gì rồi đúng không? Để biết thêm chi tiết chúng ta sẽ cùng tìm hiểu trong nội dung sau nhé.

1. Tham trị trong C++

Tham trị trong C++ không làm thay đổi giá trị của tham số thực tế được truyền vào hàm. Tức là khi truyền giá trị của tham số thực tế vào hàm, thì giá trị của tham số thực tế sẽ được copy cho tham số hình thức của hàm, giá trị của tham số hình thức và tham số thực tế ở hai bộ nhớ khác nhau, vì vậy thay đổi giá trị bên trong hàm không làm thay đổi giá trị của tham số thực tế truyền vào.

Ví dụ

Chúng ta cùng xem một ví dụ đơn giản về tham trị trong C++ như sau:

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream> 
using namespace std;
void Show(int i) 
    i = 15; 
    cout << "Bien i ben trong ham, i = " << i << endl;
}
int main() 
    int i = 1; 
    cout << "Truoc khi truyen bien i vao ham, i = " << i << endl;
    Show(i); 
    cout << "Sau khi truyen bien i vao ham, i = " << i << endl;
    return 0; 
}

Và kết quả sau khi thực thi đoạn code trên:

2. Tham chiếu trong C++

Tham chiếu trong C++ sẽ làm thay đổi giá trị của biến truyền vào hàm bởi vì chúng ta truyền vào địa chỉ của nó.

Ở đây, địa chỉ của tham số thực tế được truyền vào hàm, vì vậy địa chỉ của tham số hình thức và tham số thực tế sẽ cùng địa chỉ trong bộ nhớ, cho nên khi thay đổi giá trị của tham số hình thức bên trong hàm, sẽ làm thay đổi giá trị gốc của tham số thực tế được truyền vào hàm.

Ví dụ

Để hiểu ví dụ về tham chiếu trong C++ trước hết bạn phải có kiến thức về con trỏ (pointer) trong C++ nhé!

Chúng ta cùng xem một ví dụ đơn giản về tham chiếu trong C++ đó là hoán đổi 2 giá trị của 2 biến cho nhau.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream> 
using namespace std;
void swap(int *x, int *y) 
    int swap; 
    swap=*x; 
    *x=*y; 
    *y=swap; 
int main()  
{   
    int x;
    int y;
    x=2;
    y=3;
    cout << "Gia tri x truoc khi goi ham, x = " << x << endl;
    cout << "Gia tri y truoc khi goi ham, y = " << y << endl;
    swap(&x, &y); 
    cout << "Gia tri x sau khi goi ham, x = " << x << endl;
    cout << "Gia tri y sau khi goi ham, y = " << y << endl;
    return 0; 
}

Và kết quả sau khi thực thi đoạn code trên:

3. Sự khác nhau giữa tham trị và tham chiếu

Chúng ta cùng tổng hợp điểm khác nhau giữa tham trị và tham chiếu trong C++ như trong bảng sau:

Tham tri Tham chiếu
Một bản sao giá trị của biến được truyền vào hàm Địa chỉ của biến được truyền vào hàm
Thay đổi biến bên trong hàm không làm thay đổi biến truyền vào hàm Thay đổi biến bên trong hàm sẽ làm thay đổi biến truyền vào hàm
Tham số hình thức và tham số thực tế khác địa chỉ trong bộ nhớ Tham số hình thức và tham số thực tế cùng địa chỉ trong bộ nhớ

4. Kết luận

Vậy là trong bài học hôm nay chúng ta đã tìm hiểu xong 2 cách gọi hàm đó là tham trị và tham chiếu. Tùy vào mục đích sử dụng của mình mà lựa chọn cách gọi hàm cho phù hợp nhé.

Nếu bạn nào muốn thay đổi giá trị của biến sau khi gọi hàm thì dùng cách gọi tham chiếu, nếu bạn nào chỉ lấy giá trị của biến để tính toán mà không cần thay đổi giá trị của biến thì dùng cách gọi tham trị.

Như vậy mình sẽ kết thúc bài học này tại đây nhé.

Theo:freetuts.net

 

The post Tham trị và tham chiếu trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/tham-tri-va-tham-chieu-trong-c-2/feed/ 0
Các kiểu dữ liệu căn bản trong C++ https://suamaynhanh.vn/phan-mem/cac-kieu-du-lieu-can-ban-trong-c/ https://suamaynhanh.vn/phan-mem/cac-kieu-du-lieu-can-ban-trong-c/#respond Sun, 22 Mar 2020 15:47:24 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15117 Trong bài này chúng ta sẽ tìm hiểu danh sách các kiểu dữ liệu căn bản trong C++. Thông thường chúng …

The post Các kiểu dữ liệu căn bản trong C++ appeared first on Sửa Máy Nhanh.

]]>
Trong bài này chúng ta sẽ tìm hiểu danh sách các kiểu dữ liệu căn bản trong C++.

Thông thường chúng ta chia ra làm hai loại kiểu dữ liệu đó là chữ và số. Nhưng trong lập trình việc chia ra hai loại như vậy không rõ ràng và không phù hợp vì đôi khi sẽ dẫn đến sử dụng không gian trong bộ nhớ một cách dư thừa. Để rõ hơn thì chúng ta sẽ xem danh sách các kiểu dữ liệu trong C++ ở bảng dưới đây.

1. Danh sách kiểu dữ liệu C++

Sau đây là danh sách các kiểu dữ liệu và độ lớn của từng kiểu dữ liệu được lưu trữ trong bộ nhớ máy tính.

Loại dữ liệu Kiểu dữ liệu Số ô nhớ Miền giá trị
Boolean bool 1 byte 0 hoặc 1. Trong đó 0 => FALSE và 1 => TRUE
Ký tự char 1 byte -128 … 127 hoặc 0 … 255
unsign char 1 byte 0 … 255
sign char 1 byte -128 … 127
Số nguyên int 4 byte -2147483648 … 2147483647
unsign int 4 byte 0 … 4294967295
sign int 4 byte -2147483648 … 2147483647
short 2 byte -32768 .. 32767
long 4 byte -215 … 215 – 1
Số thực float 4 byte ±10-37 … ±10+38
double 8 byte ±10-307 … ±10+308

Đây là các kiểu dữ liệu đơn giản có sẵn trong C++, còn các kiểu dữ liệu phức tạp như struct hoặc đối tượng do người dùng định nghĩa thì chúng ta sẽ tìm hiểu ở một bài khác.

Trong các kiểu dữ liệu trên bạn thêm từ khóa sign để định nghĩa miền giá trị từ âm tới dương, bổ sung từ khóa unsign để định nghĩa miền giá trị chỉ số dương. Trường hợp chỉ số dương thì bắt đầu từ 0 và nhân đôi miền giá trị lên.

Ví dụ:

  • Kiểu char có miền giá trị từ -128 … 127
  • Kiểu sign char có miền giá trị từ -128 … 127
  • Kiểu unsign char có miền giá trị từ 0 … 255 (255 ~ 127×2, nhân đôi lên vì bắt đầu từ 0)

Vì nhiều kiểu dữ liệu nên mình không liệt kê hết, bạn hãy tự tính toán để đưa ra miền giá trị cho các kiểu giá trị còn lại nhé.

Nhìn vào bảng này bạn sẽ trả lời được vấn đề mà mình nói ở phần mở đầu đó là việc khai báo biến dư thừa không gian trong bộ nhớ. Mỗi kiểu dữ liệu sẽ có số byte khác nhau, tức là chúng sẽ chiếm bộ nhớ càng nhỏ nếu số byte càng nhỏ, vì vậy khi sử dụng các kiểu dữ liệu thì ta phải cân nhắc tính toán thật kỹ. Ví dụ để lưu trữ tên thì chúng ta sử dụng kiểu char là được.

2. Tìm hiểu các kiểu dữ liệu trong C+

Trước khi vào vấn đề thì bạn cần phải biết đơn vị byte và bit, hai đơn vị này se có công thức chuyển đổi như sau: 1 byte = 8 bit. Mỗi bit sẽ là một ô nhớ trong bộ nhớ máy tính. Mình chỉ giải thích các kiểu dữ liệu chuẩn, còn các kiểu định nghĩa bởi sign và unsign thì bạn tự tính toán nhé.

Bây giờ chúng ta sẽ tìm hiểu chi tiết cụ thể từng loại dữ liệu đã được đề cập ở bảng trên.

Kiểu ký tự:

Có hai kiểu dữ liệu thuộc loại dữ liệu ký tự đó là kiểu char và unsign char. Cả hai đều có chiều dài tối đa là 255 ký tự nhưng với unsign char thì phạm vi biểu diễn sẽ bắt đầu từ 0.

Mỗi ký tự char sẽ chiếm 1 byte (8 bit) trong bộ nhớ và chúng được biểu diễn thông qua bảng mã ASCII.

Kiểu dữ liệu Số ô nhớ Phạm vi biểu diễn
char 1 byte -128 … 127
unsign char 1 byte 0 … 255

Kiểu số nguyên:

Kiểu số nguyên là kiểu số mà khi chia cho 1 sẽ dư 0, nghĩa là đây là một số không có dấu phẩy động.

Chúng ta có các kiểu dữ liệu số nguyên đó là intunsign intshortlongunsign long. Phạm vi biểu diễn và kích thước của chúng sẽ tăng dần.

Kiểu dữ liệu Số ô nhớ Phạm vi biểu diễn
int 2 byte -32768 .. 32767
unsign int 2 byte 0 .. 65535
short 2 byte -32768 .. 32767
long 4 byte -2147483648 đến 2147483647
unsign long 4 byte 0 đến 4294967295

Kiểu ký tự cũng có thể được xem là kiểu số nguyên nếu biểu diễn thông qua  bảng mã ASCII.

Kiểu số thực:

Kiểu số thực là kiểu có dấu phảy động, tức là khi chia số đó cho 1 thì sẽ có dư. Ví dụ 2,5 là kiểu số thực.

Chúng ta có hai kiểu dữ liệu biểu diễn cho số thực đó là float và double và long double.

Kiểu dữ liệu Số ô nhớ Phạm vi biểu diễn Chữ số có nghĩa
float 4 byte 3.4E-38 đến 3.4E+38 7 đến 8
double 8 byte 1.7E-308 đến 1.7E+308 15 đến 16
long double 10 byte 3.4E-4932 đến 1.1E4932 17 đến 18

3. Định nghĩa kiểu dữ liệu bằng TYPEDEF

Từ khóa typedef dùng để đặt tên lại hoặc đặt tên mới cho một kiểu dữ liệu.

Ví dụ bạn muốn đặt một tên khác cho kiểu int thì làm như sau:

 

1
typedef int kieu_so_nguyen;

 

Đoạn code trên sẽ tạo một kiểu dữ liệu tên là kieu_so_nguyen và nó là một bản sao của kiểu int. Lúc này bạn có thể sử dụng bình thường như sau:

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream.h>
using namespace std;
void main ()
{  
    typedef int kieu_so_nguyen;
    
    kieu_so_nguyen namsinh = 1990;
    
    cout << "Nam sinh cua toi la:";
    cout << endl;
    cout << namsinh;
    cout << endl;
}

 

Chương trình này hoạt động bình thường.

Ngoài ra bạn có thể định nghĩa một kiểu dữ liệu đã giới hạn ký tự như ví dụ dưới đây:

 

1
typedef char character[200];

 

Đoạn code này tạo một kiểu dữ liệu char 200 ký tự và gán nó với cái tên là character. Bây giờ để khai báo một kiểu char 200 ký tự thì bạn sẽ thông qua kiểu character.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream.h>
using namespace std;
void main ()
{  
    typedef char character[200];
    character HoTen;
    
    cout << "Nhap ho ten cua ban:";
    cin >> HoTen;
    cout << endl;
    cout << "Ho ten cua ban la:";
    cout << HoTen;
    cout << endl;
}

 

Việc đặt lại tên nay sẽ rất hữu ích nếu trong chương trình sử dụng nhiều lần cùng một kiểu dữ liệu và cùng độ dài.

4. Khai báo biến với các kiểu dữ liệu

Khi khai báo biến thì bắt buộc bạn phải chọn một trong các kiểu dữ liệu ở trên cho biến đó.

Ví dụ: Khai báo kiểu dữ liệu cho các biến

 

1
2
3
int namsinh;
char ten[200];
float diem_thi;

 

Giải thích:

  • namsinh: Là một số nguyên nên mình chọn kiểu int.
  • ten: là kiểu ký tự nên mình chọn kiểu char.
  • diem: điểm có dấu phẩy động nên mình chọn kiểu float.

5. Lấy kích cỡ của các kiểu dữ liệu

Để xem kích cỡ của các kiểu dữ liệu thì ta dùng từ khóa sizeof.

Ví dụ:

 

1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
void main()
{
   cout << "char la: " << sizeof(char) << endl;
   cout << "int la: " << sizeof(int) << endl;
   cout << "short int la: " << sizeof(short int) << endl;
   cout << "long int la: " << sizeof(long int) << endl;
   cout << "float la: " << sizeof(float) << endl;
   cout << "double la: " << sizeof(double) << endl;
}

 

6. Lời kết

Với các kiểu dữ liệu căn bản trên bạn có thể viết các chương trình căn bản, và từ các kiểu dữ liệu này sau này chúng ta sẽ xây dựng thành các kiểu dữ liệu phức tạp hơn.

Theo:freetuts.net

The post Các kiểu dữ liệu căn bản trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/cac-kieu-du-lieu-can-ban-trong-c/feed/ 0
Khai báo biến trong C++ https://suamaynhanh.vn/phan-mem/khai-bao-bien-trong-c/ https://suamaynhanh.vn/phan-mem/khai-bao-bien-trong-c/#respond Sun, 22 Mar 2020 15:44:05 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15118 C++ là một ngôn ngữ bậc trung nằm giữa bậc cao và bậc thấp, nó là ngôn ngữ có tính minh …

The post Khai báo biến trong C++ appeared first on Sửa Máy Nhanh.

]]>
C++ là một ngôn ngữ bậc trung nằm giữa bậc cao và bậc thấp, nó là ngôn ngữ có tính minh bạch, rõ ràng trong việc khai báo và sử dụng biến, nghĩa là nếu bạn khai báo một biến kiểu chuỗi thì bạn không thể gán cho nó là kiểu số được. Vậy trong bài này chúng ta sẽ tìm hiểu về biến và cách khai báo biến trong C++ và sử dụng hai lệnh cin và cout để lấy dữ liệu nhập từ bàn phím và in dữ liệu lên màn hình.

1. Biến là gì?

Biến dùng để lưu trữ một giá trị nào đó. Bạn cứ tưởng tượng rằng giả sử bạn có một cái bao và bạn có thể sử dụng cái bao đó với nhiều mục đích khác nhau như dùng để chứa gạo, chưa ngô, chứa khoai, … thì lúc này cái bao đó được ví như là một biến trong C++.

Đó là ví dụ trong thực tế còn trong lập trình thì biến sẽ được lưu trữ tại một vị trí nào đó trong bộ nhớ của máy tính, sau đó khi muốn sử biến nào thì hệ thống sẽ tìm trong bộ nhớ xem có tồn tại biến đó không? Nếu tồn tại thì sử dụng bình thường, ngược lại thì chương trình sẽ bị lỗi vì bạn đã sử dụng một biến chưa được khởi tạo.

2. Khai báo biến

Vì chúng ta chưa học các kiểu dữ liệu trong C++ nên nếu bạn không hiểu các ví dụ dưới đây thì hãy đọc sơ lược bài tiếp theo rồi quay lại bài này nhé.

Để khai báo biến trong C++ thì ta sử dụng cú pháp sau:

 

1
kieu_du_lieu ten_bien;

 

Ví dụ: Khai báo biến kiểu number (tức là kiểu int, int là viết tắt của interger)

 

1
int namsinh;

 

3. Gán giá trị cho biến

Để gán giá trị cho biến thì ta sử dụng toán tử gán =.

Ví dụ: Gán giá trị 1990 cho biến namsinh.

 

1
2
int namsinh;
namsinh = 1990;

 

Ngoài ra ta cũng có thể gán giá trị cho biến ngay lúc khởi tạo. Với ví dụ trên thì ta viết lại như sau:

 

1
int namsinh = 1990;

 

4. In giá trị của biến ra màn hình

Biến sẽ được lưu trữ tại một vị trí trong bộ nhớ máy tính nên để lấy giá trị của biến ta chỉ cần thông qua tên biến là được.

Ví dụ: In ra giá trị của biến

 

1
2
3
4
5
6
7
8
#include <iostream.h>
using namespace std;
void main ()
{  
    int namsinh = 1990;
    cout << "Nam sinh cua ban la : " << namsinh << endl;
}

 

5. Thao tác nhập xuất với biến

Bây giờ ta làm một ví dụ nhập xuất với biến.

Ví dụ: Viết chương trình nhập vào năm sinh của bạn và in năm sinh đó lên màn hình, trong đó năm sinh được nhập từ bàn phím.

Để nhập năm sinh từ bàn phím thì ta sử dụng lệnh cin, còn để xuất năm sinh thì ta sử dụng lệnh cout.

 

1
2
3
4
5
6
7
8
9
10
#include <iostream.h>
using namespace std;
void main ()
{  
    int namsinh;
    cout << "Nhap nam sinh cua ban: ";
    cin >> namsinh;
    cout << "Nam sinh cua ban la : " << namsinh << endl;
}

 

Bạn nhấn F5 để chạy chương trình. Giả sử mình nhập năm sinh 1989 thì màn hình sẽ như sau:

6. Lời kết

Như vậy là bạn đã nắm bắt được cách khai báo và sử dụng biến trong C++. Bạn hãy xem kỹ bài này vì ở các bài tiếp theo chúng ta sử dụng nó khá nhiều đấy.

Theo:freetuts.net

 

 

The post Khai báo biến trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/khai-bao-bien-trong-c/feed/ 0
Ghi chú trong C++ https://suamaynhanh.vn/phan-mem/ghi-chu-trong-c/ https://suamaynhanh.vn/phan-mem/ghi-chu-trong-c/#respond Sun, 22 Mar 2020 15:37:33 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15116 Trong bài này chúng ta sẽ tìm hiểu cách ghi chú trong C++. Hầu hết các ngôn ngữ lập trình đều …

The post Ghi chú trong C++ appeared first on Sửa Máy Nhanh.

]]>
Trong bài này chúng ta sẽ tìm hiểu cách ghi chú trong C++.

Hầu hết các ngôn ngữ lập trình đều hỗ trợ chức năng ghi chú (hay còn gọi là comment) nhằm giúp ta diễn giải một số đoạn code nào đó để khi đọc vào có thể hiểu ý nghĩa của chúng.

Quy trình biên dịch của một chương trình C++ như sau: Nó sẽ biên dịch từ trên xuống dưới và từ trái qua phải cho tới khi gặp hàm main, sau khi gặp hàm main thì nó sẽ biên dịch những đoạn code trong hàm đó. Lúc này nếu hàm main có sử dụng những biến khai báo ở phía dưới nó thì sẽ bị báo lỗi vì những đoạn code đó chưa được biên dịch. Vì vậy tất cả những khai báo đều phải đặt ở trên hàm main.

Giả sử tôi và bạn cùng viết một chương trình giải phương trình bậc hai, tôi viết một đoạn và bạn cũng viết một đoạn nhưng cả hai đều không giải thích đang viết gì thì rất khó để hiểu nhau. Vì vậy chúng ta phải sử dụng cú pháp ghi chú trong C++ để mô tả. Trong C++ hỗ trợ hai loại ghi chú đó là ghi chú đơn dòng và ghi chú đa dòng.

1. Ghi chú đơn dòng

Chúng ta sử dụng hai dấu xoẹt \\ để tạo ghi chú đơn dòng.

Ví dụ: Ghi chú trên một hàng

 

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
void main()
{
    // Khai bao va gan gia tri cho bien tuoi
    int tuoi = 20;
    
    // In gia tri bien tuoi ra man hinh
    cout << tuoi;
}

 

Khi chương trình biên dịch nó sẽ bỏ qua dòng bắt đầu tự vị trí hai dấu xoẹt //.

Ví dụ: Ghi chú một đoạn nhỏ trên một hàng

 

1
2
3
4
5
6
7
8
9
#include <iostream>
using namespace std;
void main()
{
    int tuoi = 20;  // Khai bao va gan gia tri cho bien tuoi
    
    cout << tuoi; // In gia tri bien tuoi ra man hinh
}

 

2. Ghi chú đa dòng

Ghi chú đa dòng là ghi chú trên nhiều dòng. Chúng ta sử dụng cú pháp sau để tạo ghi chú đa dòng:

 

1
2
3
/*
Noi dung ghi chu
*/

 

Bên trong nội dung ghi chú bạn có thể sử dụng bao nhiêu dòng cũng được.

Ví dụ: Ghi chú đa dòng

 

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
/*
Day la ham main cua chuong trinh
Ham nay se chay dau tien trong chuong trinh
Cho du ban dat no o vi tri nao
*/
void main()
{
    // Code
}

 

Ta cũng có thể sử dụng ghi chú đơn dòng nhiều lần để tạo ghi chú đa dòng nhưng như vậy sẽ không đẹp cho lắm.

Ví dụ: Tạo ghi chú đa dòng từ nhiều ghi chú đơn dòng.

 

1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
// Day la ham main cua chuong trinh
// Ham nay se chay dau tien trong chuong trinh
// Cho du ban dat no o vi tri nao
void main()
{
    // Code
}

 

3. Chương trình không biên dịch lệnh ghi chú

Để chứng minh là chương trình sẽ không biên dịch lệnh ghi chú thì bạn hãy xem ví dụ sau:

 

1
2
3
4
5
6
7
8
#include <iostream>
using namespace std;
void main()
{
    // cout << "Chao mung ban den voi freetuts.net";
    // cout << "Mot website hoc lap trih mien phi";
}

 

Chạy chương trình lên bạn sẽ thấy như hình sau:

Kết quả sẽ không có gì => chương trình đã không chạy hai đoạn code cout ở trên.

4. Lời kết

Trong một chương trình có thể lên tới hàng trăm và hàng ngàn dòng code, lúc này nếu bạn không sử dụng ghi chú thì bạn không thể nhớ hết là bạn đã code những gì, chưa tính đến khi bạn làm việc nhóm thì bạn đồng nghiệp sẽ rất khó biết được ý tưởng mà bạn đã code chương trình đó. Vì vậy giải pháp là hãy sử dụng ghi chú nếu có thể nhé.

Theo:freetuts.net

 

 

The post Ghi chú trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/ghi-chu-trong-c/feed/ 0
Cout trong C++ và lệnh cin trong C++ https://suamaynhanh.vn/phan-mem/lenh-cin-va-cout-trong-c/ https://suamaynhanh.vn/phan-mem/lenh-cin-va-cout-trong-c/#respond Sun, 22 Mar 2020 15:33:41 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15115 Cout trong C++ và lệnh cin trong C++ được hướng dẫn chi tiết bên dưới đây sẽ giúp bạn hiểu rõ …

The post Cout trong C++ và lệnh cin trong C++ appeared first on Sửa Máy Nhanh.

]]>
Cout trong C++ và lệnh cin trong C++ được hướng dẫn chi tiết bên dưới đây sẽ giúp bạn hiểu rõ hơn và thực hành cực kì đơn giản.

Thư viện nhập xuất trong C cũng như trong C++ có tên là iostream.h, vì vậy khi viết chương trình ta phải khai báo sử dụng thư viện này.

Ngoài ra với C++ thì ta phải khai báo sử dụng thêm namespace std bằng cú pháp using namespace std;.

 

#include <iostream.h>
using namespace std;

void main ()
{	
	// Chuong Trinh Chinh
}

 

Và trong bài này chúng ta tìm hiểu hai lệnh thường sử dụng nhất để nhập xuất đó là cin và cout. Trước tiên ta tìm hiểu về cout.

1. Lệnh cout trong C++

Cout trong C++ dùng để xuất một giá trị hoặc một biểu thức ra ngoài màn hình thiết bị hiển thị (máy tính).

Cú pháp:

 

cout << "Gia Tri";

 

Như vậy ta sử dụng toán tử << đằng sau cout để ngăn cách giữa các giá trị. Nếu bạn muốn in nhiều giá trị thì sử dụng cú pháp sau:

 

cout << "Gia Tri 1" << "Gia tri 2" << "Gia tri 3";

 

Trong các chương trình căn bản thì ta thường phải xuống dòng để dễ nhìn hơn. Để xuống dòng thì ta sử dụng một trong hai cú pháp sau:

 

cout << endl;
cout << "\n";

 

Trong đó endl là cú pháp của C++ còn "\n" là cú pháp của C, vì C++ được phát triển dựa trên C nên nó vẫn sử dụng được hầu hết các cú pháp và thư viện trong C.

Ví dụ: Viết chương trình in ra hai dòng, dòng thứ nhất là “chào mừng bạn đến với freetuts.net“, dòng thứ hai là “bạn đang học series C+ căn bản“.

 

#include <iostream.h>
using namespace std;

void main ()
{	
	cout << "Chao mung ban den voi freetuts.net";
	cout << endl;
	cout << "Ban dang hoc series C++ can ban";
	cout << endl;
}

 

Bạn nhấn F5 để chạy và kết quả sẽ như sau:

cout trong c++

Hoặc bạn có thể viết rút gọn như sau và kết quả tương đương.

 

#include <iostream.h>
using namespace std;

void main ()
{	
	cout << "Chao mung ban den voi freetuts.net" << endl;
	cout << "Ban dang hoc series C++ can ban" << endl;
}

2. Lệnh cin trong C++

Ngược với coutcin trong C++ dùng để nhập dữ liệu từ bạn phím hoặc file. Thông thường khi bạn học C++ căn bản thì sẽ nhập dữ liệu từ bàn phím để giải các bài toán căn bản.

Để nhập dữ liệu từ bàn phím ta dùng cú pháp sau:

 

cin >> variable;

 

Trong đó variable ta gọi là biến.

Trường hợp ban muốn nhập nhiều giá trị cùng một lênh cin thì sử dụng cú pháp sau:

 

cin >> variable1 >> variable2 >> variable3;

 

Trong bài này có lẽ bạn chưa hiểu khái niệm biến là gì, nếu vậy thì bạn hãy xem sơ lược qua ví dụ rồi ở bài tiếp theo chúng ta sẽ tìm hiểu đến nó.

Ví dụ: Viết chương trình cho người dùng nhập vào một chuỗi rồi in chuỗi đó ra màn hình.

 

#include <iostream.h>
using namespace std;

void main ()
{	
	char Ten[200];
	cout << "Nhap ten cua ban: ";
	cin >> Ten;
	cout << endl;
	cout << "Ten ban vua nhap la: " << Ten << endl;
}

 

Giả sử mình nhập chuỗi “NguyễnVănCường-Freetuts.net” thì kết quả sẽ như sau:

Nếu bạn nhập ký tự khoảng trắng thì nó sẽ bị thiếu một số từ đằng sau. Lý do tại sao thì trong các bài tiếp theo chúng ta sẽ tìm hiểu.

Kết bài Cout trong C++Cin trong C++

Qua hướng dẫn trên sẽ giúp bạn hiểu hơn về lệnh Cout và Cin trong C++ và cách dùng của 2 lệnh này sẽ như thế nào.

Chúc các bạn thực hành thành công!

Nguồn: freetuts.net

XEM THÊM BÀN PHÍM CHO IPAD – BÀN PHÍM CHO MÁY TÍNH BẢNG

cout trong c++

cout trong c++

 

The post Cout trong C++ và lệnh cin trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/lenh-cin-va-cout-trong-c/feed/ 0
Thư viện C++ và khái niệm hàm main trong C++ https://suamaynhanh.vn/phan-mem/khai-niem-thu-vien-va-ham-main-trong-c/ https://suamaynhanh.vn/phan-mem/khai-niem-thu-vien-va-ham-main-trong-c/#respond Sun, 22 Mar 2020 15:30:49 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=15114 Thư viện C++ là gì? Để tìm hiểu kỹ về khái niệm này xin mời các bạn tìm hiểu chi tiết …

The post Thư viện C++ và khái niệm hàm main trong C++ appeared first on Sửa Máy Nhanh.

]]>
Thư viện C++ là gì? Để tìm hiểu kỹ về khái niệm này xin mời các bạn tìm hiểu chi tiết ở nội dung dưới đây để có cái nhìn tổng quát về C++, khái niệm hàm main trong C++

Để bắt đầu tìm hiểu C++ thì bắt buộc bạn phải hiểu hai khái niệm thư viện và hàm main vì trong chương trình đầu tiên mà bạn học sẽ phải khai báo sử dụng thư viện và viết những đoạn code chính trong hàm main.

Trước khi vào tìm hiểu thì ta sẽ viết một chương trình Hello World trước.

1. Chương trình Hello World

Đầu tiên bạn tạo một file HelloWorld.cpp sau đó nhập đoạn code sau:

 

1
2
3
4
5
6
#include <iostream.h>
void main()
{
    cout<<"Hello World!"<<endl;
}

 

Sau đó bạn nhấn F5 thì thì chương trình sẽ được chạy và bạn sẽ thấy kết quả như hình dưới đây:

Thư viện C++

Như vậy đoạn code trên sẽ in ra màn hình dòng chữ Hello World!. Và trong đoạn code trên thì dòng đầu tiên #include <iostream.h> ta gọi là khai báo sử dụng thư viện và các dòng còn lại phía dưới ta gọi là hàm main.

2. Khai báo thư viện C++

Khi chúng ta lập trình một phần mềm hoặc một chương trình dù nhỏ hay lớn thì đều phải thao tác với các thiết bị của máy tính như bàn phím, chuột, màn hình để nhận dữ liệu nhập vào và in kết quả trả về.

Vấn đề đặt ra là để thao tác được với các thiết bị đó thì chúng ta sẽ phải lập trình thì máy tính mới giao tiếp được, nhưng công việc đó không hề đơn giản và mất thời gian. Vì vậy người ta đã viết sẵn ra các thư viện để khi muốn sử dụng thì chỉ cần khai báo.

Thư viện trong lập trình là một khái niệm mà mọi người sẽ bắt gặp rất nhiều ở hầu hết các ngôn ngữ lập trình. Ta có thể định nghĩa nôm na như sau: Thư viện trong lập trình là nơi cung cấp sẵn cho chúng ta những hàm những phương thức có thể sử dụng được ở nhiều chương trình giúp rút ngắn thời gian lập trình lại.

Hiện nay hầu hết các trình soạn thảo C++ luôn cung cấp đầy đủ các thư viện cần thiết giúp lập trình viên có thể khai thác được một cách dễ dàng. Các thư viện luôn được tích hợp sẵn trong các trình soạn thảo code nhưng khi chúng ta bắt đầu viết code vẫn phải có thao tác đó là khai báo những thư viện nào cần cho chúng ta khi code.

Để khai báo sử dụng thư viện trong C++ thì ta sử dụng cú pháp sau:

 

1
#include <Tên thư viện>

 

Từ khoá #include chỉ cho trình biên dịch biết rằng chúng ta cần sử dụng thư viện được khai báo và nó sẽ tự động thêm vào cho chúng ta.

Tôi xin giới thiệu một số thư viện thường gặp trong lập trình C++:

  • iostream.h ( thư viện này chứa hàm xuất nhập cout và cin)
  • stdio.h ( nó chứa hàm scanf,printf…)
  • conio.h ( nó chứa hàm clrscr,getch…)
  • math.h ( nó chứa hàm toán học như sqrt, abs, pow)
  • string.h (nó chứa các hàm về chuỗi )

Đối với một chương C++ trình nhập xuất căn bản thì bắt buộc ta phải sử dụng thư viện iostream.h.

3. Trong thư viện C++ hàm main() là gì?

Sau khi các bạn đã hiểu thế nào là thư viện và cách khai báo sử dụng một thư viện như thế nào thì chúng ta sẽ bắt đầu vào phần tiếp theo cần tìm hiểu đó là hàm main().

Theo tiếng Anh main dịch ra có nghĩa là chính, quan trọng, vậy trong C++ nó cũng có ý nghĩa như tên gọi đó. Trong lập trình thì trình biên dịch sẽ xử lý code từ trên xuống dưới và từ trái qua phải.

Nhưng với hàm main thì hơi đặc biệt chút, hàm main là nơi chứa những đoạn code sẽ được chạy đầu tiên, nghĩa là khi biên dịch chương trình thì nội dung trong hàm main sẽ được chạy đầu tiên mà không quan trọng vị trí của nó trong file.

Ví dụ: Viết chương trình in ra màn hình dòng chữ “Hello Freetuts.net”.

 

1
2
3
4
5
6
#include <iostream.h>
void main ()
{
    cout << "Hello Freetuts.net!";  
}

 

Ở ví dụ này mình có sử dụng hàm xuất cout, hàm này sẽ in ra màn hình một dòng chữ nào đó. Chúng ta sẽ tìm hiểu nó ở các bài tiếp theo.

Trong một chương trình C+ thì bắt buộc phải có hàm main và bạn không thể viết nội dung trong hàm main ở bên ngoài được vì như vậy sẽ bị báo lỗi ngay.

4. Lời kết về thư viện C++

Như vậy là mình đã giới thiệu xong khái niệm về thư viện và hàm main() trong lập trình C++.

Theo:freetuts.net

Nếu thấy nội dung này là hữu ích, nhờ anh chị và các bạn vui lòng like, chia sẻ để bạn bè và người thân có thể biết đến nội dung này cũng như website này.

Ngoài ra để đội ngũ tiếp tục phát triển forum kính mong quý độc giả bấm vào quảng cáo được hiển thị trên website này để ũng hộ cũng như hỗ trợ đội ngũ duy trì và phát triển hơn trong tương lại.

Xin cảm ơn!

 

The post Thư viện C++ và khái niệm hàm main trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/khai-niem-thu-vien-va-ham-main-trong-c/feed/ 0
Cấu trúc điều khiển if else trong C++ https://suamaynhanh.vn/phan-mem/cau-truc-dieu-khien-if-else-trong-c/ https://suamaynhanh.vn/phan-mem/cau-truc-dieu-khien-if-else-trong-c/#respond Tue, 04 Feb 2020 10:04:53 +0000 https://suamaynhanh.vn/?post_type=wtg_soft&p=14446 Trong ngôn ngữ C++ cũng như các ngôn ngữ lập trình khác như JAVA, C#, Ruby, PHP, Javascript thì chương trình …

The post Cấu trúc điều khiển if else trong C++ appeared first on Sửa Máy Nhanh.

]]>
Trong ngôn ngữ C++ cũng như các ngôn ngữ lập trình khác như JAVA, C#, Ruby, PHP, Javascript thì chương trình sẽ được biên dịch và thực thi các câu lệnh theo thứ tự từ trên xuống dưới. Vậy trong một số trường hợp chúng ta muốn đoạn code của mình chỉ được thực thi khi thỏa mãn một số điều kiện nào đó thì phải làm như thế nào? Trong C++ có hỗ trợ cho chúng ta thực hiện điều trên bằng cấu trúc điều khiển như  if elseswitch case.

Trong bài học hôm nay chúng ta chỉ tìm hiều cấu trúc điều khiển if else trong C++, còn cấu trúc điều khiển switch case chúng ta sẽ tìm hiểu trong bài kế tiếp.

Vậy cấu trúc điều khiển if else trong C++ là gì?  Có mấy loại cấu trúc điều khiển if else  thì chúng ta sẽ cùng tìm hiểu nhé.

1. Nội dung chính của lệnh if

Câu lệnh if else trong C++ dùng để điều khiển đoạn code được thực thi khi thõa mãn được điều kiện. Trong C++ có các loại cấu trúc điều khiển if else như sau:

  • if statement (Câu lệnh if)
  • if else statement (Câu lệnh if else)
  • nested if statement (Câu lệnh if lồng nhau)
  • if else if ladder

Bây giờ chúng ta sẽ lần lượt tìm hiểu từng loại nhé.

2. Tìm hiểu lệnh If

Câu lệnh if là cấu trúc điều khiển đơn giản nhất, nó quyết định đoạn code được thi hay không. Nếu điều kiện đúng thì đoạn code bên trong lệnh if được thực thi, ngược lại thì đoạn code đó sẽ không được thực thi.

Trước hết chúng ta hãy xem cú pháp của nó đã nhé.

Cú pháp
1
2
3
4
if(condition)
{
   // Doan code se duoc thuc thi neu condition la dung (statement)
}

Lưu ý: Nếu chúng ta không cung cấp dấu “{” sau câu lệnh if thì mặc định nó chỉ thực thi một dòng lệnh duy nhất theo sau if.

Nếu condition có giá trị TRUE thì đoạn code statement sẽ thực thi, ngược lại nếu condition có giá trị FALSE nó sẽ bỏ qua. Hãy xem lưu đồ hoạt động của lệnh if dưới đây.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
  
int main()
    {
        int i = 5;
   
        if (i > 5)
        {
           cout << i << " lon hon 5" << "\n";
        }    
        if (i = 5)
        {
           cout << i << " bang 5" << "\n";
        }
        if (i < 5)
        {
           cout << i << " nho hon 5" << "\n";
        }
        cout << "Cau lenh o ngoai if";
   }

Và kết quả sau khi thực thi đoạn code trên:

Như các bạn thấy, vì biến i có giá trị là 5 nên lệnh if thứ hai sẽ được thực hiện, nên màn hình sẽ in ra kết quả là “5 bằng 5“. Tiếp theo nó sẽ chạy các đoạn code bên ngoài lệnh if, tức là nó sẽ in ra dòng “Cau lenh o ngoai if“.

3. Tìm hiểu lệnh if else

Câu lệnh if else sẽ thực thi đoạn code sau if nếu điều kiện đúng, ngược lại sẽ thực thi đoạn code sau else. Nếu xét theo lời văn chúng ta sử dụng trong cuộc sống hằng ngày thì chúng ta có ví dụ sau: Nếu bạn An đi học thì không bị phạt, ngược lại bạn An sẽ bị phạt.

Tương tự, bạn cần phải xem cú pháp và lưu  đồ hoạt động của nó trước khi làm ví dụ.

Cú pháp
1
2
3
4
5
6
7
8
if (condition)
{
    // Doan code se duoc thuc thi neu condition dung
}
else
{
   // Doan code se duoc thi thi neu condition sai
}

Lưu đồ hoạt động.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include<iostream>
using namespace std;
  
int main()
    {
        int i = 5;
   
        if (i > 5)
        {
           cout << i << " lon hon 5" << "\n";
        } else {
           cout << i << " nho hon hoac bang 5" << "\n";
        }
        cout << "Cau lenh o ngoai if";
        return 0;
   }

Và kết quả sau khi thực thi đoạn code trên:

Trong ví dụ này thì rõ ràng biến i = 5 nên điều kiện (i > 5) = FALSE, chính vì vậy nội dung bên trong lệnh else sẽ được thực hiện, sau đó chạy tiếp các dòng lệnh bên ngoài nên kết quả chúng ta thu được như hình trên.

4. Tìm hiểu lệnh if else lồng nhau

Câu lệnh if ở bên trong một câu lệnh if khác, chúng ta gọi đó là câu lệnh if else lồng nhau. Lệnh if else lồng nhau được sư dụng khá nhiều trong thực tế, nó giúp chúng ta rẻ nhánh những chương trình phức tạp.

Cú pháp
1
2
3
4
5
6
7
8
if (condition1)
{
   // Doan code se duoc thuc thi khi condition1 dung
   if (condition2)
   {
      // Doan code se duoc thuc thi khi condition2 dung
   }
}
Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
using namespace std;
  
int main()
    {
        int i = 15;
   
        if (i > 5)
        {
           cout << i << " lon hon 5" << "\n";
           if (i > 15) {
               cout << i << " lon hon 15" << "\n";
           } else {
               cout << i << " nho hon hoac bang 15" << "\n";
           }
        } else {
           cout << i << " nho hon hoac bang 5" << "\n";
        }
        cout << "Cau lenh o ngoai if";
        return 0;
   }

Các bạn cứ chạy từ trên xuống và từ trái qua phải. Vì biến i = 15 nên nội dung bên trọng lệnh if đầu tiên sẽ được chạy. Lúc này bên trong lại có thêm lệnh if else khác nên quy trình hoạt động cứ áp dụng nguyên tắc mà chúng ta đã học ở trên, và kết quả sẽ thu về là “15 nhỏ hơn hoặc bằng 15“.

5. Tìm hiểu lệnh if else if ladder

Câu lệnh if else if cho phép so sánh với nhiều điều kiện, chương trình sẽ chạy từ trên xuống dưới, nếu gặp điều kiện nào đúng thì sẽ thực thi đoạn code bên trong điều kiện đó. Ví vậy đối với cấu trúc điều khiển if else if chúng ta có thể thực thi nhiều đoạn code khác nhau.

Cú pháp
1
2
3
4
5
6
7
8
if (condition)
    statement;
else if (condition)
    statement;
.
.
else
    statement;

Lưu đồ hoạt động.

Ví dụ
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include<iostream>
using namespace std;
  
int main()
    {
        int i = 15;
   
        if (i == 5)
        {
           cout << i << " bang 5" << "\n";
        } else if (i == 10)  {
           cout << i << " bang 10" << "\n";
        } else if (i == 15) {
            cout << i << " bang 15" << "\n";
        } else if (i == 20) {
            cout << i << " bang 20" << "\n";
        } else if (i == 25) {
            cout << i << " bang 25" << "\n";
        } else {
            cout << i << " gia tri khac" << "\n";
        }
        cout << "Cau lenh o ngoai if";
        return 0;
   }

Cách dùng này có thể thay thế cho lệnh if else lồng nhau trong một số trường hợp, chính vì vậy trong thực tế cách này được sử dụng nhiều nhất.

Mình sẽ không giải thích kết quả nữa, bạn hãy tự chạy và tự tìm hiểu nhé.

6. Kết luận

Như vậy chúng ta đã tìm hiểu xong 4 loại cấu trúc điều khiển if trong C++ đó là câu lệnh if, câu lệnh if-else, câu lệnh if lồng nhau, câu lệnh if-else-if

Trong bài này chúng ta chỉ cần nhớ một số điểm cần lưu ý đó là câu lệnh if chỉ có một điều kiện, nếu điều kiện đúng thì thực thi đoạn code, ngược lại đoạn code sẽ không được thực thi.

Câu lệnh if-else nếu điều kiện đúng sẽ thực thi đoạn code bên trong if, ngược lại sẽ thực thi đoạn code bên trong else, câu lệnh if-else-if cho phép so sánh nhiều điều kiện, đi từ trên xuống dưới, nếu điều kiện nào đúng thì thực thi đoạn code bên trong điều kiện đó.

Tùy theo yêu cầu bài toán của mình mà áp dụng cấu trúc điều khiển if cho phù hợp.

Nguồn: https://freetuts.net

 

 

The post Cấu trúc điều khiển if else trong C++ appeared first on Sửa Máy Nhanh.

]]>
https://suamaynhanh.vn/phan-mem/cau-truc-dieu-khien-if-else-trong-c/feed/ 0