Tải bản đầy đủ (.pdf) (5 trang)

Kỹ thuật lập trình - Cấu trúc lệnh ppsx

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 (72.86 KB, 5 trang )

Chương 2
Cấu trúc lệnh trong C
Cấu trúc tuần tự
 Khái niệm khối lệnh:
{
//các câu lệnh trong khối lệnh
}
• Khối lệnh tương đương với 1 câu lệnh.
• Các câu lệnh trong cùng khối lệnh thì
tương đương với nhau (cùng được hoặc
cùng không được thực hiện).
Cấu trúc tuần tự (tt)
 Ví dụ:
if(a>b)
{
max=a;
min=b;
}
Khác với
if(a>b)max=a;
min=b;
Cấu trúc tuần tự (tt)
 Lưu ý về trật tự các câu lệnh trong khối:
t=i=0;
while(i<10)
{
++i;
t+=i;
}
t=i=0;
while(i<10)


{
t+=i;
++i;
}
Cấu trúc lựa chọn
 Câu lệnh điều kiện:
if(<bi

u th

c>)<l

nh
>
if(<bi

u th

c>)<l

nh1
>
else <l

nh2>
<biểu thức>
<lệnh>
!=0
==0
<biểu thức>

<lệnh1>
!=0
==0
<lệnh2>
Cấu trúc lựa chọn (tt)
 Ví dụ 1: Chương trình tìm max(a,b,c) = ?
#include <stdio.h>
#include <conio.h>
void main()
{
int a,b,c,max;
printf("\nnhap a, b, c: ");
scanf("%d%d%d",&a,&b,&c);
max=a;
if(max<b)max=b;
if(max<c)max=c;
printf("\nmax = %d",max);
}
Cấu trúc lựa chọn (tt)
 Ví dụ 2: Tính tiền thuê phòng khách sạn
biết số ngày thuê n và loại phòng được
nhập từ bàn phím. Theo bảng đơn giá:
Loại phòng giá
A 250
B 200
C 150
Nếu số ngày n > 7 thì giảm 5% giá phòng.
Cấu trúc lựa chọn (tt)
 #include <stdio.h>
 #include <conio.h>

 #include <ctype.h>
 void main()
 {
 int n;
 char lp;
 float t,gia;


printf("\nnhap loai phong = ");
 lp=toupper(getchar());
 printf("\nso ngay n = ");
 scanf("%d",&n);
 if(lp=='A')gia=250;
 else
 if(lp=='B')gia=200;
 else gia=150;
 if(n>7)gia=gia*0.95;
 t=n*gia;
 printf("\nso tien phai tra = %0.2f",t);
 }
Cấu trúc lựa chọn (tt)

Câu lệnh rẽ nhánh:
switch(<biểu thức>)
{
case l1: <kl1>
case l2: <kl2>

case lj: <klj>
[default: <klj+1>]

}
Cấu trúc lựa chọn (tt)
Bt=l1
kl1


Bt=lj
klj
default?
klj+1
Sơ đồ thực hiện câu lệnh switch
Cấu trúc lựa chọn (tt)
 Ví dụ 3: đoạn mã đọc số từ 1 đến 9
switch(thang)
{
case 1:case 3:case 5:case 7:case 8:case 10:case 12: songay=31;break;
case 4:case 6:case 9:case 11: songay=30;break;
case 2: switch(nam%4)
{
case 0: songay=29;break;
default: songay=28;
}
}
printf("\nso ngay = %d",songay);
Cấu trúc lặp
 Câu lệnh for:
bt1
bt2
<kl>
bt3

!=0
==0
for(<bt1>;<bt2>;<bt3>)<kl>
Cấu trúc lặp (tt)
 Câu lệnh while
bt
<kl>
!=0
==0
while(<bt>)<kl>
Cấu trúc lặp (tt)
 Câu lệnh do:
do<kl>while(<bt>);
bt
<kl>
!=0
==0
Cấu trúc lặp (tt)

Ví dụ 4: Chương trình kiểm tra số n có nguyên tố hay không.

/*

version 1

author: vulong

*/

#include <stdio.h>


#include <conio.h>

void main()

{

int i,f,n;


printf("\nnhap n = ");

scanf("%d",&n);


f=1;

for(i=2;i<=n/2;++i)

if(n%i==0)

{

f=0;

break;

}

if(f==1)


printf("%d la so nguyen to",n);

else

printf("%d khong la so nguyen to",n);

}
Cấu trúc lặp (tt)
 /*
 version 2
 author: vulong
 */
 #include <stdio.h>
 #include <conio.h>
 void main()
 {
 int i,n;


printf("\nnhap n = ");
 scanf("%d",&n);
 i=2;
 while(n%i!=0)++i;
 if(i==n)
 printf("%d la so nguyen to",n);
 else
 printf("%d khong la so nguyen to",n);
 }
Cấu trúc lặp (tt)

 Ví dụ 5: Đếm số các số lớn nhất trong n số nhập từ bàn phím.
 #include <stdio.h>
 #include <conio.h>
 void main()
 {
 int i, n, so, max, dem;
 printf("\nnhap n = ");
 scanf("%d",&n);
 dem=0;
 for(i=1;i<=n;++i)
 {
 printf("\nso thu %d = ",i);
 scanf("%d",&so);
 if(i==1)
 {
 max=so;
 ++dem;
 }
 else
 if(so==max)++dem;
 else
 if(so>max)
 {
 max=so;
 dem=1;
 }
 }
 printf("\nso cac so max = %d",dem);
 }
Cấu trúc lặp (tt)

 Ví dụ 6: Tìm số n nhỏ nhất để 1 + 2 + + n > k
 #include <stdio.h>
 #include <conio.h>
 void main()
 {
 int i,k,s;
 printf("\nnhap k: ");
 scanf("%d",&k);
 s=i=0;
 while(s<=k)
 {
 ++i;
 s=s+i;
 }


printf("\nso n nho nhat = %d",i);
 }
Hỏi đáp

×