Câu lệnh đơn, khối lệnh
Một câu lệnh (statement) xác định một công việc mà chương trình phải thực hiện để xử lý dữ liệu đã được mô tả và khai báo. Các câu lệnh được ngăn cách với nhau bởi dấu chấm phẩy (;). Có hai loại lệnh: lệnh đơn và ...
Một câu lệnh (statement) xác định một công việc mà chương trình phải thực hiện để xử lý dữ liệu đã được mô tả và khai báo. Các câu lệnh được ngăn cách với nhau bởi dấu chấm phẩy (;).
Có hai loại lệnh: lệnh đơn và lệnh có cấu trúc.
Lệnh đơnlà một lệnh không chứa các lệnh khác. Các lệnh đơn gồm: lệnh gán, các câu lệnh nhập xuất dữ liệu…
Lệnh có cấu trúclà lệnh trong đó chứa các lệnh khác. Lệnh có cấu trúc bao gồm: cấu trúc điều kiện rẽ nhánh, cấu trúc điều kiện lựa chọn, cấu trúc lặp và cấu trúc lệnh hợp thành. Lệnh hợp thành (khối lệnh) là một nhóm bao gồm nhiều khai báo biến và các lệnh được gom vào trong cặp dấu {}.
Một dãy các câu lệnh được bao bởi các dấu { } gọi là một khối lệnh.
Ví dụ:
{
a=2;
b=3;
Console.Write(“a={0} b={1}},a,b);
}
C# xem khối lệnh cũng như một câu lệnh riêng lẻ. Nói cách khác, chỗ nào viết được một câu lệnh thì ở đó cũng có quyền đặt một khối lệnh.
Khai báo ở đầu khối lệnh :
Trong C# việc khai báo các biến và mảng có thể ở bất cứ chỗ nào chương trình miễn là trước khi sử dụng phải khai báo chúng. Nhưng một thói quen lập trình tốt là chúng ta nên khai báo chúng ở đầu các khôi lệnh, đầu các hàm
{
int a,b;
float x,y,z;
a=b=3;
x=5.5; y=a*x;
z=b*x;
}
Sự lồng nhau của các khối lệnh và phạm vi hoạt động của các biến và mảng:
Bên trong một khối lệnh lại có thể viết lồng khối lệnh khác. Sự lồng nhau theo cách như vậy là không hạn chế.
Khi máy bắt đầu làm việc với một khối lệnh thì các biến và mảng khai báo bên trong nó mới được hình thành và được cấp phát bộ nhớ. Các biến này chỉ tồn tại trong thời gian máy làm việc bên trong khối lệnh và chúng lập tức biến mất ngay sau khi máy ra khỏi khối lệnh. Vậy :
Giá trị của một biến hay một mảng khai báo bên trong một khối lệnh không thể đưa ra sử dụng ở bất kỳ chỗ nào bên ngoài khối lệnh đó.
Ở bất kỳ chỗ nào bên ngoài một khối lệnh ta không thể can thiệp đến các biến và các mảng được khai báo bên trong khối lệnh
Ví dụ :
Xét đoạn chương trình sau :
{
double a=5,b=2;
{
double c=4;
b=c+b;
Console.Write(“ a trong ={0,3 :N2} b={1,3:N2}”,a,b}
}
Console.Write(" a ngoai ={0,3:N2 b={1,3:N2}",a,b);
Console.Write(" c{0,3:N2}",c);// Câu lệnh này sai
}