Đề cương ôn tập môn Kỹ thuật lập trình C
Yêu cầu:
Sinh viên phải nắm được các kiến thức cơ bản sau:
1. Các câu lệnh khai báo biến, kiểu dữ liệu
2. Các câu lệnh nhập xuất dữ liệu
3. Các lệnh if, switch, for, do while, while, break, continue
4. Hàm
5. Mảng, xâu
6. Cấu trúc
7. File
Các dạng bài tập: Viết chương trình thực hiện các công việc sau
Loại lệnh if, for, do…while, while, …
1. Giải phương trình bậc hai ax
2
+bx+c=0
2. Giải hệ phương trình bậc nhất hai ẩn
=+
=+
222
111
cybxa
cybxa
3. Tính tổng
)!12(
1
!5
1
!3!2!1
1
32
n
xxxx
e
n
x
+++++=
. Giá trị được tính cho tới khi
ep
n
x
n
<
!
, với ep và x là các số
thực nhập từ bàn phím, (0 < ep < 1). In kết quả ra màn hình.
7. Tính tổng
)!12(
!5!3!1 +
±−+−
n
xxxx
Giá trị được tính cho tới khi
ep
n
6. Viết chương trình nhập một xâu ký tự từ bàn phím. Kiểm tra xem trong xâu có bao nhiêu chữ cái
viết hoa, bao nhiêu chữ cái viết thường, bao nhiêu chữ số, bao nhiêu từ. Hiển thị các kết quả ra màn
hình.
7. Nhập từ bàn phím số tự nhiên N (N<100) và sinh ngẫu nhiên một dãy N số nguyên. In ra dãy số
được sinh ra. In ra các số xuất hiện ít nhất 2 lần trong mảng
8. Đếm số lần xuất hiện các ký tự trong xâu : ví dụ xâu s="nneunuee1n", kết quả là 'n': 4, 'g':1, 'u':2,
'e' : 3, '1': 1.
9. Nhập từ bàn phím một dãy gồm n số nguyên(n < 100). In ra dãy vừa nhập ra màn hình. In ra tất cả
các số không là số nguyên tố trong dãy.
10.Nhập một mảng n (n<100) số nguyên từ bàn phím. In ra mảng vừa nhập. Tìm tích của phần tử lớn
nhất và nhỏ nhất của mảng. In ra các số khác nhau trong mảng.
11.Phát sinh ngẫu nhiên toạ độ hai véc tơ X = (x
1
, x
2
,…, x
n
), Y = (y
1
, y
2
,…y
n
), trong đó N là số tự
nhiên nhỏ hơn 15 được nhập từ bàn phím. Tính độ dài véctơ X theo công thức
22
2
2
1
mảng vừa nhập ra màn hình và ghi mảng đó vào file sinhvien.inp.Tìm sinh viên có điểm trung bình
lớn nhất. In ra tên của các sinh viên được học bổng, biết rằng để được học bổng thì các điểm thi phải
>=5 và điểm trung bình phải >=7.0. Đồng thời số sinh viên được học bổng không vượt quá 10% tổng
số.
4. Viết chương trình nhập vào một mảng n (n<100) sinh viên (tên, điểm thi môn Toán, Lý, Hóa, Anh,
Triết, Tin Đại cương). In mảng vừa nhập ra màn hình và ghi mảng đó vào file data.inp. In ra tên của
các sinh viên phải thi lại ít nhất hai môn. In ra danh sách sinh viên phải ở lại lớp (điểm trung bình <
5.0) theo chiều giảm dần của điểm trung bình.
5. Nhập vào một mảng n (n<100) quyển sách (tên, số trang, giá tiền). In ra mảng vừa nhập ra màn
hình và ghi mảng đó vào file data.txt. Nhập vào một số nguyên p và in ra tên và giá tiền của tất cả các
2
quyển sách có số trang là p. Sắp xếp mảng theo chiều giảm dần của giá tiền trung bình của một trang
sách và in kết quả ra màn hình.
6. Nhập vào một mảng các cấu trúc hình tròn trên mặt phẳng 2 chiều (tọa độ tâm và bán kính). In ra
danh sách các hình tròn vừa nhập và ghi mảng đó vào file data.txt. Nhập vào một điểm (x, y) và đếm
xem nó nằm trong bao nhiêu hình tròn trong mảng các hình tròn vừa nhập. Sắp xếp các hình tròn theo
chiều tăng dần của chu vi và in kết quả ra màn hình.
7. …
Chú ý: loại bài về cấu trúc thì có thể thay đổi như cấu trúc sinh viên, học sinh, môn học, mặt hàng,
phần mềm, …. Các công việc thực hiện thường gồm: khai báo cấu trúc, nhập danh sách, xuất danh
sách, ghi danh sách vào file, sắp xếp, tìm kiếm, thống kê, …
Đề thi mẫu: Thời gian 60 phút thực hành trên máy tính, không sử dụng tài liệu (được đọc help của
TC, DevC, C-Free, …).
Câu 1:
Nhập vào từ bàn phím một xâu ký tự. Kiểm tra xem trong xâu có bao nhiêu chữ cái x, với x là một
chữ cái nhập từ bàn phím. Đếm số lần xuất hiện các ký tự trong xâu: ví dụ xâu s="ngnuenuee1n", kết
quả là 'n' : 4, 'g':1, 'u':2, 'e':3, '1':1. Hiển thị các kết quả ra màn hình.
Câu 2:
Nhập vào một mảng n (n<100) cấu trúc loại Hàng hóa (tên loại hàng hóa, giá tiền, tổng số đang có
trong kho). Sau đó thực hiện các câu 3, 4, 5: