Thông tin tài liệu:
Bài giảng "Lập trình C: Chương 5 - Các toán tử điều khiển" được biên soạn với nội dung tìm hiểu về các toán tử điều khiển bao gồm: Toán tử IF; Toán tử switch; Toán tử goto và nhãn; Toán tử while. Mời các bạn cũng tham khảo bài giảng tại đây!
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình C: Chương 5 - Các toán tử điều khiển
CHƯƠNG V
CÁC TOÁN TỬ ĐIỀU KHIỂN
I. Toán tử IF
Cú pháp:
Dạng 1:
if (Biểu thức điều kiện)
;
Dạng 2:
if (Biểu thức điều kiện)
;
else
;
Chức năng:
Nếu Biểu thức điều kiện có giá trị bằng 1 thì thực
hiện Câu lệnh 1.
Ngược lại thì thực hiện Câu lệnh 2 (Dạng 2),
hoặc thực hiện các lệnh sau if (Dạng 1)
Ví dụ: Giải phương trình bậc hai:
#include 'stdio.h'
#include 'math.h'
void main()
{
int a,b,c;
float x1,x2,del;
clrscr();
printf('\nNhap he so a = '); scanf('%d',&a);
printf('\nNhap he so b = '); scanf('%d',&b);
printf('\nNhap he so c = '); scanf('%d',&c);
del=pow(b,2)4*a*c;
if (del >= 0)
{
printf('Phuong trinh co nghiem');
x1=(bsqrt(del))/2*a; x2=(b+sqrt(del))/2*a;
printf('\n x1 = %6.2f',x1);
printf('\n x2 = %6.2f',x2);
}
else
printf('\n Phuong trinh vo nghiem');
getch();
}
Chú ý:
Hoàn toàn giống các ngôn ngữ lập trình khác, thì
C cũng cho phép sử dụng các toán tử if lồng
nhau.
Ví dụ:
if (a>b)
if (b>c)
z = b
else
z = c
...
Một dạng khác của kiểu toán tử if lồng nhau:
if (Biểu thức điều kiện 1)
;
else if (biểu thức điều kiện 2)
;
.
.
.
else if (biểu thức điều kiện n1)
;
else
;
Ví dụ:
Viết chương trình nhập vào một số từ 1 đến 7 và cho
hiểu thị thư trong tuần.
#include 'stdio.h'
void main()
{
int t;
clrscr();
printf('Nhap so thu tu cua ngay trong tuan t = ');
scanf('%d',&t);
if (t==1)
printf('\nNgay chu nhat');
else if (t==2)
printf('\nNgay thu hai');
else if (t==3)
printf('\nNgay thu ba');
else if (t==4)
printf('\nNgay thu tu');
else if (t==5)
printf('\nNgay thu nam');
else if (t==6)
printf('\nNgay thu sau');
else
printf('\nNgay thu bay');
getch();
}
II. Toán tử switch
Về ý tưởng gần giống toán tử Case .. Of của
Pascal. Toán tử switch cho phép căn cứ vào giá
trị của một biểu thức nguyên để chọn một trong
nhiểu cách nhảy.
Cú pháp:
swith (Biểu thức)
{
case n1:
;
case n2:
.
.
case nk:
[default:
;]
}
Trong đó:
ni là các số nguyên, hằng ký tự hoặc biểu thức
hằng, các ni cần có các giá trị khác nhau.
Đoạn chương trình đặt giữa { và } chính là thân
của switch.
default là một thành phần không bắt buộc
Thứ tự của ni và default không theo trật tự nào
cả.
Sự hoạt động của switch tuỳ thuộc vào giá trị
của biểu thức.
Khi biểu thức có giá trị ni thì nhảy tới câu lệnh ni
Khi biểu thức khác các giá trị ni thì nhảy đến câu
lệnh có nhãn default (nếu có), hoặc ra khỏi switch.
Ra khỏi switch:
Máy sẽ ra khỏi switch khi gặp lệnh break hoặc gặp dấu
ngoặc đống cuối cùng (})của switch.
Có thể dùng lệnh goto trong thân switch để nhảy đến một
lệnh ngoài thân switch
Nếu switch nằm trong một hàm nào thì có thể sử dụng lệnh
return để ra khỏi hàm đó.
Chú ý:
Khi máy nhảy tới một lệnh nào thì sự
hoạt động tiếp theo của nó sẽ phụ thuộc vào
các lệnh đứng sau câu lệnh này.Tức là nếu
máy nhảy tới câu lệnh có nhãn case ni thì nó
có thể thực hiện tất cả các lệnh sau đó cho
tới khi gặp lệnh break, goto hoặc return.
Ví dụ:
Viết lại chương trình ở ví dụ trên bằng cách sử dụng switch.
#include 'stdio.h'
void main()
{
int ch,t;
tt: clrscr();
printf('Nhap so thu tu cua ngay trong tuan t = ');
scanf('%d',&t);
switch (t)
{
case 1:printf('\nNgay chu nhat');
break;
case 2:printf('\nNgay thu hai');
break;
case 3:printf('\nNgay thu ba');
break;
case 4:printf('\nNgay thu tu');
break;
case 5:printf('\nNgay thu nam');
break;
case 6:printf('\nNgay thu sau');
break;
case 7:printf('\nNgay thu bay');
break;
default:printf('\nNhap lai');
getch();
goto tt;
}
printf('\nTiep tuc khong 1/0 ch = ');
scanf('%d',&ch);
if (ch==1) goto tt;
}
III. Toán tử goto và nhãn
Nhãn có cùng dạng như tên biến và đi liền
sau nó là dấu (:), nhãn có thể gán cho bất
kỳ câu lệnh nào trong chương trình
Ví dụ:
tt:clrscr(); /* tt là nhãn của câu lệnh xoá màn
hình clrscr()*/
Toán tử goto có dạng:
goto nhãn;
Khi gặp câu lệnh này mãy sẽ nhảy tới câu
lệnh co nhãn viết sau từ khoá goto
Chú ý:
Câu lệnh goto và nhãn cần nằm trong một
hàm. Điều đó nói lên rằng: Toán tử goto chỉ
cho phép nhảy từ vị trí này sang vị trí khác
trong thân của hàm. Không dùng nhảy từ
hàm này sang hàm khác.
Không cho phép dùng toán tử goto để nhảy
từ ngoài vào trong một khối lệnh, nhưng
điều ngược lại thì có thể thực hiện được.
IV. Toán tử for
Cú pháp:
for (biểu thức 1; biểu thức 2; biểu thức 3)
Chức năng:
Cho thực hiện câu lệnh sau for với số lần
định trước bởi các biểu thức trong for.
Trong đó:
Biểu thức 1: Là một toán tử gán để tạo giá
trị khởi đầu cho biến điều khiển.
Biểu thức 2: Là một quan hệ logic biểu thị
điều kiện để tiếp tục chương trình.
Biểu thức 3: Là một toán tử gán đùng để
thay đổi giá trị của biến điều khiển
Trong ba Biểu thức trong ngoặc for có thể
thiểu không đủ ba hoặc nhiều hơn ba biểu
Chú ý:
Khi biểu thức 2 vắng mặt thì nó luôn luôn
đư ...