Nội dung môn học 10 chương chương 14 tuần = 28 tiết LT + 14 tiết BT Chương 1: Ôn lại các kiến thức cơ bản về máy tính Chương 2: Các kiểu dữ liệu và thao tác Chương 3: Giới thiệu ngôn ngữ
Trang 1Giảng viên: Nguyễn Đức Hoàng
Bộ môn Điều Khiển Tự Động
Khoa Điện – Điện Tử
Đại Học Bách Khoa Tp.HCM
MÔN HỌC
Trang 2Nội dung môn học (10
chương)
chương)
(14 tuần = 28 tiết LT + 14 tiết BT)
Chương 1: Ôn lại các kiến thức cơ bản về máy tính
Chương 2: Các kiểu dữ liệu và thao tác
Chương 3: Giới thiệu ngôn ngữ lập trình C
Chương 4: Các thành phần cơ bản và kiểu dữ liệu của C
Chương 5: Các lệnh điều khiển và vòng lặp
Trang 3Tài liệu tham khảo
Tài liệu: Tin Học 2
Trang 4Đánh giá
Thi giữa kỳ : 20%
Thi cuối kỳ : 80%
Trang 5CÁC LỆNH ĐiỀU KHIỂN
VÀ VÒNG LẶP
CHƯƠNG 5
Trang 6Nội dung chương 5
Trang 7Lệnh đơn và lệnh phức
Trang 10Lệnh IF
Lệnh if có các cấu trúc sau:
Trang 11Câu lệnh điều kiện if
if (<dieu kien>)
{
/* cac lenh thuc hien
neu dieu kien dung */
Trang 13/* cac lenh thuc hien
neu dieu kien sai */
}
…
expression statement1
Next statement
statement2
Trang 15Lỗi đơn giản nhưng dễ phạm
Trang 17Ví dụ: Kiểm tra nhiều điều kiện
Trang 18Lập trình C - CNTT2 2002 - 2005 18
Điều kiện lồng nhau
Câu lệnh if có thể được lồng vào nhau.
Trang 19Ví dụ lệnh IF
1 Viết chương trình nhập 2 số và in ra số nhỏ nhất
và lớn nhất ?(Pham Nguyen Duy, Chung Huu Hien)
2 Viết chương trình giải phương trình bậc 2 (Duong Hung
Manh, Nguyen Tan Vinh, Nguyen Van Duc, DO Huu Tan, Tran Trung Hieu, Dinh Duc Nguyen, Bui Huu Son)
3 Nhập vào số nguyên dương n với 0 < n < 8.Tùy
theo n hãy in ra các chữ Sunday, Monday,
…,Saturday (Tran Minh Khoa, Nguyen Vinh Son, Luong Khoi Du, Dang Quang Nhat)
4 Nhập vào 3 cạnh của tam giác In ra tam giác đó
loại gì ? (thường, vuông, đều, cân, vuông cân)
Trang 22Lệnh WHILE
Cú pháp: while (biểu thức 1) lệnh 1 ;
- Nguyên tắc thực hiện :
+B1 Tính giá trị của biểu thức 1
+B2 Nếu giá trị của biểu thức 1 sai ( = 0 ) thì chương trình ra khỏi vòng while
+B3 Nếu giá trị của biểu thức đúng thì thực hiện lệnh 1
và quay lại bước 1(b1)
- Chú ý : Biểu thức 1 có thể gồm nhiều biểu thức nhưng tính đúng sai phụ thuộc vào biểu thức cuối cùng
Trang 26Lệnh DO WHILE
Cú pháp: do lệnh 1 ; while (biểu thức 1);
- Nguyên tắc thực hiện :
+B1 Máy thực hiện lệnh 1
+B2 Sau đó tính giá trị của biểu thức 1, nếu giá trị của
biểu thức 1 sai thì chương trình thoát ra khỏi vòng lặp Nếu giá trị của biểu thức 1 đúng thì quay lại bước 1
Chú ý : - while : Ðiều kiện được kiểm tra trước, nếu đúng mới thực hiện - do while : câu lệnh được thực hiện
trước khi kiểm tra Câu lệnh thực hiện bao giờ ít nhất là 1 lần
Biểu thức 1 có thể gồm nhiều biểu thức nhưng tính đúng sai phụ thuộc vào biểu thức cuối cùng
Trang 27Lệnh DO WHILE
Ví dụ : tính pi với sai số eps = 1E - 4 , pi = 4 - 4/3 + 4/5 - 4/7 + eps
#include < stdio.h >
main ()
{ float pi, dau, i , eps, saiso ;
i=1.0; dau = -1; saiso = 1e -4 ;
Trang 28+B4 Tính giá trị của bt3, quay lại kiểm tra bt2
- Chú ý : bt2 vắng mặt thì nó được coi luôn đúng
bt1,bt2,bt3 có thể là các biểu thức phẩy
Trang 30int i, j, t, n ; double gt, s;
printf ("nhập n= "); scanf(" %d ", &n);
for (s= 0,t= 0,i=1; i<=n ; ++i ) {
t=t+i;
for ( gt=1,j=1; j<=t ; ++j)
gt = gt*j ; s = s+gt;
} printf ( " tong s = %15.0f ", s);
}
Trang 31int i, j, t, n ; double gt, s;
printf ("nhập n= "); scanf(" %d ", &n);
for ( s=0, t=1, i=1; i<=1; ++i , t = t + 1) {
for ( gt=1,j=1;j<=t; ++j) gt*=j; s+= gt;
} printf ( " tong s = %15.0f ", s);
Trang 32int i, j, t, n ; double gt, s;
printf ("nhập n= "); scanf(" %d ", &n);
for (s=0, t=1,i=1; i<=n; ++i, t=t+i,s+=gt) for( gt=1,j=1; j<=t; gt* = j , ++j );
printf ( " tong s = %15.0f ", s);
}
Trang 33Int i=1, j=1, t=1, n ; double gt = 1, s= 0 ; printf ("nhập n= "); scanf(" %d ", &n);
for ( ; i<=n ; ++i, t = t + i , s+ = gt) {
for ( ; j<=t ; gt* = j ++ /* gt = j ; ++j */
} printf ( " tong s = %15.0f ", s);
Trang 34Dinh Khai, Nguyen Minh Thuan,Dinh Duc Nguyen, Duong Vu)
Trang 35Lệnh BREAK & CONTINUE
Dùng để thoát khỏi vòng lặp Khi gặp câu lệnh này trong
vòng lặp, máy ra khỏi và chỉ đến câu lệnh sau các lệnh trên Nếu nhiều vòng lặp > break sẽ thoát ra khỏi vòng lặp gần nhất
Trang 36Lệnh BREAK & CONTINUE
Trang 37thực hiện lệnh nào sau lệnh return
VD:
int so_sanh (int a, int b)
{
return (a > b) ? 1 : (a == b) ? 0 : -1;
Trang 38Lệnh GOTO & RỖNG
nhan: lenh;
CHÚ Ý : PHẠM VI NHÃN TRONG CÙNG 1 HÀM
Trang 39int i=1,j=1,t=1,n; float gt=1,s=0;
Trang 41 Nuyen Xuan Truong(2), Tran Minh Khoa, Doan Vi
Kim Khanh, Nguyen Dinh Huy, Duong Hung Manh, Phan Gia Huy
Nguyen Duy Ngoc(2), Le Truong Phu(3), Bui Anh
Duc, Le Vinh Tinh(2), Nguyen Vinh Son(2), Nguyen Phu An, Nguyen Hoang Duy
Hung(4), Nguyen Van Duc(3), Vu Dinh Ngoc, Do Huu Tan(2), Nguyen Xuan Thich (3), Tran Quoc Hieu,