Chương 2Cấu trúc lệnh trong C Cấu trúc tuần tự { //các câu lệnh trong khối lệnh } tương đương với nhau cùng được hoặc cùng không được thực hiện... Cấu trúc lặp tt Ví dụ 5: Đếm số các số
Trang 1Chương 2
Cấu trúc lệnh trong C
Cấu trúc tuần tự
{ //các câu lệnh trong khối lệnh }
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)
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)
t=i=0;
while(i<10) {
++i;
t+=i;
}
t=i=0;
while(i<10) {
t+=i;
++i;
}
Trang 2Cấu trúc lựa chọ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)
#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)
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á:
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;
if(lp=='B')gia=200;
if(n>7)gia=gia*0.95;
t=n*gia;
printf("\nso tien phai tra = %0.2f",t);
}
Trang 3Cấ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)
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
bt1
bt2
<kl>
bt3
!=0
==0 for(<bt1>;<bt2>;<bt3>)<kl>
Trang 4Cấu trúc lặp (tt)
bt
<kl>
!=0
==0 while(<bt>)<kl>
Cấu trúc lặp (tt)
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)
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);
while(n%i!=0)++i;
if(i==n)
printf("%d la so nguyen to",n);
printf("%d khong la so nguyen to",n); }
Trang 5Cấ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;
if(so==max)++dem;
if(so>max)
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)
s=s+i;
printf("\nso n nho nhat = %d",i);
}
Hỏi đáp