Tải bản đầy đủ (.ppt) (41 trang)

CÁC LỆNH ĐIỂU KHIỂN VÀ VÒNG LẶP CỦA C - CHƯƠNG 5 pot

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (499.12 KB, 41 trang )

Giả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
Email:
MÔN HỌC
MÔN HỌC
Nội dung môn học (10
Nội dung môn học (10
chương)
chương)
(14 tuần = 28 tiết LT + 14 tiết BT)
(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
Chương 6: Hàm
Chương 7: Lớp lưu trữ của biến - Sự chuyển kiểu
Chương 8: Mảng
Chương 9: Pointer
Chương 10: Kiểu dữ liệu có cấu trúc và kiểu tự định
nghĩa
Tài liệu tham khảo
Tài liệu tham khảo
Tài liệu:
Tài liệu:
Tin Học 2
Tin Học 2




Đặng Thành Tín
Đặng Thành Tín
Kỹ Thuật Lập Trình C
Kỹ Thuật Lập Trình C


GS. Phạm Văn Ất
GS. Phạm Văn Ất
Giáo Trình C
Giáo Trình C


Nguyễn Hữu Tuấn
Nguyễn Hữu Tuấn
Giáo trình BT Kỹ thuật lập trình
Giáo trình BT Kỹ thuật lập trình
C
C
Đánh giá
Đánh giá
Thi giữa kỳ : 20%
Thi cuối kỳ : 80%
CÁC LỆNH ĐiỀU KHIỂN
CÁC LỆNH ĐiỀU KHIỂN
VÀ VÒNG LẶP
VÀ VÒNG LẶP
CHƯƠNG 5
CHƯƠNG 5

Nội dung chương 5
Nội dung chương 5
5.1 Lệnh đơn và lệnh phức
5.2 Lệnh IF
5.3 Lệnh SWTICH-CASE
5.4 Lệnh WHILE
5.5 Lệnh DO-WHILE
5.6 Lệnh FOR
5.7 Lệnh BREAK-CONTINUE
5.8 Lệnh RETURN
5.9 Lệnh GOTO
5.10 Lệnh RỖNG
Lệnh đơn và lệnh phức
Lệnh đơn và lệnh phức
Lệnh đơn
Lệnh đơn
Lệnh đơn là một biểu thức thuộc loại bất kì kết thúc
bằng ;
VD: a += 1;
b = a + 1;
c = !a&&b ;
Lệnh phức
Lệnh phức
Lệnh phức bao gồm một hay nhiều lệnh đơn nằm trong
dấu { }
VD: {
a += 1;
b = ++a;
c = a>=b ;
}

Lệnh IF
Lệnh IF
Lệnh if có các cấu trúc sau:
Lập trình C - CNTT2. 2002 - 2005
11
Câu lệnh điều kiện if
if (<dieu kien>)
{
/* cac lenh thuc hien
neu dieu kien dung */
}

expression
statement(s)
Next statement
True False
Lập trình C - CNTT2. 2002 - 2005
12
Ví dụ
1. #include <stdio.h>
2. int main() {
3. int b;
4. printf("Enter a value:");
5. scanf("%d", &b);
6. if (b < 0)
7. printf("The value \
is negative\n");
8. return 0;
9. }
Lập trình C - CNTT2. 2002 - 2005

13
if … else …
if (<dieu kien>)
{
/* cac lenh thuc hien neu dieu kien dung */
}
else
{
/* cac lenh thuc hien
neu dieu kien sai */
}

expression
statement1
Next statement
True False
statement2
Lập trình C - CNTT2. 2002 - 2005
14
Ví dụ

printf(“1/X is: “);
if(X)
printf(“ %f \n”, 1/X);
else
printf(“ undefined \n”);

Lập trình C - CNTT2. 2002 - 2005
15
Lỗi đơn giản nhưng dễ phạm

1. #include <stdio.h>
2. int main() {
3. int b;
4. printf("Enter a value:");
5. scanf("%d", &b);
6. if (b == 5)
7. printf(“b is "); printf( “5 \n”);
8. return 0;
9. }
Lập trình C - CNTT2. 2002 - 2005
16
Lỗi đơn giản nhưng dễ phạm
1. printf(“1/X is: “);
2. if(X < 0) ;
3. printf(“ X is negative \n”);
4. …
Lập trình C - CNTT2. 2002 - 2005
17
Ví dụ: Kiểm tra nhiều điều kiện
1. #include <stdio.h>
2. int main() {
int b;
3. printf("Enter a value:");
4. scanf("%d", &b);
5. if (b < 0)
6. printf("The value is negative\n");
7. else if (b == 0)
8. printf("The value is zero\n");
9. else
10. printf("The value is positive\n");

11. return 0;
12. }
Lậ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.
1. if ( X >= 0 ) {
2. if ( Y < 0 )
3. Y = Y + sqrt(X);
4. }
5. else
6. Y = Y + sqrt(-X);

Tuy nhiên, cần chú ý đến thứ tự các cặp lệnh if … else … khi lồng các
lệnh if. Nếu không sẽ phát sinh lỗi.
1. if ( X >= 0 )
2. if ( Y < 0 )
3. Y = Y + sqrt(X);
4. else
5. Y = Y + sqrt(-X);
Ví dụ lệnh IF
Ví 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) (Pham
Nguyen Duy, Ho Van Phap, Vu Dinh Ngoc)
Lệnh SWITCH-CASE
Lệnh SWITCH-CASE
Cú pháp: switch(bieuthuc)
{ case hang_1:
lenh_1;
break;

case hang_n:
lenh_n;
break;
default:
lenh;
break;
}
Lệnh SWITCH-CASE
Lệnh SWITCH-CASE
Ví dụ: Đổi 1 số nguyên sang chuỗi ký tự là tên các môn học
#include<stdio.h>
#include<conio.h>
main( )
{ int ma ;
printf(" \n cho mã cần chuyển "); scanf(" %d ", &ma);
switch(ma)
{
case 0 : printf(" \n lớp tin học a ");
break;
case 1 : printf( " \n lớp tin học b");

break;
case 2 : printf(" \n lớp trung cấp ");
break;
case 3 : printf (" \n lóp chuyên viên ");
break;
default : printf( " \n lợp thiế tiền học phí");
}
}
Lệnh WHILE
Lệ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
Lệnh WHILE
Lệnh WHILE
Ví dụ: Tính tổng S = 1+2+3+…+N
#include < stdio.h >
main ()
{
int N, S=0, i = 0 ;
printf(“Nhap so nguyen duong: “); scanf(“%d”,&N);
while ( i <= N)
{

S=S+i;
i ++ ;
}
printf(“Tong = %d”, S);
}
Lệnh WHILE
Lệnh WHILE
Ví dụ: Tính tổng S = 1+2+3+…+N
#include < stdio.h >
main ()
{
int N, S=0, i = 0 ;
printf(“Nhap so nguyen duong: “); scanf(“%d”,&N);
while ( i <= N) S+=i++;
printf(“Tong = %d”, S);
}
Lệnh WHILE
Lệnh WHILE
Ví dụ: Tính tổng S = 1+2+3+…+N
#include < stdio.h >
main ()
{
int N, S=0, i = 0 ;
printf(“Nhap so nguyen duong: “); scanf(“%d”,&N);
while (S+=i++; i <= N) ;
printf(“Tong = %d”, S);
}

×