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 đủ
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:
bai_giang_tin_hoc_dai_cuong_phan_3_lap_trinh_c_chuong_4_cau.pptx

