Tải bản đầy đủ (.pdf) (32 trang)

Các lệnh cấu trúc trong C

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 (593.11 KB, 32 trang )

LẬP TRÌNH CĂN BẢN

CÁC LỆNH CĨ CẤU TRÚC

Giảng viên: TS.Trương Quốc Bảo

NỘI DUNG CỦA CHƯƠNG

 Khối lệnh trong C
 Cấu trúc rẽ nhánh
 Cấu trúc lựa chọn
 Cấu trúc vòng lặp
 Các câu lệnh “đặc biệt”

Thursday, January 15, 2015 Lập trình căn bản 2

KHỐI LỆNH TRONG C (1)

 Là 1 dãy các khai báo cùng với các câu lệnh nằm
trong cặp dấu ngoặc móc { và }.

{

S1

S1; S1;

S2

S2; S2;


…..

Sn Sn;

…..

Sn; }

Thursday, January 15, 2015 Lập trình căn bản 3

KHỐI LỆNH TRONG C (2)

 1 khối lệnh có thể chứa nhiều khối lệnh khác gọi
là khối lệnh lồng nhau (số khối lồng nhau là
không hạn chế).

 1 khối lệnh có thể được dùng như 1 lệnh đơn.

{ 1 phát biểu

N phát biểu

}

Thursday, January 15, 2015 Lập trình căn bản 4

TẦM VỰC (PHẠM VI) CỦA BIẾN

 Có thể khai báo các biến cùng
tên trong các khối.


 Nếu một biến được khai báo bên
ngoài khối lệnh và không trùng
tên với biến bên trong khối lệnh
thì nó cũng dùng được bên trong
khối.

 Một khối lệnh con có thể sử
dụng các biến bên ngồi, nhưng
điều ngược lại khơng đúng.

Thursday, January 15, 2015 Lập trình căn bản 5

TẦM VỰC (PHẠM VI) CỦA BIẾN

 Các biến sẽ bị tác động hay
thay đổi giá trị trong phạm vi
khối lệnh mà nó khai báo.

 Các khối lệnh chứa khối lệnh
khác (khối lệnh bên ngoài) và
có biến trùng với biến trong
khối lệnh bên trong, khi đó:

 Khi thay đổi giá trị của biến trong
khối lệnh bên ngoài, giá trị biến sẽ
tác động lên khối lệnh bên trong,

 Khi thay đổi giá trị của biến trong
khối lệnh bên trong sẽ không tác

động lên khối lệnh bên ngoài.

Thursday, January 15, 2015 Lập trình căn bản 6

CẤU TRÚC RẼ NHÁNH - IF

 Statement được thực hiện nếu boolean_expression có
giá trị đúng (true), !=0.

Begin

Boolean False
expression End

True

Thursday, January 15, 2015 StatLeậmp trìenhncătnsbản 7

CẤU TRÚC RẼ NHÁNH - IF

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

float d;
printf("Nhap diem = "); scanf("%f",&d);
if (d >= 5.0 )

printf(“Ban da dau mon nay”);
getch();

return 0;
}

Thursday, January 15, 2015 Lập trình căn bản 8

CẤU TRÚC RẼ NHÁNH ĐẦY ĐỦ - IF… ELSE

boolean_expression !=0 => thực hiện Statement1,
boolean_expression ==0 => thực hiện Statement2.

Begin

Boolean False
expression
Statement2

Thursday, January 15, 2015 True End 9

StateLậmp treìnnh ctă1n bản

CẤU TRÚC RẼ NHÁNH ĐẦY ĐỦ - IF… ELSE

#include <stdio.h>

#include <conio.h>

int main (){

float a;


printf("Nhap a = "); scanf("%f",&a);

if (a >=5.0 )

printf(“Ban da dau mon nay”);

else

printf(“Rot roi! Ban can dang ky hoc lai!”);

getch();

return 0;

}

Thursday, January 15, 2015 Lập trình căn bản 10

CẤU TRÚC RẼ NHÁNH – NHẦM LẪN

 Chương trình trên sai ở đâu?

Thursday, January 15, 2015 Lập trình căn bản 11

CẤU TRÚC RẼ NHÁNH – CHÚ Ý

 Câu lệnh if-else lồng nhau
 else sẽ kết hợp với if gần nhất chứa có else
 Trong trường hợp if bên trong khơng có else thì


phải viết nó trong cặp dấu {} để tránh sự kết hợp
else if sai.
 Ví dụ

Thursday, January 15, 2015 Lập trình căn bản 12

CẤU TRÚC LỰA CHỌN - SWITCH

 Dùng 1 dãy các câu lệnh if để thiết lập các lựa chọn
rẽ nhánh.

Thursday, January 15, 2015 Lập trình căn bản 13

CẤU TRÚC LỰA CHỌN - SWICH

 switch-case có thể đưa đến mã máy (machine code)
hiệu quả hơn (vì jump tables có thể được dùng)

Thursday, January 15, 2015 Lập trình căn bản 14

CẤU TRÚC LỰA CHỌN - SWICH

Cú pháp

Biểu Thức Chọn
expr

value1 value2 valuen Else

S1 S2 ... SN default


Thursday, January 15, 2015 Lập trình căn bản 15

CẤU TRÚC LỰA CHỌN - SWICH

 Ý nghĩa:

 Tính giá trị của biểu thức expr, Các chú ý:

 Nếu giá trị expr = value1 thực o Kiểu của expr và các

hiện statement_sequence1 rồi valuei phải là kiểu số

thoát. nguyên đếm được (int,

 Nếu giá trị expr khác value1 char, long, …).

thì so sánh nó với value2, nếu o Nếu break/return vắng

bằng value2 thì thực hiện mặt, câu lệnh trong các case

statement_sequence2 rồi thốt. bên dưới có thể được thực

 Cứ thế, so sánh tới giá trị n. hiện cho đến khi gặp
 Nếu tất cả các phép so sánh break/return hoặc kết thúc
lệnh switch.
trên đều sai thì thực hiện

default_statements.


Thursday, January 15, 2015 Lập trình căn bản 16

VÍ DỤ SWITCH…CASE (1)

Thursday, January 15, 2015 Lập trình căn bản 17

VÍ DỤ SWITCH…CASE (2)

Thursday, January 15, 2015 Lập trình căn bản In ra số
ngày
của 1
tháng

18

CẤU TRÚC LẶP

 Cho phép lặp lại nhiều lần một cơng việc
nào đó.

 Cấu trúc lặp trong NN C bao gồm:

 for
 while
 do-while

Thursday, January 15, 2015 Lập trình căn bản 19

VÒNG LẶP FOR (1)


Cú for (Biểu thức 1; biểu thức 2; biểu thức 3)
pháp <Công việc>;

 Thứ tự thực hiện:

B1: Tính giá trị biểu thức 1

B2: Tính giá trị biểu thức 2

 Nếu giá trị biểu thức 2 là
sai (==0) => thoát khỏi for

 Nếu giá trị biểu thức 2 là
đúng (!=0) => thực hiện
<Cơng việc>

B3: Tính giá trị biểu thức 3

Thursday,rJồanuiaryq15u, 2a015y lại B2 Lập trình căn bản 20


×