Cơ sở lập trình - Trường ĐH Thương mại - 7

Ví dụ 1: Viết chương trình nhập vào số nguyên dương và tính n!

Ví dụ 2: viết chương trình nhập vào một số nguyên n. Kiểm tra xem số đó có phải là số nguyên tố hay không.


7/2020 Cơ sở lập trình 97


Chức năng: Thực hiện lặp đi lặp lại một khối lệnh khi điều kiện lặp vẫn còn thỏa mãn.

Cú pháp

while (điều_kiện)

{ // khối lệnh }

Trong đó:

Có thể bạn quan tâm!

Xem toàn bộ 113 trang tài liệu này.

điều_kiện là là một biểu thức nhận giá trị nguyên

hoặc thực

Cơ sở lập trình - Trường ĐH Thương mại - 7

while là từ khóa

7/2020 Cơ sở lập trình 98

Sự hoạt động

Bước 1: Tính giá trị của biểu thức điều_kiện

Bước 2: Nếu biểu thức điều_kiện có giá trị sai thì trình biên dịch sẽ thoát khỏi cấu trúc while. Nếu biểu thức điều kiện có giá trị đúng thì khối lệnh sẽ được thực hiện và quay trở lại bước 1.

Nhận xét

Khối lệnh của while có thể không được thực hiện

lần nào.


7/2020 Cơ sở lập trình 99


Chú ý

Biểu thức điều_kiện có thể là một dãy các biểu thức đặt cách nhau bởi dấu phẩy. Giá trị của điều_kiện là giá trị của biểu thức cuối cùng trong dãy.

Tránh lỗi đặt dấu ; sau biểu thức dieu_kien

Sử dụng câu lệnh break để tránh tình huống vòng lặp không dừng.

Các câu lệnh while có thể lồng nhau hoặc lồng các các câu lệnh lặp khác. Khi gặp lệnh break, máy sẽ ra khỏi câu lệnh while sâu nhất chứa lệnh này

7/2020 Cơ sở lập trình 100

Ví dụ 1: Tính tổng các số nhập vào từ bàn phím khi tổng còn <100.

Ví dụ 2: Xây dựng chương trình thể hiện thuật toán Euclid để tìm UCLN của 2 số nguyên a và b.

Ví dụ 3: Viết chương trình nhập vào số

nguyên dương và tính n!


7/2020 Cơ sở lập trình 101


Chức năng: do … while là cấu trúc lặp trong đó một khối lệnh sẽ được thực hiện đi thực hiện lại khi điều kiện lặp vẫn còn thỏa mãn.

Cú pháp

do

{ // khối lệnh } while(dieu_kien);

Trong đó:

do và while là hai từ khóa

dieu_kien là biểu thức điều kiện nhận giá trị nguyên hoặc thực

7/2020 Cơ sở lập trình 102

Sự hoạt động

Bước 1: Thực hiện khối lệnh

Bước 2: Xác định giá trị của biểu thức

Bước 3: Nếu biểu thức có giá trị đúng thì trình biên dịch sẽ quay lại bước 2. Nếu biểu thức có giá trị sai thì trình biên dịch sẽ thoát khỏi cấu trúc lặp do while.

So sánh với cấu trúc while

Khối lệnh sẽ được thực hiện trước khi xác định giá trị của biểu thức, vì vậy khối lệnh luôn được thực hiện ít nhất là một lần.

Chú ý: tương tự cấu trúc while


7/2020 Cơ sở lập trình 103


Ví dụ 1: Viết chương trình đọc một số cho đến khi số đó là số dương.

Ví dụ2: Viết chương trình cho phép người dùng nhập một kí tự từ bàn phím in ra mã của kí tự cho đến khi người dùng nhập phím Enter để thoát.

Ví dụ 3: Viết chương trình nhập vào số nguyên dương và tính n!


7/2020 Cơ sở lập trình 104

Đều là câu lệnh lặp nhưng cấu trúc for có số lần lặp xác định và bước nhảy rõ ràng, while và do … while không xác định số lần lặp

Cấu trúc for và while: điều kiện được kiểm tra trước khối lệnh có thể không được thực hiện lần nào. Cấu trúc do … while: điều kiện được kiểm tra sau khối lệnh luôn được thực hiện ít nhất một lần

7/2020 Cơ sở lập trình 105


3.1. Mảng và xâu

3.2. Con trỏ


7/2020 Cơ sở lập trình 106

3.1.1. Mảng

3.1.2. Xâu


7/2020 Cơ sở lập trình 107


Đặt vấn đề: Bài toán quản lý dãy số với n biến đơn

Khái niệm: mảng là một dãy các phần tử có cùng kiểu dữ liệu được đặt liên tiếp trong bộ nhớ và có thể truy xuất đến từng phần tử thông qua chỉ số mảng.

Các yếu tố của mảng

Kiểu mảng

Tên mảng

Số phần tử/kích thước của mảng

7/2020 Cơ sở lập trình 108

Khai báo mảng

<type> <name> [size1][[size2][…[sizeN]]];

Trong đó:

type là các kiểu dữ liệu cơ sở/ cấu trúc

name: là tên được đặt cho mảng

Size1, size2,.., sizeN là các số nguyên qui định kích cỡ

của mảng hoặc số phần tử của mảng.

Số lượng thành phần [ ] được đặt sau tên mảng sẽ

qui định chiều của mảng đó.


7/2020 Cơ sở lập trình 109


Ví dụ

int a[10];

float arr[2][3];

Chú ý

Mảng chỉ thực sự làm việc tốt với mảng tối đa 3 chiều

Trường size1,...sizeN phải là một giá trị hằng khi khai báo (vì mảng là một khối nhớ tĩnh có kích cỡ xác định)

Ví dụ

int n,m;

int a[n][m];

7/2020 Cơ sở lập trình 110

Khởi tạo mảng

Đối tượng áp dụng: Biến toàn cục

Cách thức: tự động hoặc có thể gán giá trị khởi tạo cho các phần tử của mảng

Với mảng 1chiều

<type> <name> [size]={v1,v2,v3,..,vk}; //( k<=N)

Hoặc <type> <name> [ ]={v1,v2,v3,..,vk};

Ví dụ

char a[5] = { 0, 1, 4, 3, 2 };

7/2020 Cơ sở lập trình 111


Với mảng 2chiều

<type> <name> [size1][size2] ={

{a11,a12,a13,...},

{a21,a22,a23,... },

};

Ví dụ: int a[][4]={ {0},{1,3,5}, {2,4,6,8} }

Cách khởi tạo khác

<type> <name>[size1][size2] ={v1,v2,..,vK}; (k<=size1*size2)

Ví dụ: int a[3][2]={1,2,3,4,5,6};

7/2020 Cơ sở lập trình 112

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 01/10/2023