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

Bài giảng Tin học đại cương Phần 2: Bài 3 - Nguyễn Thành Kiên

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 (217.61 KB, 39 trang )

TIN HỌC ĐẠI CƯƠNG
Bài 3. CÁC CẤU TRÚC LẬP TRÌNH
TRONG C.
Nguyễn Thành Kiên
Bộ mơn Kỹ thuật máy tính
Khoa Cơng nghệ thông tin – ĐHBK
HN


Bài 3. CÁC CẤU TRÚC LẬP
TRÌNH TRONG C.





3.1. Cấu trúc lệnh khối
3.2. Cấu trúc if, if … else
3.3. Cấu trúc lựa chọn switch
3.4. Cấu trúc lặp






3.4.1. Vòng lặp for
3.4.2. Vòng lặp while
3.4.3. Vòng lặp do{...}while

3.5. Các lệnh thay đổi cấu trúc lập trình





3.5.1. continue
3.5.2. break
2


Bài 3. CÁC CẤU TRÚC LẬP
TRÌNH TRONG C.





3.1. Cấu trúc lệnh khối
3.2. Cấu trúc if, if … else
3.3. Cấu trúc lựa chọn switch
3.4. Cấu trúc lặp






3.4.1. Vòng lặp for
3.4.2. Vòng lặp while
3.4.3. Vòng lặp do{...}while

3.5. Các lệnh thay đổi cấu trúc lập trình




3.5.1. continue
3.5.2. break
3


3.1. Cấu trúc lệnh khối


Một lệnh khối là dãy các câu lệnh được đặt trong cặp dấu ngoặc
nhọn { }

{
lệnh_1;
lệnh_2;
….
lệnh_n;
}

Ví dụ:
#include <stdio.h>
#include <conio.h>
Void main ()
{ //day la dau khoi
char ten[50];
printf("Xin cho bietten:”);
scanf("%s",ten);
getch();

} //day la cuoi khoi
4


3.1. Cấu trúc lệnh khối


Trong lệnh khối có thể chứa lệnh khối khác, ta gọi đó là các lệnh
khối lồng nhau.




Sự lồng nhau của các lệnh khối là
không hạn chế.

Các lệnh trong lệnh khối được thực hiện tuần tự theo trật tự xuất
hiện.

5


3.1. Cấu trúc lệnh khối
{

lệnh;
{
lệnh;
...
}



}

6


3.1. Cấu trúc lệnh khối




C cho phép khai báo biến trong lệnh khối. Biến khai báo
trong lệnh khối chỉ có tác dụng trong khối.
Ví dụ:

#include <conio.h>
#include <stdio.h>
void main()
// Noi dung cua ham main() cung la mot khoi lenh
{
int c; // khai bao bien
c = 10;
printf(“ Gia tri cua c = %d day la c ngoai”,c);
// bat dau mot khoi lenh khac
{
int d;
d = 10;
printf(“\n Gia tri cua d = %d day la c trong”,d);
printf(“\n Tang gia tri cua d them 10 don vi”);

d = d + 10;
printf(“\n Gia tri cua d = %d day la c trong”,d);
}
printf(“\n Gia tri cua d = %d day la c ngoai”,d);
getch();
}

7


Bài 3. CÁC CẤU TRÚC LẬP
TRÌNH TRONG C.





3.1. Cấu trúc lệnh khối
3.2. Cấu trúc if, if … else
3.3. Cấu trúc lựa chọn switch
3.4. Cấu trúc lặp






3.4.1. Vòng lặp for
3.4.2. Vòng lặp while
3.4.3. Vòng lặp do{...}while


3.5. Các lệnh thay đổi cấu trúc lập trình



3.5.1. continue
3.5.2. break
8


3.2. Cấu trúc if, if … else


Lệnh if hay còn gọi là lệnh rẽ nhánh, nhằm điều khiển thực hiện
công việc nào đó hay khơng tùy theo giá trị đúng/sai của biểu thức
điều kiện.



Cấu trúc lệnh rẽ nhánh có hai dạng:



Dạng không đầy đủ: if
Dạng đầy đủ: if…else

9


Lệnh rẽ nhánh

Dạng không đầy đủ


Cú pháp:

if (bieu_thuc_dieu_kien)
lenh_1;
Lenh_ke_tiep;
#include <stdio.h>
#include <conio.h>
void main ()
{
float a;
printf("Nhap a = "); scanf("%f",&a);
if (a !=0 )
printf("Nghich dao cua %f la %f",a,1/a);
getch();
}

10


Lệnh rẽ nhánh
Dạng đầy đủ


Cú pháp:

if (bieu_thuc_dieu_kien)
lenh_1;

else
lenh_2;
Lenh_ke_tiep;
int a,b,max;
printf(“Doc vao hai so nguyen:”);
scanf(“%d %d”,&a,&b);
if (a>b)
max=a;
else
max=b;

11


3.2. Cấu trúc if, if … else
Ví dụ: Viết CT yêu cầu người dùng nhập vào một số nguyên dương là
tháng trong năm và in ra số ngày của tháng đó.




Tháng có 31 ngày: 1, 3, 5, 7, 8, 10, 12
Tháng có 30 ngày: 4, 6, 9, 10
Tháng có 28 hoặc 29 ngày : 2

12


CT tính số ngày của tháng
#include <stdio.h>

#include<conio.h>
void main ()
{
int thg;
printf("Nhap vao thang trong nam:"); scanf("%d",&thg);
if (thg==1||thg==3||thg==5||thg==7||thg==8||thg==10||thg==12)
printf("\n Thang %d co 31 ngay ",thg);
else if (thg==4||thg==6||thg==9||thg==11)
printf("\n Thang %d co 30 ngay",thg);
else if (thg==2)
printf("\n Thang %d co 28 hoac 29 ngay",thg);
else printf("Khong co thang %d",thg);
printf("\n Thuc hien xong lenh if");
getch();
}
13


Bài 3. CÁC CẤU TRÚC LẬP
TRÌNH TRONG C.





3.1. Cấu trúc lệnh khối
3.2. Cấu trúc if, if … else
3.3. Cấu trúc lựa chọn switch
3.4. Cấu trúc lặp







3.4.1. Vòng lặp for
3.4.2. Vòng lặp while
3.4.3. Vòng lặp do{...}while

3.5. Các lệnh thay đổi cấu trúc lập trình



3.5.1. continue
3.5.2. break
14


3.3. Cấu trúc lựa chọn
switch


Cấu trúc lựa chọn switch dùng để rẽ nhánh khi có
nhiều trường hợp có thể xảy ra.



Cú pháp cấu trúc switch
switch (bieu_thuc)
{

case gt_1: lenh_1; [break];
case gt_2: lenh_2; [break];

case gt_n: lenh_n; [break];
[default: lenh_n+1; [break];]
}

15


Hoạt động của lệnh switch

Chú ý:
Giá trị của biểu thức kiểm tra phải là số nguyên (char, int, long).

16


3.3. Cấu trúc lựa chọn
switch
Ví dụ: Viết CT yêu cầu người dùng nhập vào một số nguyên không
âm và in ra thứ trong tuần tương ứng.





0 => Chủ nhật
1 => Thứ hai


6 => Thứ bảy

17


3.3. Cấu trúc lựa chọn
switch
#include <conio.h>
#include <stdio.h>
void main()
{
int a; // khai bao bien
printf(“\n Nhap mot gia tri so nguyen khong am: “); scanf(“%d”,&a);
if(a<0)
printf("\n so vua nhap la so am");
else
{
printf(“\n Thu trong tuan tuong ung voi so do la: “);
switch(a % 7)
{
case 0: printf(“ Chu nhat”); break;
case 1: printf(“ Thu Hai”); break;
case 2: printf(“ Thu Ba”); break;
case 3: printf(“ Thu Tu”); break;
case 4: printf(“ Thu Nam”); break;
case 5: printf(“ Thu Sau”); break;
case 6: printf(“ Thu Bay”); break;
}

}

getch();

}

18


Cho biết
chương
trình
sau làm
gì?

#include <stdio.h>
#include<conio.h>
void main ()
{
int thang; clrscr();
printf("\n Nhap vao thang trong nam "); scanf("%d",&thang);
switch(thang)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
printf("\n Thang %d co 31 ngay ",thang);
break;

case 4:
case 6:
case 9:
case 11:
printf("\n Thang %d co 30 ngay ",thang);
break;
case 2:
printf ("\ Thang 2 co 28 hoac 29 ngay");
break;
default :
printf("\n Khong co thang %d", thang);
break;
}
19
getch();
}


3.3. Cấu trúc lựa chọn
switch


Chú ý:


Dựa trên tính chất tự động chuyển
xuống các câu lệnh sau khi khơng có
lệnh break, ta có thể viết chung mã
lệnh cho các trường hợp khác nhau
nhưng cùng được xử lý giống nhau.


20


Bài 3. CÁC CẤU TRÚC LẬP
TRÌNH TRONG C.





3.1. Cấu trúc lệnh khối
3.2. Cấu trúc if, if … else
3.3. Cấu trúc lựa chọn switch
3.4. Cấu trúc lặp






3.4.1. Vòng lặp for
3.4.2. Vòng lặp while
3.4.3. Vòng lặp do{...}while

3.5. Các lệnh thay đổi cấu trúc lập trình



3.5.1. continue

3.5.2. break
21


Bài 3. CÁC CẤU TRÚC LẬP
TRÌNH TRONG C.





3.1. Cấu trúc lệnh khối
3.2. Cấu trúc if, if … else
3.3. Cấu trúc lựa chọn switch
3.4. Cấu trúc lặp






3.4.1. Vòng lặp for
3.4.2. Vòng lặp while
3.4.3. Vòng lặp do{...}while

3.5. Các lệnh thay đổi cấu trúc lập trình



3.5.1. continue

3.5.2. break
22


3.4.1. Vòng lặp for


Câu lệnh for 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 xác định.



Cú pháp:
for([bt1];[bt2];[bt3])
lenh;

23


3.4.1. Vịng lặp for
Cho biết chương trình sau làm gì?
#include <stdio.h>
#include <conio.h>
void main()
{
int i;
for(i = 1;i<100;i++)
{
if(i%2 == 1) printf(“%5d”,i);

if((i+1)%20 ==0) printf(“\n”);
}
getch();
}
24


Bài 3. CÁC CẤU TRÚC LẬP
TRÌNH TRONG C.





3.1. Cấu trúc lệnh khối
3.2. Cấu trúc if, if … else
3.3. Cấu trúc lựa chọn switch
3.4. Cấu trúc lặp






3.4.1. Vòng lặp for
3.4.2. Vòng lặp while
3.4.3. Vòng lặp do{...}while

3.5. Các lệnh thay đổi cấu trúc lập trình




3.5.1. continue
3.5.2. break
25


×