Bài giảng Tin học đại cương - Phần 3: Lập trình C - Chương 4: Cấu trúc điều khiển

Chương 4: Cấu trúc điều khiển  
Nội dung chí nh  
1. Cấu trúc lệnh khối  
2. Cấu trúc rẽ nhá nh  
– Cấu trúc if, if … else  
– Cấu trúc lựa chọn switch  
3. Cấu trúc lặp  
– Vòng lặp for  
– Vòng lặp while và do while  
4. Cá c lệnh thay đổi cấu trúc lập trì nh  
– Câu lệnh continue  
– Câu lệnh break  
01-Jan-16  
175  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Cá c cấu trúc lặp  
• Vò ng lặp for  
• Vòng lặp while  
• Vòng lặp do while  
01-Jan-16  
176  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
for  
01-Jan-16  
177  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Mục đích và cú phá p  
Dùng để lặp công việc một số chính xác lần  
đã định trước dựa vào sự biến thiên của  
biến điều khiển  
for([b.thuc_1];[b.thuc_2];[b.thuc_3]) Lệnh;  
• b.thuc_1: Khởi tạo giá trị ban đầu cho vòng lặp  
• b.thuc_2: Điều kiện tiếp tục vòng lặp  
• b.thuc_3: Thay đổi biến điều khiển của vòng lặp  
• Lệnh: Có thể là lệnh đơn lệnh kép hoặc lệnh rỗng  
01-Jan-16  
178  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Sơ đồ cú phá p  
01-Jan-16  
179  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Sử dụng  
int i;  
for(i = 0; i < 100; i++) Câu_lệnh;  
int i;  
for(i = 0; i < 100; i+=2)Câu_lệnh;  
int i;  
for(i = 100; i > 0; i--) Câu_lệnh;  
for(int i = 0; i < 100; i++) Lệnh;  
for(int i = 100; i > 0; i--) Lệnh;  
Turbo C++ 3.0, văn bản nguồn .cpp (c++)  
01-Jan-16  
180  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Ví dụ 1 : Đưa ra các số nguyên lẻ nhỏ hơn 100  
1. #include <stdio.h>  
2. #include <conio.h>  
3. void main(){  
4. int i;  
5. for(i = 1;i<100;i++)  
{
6.  
7.  
if(i%2 == 1) printf(“%5d”,i);  
if((i+1)%20 ==0) printf(“\n”);  
8. }  
9. getch();  
10. }  
01-Jan-16  
181  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Ví dụ 2 : Đưa ra các số nguyên lẻ nhỏ hơn 100  
1. #include <stdio.h>  
2. #include <conio.h>  
3. void main(){  
4. int i;  
5. for(i = 99;i > 0;i-=2) {  
6.  
printf(“%5d”,i);  
7.  
if( (i-1) % 20 == 0) printf(“\n”);  
8. }  
9. getch();  
10. }  
01-Jan-16  
182  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Ví dụ 3→ Nhập n và đưa ra n!  
#include <stdio.h>  
#include <conio.h>  
void main()  
{
long P = 1;  
int n, i;  
printf(“Nhap n : “);scanf(“%d”,&n);  
for(i = 1;i<=n;i++)  
P = P * i;  
printf(“Ket qua là %ld “,P);  
getch();  
Nhap n : 6  
Ket qua là 720  
}
01-Jan-16  
183  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Ví dụ 4 → Nhập n và tính tổng 1 +1/2+..+1/n  
#include <stdio.h>  
#include <conio.h>  
void main()  
{
float S = 0.0;  
int n, i;  
printf(“Nhap n : “);scanf(“%d”,&n);  
for(i = 1;i <= n;i++)  
S = S + (float)1/i; //S+=1.0/i;  
printf(“Ket qua là %7.4f “,S);  
getch();  
Nhap n : 10  
}
Ket qua là 2.9290  
01-Jan-16  
184  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Ví dụ 5→ Tìm số 3 chữ số thỏa mãn abc=a3+b3+c3  
#include <stdio.h>  
#include <conio.h>  
void main()  
{int i, a, b, c;  
for(i = 100;i<1000;i++){  
a = i / 100;  
b = i % 100 / 10;  
c = i % 100 % 10;  
153  
370  
371  
407  
if(a*a*a+b*b*b+c*c*c == i)  
printf(“%d \n”,i);  
}//for  
getch();  
}
185  
01-Jan-16  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Ví dụ 5→ Tìm số 3 chữ số thỏa mãn abc=a3+b3+c3  
#include <stdio.h>  
#include <conio.h>  
void main()  
{ int a, b, c;  
for(a = 1;a<=9;a++)  
for(b = 0;b<=9;b++)  
for(c  
=
0;c<=9;c++)  
if(a*a*a+b*b*b+c*c*c==100*a+10*b+c)  
printf(“%d \n”,100*a+10*b+c);  
getch();  
}
01-Jan-16  
186  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Chú ý  
Khô ng nhất thiết phải có đầy đủ cá c  
thành phần trong vò ng lặp for  
int getchar(): đọc ký tự từ vùng đệm bàn  
phím. Nếu vùng đệm rỗng, đợi người dùng  
gõ dã y ký tự (cho tới khi ấn phí m Enter), sẽ  
trả về ký tự đầu  
putchar(int c): đưa ký tự ra màn hì nh  
01-Jan-16  
187  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Chú ý  
1. Biểu thức khởi tạo  
Hello world  
Hello world  
So ky tu: 11  
char c; int i=0;  
for( ; (c=getchar())! = '\n’ ; i++)  
putchar(c);  
printf(“\nSo ky tu: %d”,i);  
2. Biểu thức điều khiển  
for(i=0 ; ; c=getchar(), i++)  
if(c==‘\n’) break;  
Hello world  
So ky tu: 12  
printf(“\nSo ky tu: %d”,i);  
3. Thâ n vò ng lặp  
for(i=0 ; getchar() != ‘\n’, i++);  
Hello world  
So ky tu: 11  
printf(“\nSo ky tu: %d”,i);  
01-Jan-16  
188  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
while  
01-Jan-16  
189  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Mục đích & Cú phá p  
Dùng để thực hiện lặp đi lặp lại một công việc  
nào đó với số lần lặp khô ng xá c định.  
Cú phá p:  
while(bieu_thuc_dieu_kien)  
lenh;  
• Chương trình kiểm tra điều kiện trước khi lặp  
– Giá trị của biểu thức điều kiện là đúng thực hiệnlệnh  
• Cá c lenh của vò ng lặp có thể không được thực hiện  
lần nào Biểu_thức_điều_kiện sai ngay từ đầu  
•01-JBani-ể16u_thức_điều_kiện luôn đúng lặp vô hạn lần  
190  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Sơ đồ cú phá p  
Tí nh toá n giá trị của  
Biểu thức điều kiên  
Lệnh  
Biểu thức != 0  
Đúng  
Sai  
01-Jan-16  
191  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Nhập n và đưa tổng của n số nguyên đầu tiên  
#include <stdio.h>  
#include <conio.h>  
void main(){  
long S = 0;  
int n;  
printf(“Nhap n : “);scanf(“%d”,&n);  
while (n > 0){  
while (n> 0)  
S += n--;  
S = S + n;  
n = n – 1;  
}
printf(“Ket qua là %ld “,S);  
getch();  
}
01-Jan-16  
192  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Tìm số nguyên lớn nhất thỏa mã n 3n5-317n < 5  
#include <stdio.h>  
#include <conio.h>  
#include <math.h>  
void main()  
n = 10  
while (3*pow(n,5)-317*n >= 5)  
n--;  
{
clrscr();  
int n=0;  
while (3* pow(n,5) - 317*n < 5) n++;  
printf("%4d",n-1);  
getch();  
}
n = 3  
01-Jan-16  
193  
Chương 4: Cấu trúc điều khiển  
4.3 Cấu trúc lặp  
Cho biết kết quả thực hiện chương trì nh  
#include <stdio.h>  
#include <conio.h>  
void main()  
{
clrscr();  
int i=3;  
while (i > 1){  
if(i % 2==0) i = i / 2;  
else i = i * 3 + 1;  
printf("%4d",i);  
}
getch();  
10 5 16 8 4 2 1  
}
01-Jan-16  
194  
Tải về để xem bản đầy đủ
pptx 64 trang baolam 25620 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học đại cương - Phần 3: Lập trình C - Chương 4: Cấu trúc điều khiển", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptxbai_giang_tin_hoc_dai_cuong_phan_3_lap_trinh_c_chuong_4_cau.pptx