Bài giảng Nhập môn lập trình - Chương 3: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn

Nhập môn lập trình  
Trình bày: …; Email: …@fit.hcmus.edu.vn  
Khối lệnh trong lập trình  
Dùng cấu trúc rẽ nhánh trong lập trình  
Xử lý lặp trong lập trình  
Các vấn đề tìm hiểu mở rộng kiến thức  
nghề nghiệp  
Thuật ngữ và bài đọc thêm tiếng Anh  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
2
• Một dãy các câu lệnh được bao bởi dấu {}  
gọi là một khối lệnh.  
• Ví dụ:  
{
a = 2;  
b = 3;  
printf("\n%d%d", a, b);  
}
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
4
• Một namespace là giới hạn phạm vi ý  
nghĩa của một cái tên, nghĩa là tên chỉ có  
ý nghĩa trong phạm vi được định nghĩa bởi  
namespace.  
• Namespace giúp tránh đụng độ tên biến,  
tên hàm…  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
5
// namespaces  
#include <iostream>  
using namespace std;  
namespace first {  
int var = 5;  
}
namespace second {  
double var = 3.1416;  
}
void main () {  
cout << first::var << endl;  
cout << second::var << endl;  
}
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
6
• Khi lập trình, cần phải nắm rõ phạm vi của  
biến. Nếu khai báo và sử dụng không  
đúng, không rõ ràng sẽ dẫn đến sai sót  
khó kiểm soát được, vì vậy bạn cần phải  
xác định đúng vị trí, phạm vi sử dụng biến  
trước khi sử dụng biến.  
• Có 2 loại biến:  
– Biến toàn cục (Global variable)  
– Biến cục bộ (Local variable)  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
7
• Biến toàn cục (Global variables): vị trí  
biến đặt bên ngoài tất cả các hàm, cấu  
trúc...Các biến này có ảnh hưởng đến  
toàn bộ chương trình. Chu trình sống của  
nó là bắt đầu chạychương trình đến lúc  
kết thúc chương trình.  
• Nguyên tắc sử dụng: có thể được sử  
dụng ở bất kỳ đâu trong chương trình,  
ngay sau khi nó được khai báo.  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
8
• Biến cục bộ (Local variables): Vị trí biến đặt  
bên trong hàm, cấu trúc…. Chỉ ảnh hưởng nội bộ  
bên trong hàm, cấu trúc đó…. Chu trình sống của  
nó bắt đầu từ lúc hàm, cấu trúc được gọi thực  
hiện đến lúc thực hiện xong.  
• Nguyên tắc sử dụng: bị giới hạn trong phần mã  
mà nó được khai báo. Nếu chúng được khai báo ở  
đầu một hàm (như hàm main), tầm hoạt động sẽ  
là toàn bộ hàm main. Điều đó có nghĩa là các biến  
được khai báo trong hàm main() chỉ có thể được  
dùng trong hàm đó, không được dùng ở bất kỳ  
đâu khác.  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
9
• Các cấu trúc điều khiển cho phép chúng ta  
thay đổi thứ tự thực hiện các câu lệnh.  
Việc sử dụng các cấu trúc điều khiển trong  
chương trình giúp chúng ta thực hiện các  
câu lệnh trong chương trình theo ý của  
mình chứ không cứng nhắc là từ trên  
xuống dưới.  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
11  
• Cấu trúc điều khiển có 2 loại:  
– Cấu trúc điều khiển rẽ nhánh:  
• if else  
• switch  
– Cấu trúc điều khiển vòng lặp:  
• for  
• while  
• do while  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
12  
if (biểu_thức_điều_kiện)  
{
• Cấu trúc rẽ nhánh if cho  
phép lựa chọn thực hiện  
một lệnh hay khối lệnh đi  
sau cấu trúc điều khiển if  
hay không, việc lựa chọn  
này tùy thuộc vào giá trị  
trả về của biểu thức điều  
kiện.  
Lệnh 1;  
Lệnh 2;  
…
Lệnh n;  
}
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
13  
Đúng  
<ĐKRN>  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
14  
• Tìm số lớn nhất trong 3 số thực a, b, c  
#include <stdio.h>  
void main() {  
float a, b, c, max;  
printf(“Nhap 3 so thuc: ”);  
scanf(“%f%f%f”, &a, &b, &c);  
max = a;  
if (b > max)  
max = b;  
if (c > max)  
max = c;  
printf(“So lon nhat la: %.2f\n”, max);  
}
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
15  
• Cấu trúc điều khiển rẽ nhánh if else cho  
phép lựa chọn một trong hai nhánh lệnh  
của chương trình và việc lựa chọn này tùy  
thuộc giá trị trả về của biểu thức điều  
kiện.  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
16  
if (biểu_thức_điều_kiện)  
{
• Cấu trúc điều khiển rẽ  
nhánh if else cho phép lựa  
chọn một trong hai nhánh  
lệnh của chương trình và  
việc lựa chọn này tùy  
thuộc giá trị trả về của  
biểu thức điều kiện.  
Lệnh 1;  
Lệnh 2;  
…
Lệnh n;  
}
else  
{
Lệnh 1;  
Lệnh 2;  
…
Lệnh n;  
}
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
17  
Sai  
Đúng  
<ĐKRN>  
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
18  
• Kiểm tra 2 số thực cho trước có cùng dấu  
hay không?  
#include <stdio.h>  
void main() {  
float a, b;  
printf(“Nhap 2 so thuc: ”);  
scanf(“%f%f”, &a, &b);  
if (a * b > 0)  
printf(“%.2f va %.2f cung dau!\n”, a, b);  
else  
printf(“%.2f va %.2f trai dau!\n”, a, b);  
}
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
19  
• Giải phương trình bậc nhất ax + b = 0  
#include <stdio.h>  
void main() {  
float a, b;  
printf(“Nhap 2 so thuc: ”);  
scanf(“%f%f”, &a, &b);  
if (a == 0)  
if (b == 0)  
printf(“Phuong trinh vo so nghiem!\n”);  
else  
printf(“Phuong trinh vo nghiem!\n”);  
else  
printf(“Phuong trinh co nghiem x = %.2f\n”, -b / a);  
}
11/10/2012  
Khoa CNTT - ĐH Khoa học tự nhiên  
20  
Tải về để xem bản đầy đủ
pdf 58 trang myanh 26700 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn lập trình - Chương 3: Giới thiệu về các cấu trúc điều khiển - Phạm Minh Tuấn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_nhap_mon_lap_trinh_chuong_3_gioi_thieu_ve_cac_cau.pdf