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

Tài liệu cac cau lenh tren c doc

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 (190.07 KB, 27 trang )

NỘI DUNG

Tin học đại cương

4

CÁC CÂU LỆNH TRÊN C

1


CÁC CÂU LỆNH TRÊN C
1. Lệnh if
2. Lệnh switch
3. Lệnh for
4. Lệnh while
5. Lệnh do … while
Tin học đại cương

6. Lệnh goto, break, continue, return

2


CÂU LỆNH, KHỐI LỆNH
 KHÁI NIỆM VỀ CÂU LỆNH
Mỗi câu lệnh thực hiện một chức năng nào
đó (như lệnh gán, lệnh xuất dữ liệu ra màn
hình), câu lệnh có thể được viết trên một
hoặc nhiều dòng và được kết thúc bằng
dấu chấm phẩy (;).



Tin học đại cương

Ví dụ:
cv=2*r*M_PI;
printf("\nChu vi = %10.2f \
\nDien tich = %10.2f",cv,dt);
3


CÂU LỆNH, KHỐI LỆNH
 KHÁI NIỆM VỀ KHỐI LỆNH
Một dãy các câu lệnh được đặt trong một
cặp dấu { và } được gọi là một khối lệnh.
Ví dụ:

Tin học đại cương

{
float cv,dt;
cv=2*r*M_PI;
dt=M_PI*r*r;
printf("\nChu vi = %10.2f \
\nDien tich = %10.2f”, cv, dt);
getch(); // chờ nhấn phím
}
4


CÂU LỆNH IF

 CÚ PHÁP KHAI BÁO LỆNH IF
 Dạng 1:
if (biểu thức ĐK) <khối lệnh>;

 Dạng 2:
if (biểu thức ĐK) <khối lệnh 1>;

Tin học đại cương

else

<khối lệnh 2>;

5


Tin học đại cương

 VD giai ax^2 +bx +c =0
 If (a!=0)
 {d=b*b-4*c*a;
 If(d>0){x1=(-b + sqrt(d))/2/a;x2
=(-b-sqrt(d))/2/a;
 Printf (“/n 2 nghiem x1=%5.2f va
x2=%5.2f”,x1,x2);
 If(d==0) printf(“/n nghiem kep=
5.2%d\f”,-b/2/a);
 If(d<0) printf(“\n vo nhiem”);
6



CÂU LỆNH IF
 VÍ DỤ MINH HỌA

Tin học đại cương

Cho 3 số nguyên a, b và c, xuất giá trị 3 số
đó ra màn hình theo thứ tự tăng dần.
max = a; min = b;
if (a{
max = b;
min = a;
}
if (c>max) max = c;
else if (cmid = (a+b+c) - (max + min);
printf(“%d %d %d”, min, mid, max);
7


LỆNH SWITCH
 CÚ PHÁP KHAI BÁO LỆNH SWITCH
switch (Biểu thức)
{
case n1: <các câu lệnh>; ;
case n2: <các câu lệnh>; ;

Tin học đại cương


....
case nk: <các câu lệnh>; ;
[default: <các câu lệnh>;
;]
}
8


LỆNH SWITCH
 ni: các hằng số nguyên hoặc ký tự.

Tin học đại cương

 Nếu giá trị của biểu thức = ni
⇒ thực hiện câu lệnh sau case ni.
 Nếu giá trị biểu thức khác tất cả các
giá trị ni ⇒ thực hiện câu lệnh sau
default nếu có hoặc thốt khỏi
switch.

9


LỆNH SWITCH

Tin học đại cương

 Khi chương trình đã thực hiện xong câu
lệnh của case ni nào đó thì nó sẽ thực
hiện ln các câu lệnh thuộc case bên

dưới nó mà không xét lại điều kiện (do
các ni được xem như các nhãn).
Do đó để chương trình thốt khỏi lệnh
switch, sau khi thực hiện xong một
trường hợp, ta dùng lệnh break.

10


LỆNH SWITCH
 VÍ DỤ MINH HỌA

Tin học đại cương

In ra màn hình học lực của học sinh theo thang
điểm như sau: Từ 0 -> 3: Kém, 4: Yếu, 5-> 6:
Trung bình, 7 -> 8: Khá, 9 -> 10: Giỏi.
switch(diem)
{
case 0: case 1: case 2: case 3:
printf(“Kem\n”); break;
case 4: printf(“Yeu\n”); break;
case 5: case 6:
printf(“Trung binh\n”); break;
case 7: case 8: printf(“Kha\n”); break;
case 9: case 10:
printf(“Gioi\n”); break;
default: printf(“Nhap diem sai\n”);
}
// Kết thúc switch

11


Tin học đại cương

 vD nhap thang , nam. Cho biet thagn
do co bao nhieu ngay`
 Ta biet thang 2 nam nhuan co 29
ngay
 Nam nhuan chia het cho 4 . Dat 1
bien namnhuan = (nam%4==0)&&
nam%100!= 0)||(nam%400==0);

12


LỆNH FOR
 CÚ PHÁP KHAI BÁO LỆNH FOR
for (<biểuthức1>; <biểuthức2>;
<biểuthức3>) <Khối lệnh>;
Hoạt động:

Tin học đại cương

1. Tính giá trị của <biểuthức1>
2. Tính giá trị của <biểuthức2>
3. Nếu giá trị <biểuthức2> khác 0
⇒ thực hiện <khối lệnh>
Ngược lại
⇒ thoát khỏi lệnh for

4. Tính giá trị <biểuthức3> rồi lặp lại bước 2
13


LỆNH FOR

Tin học đại cương

 VÍ DỤ MINH HỌA
#include <stdio.h>
#include <conio.h>
void main()
{
int n, i;
printf(“Nhap gia tri n: ”);
scanf(“%d”, &n);
printf(“Cac uoc so cua %d la: ”, n);
for (i =1; i <= n; i++)
if ( !n%i ) // !n%i  n%i=0
printf(“%3d”, i );
getch();
}
14


Tin học đại cương

 #include <stdio.h>
 #include <conio.h>
 Void main()

 { int n,i,s;
 Printf(“\n nhap n”);
 Scanf(“%d”,&n);
 S=0
 For (i=1,1<=n;i++)s=s+i*i;
 Printf(“\n ket qua la %d”, s);
 Getch();
}
15


LỆNH WHILE
 CÚ PHÁP KHAI BÁO LỆNH WHILE
while (biểu thức)

<khối lệnh>;

Ý nghĩa:
Nếu giá trị của biểu thức còn khác 0 (cịn
đúng) thì cịn thực hiện <khối lệnh>.
For dung vong lap da biet truoc so lan lap
Tin học đại cương

While dung vong lap ko biet truoc so lan lap
Bai toan nao giai dc bang for thi cung giai dc bang
while
16


LỆNH WHILE

 VÍ DỤ MINH HỌA
In ra màn hình tất cả các ước số của n:

Tin học đại cương

i = n;
while (i) // i ! = 0
{
if ( !n%i ) // n%i = 0
printf(“%3d”, i );
i--;
}
Vòng lặp while sẽ thực hiện đến khi i = 0 thì
dừng.
17


LỆNH DO … WHILE
 VÍ DỤ MINH HỌA
Viết đoạn chương trình nhập giá trị của x nằm
trong khoảng từ 1->6:

Tin học đại cương

int x;
do
{
printf(“Nhap gia tri cua x:”);
scanf(“%d”, &x);
} while (x<1 || x>6);

 Nhập giá trị của x, nếu x<1 hoặc x>6 thì yêu
cầu nhập lại.
18


LỆNH DO … WHILE
 CÚ PHÁP KHAI BÁO LỆNH DO…WHILE
do
{
<khối lệnh>;
}while (biểu thức);

Tin học đại cương

Ý nghĩa:
Thực hiện <khối lệnh> cho đến khi giá trị của
biểu thức bằng 0 (sai) thì dừng.
Su khac nhau giua while…do va while
Do while bao h cung chay. It nhat 1 lan trong khi do
19
neu dk sai ngay tu dau thi` while ko lam j ca?h1


MỘT SỐ CÂU LỆNH KHÁC
 LỆNH GOTO
 Cú pháp khai báo
goto nhãn;

Tin học đại cương


 Khi gặp lệnh goto máy sẽ nhảy tới thực
hiện câu lệnh viết sau nhãn.

20


MỘT SỐ CÂU LỆNH KHÁC
 VÍ DỤ MINH HỌA LỆNH GOTO

Tin học đại cương

Nếu mã của phím nhấn vào != ESC thì thực hiện
lại chương trình kể từ câu lệnh clrscr().
void main(){

// Khai báo biến
tt:
clrscr();

// Các câu lệnh
printf(“\nNhan ESC \
de ket thuc chuong trinh...”);
if (getch() != 27)
// getch(): chờ nhấn phím bất kỳ
goto tt;
}
21


MỘT SỐ CÂU LỆNH KHÁC

 LỆNH BREAK
 Lệnh break chỉ được khai báo bên trong
các câu lệnh vòng lặp for, while, do…
while hoặc switch.
 Khi gặp câu lệnh break máy sẽ thốt khỏi
Tin học đại cương

vịng lặp trong cùng chứa nó.

22


MỘT SỐ CÂU LỆNH KHÁC
 VÍ DỤ MINH HỌA LỆNH BREAK
Viết đoạn chương trình kiểm tra n có phải là số
nguyên tố không?

Tin học đại cương

int i, t;
t = sqrt(n);
i = 2;
while ( i<=t )
if (n%i == 0)
break; // kết thúc vòng lặp
else i++;
if (i>t) printf(“%d là SNT”, n);
else printf(“%d khong la SNT”, n);
23



MỘT SỐ CÂU LỆNH KHÁC
 LỆNH CONTINUE
 Lệnh continue chỉ được khai báo bên trong
các vòng lặp for, while hoặc do…while

Tin học đại cương

 Khi gặp câu lệnh continue máy sẽ bỏ qua
các câu lệnh còn lại trong thân vòng lặp để
bắt đầu một lần lặp mới.

24


MỘT SỐ CÂU LỆNH KHÁC

Tin học đại cương

 VÍ DỤ MINH HỌA LỆNH CONTINUE

int code;
while (1) // vịng lặp vơ hạn
{
printf(“Hay cho biet mat ma: ”);
scanf(“%d”, &code);
if (code != 999)
continue;
break;
// đã nhập đúng, kết thúc vòng lặp

}

25


×