Giáo trình Bài tập kỹ thuật lập trình

Lời mở đầu  
LỜI MỞ ĐẦU  
ꢀ
Khi bắt đầu làm quen với ngôn ngữ lập trình – Cụ thể là ngôn ngữ C – Sinh Viên thường  
gặp khó khăn trong việc chuyển vấn đề lý thuyết sang cài đặt cụ thể trên máy. Sách  
“Giáo Trình Bài Tập Kỹ Thuật Lập Trình” nhằm cung cấp cho các Học Sinh - Sinh  
Viên Trường CĐ Công Nghệ Thông Tin Tp. Hồ Chí Minh hệ thống các bài tập, những  
kỹ năng thực hành cơ bản và nâng cao về ngôn ngữ lập trình C. Cuốn sách này được  
xem như tài liệu hướng dẫn từng bước cho Học Sinh - Sinh Viên của Trường trong việc  
học và áp dụng kiến thức lý thuyết trên lớp một cách thành thạo và sâu rộng.  
Giáo trình được chia thành 10 chương theo từng nội dung kiến thức, kèm theo Các đề  
thi mẫu và 1 phụ lục hướng dẫn viết chương trình, chuẩn đoán lỗi và sửa lỗi. Mỗi  
chương gồm 2 phần:  
™ Phần lý thuyết: được tóm tắt ngắn gọn với đầy đủ ví dụ minh hoạ kèm theo.  
™ Phần bài tập: với nhiều bài tập được chia làm hai mức độ cơ bản và luyện tập  
nâng cao, bài tập có đánh dấu * là bài tập khó dành cho sinh viên luyện tập thêm.  
™ Phần kết luận: Tóm tắt nội dung và các thao tác mà sinh viên cần nắm hay  
những lưu ý của chương đó.  
Trong quá trình biên soạn, chúng tôi đã cố gắng trích lọc những kiến thức rất cơ bản,  
những lỗi hay gặp đối với người mới lập trình. Bên cạnh đó chúng tôi cũng bổ sung  
thêm một số bài tập nâng cao để rèn luyện thêm kỹ năng lập trình.  
Tuy nhiên, chủ đích chính của giáo trình này là phục vụ cho một môn học nên chắc chắn  
không thể tránh khỏi những thiếu sót, vì thế, rất mong nhận được những góp ý quý báu  
của các thầy cô, các đồng nghiệp và các bạn Học Sinh – Sinh Viên để giáo trình này  
ngày càng hoàn thiện hơn.  
Chân thành cảm ơn.  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 1  
Lịch trình thực hành  
LỊCH TRÌNH THỰC HÀNH  
¡
Tổng thời gian: 90 tiết.  
STT  
NỘI DUNG  
SỐ TIẾT  
1
2
3
4
5
6
7
8
9
Chương 1: Lưu đồ thuật toán  
Chương 2: Cấu trúc điều khiển  
03  
06  
12  
24  
06  
12  
12  
06  
06  
Chương 3: Hàm con  
Chương 4: Mảng một chiều  
Chương 5: Chuỗi ký tự  
Chương 6: Mảng hai chiều  
Chương 7: Kiểu dữ liệu có cấu trúc  
Chương 8: Tập tin  
Chương 9: Đệ qui  
10 Chương 10: Hướng dẫn lập trình bằng phương pháp Project  
03  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 2  
Lưu đồ thuật toán  
CHƯƠNG 1 LƯU ĐỒ THUẬT TOÁN (FLOWCHART)  
Các ký hiệu biểu diễn lưu đồ thuật toán, cách biểu diễn các cấu trúc điều khiển rẽ  
nhánh, cấu trúc lặp và các kỹ thuật liên quan đến lưu đồ thuật toán.  
I. TÓM TẮT LÝ THUYẾT  
I.1. Khái niệm  
Lưu đồ thuật toán là công cụ dùng để biểu diễn thuật toán, việc mô tả nhập  
(input), dữ liệu xuất (output) và luồng xữ lý thông qua các ký hiệu hình học.  
I.2. Phương pháp duyệt  
• Duyệt từ trên xuống.  
• Duyệt từ trái sang phải.  
I.3. Các ký hiệu  
STT  
KÝ HIỆU  
DIỄN GIẢI  
Bắt đầu chương trình  
1
2
3
Kết thúc chương trình  
Luồng xử lý  
4
5
Điều khiển lựa chọn  
Nhập  
6
7
Xuất  
Xử lý, tính toán hoặc gán  
Trả về giá trị (return)  
8
9
Điểm nối liên kết tiếp theo (Sử dụng khi lưu  
đồ vượt quá trang)  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 3  
Lưu đồ thuật toán  
I.4. Các cấu trúc điều khiển cơ bản  
a. Cấu trúc tuần tự  
Tuần tự thực thi tiến trình. Mỗi lệnh được thực thi theo một chuỗi từ trên  
xuống, xong lệnh này rồi chuyển xuống lệnh kế tiếp.  
Ví dụ: Nhập vào 3 số nguyên a, b, c và xuất ra màn hình với giá trị của mỗi  
số tăng lên 1.  
BAÉT ÑAÀU  
a, b, c  
a = a + 1  
b = b + 1  
c = c + 1  
a, b, c  
KEÁT THUÙC  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 4  
Lưu đồ thuật toán  
b. Cấu trúc lựa chọn  
Điểm quyết định cho phép chọn một trong hai trường hợp.  
• if  
Chỉ xét trường hợp đúng.  
Bieåu thöùc  
Ñuùng  
ñieàu kieän  
Ví dụ: Nhập vào số nguyên n. Kiểm tra nếu n > 0 tăng n lên 1 đơn vị.  
Xuất kết quả.  
BAÉT ÑAÀU  
n
n > 0  
Ñuùng  
n = n+1  
n
KEÁT THUÙC  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 5  
Lưu đồ thuật toán  
• if…else  
Xét trường hợp đúng và trường hợp sai.  
Bieåu thöùc  
ñieàu kieän  
Sai  
Ñuùng  
Ví dụ: Nhập vào số nguyên n. Kiểm tra nếu n chẵn xuất ra màn hình “n  
chẵn”, ngược lại xuất “n lẻ”.  
c. Cấu trúc lặp  
Thực hiện liên tục 1 lệnh hay tập lệnh với số lần lặp dựa vào điều kiện.  
Lặp sẽ kết thúc khi điều kiện được thỏa.  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 6  
Lưu đồ thuật toán  
• for / while (Kiểm tra điều kiện trước khi lặp)  
Ñieàu  
kieän laëp  
Ñuùng  
Sai  
Ví dụ: Nhập vào số nguyên n. Xuất ra màn hình từ 1 đến n.  
BAÉT ÑAÀU  
n
i=1  
i n  
Ñuùng  
i
Sai  
i = i + 1  
KEÁT THUÙC  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 7  
Lưu đồ thuật toán  
• do … while (Thực hiện lặp trước khi kiểm tra điều kiện)  
Ví dụ: Nhập vào số nguyên dương n. Nếu nhập sai yêu cầu nhập lại.  
d. Các ví dụ  
Ví dụ 1: Giải và biện luận phương trình: ax+b=0.  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 8  
Lưu đồ thuật toán  
BAÉT ÑAÀU  
a, b, c  
Sai  
a=0  
Ñuùng  
Sai  
b 0  
Ñuùng  
Nghieäm  
x=-b/a  
Voâ Soá  
Nghieäm  
Voâ  
Nghieäm  
KEÁT THUÙC  
Ví dụ 2: Tính tổng: S = 1+ 2 + 3 +L+ n , với n>0  
1
3 5  
+ + ...+  
2 4 6  
2n +1  
2n + 2  
Ví dụ 3: Tính tổng: S(n) =  
+
, với n>0  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 9  
Lưu đồ thuật toán  
BAÉT ÑAÀU  
n
i = 0  
S = 0  
t = 1  
m = 2  
i <= n  
Ñuùng  
Sai  
S
S = S + t/m  
t = t + 2  
m = m + 2  
i = i +1  
KEÁT THUÙC  
n+1  
Ví dụ 4: Tính tổng: S(n) = 1− 2 + 3 − 4 +L+ (−1)  
n
, với n>0  
BAÉT ÑAÀU  
n
i = 1  
S = 0  
dau = 1  
i <= n  
Ñuùng  
Sai  
S
S = S + dau*i  
dau = -dau  
i = i +1  
KEÁT THUÙC  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 10  
Lưu đồ thuật toán  
II. BÀI TẬP  
Vẽ lưu đồ thuật toán sau  
II.1. Bài tập cơ bản  
1.  
Nhập vào hai số x, y. Xuất ra màn hình tổng, hiệu, tích, thương của hai số  
trên.  
2.  
3.  
Nhập vào số nguyên n, kiểm tra xem n chẵn hay lẻ và xuất ra màn hình.  
Nhập vào ba cạnh a, b, c của tam giác. Xuất ra màn hình tam giác đó thuộc  
loại tam giác gì? (Thường, cân, vuông, đều hay vuông cân).  
Nhập vào số nguyên n. Xuất ra n màn hình (Nếu n chẵn thì gấp đôi giá trị).  
Nhập vào số nguyên n. Nếu n>5 thì tăng n lên 2 đơn vị và trả về giá trị n,  
ngược lại trả về giá trị 0.  
4.  
5.  
6.  
7.  
Tính n!,  
với n ≥ 0  
Tính P(n) = 1.3.5K(2n +1) ,  
với n ≥ 0  
với n ≥ 0  
với n > 0  
với n > 0  
với n > 0  
8.  
TínhS(n) = 1+ 3 + 5 +L+ (2× n +1),  
9.  
TínhS(n) = 1− 2 + 3 − 4 +L+ (−1)n+1 n ,  
Tính S(n) = 1+1.2 +1.2.3 +L+1.2.3Kn ,  
Tính S(n) = 12 + 22 + 32 +L+ n2 ,  
10.  
11.  
1 1  
TínhS(n) = 1+ + +L+ ,  
2 3  
1
12.  
13.  
với n > 0  
n
1
1
1
(*) Tính S(n) = 1+  
Tính P(x, y) = x y .  
+
+L+  
,
với n > 0  
với n > 0  
1+ 2 1+ 2 + 3  
1+ 2 + 3 +L+ n  
14.  
15.  
TínhS(n) = 1+ (1+ 2) + (1+ 2 + 3) +L+ (1+ 2 + 3 +L+ n) ,  
Cho số nguyên n. Tính trị tuyệt đối của n.  
16.  
17.  
18.  
19.  
20.  
21.  
22.  
23.  
24.  
Cho số nguyên dương n gồm k chữ số. Tìm chữ số có giá trị lớn nhất.  
Đếm số lượng ước số chẵn của số nguyên dương n.  
In ra chữ số đầu tiên của số nguyên dương n gồm k chữ số.  
Cho 2 số nguyên dương a, b. Tìm USCLN của a và b.  
Cho 2 số nguyên dương a, b. Tìm BSCNN của a và b.  
Cho số nguyên dương x. Kiểm tra xem x có phải là số nguyên tố không?  
Cho số nguyên dương x. Kiểm tra x có phải là số chính phương không?  
Cho số nguyên dương x. Kiểm tra xem x có phải là số hoàn thiện không?  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 11  
Lưu đồ thuật toán  
II.2. Bài tập luyện tập và nâng cao  
25.  
Tính S(n) = 1+ 22 + 33 +L+ nn ,  
với n ≥ 0  
1
2
2
3
3
4
n
S(n) =  
+
+
+L+  
+L+  
n > 0  
với  
n +1  
26.  
27.  
28.  
Tính  
Tính  
Tính  
,
1
1
1
S(n) = 1+  
S(n) = 1+  
+
n > 0  
với  
2! 3!  
n!  
,
1+ 2 1+ 2 + 3  
2!  
1+ 2 + 3 +L+ n  
+
+L+  
n > 0  
với  
3!  
n!  
,
ax2 + bx + c = 0  
29.  
30.  
Giải và biện luận phương trình:  
Giải và biện luận phương trình: ax4 + bx2 + c = 0  
31.  
32.  
(*) TínhS(n) = n + (n −1) + (n − 2) + ... + 1 , với n > 0  
(**) Tính S(n) = 1+ 2 + 3 + ... + n ,  
với n > 0  
III. KẾT LUẬN  
Lưu đồ thuật toán rất hữu ích trong việc mô tả cách giải quyết của một bài toán.  
Việc mô tả này rất trực quan thông qua các ký hiệu hình học, đây là giai đoạn đầu  
tiên trước khi bắt tay vào lập trình trên một ngôn ngữ lập trình cụ thể.  
Khi xây dựng lưu đồ thuật toán, chúng ta cần chú ý một vài điểm sau:  
™ Một lưu đồ phải có điểm bắt đầu và điểm kết thúc (điều kiện kết thúc).  
™ Phải có dữ liệu vào, dữ liệu ra sau khi xử lý tính toán.  
™ Tại mỗi vị trí quyết định lựa chọn rẽ nhánh phải ghi rõ điều kiện đúng hoặc  
sai thì đi theo nhánh nào.  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 12  
Cấu trúc điều khiển  
CHƯƠNG 2 CẤU TRÚC ĐIỀU KHIỂN  
Tìm hiểu và cài đặt các cấu trúc rẽ nhánh, lựa chọn, lặp và các ký hiệu phép toán trong  
ngôn ngữ C. Mô tả cách hoạt động và hướng dẫn chạy từng bước chương trình.  
I. TÓM TẮT LÝ THUYẾT  
I.1. Các ký hiệu  
KÝ  
HIỆU  
STT  
DIỄN GIẢI  
VÍ DỤ  
void main()  
Bắt đầu và kết thúc hàm hay khối {  
lệnh.  
1
{ }  
}
Kết thúc khai báo biến, một lệnh,  
một lời gọi hàm, hay khai báo  
nguyên mẫu hàm.  
int x;  
2
3
4
;
void NhapMang(int a[], int &n);  
Chú thích (ghi chú) cho một dòng.  
Chỉ có tác dụng đối với người đọc  
chương trình.  
//Ham nay dung de nhap mang  
void NhapMang(int a[], int &n);  
//  
/*  
*/  
/* Dau tien nhap vao n. Sau do  
nhap cho tung phan tu */  
void NhapMang(int a[], int &n);  
Tương tự như ký hiệu //, nhưng  
cho trường hợp nhiều dòng.  
I.2. Các kiểu dữ liệu cơ bản trong C  
KÍCH  
THƯỚC  
ĐỊNH  
DẠNG  
STT  
KIỂU  
GHI CHÚ  
KIỂU LIÊN TỤC (SỐ THỰC)  
4 bytes  
1
2
3
float  
%f  
%lf  
%lf  
double  
8 bytes  
long double  
10 bytes  
KIỂU RỜI RẠC (SỐ NGUYÊN)  
Ký tự  
1 byte  
1 byte  
%c  
%d  
%d  
%d  
%u  
%ld  
%lu  
%s  
1
char  
Số nguyên  
2
3
4
5
6
7
unsigned char Số nguyên dương  
1 byte  
int  
Số nguyên  
2 bytes  
2 bytes  
4 bytes  
4 bytes  
unsigned int  
long  
Số nguyên dương  
Số nguyên  
unsigned long Số nguyên dương  
char * Chuỗi  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 13  
Cấu trúc điều khiển  
I.3. Bảng ký hiệu các phép toán  
PHÉP  
STT  
Ý NGHĨA  
GHI CHÚ  
TOÁN  
PHÉP TOÁN SỐ HỌC  
1
2
3
4
5
+
-
Cộng  
Trừ  
*
/
Nhân  
Chia lấy phần nguyên  
Chia lấy phần dư  
%
PHÉP TOÁN QUAN HỆ  
1
2
3
4
5
6
>
<
Lớn hơn  
Nhỏ hơn  
>=  
<=  
= =  
!=  
Lớn hơn hoặc bằng  
Nhỏ hơn hoặc bằng  
Bằng nhau  
Khác nhau  
PHÉP TOÁN LOGIC  
1
2
3
!
&&  
||  
NOT  
AND  
OR  
TOÁN TỬ TĂNG GIẢM  
Nếu toán tử tăng giảm đặt trước thì tăng  
giảm trước rồi tính biểu thức hoặc ngược  
lại.  
1
2
++  
--  
Tăng 1  
Giảm 1  
PHÉP TOÁN THAO TÁC TRÊN BIT  
1
2
3
4
5
6
&
|
AND  
OR  
^
XOR  
<<  
>>  
~
Dịch trái  
Dịch phải  
Lấy phần bù theo bit  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 14  
Cấu trúc điều khiển  
I.4. Các hàm cơ bản  
TÊN  
HÀM  
printf  
STT  
THƯ VIỆN  
DIỄN GIẢI  
VÍ DỤ  
1
2
#include<stdio.h> Xuất ra màn hình.  
#include<stdio.h>  
#include<conio.h>  
#include<dos.h>  
void main()  
Lấy dữ liệu từ bàn  
phím.  
scanf  
#include<stdio.h>  
Di chuyển dấu nháy  
#include<conio.h> đến tọa độ (x, y) trên  
màn hình văn bản.  
{
3
4
5
gotoxy  
int c = 1, n;  
Đặt màu cho chữ (có  
giá trị từ 0 đến 15).  
Xuất ra màn hình với  
textcolor #include<conio.h>  
clrscr();  
printf(“Nhap n:”);  
scanf(“%d”, &n);  
do{  
cprintf  
delay  
#include<stdio.h> màu chữ đã định liền  
trước đó.  
textcolor(c);  
gotoxy(20, 10);  
cprintf(“%d”, n);  
c++;  
Dừng thực hiện lệnh  
tiếp sau một khoảng  
thời gian.  
6
7
#include<dos.h>  
if (c>15)  
c = 1;  
Kiểm tra xem có  
nhấn phím.  
kbhit  
#include<conio.h>  
delay(200);  
} while(!kbhit());  
}
I.5. Cấu trúc rẽ nhánh  
a. Cấu trúc if  
if (biểu thức điều kiện)  
{
<khối lệnh> ;  
}
Nếu biểu thức điều kiện cho kết quả khác không thì thực hiện khối lệnh.  
Ví dụ:  
#include <conio.h>  
#include <stdio.h>  
void main ()  
{
float number ;  
printf ( “Nhap mot so trong khoang tu 1 den 10 => “) ;  
scanf ( “%f”, &number) ;  
if (number >5)  
printf ( “So ban nhap lon hon 5. \n”) ;  
printf ( “%f la so ban nhap. “ , number);  
}
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 15  
Cấu trúc điều khiển  
b.  
Cấu trúc if … else  
if (biểu thức điều kiện)  
{
<khối lệnh 1>;  
}
else  
{
<khối lệnh 2>;  
}
Nếu biểu thức điều kiện cho kết quả khác không thì thực hiện khối lệnh 1,  
ngược lại thì cho thực hiện khối lệnh thứ 2. Biểu thức điều kiện phải đặt trong  
cặp dấu ngoặc tròn.  
Ví dụ: Giải và biện luận phương trình: ax+b=0  
#include <conio.h>  
#include <stdio.h>  
void main ()  
{
float a, b;  
printf ( “\n Nhap vao a:”);  
scanf ( “%f”, &a);  
printf ( “ Nhap vao b:”);  
scanf ( “%f”, &b) ;  
if (a= = 0)  
if (b= = 0)  
printf ( “ \n PTVSN”);  
else  
printf ( “ \n PTVN”);  
else  
printf ( “ \n Nghiem x=%f”, -b/a);  
getch ();  
}
I.6. Cấu trúc lựa chọn switch  
switch (biểu thức)  
{
case n1:  
các câu lệnh ;  
break ;  
case n2:  
các câu lệnh ;  
break ;  
………  
case nk:  
<các câu lệnh> ;  
break ;  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 16  
Cấu trúc điều khiển  
[default: các câu lệnh]  
}
• ni là các hằng số nguyên hoặc ký tự.  
• Phụ thuộc vào giá trị của biểu thức viết sau switch, nếu:  
o Giá trị này = ni thì thực hiện câu lệnh sau case ni.  
o Khi giá trị biểu thức không thỏa tất cả các ni thì thực hiện câu lệnh sau  
default nếu có, hoặc thoát khỏi câu lệnh switch.  
o Khi chương trình đã thực hiện xong câu lệnh của case ni nào đó thì nó sẽ  
thực hiện luôn các lệnh thuộc case bên dưới nó mà không xét lại điều kiện  
(do các ni được xem như các nhãn) Æ Vì vậy, để chương trình thoát khỏi  
lệnh switch sau khi thực hiện xong một trường hợp, ta dùng lệnh break.  
Ví dụ: Tạo menu cấp 1 cho phép chọn menu bằng số nhập từ bàn phím.  
#include<stdio.h>  
#include<conio.h>  
int ChonTD ()  
{
int chon ;  
printf ("Thuc Don") ;  
printf ("\n1. Lau thai!") ;  
printf ("\n2. Nuoc ngot!") ;  
printf ("\n3. Ca loc hap bau!") ;  
printf ("\n4. Chuot dong!") ;  
printf ("\n Xin moi ban chon mon an!") ;  
scanf ("%d",&chon) ;  
return chon ;  
}
void TDchon(int chon)  
{
switch (chon)  
{
case 1:  
printf ("\nBan chon lau thai!") ;  
break ;  
case 2:  
printf ("\nBan chon nuoc ngot!") ;  
break ;  
case 3:  
printf ("\nBan chon ca loc hap bau!") ;  
break ;  
case 4:  
printf ("\Ban chon chuot dong!") ;  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 17  
Cấu trúc điều khiển  
break ;  
default:  
printf ("\nBan chon khong dung!") ;  
}
}
void main()  
{
clrscr() ;  
int c ;  
c=ChonTD() ;  
TDchon(c) ;  
getch() ;  
}
I.7. Cấu trúc lặp  
a. for  
for (<biểu thức khởi gán>; <biểu thức điều kiện>; <biểu thức tăng/giảm>)  
{
<khối lệnh>;  
}
Bất kỳ biểu thức nào trong 3 biểu thức nói trên đều có thể vắng nhưng phải  
giữ dấu chấm phẩy (;).  
Hoạt động của cấu trúc điều khiển for:  
Bước 1: Khởi gán cho biểu thức 1  
Bước 2: Kiểm tra điều kiện của biểu thức 2.  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 18  
Cấu trúc điều khiển  
• Nếu biểu thức 2 ≠ 0 thì cho thực hiện các lệnh của vòng lặp, thực hiện  
biểu thức 3. Quay trở lại bước 2.  
• Ngược lại thoát khỏi lặp.  
Ví dụ: In ra màn hình bảng mã ASCII từ ký tự số 33 đến 255.  
#include<conio.h>  
#include<stdio.h>  
void main()  
{
for (int i=33;i<=255;i++)  
printf("Ma ASCII cua %c: %d\t", i, i) ;  
getch () ;  
}
b. while  
< Khởi gán>  
while ( <biểu thức điều kiện>)  
{
lệnh/ khối lệnh;  
< tăng/giảm chỉ số lặp>;  
}
# Lưu ý: Cách hoạt động của while giống for  
Ví dụ: Tính giá trị trung bình các chữ số của số nguyên n gồm k chữ số.  
#include<stdio.h>  
#include<conio.h>  
void main()  
{
long n, tong=0;  
int sochuso=0;  
float tb;  
printf ("Nhap vao gia tri n gom k chu so") ;  
scanf ("%ld",&n) ;  
while(n>0)  
{
tong=tong+n%10 ;  
sochuso++ ;  
n=n/10 ;  
}
tb=1.0*tong/sochuso ;  
printf ("Gia tri trung binh la: %f", tb) ;  
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 19  
Cấu trúc điều khiển  
getch () ;  
}
c. do … while  
do  
{
< khối lệnh> ;  
} while (biểu thức điều kiện) ;  
Thực hiện khối lệnh cho đến khi biểu thức có giá trị bằng 0.  
Ví dụ: Nhập ký tự từ bàn phím hiển thị lên màn hình mã ASCII của ký tự đó,  
thực hiện đến khi nhấn phím ESC (Mã ASCII của phím ESC là 27).  
#include<stdio.h>  
#include<conio.h>  
void main()  
{
int ma ;  
do{  
ma=getch ();  
if (ma !=27)  
printf ("Ma ASCII %c:%d\t", ma, ma);  
}while (ma!=27) ;  
getch () ;  
}
# Lặp while kiểm tra điều kiện trước khi thực hiện lặp, còn vòng lặp do…while  
thực hiện lệnh lặp rồi mới kiểm tra điều kiện. Do đó vòng lặp do...while thực hiện  
lệnh ít nhất một lần.  
I.8. break và continue  
a. break  
Dùng để kết thúc vòng lặp trực tiếp chứa nó khi thỏa điều kiện nào đó.  
Ví dụ: Cho phép người dùng nhập liên tục giá trị n cho đến khi nhập âm thì  
dừng.  
#include<stdio.h>  
#include<conio.h>  
void main()  
{
Giáo trình Bài Tập Kỹ Thuật Lập Trình  
Trang 20  
Tải về để xem bản đầy đủ
pdf 152 trang Thùy Anh 22220 Free
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Bài tập kỹ thuật lập trình", để 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:

  • pdfgiao_trinh_bai_tap_ky_thuat_lap_trinh.pdf