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

THDC - Bai II.03 pptx

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 (9.25 MB, 43 trang )

1
1
TIN HỌC ĐẠI CƯƠNG
TIN HỌC ĐẠI CƯƠNG
PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C
PHẦN 2: LẬP TRÌNH BẰNG NGÔN NGỮ C
BÀI 3:
BÀI 3:
CÁC CẤU TRÚC LẬP TRÌNH TRONG C
CÁC CẤU TRÚC LẬP TRÌNH TRONG C


KHOA
KHOA
C¤NG NGHÖ
C¤NG NGHÖ
TH¤NG TIN
TH¤NG TIN
FACULTY OF
FACULTY OF
INFORMATION TECHNOLOGY
INFORMATION TECHNOLOGY
2
2


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
BÀI 3
BÀI 3



CÁC CẤU TRÚC LẬP TRÌNH TRONG C
CÁC CẤU TRÚC LẬP TRÌNH TRONG C


3
3
.1.
.1.
Cấu trúc lệnh khối
Cấu trúc lệnh khối
3.2. Cấu trúc rẽ nhánh
3.2. Cấu trúc rẽ nhánh

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

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

3.3.1. Vòng lặp for
3.3.1. Vòng lặp for

3.3.2. Vòng lặp while
3.3.2. Vòng lặp while
3.4. Các lệnh thay đổi cấu trúc lập
3.4. Các lệnh thay đổi cấu trúc lập
trình

trình

3.4.1. continue
3.4.1. continue

3.4.2. break
3.4.2. break
3
3


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3
3
.1.
.1.
Cấu trúc lệnh khối
Cấu trúc lệnh khối
Thể hiện cấu trúc tuần tự
Thể hiện cấu trúc tuần tự
Lệnh khối là dãy các câu lệnh được
Lệnh khối là dãy các câu lệnh được
đặt trong cặp dấu ngoặc nhọn
đặt trong cặp dấu ngoặc nhọn
{}
{}
{
{
lenh_1;

lenh_1;
lenh_2;
lenh_2;


.
.
lenh_n;
lenh_n;
}
}
C cho phép khai báo biến trong lệnh
C cho phép khai báo biến trong lệnh
khối, nhưng phần khai báo phải nằm
khối, nhưng phần khai báo phải nằm
trước câu lệnh.
trước câu lệnh.
4
4


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3
3
.1.
.1.
Cấu trúc lệnh khối (tiếp)
Cấu trúc lệnh khối (tiếp)
Lệnh khối lồng nhau:

Lệnh khối lồng nhau:

Trong một lệnh khối có thể chứa lệnh khối
Trong một lệnh khối có thể chứa lệnh khối
khác
khác

Sự lồng nhau là không hạn chế
Sự lồng nhau là không hạn chế
{
{


lenh;
lenh;


{
{


lenh;
lenh;




}
}



}
}


5
5


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3
3
.1.
.1.
Cấu trúc lệnh khối (tiếp)
Cấu trúc lệnh khối (tiếp)
Ví dụ:
Ví dụ:
#include <conio.h>
#include <conio.h>
#include <stdio.h>
#include <stdio.h>
void main()
void main()
//Noi dung cua ham main() cung la mot khoi lenh
//Noi dung cua ham main() cung la mot khoi lenh
{
{



// khai bao bien
// khai bao bien


int c;
int c;


c = 10;
c = 10;


printf(
printf(
“Gia tri cua c = %d day la c ngoai”
“Gia tri cua c = %d day la c ngoai”
,c);
,c);
6
6


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3
3
.1.
.1.
Cấu trúc lệnh khối (tiếp)

Cấu trúc lệnh khối (tiếp)
Ví dụ (tiếp):
Ví dụ (tiếp):


// bat dau mot khoi lenh khac
// bat dau mot khoi lenh khac


{
{


int c;
int c;


c = 10;
c = 10;


printf(“\n Gia tri cua c = %d day la c trong”,c);
printf(“\n Gia tri cua c = %d day la c trong”,c);


printf(“\n Tang gia tri cua c them 10 don vi”);
printf(“\n Tang gia tri cua c them 10 don vi”);


c = c + 10;

c = c + 10;


printf(“\n Gia tri cua c = %d day la c trong”,c);
printf(“\n Gia tri cua c = %d day la c trong”,c);


}
}


printf(“\n Gia tri cua c = %d day la c ngoai”,c);
printf(“\n Gia tri cua c = %d day la c ngoai”,c);


getch();
getch();
}// ket thuc khoi lenh cua ham main()
}// ket thuc khoi lenh cua ham main()
7
7


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3
3
.1.
.1.
Cấu trúc lệnh khối (tiếp)

Cấu trúc lệnh khối (tiếp)
Kết quả:
Kết quả:


Gia tri cua c = 10 day la c ngoai
Gia tri cua c = 10 day la c ngoai


Gia tri cua c = 10 day la c trong
Gia tri cua c = 10 day la c trong


Tang gia tri cua c them 10 don vi
Tang gia tri cua c them 10 don vi


Gia tri cua c = 20 day la c trong
Gia tri cua c = 20 day la c trong


Gia tri cua c = 10 day la c ngoai
Gia tri cua c = 10 day la c ngoai
8
8


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
BÀI 3

BÀI 3


CÁC CẤU TRÚC LẬP TRÌNH TRONG C
CÁC CẤU TRÚC LẬP TRÌNH TRONG C
3
3
.1.
.1.
Cấu trúc lệnh khối
Cấu trúc lệnh khối
3.2. Cấu trúc rẽ nhánh
3.2. Cấu trúc rẽ nhánh

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

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

3.3.1. Vòng lặp for
3.3.1. Vòng lặp for

3.3.2. Vòng lặp while
3.3.2. Vòng lặp while


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

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



3.4.1. continue
3.4.1. continue

3.4.2. break
3.4.2. break
9
9


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.1. Cấu trúc if, if … else
3.2.1. Cấu trúc if, if … else
Cú pháp cấu trúc
Cú pháp cấu trúc
if
if
if (bieu_thuc_dieu_kien)
if (bieu_thuc_dieu_kien)


lenh;
lenh;
Cú pháp cấu trúc

Cú pháp cấu trúc
if … else
if … else
if (bieu_thuc_đieu_kien)
if (bieu_thuc_đieu_kien)


lenh_1;
lenh_1;
else
else




lenh_2;
lenh_2;
10
10


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.1. Cấu trúc if, if … else (tiếp)
3.2.1. Cấu trúc if, if … else (tiếp)
11
11


Nguyễn Thị Thu Trang, SE-FIT-HUT

Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.1. Cấu trúc if, if … else (tiếp)
3.2.1. Cấu trúc if, if … else (tiếp)
Ví dụ: Bài toán tìm số lớn nhất trong 2 số thực
Ví dụ: Bài toán tìm số lớn nhất trong 2 số thực
a
a


b
b
:
:
#include <conio.h>
#include <conio.h>
#include <stdio.h>
#include <stdio.h>
void main()
void main()
{
{


// khai bao bien
// khai bao bien


float a, b;
float a, b;



float max;
float max;


printf(“ Nhap gia tri a va b: “);
printf(“ Nhap gia tri a va b: “);


scanf(“%f %f”,&a,&b);
scanf(“%f %f”,&a,&b);
12
12


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.1. Cấu trúc if, if … else (tiếp)
3.2.1. Cấu trúc if, if … else (tiếp)
Ví dụ (tiếp):
Ví dụ (tiếp):


if(a<b)
if(a<b)


max = b;
max = b;



else
else


max = a;
max = a;


printf(“\n So lon nhat trong 2 so
printf(“\n So lon nhat trong 2 so


%.0f va %.0f la %.0f “,a,b,max);
%.0f va %.0f la %.0f “,a,b,max);


getch();
getch();
}//ket thuc ham main()
}//ket thuc ham main()


Kết quả:
Kết quả:


Nhap vao 2 gia tri a va b: 23 247
Nhap vao 2 gia tri a va b: 23 247



So lon nhat trong hai so 23 va 247 la 247
So lon nhat trong hai so 23 va 247 la 247
13
13


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
Cú pháp cấu trúc
Cú pháp cấu trúc
switch
switch
switch (bieu_thuc)
switch (bieu_thuc)
{
{
case gia_tri_1: lenh_1; [break];
case gia_tri_1: lenh_1; [break];
case gia_tri_2: lenh_2; [break];
case gia_tri_2: lenh_2; [break];




case gia_tri_n:
case gia_tri_n:
lenh_n; [break];

lenh_n; [break];


[default: lenh_n+1; [break];]
[default: lenh_n+1; [break];]
}
}
14
14


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
(tiếp)
(tiếp)
Giá trị của biểu thức kiểm tra (bieu_thuc) phải là số
Giá trị của biểu thức kiểm tra (bieu_thuc) phải là số
nguyên:
nguyên:

Phải có kiểu dữ liệu là
Phải có kiểu dữ liệu là
char
char
,
,
int
int

,
,
long
long
.
.
Tương ứng các giá trị sau
Tương ứng các giá trị sau
case
case
(gia_tri_1, gia_tri_2,…)
(gia_tri_1, gia_tri_2,…)
cũng phải là số nguyên.
cũng phải là số nguyên.
15
15


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
(tiếp)
(tiếp)
16
16


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT

3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
(tiếp)
(tiếp)
Ví dụ: Nhập vào số nguyên không
Ví dụ: Nhập vào số nguyên không
âm, đưa ra ngày trong tuần tương
âm, đưa ra ngày trong tuần tương
ứng (theo số dư khi chia cho 7).
ứng (theo số dư khi chia cho 7).
#include <conio.h>
#include <conio.h>
#include <stdio.h>
#include <stdio.h>
void main()
void main()
{
{


int a;
int a;
printf(“\nNhap mot gia tri so nguyen
printf(“\nNhap mot gia tri so nguyen
khong am: “);
khong am: “);


scanf(“%d”,&a);
scanf(“%d”,&a);

17
17


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
(tiếp)
(tiếp)
Ví dụ (tiếp):
Ví dụ (tiếp):


switch(a % 7)
switch(a % 7)


{
{


case 0: printf(“ Chu nhat”); break;
case 0: printf(“ Chu nhat”); break;


case 1: printf(“ Thu Hai”); break;
case 1: printf(“ Thu Hai”); break;



case 2: printf(“ Thu Ba”); break;
case 2: printf(“ Thu Ba”); break;


case 3: printf(“ Thu Tu”); break;
case 3: printf(“ Thu Tu”); break;


case 4: printf(“ Thu Nam”); break;
case 4: printf(“ Thu Nam”); break;


case 5: printf(“ Thu Sau”); break;
case 5: printf(“ Thu Sau”); break;


case 6: printf(“ Thu Bay”); break;
case 6: printf(“ Thu Bay”); break;


}
}


getch();
getch();
}
}
18
18



Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
(tiếp)
(tiếp)
Ví dụ:
Ví dụ:

Trong một năm các tháng có 30 ngày là 4, 6,
Trong một năm các tháng có 30 ngày là 4, 6,
9, 11 còn các tháng có 31 ngày là 1, 3, 5,
9, 11 còn các tháng có 31 ngày là 1, 3, 5,
7, 8, 10, 12. Riêng tháng hai có thể có 28
7, 8, 10, 12. Riêng tháng hai có thể có 28
hoặc 29 ngày.
hoặc 29 ngày.

Hãy viết chương trình nhập vào 1 tháng, sau
Hãy viết chương trình nhập vào 1 tháng, sau
đó đưa ra kết luận tháng đó có bao nhiêu
đó đưa ra kết luận tháng đó có bao nhiêu
ngày.
ngày.
19
19



Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
(tiếp)
(tiếp)
#include <conio.h>
#include <conio.h>
#include <stdio.h>
#include <stdio.h>
void main ()
void main ()
{
{


int thang; clrscr();
int thang; clrscr();


printf("\n Nhap vao thang trong nam ");
printf("\n Nhap vao thang trong nam ");


scanf("%d",&thang);
scanf("%d",&thang);


switch(thang)
switch(thang)



{
{


case 1:
case 1:


case 3:
case 3:


case 5:
case 5:


case 7:
case 7:


case 8:
case 8:


case 10:
case 10:



case 12:
case 12:


printf("\n Thang %d co 31 ngay ",thang);
printf("\n Thang %d co 31 ngay ",thang);


break;
break;
20
20


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
(tiếp)
(tiếp)


case 4:
case 4:


case 6:
case 6:



case 9:
case 9:


case 11:
case 11:


printf("\n Thang %d co 30 ngay ",thang);
printf("\n Thang %d co 30 ngay ",thang);


break;
break;


case 2:
case 2:


printf ("\ Thang 2 co 28 hoac 29 ngay");
printf ("\ Thang 2 co 28 hoac 29 ngay");


break;
break;


default :
default :



printf("\n Khong co thang %d", thang);
printf("\n Khong co thang %d", thang);


break;
break;


}
}


getch();
getch();
}
}
21
21


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
(tiếp)
(tiếp)
#include <conio.h>
#include <conio.h>

#include <stdio.h>
#include <stdio.h>
int main ()
int main ()
{
{


int thang; clrscr();
int thang; clrscr();


do {
do {


printf("\n Nhap vao thang trong nam ");
printf("\n Nhap vao thang trong nam ");


scanf("%d",&thang);
scanf("%d",&thang);


}
}


while(thang < 1 || thang > 12);
while(thang < 1 || thang > 12);



switch(thang)
switch(thang)


{
{


case 2:
case 2:


printf ("\ Thang 2 co 28 hoac 29 ngay");
printf ("\ Thang 2 co 28 hoac 29 ngay");


break;
break;
22
22


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.2.2. Cấu trúc lựa chọn switch
3.2.2. Cấu trúc lựa chọn switch
(tiếp)
(tiếp)



case 4:
case 4:


case 6:
case 6:


case 9:
case 9:


case 11:
case 11:


printf("\n Thang %d co 30 ngay ",thang);
printf("\n Thang %d co 30 ngay ",thang);


break;
break;


default :
default :



printf("\n Thang %d co 31 ngay ", thang);
printf("\n Thang %d co 31 ngay ", thang);


break;
break;


}
}


getch();
getch();


return 0;
return 0;
}
}
23
23


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
BÀI 3
BÀI 3



CÁC CẤU TRÚC LẬP TRÌNH TRONG C
CÁC CẤU TRÚC LẬP TRÌNH TRONG C
3
3
.1.
.1.
Cấu trúc lệnh khối
Cấu trúc lệnh khối
3.2. Cấu trúc rẽ nhánh
3.2. Cấu trúc rẽ nhánh

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

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

3.3.1. Vòng lặp for
3.3.1. Vòng lặp for

3.3.2. Vòng lặp while
3.3.2. Vòng lặp while
3.4. Các lệnh thay đổi cấu trúc lập
3.4. Các lệnh thay đổi cấu trúc lập
trình
trình

3.4.1. continue

3.4.1. continue

3.4.2. break
3.4.2. break
24
24


Nguyễn Thị Thu Trang, SE-FIT-HUT
Nguyễn Thị Thu Trang, SE-FIT-HUT
3.3.1. Vòng lặp for
3.3.1. Vòng lặp for
Mục đích
Mục đích

Dùng để thực hiện lặp đi lặp lại một công
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.
việc nào đó với số lần lặp xác định.
Cú pháp:
Cú pháp:
for(bieu_thuc_1;bieu_thuc_2;bieu_thuc_3)
for(bieu_thuc_1;bieu_thuc_2;bieu_thuc_3)
{
{


day_cac_lenh;
day_cac_lenh;
}

}
Trong đó:
Trong đó:

bieu_thuc_1:
bieu_thuc_1:
Khởi tạo giá trị ban đầu cho
Khởi tạo giá trị ban đầu cho
vòng lặp
vòng lặp

bieu_thuc_2:
bieu_thuc_2:
Điều kiện tiếp tục vòng lặp
Điều kiện tiếp tục vòng lặp

bieu_thuc_3:
bieu_thuc_3:
Thực hiện bước tăng của vòng lặp
Thực hiện bước tăng của vòng lặp

Chú ý các biểu thức 1, 2, 3 có thể có hoặc
Chú ý các biểu thức 1, 2, 3 có thể có hoặc
không
không
25
25


Nguyễn Thị Thu Trang, SE-FIT-HUT

Nguyễn Thị Thu Trang, SE-FIT-HUT
3.3.1. Vòng lặp for
3.3.1. Vòng lặp for

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×