Tài liệu Ôn tập môn Quản trị mạng: Bài tập 1: Trích xuất nội dung từ lệnh #ls trong Terminal thu được bảng sau :
Hãy trả lời các câu hỏi sau:
a. User dupont có quyền thực thi file fich hay không ?
b. User dupont có đọc, thay đổi file fichier hay không?
c. Một user trong nhóm prof có quyền đọc file fich hay không ?
d. Một user trong nhóm prof có quyền thay đổi file fich hay không ?
e. Một user trong nhóm prof, có quyền xoá những file trong thư mục sql không ?
f. User dupont có quyền thay đổi file texte hay không ?
g. User dupont có quyền thực thi file long hay không ?
h. Một user robert không thuộc nhóm prof, có quyền xoá những file không thuộc về thư
mục exoshell ?
i. Một user thuộc nhóm prof, có quyền đổi tên những file trong thư mục sql không?
j. Một user thuộc nhóm prof, có quyền đổi tên những file trong thư mục exoshell?
Bài tập 2: Cho biết giá trị thập phân của umask cho phép tạo ra file có quyền rwrwr
Bài tập 3: Cho biết quyền của file mới tạo ra khi sử dụng giá trị umask là 127
B...
42 trang |
Chia sẻ: Khủng Long | Lượt xem: 1147 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Ôn tập môn Quản trị mạng, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Bài tập 1: Trích xuất nội dung từ lệnh #ls trong Terminal thu được bảng sau :
Hãy trả lời các câu hỏi sau:
a. User dupont có quyền thực thi file fich hay không ?
b. User dupont có đọc, thay đổi file fichier hay không?
c. Một user trong nhóm prof có quyền đọc file fich hay không ?
d. Một user trong nhóm prof có quyền thay đổi file fich hay không ?
e. Một user trong nhóm prof, có quyền xoá những file trong thư mục sql không ?
f. User dupont có quyền thay đổi file texte hay không ?
g. User dupont có quyền thực thi file long hay không ?
h. Một user robert không thuộc nhóm prof, có quyền xoá những file không thuộc về thư
mục exoshell ?
i. Một user thuộc nhóm prof, có quyền đổi tên những file trong thư mục sql không?
j. Một user thuộc nhóm prof, có quyền đổi tên những file trong thư mục exoshell?
Bài tập 2: Cho biết giá trị thập phân của umask cho phép tạo ra file có quyền rwrwr
Bài tập 3: Cho biết quyền của file mới tạo ra khi sử dụng giá trị umask là 127
Bài tập 4: Trích xuất nội dung từ lệnh #ls trong Terminal của một thư mục với các quyền
sau đây :
Cho biết giá trị của umask là 0022, hãy cho biết quyền của file đích (destination) khi thực
hiện lệnh copy sau đây :
$ cp test.c test2.c
$ cp test.c a.out
MSSV :
Họ tên :
BÀI TẬP SHELL
Bài 1 : Viết đoạn script, sử dụng lệnh case biểu diễn 4 phép toán cơ bản sau đây :
+ cộng ; - trừ; x nhân; / chia
Yêu cầu: Khi thực thi câu lệnh như sau : $./pheptoan 20*3
Bài 2 : Viết đoạn script minh họa xuất ra chuỗi số Fibonnaci theo
( ) {
( ) ( )
Với giá trị p = 0, ta có chuỗi Fibonacci: 0, 2, 4, 8, 16, 32, 64, 128
Với giá trị p = 1, ta có chuỗi Fibonacci : 1, 1, 2, 3, 5, 8, 13, 21, 34, 55
Bài 3 : Viết đoạn script xuất ra ngày, giờ, tháng năm và thư mục hiện hành.
Bài 4 : Viết đoạn script đảo thứ tự của chuỗi số. Ví dụ : 12345 đảo thành 54321
Hướng dẫn : Lệnh cut [-c] [-f] list [-n] [-d delim] [-s] [file]
-c list: xác định ký tự sẽ chọn.
$ echo "hello" | cut -c 2-4 # chọn ký tự từ thứ 2 đến 4
Kết quả : ell
Bài 5 : Viết đoạn script tính tổng như sau. Nhập vào số : 1234, tổng sẽ là sum=1+2+3+4
Bài 6 : Viết đoạn script tính module của số phức.
Số phức : . Module :
Bài 7 : Viết đoạn script xác định file nào đó có tồn tại hay không ?
$ ./ existe file
File khong ton tai
Bài 8 : Viết đoạn shell script giải phương trình bậc 2
Bài 9 : Viết đoạn script kiểm tra số a nhập vào có phải là nguyên tố hay không và tính tổng các số
nguyên tố từ số nguyên tố đầu tiên đến a.
MSSV :
Họ tên :
Bài 10 : Viết đoạn script chuyển đổi số thập phân ra thập lục phân (HEX) và nhị phân. Và ngược lại.
Bài 11. Viết đoạn script kiểm tra quyền truy xuất của 1 file và xuất ra kết quả quyền theo dạng số thập
phân
Nếu file có quyền là rwxrwxrwx , thì xuất ra 777
Trang 1
BÀI TẬP LẬP TRÌNH C TRÊN UNIX
MÔN HỌC : CÔNG NGHỆ MÃ NGUỒN MỞ
HỌ TÊN :
MSSV :
LỚP :
Hướng dẫn : Các bài tập dưới đây có kèm lời giải và source code (chưa
hoàn chỉnh và chính xác). Sinh viên dựa theo gợi ý của code mà hoàn
chỉnh bài giải.
NỘP SOURCE CODE HOÀN CHỈNH (BẰNG GIẤY IN) CHO LỚP TRƯỞNG VÀO NGÀY CUỐI
MÔN HỌC.
1. Viết chương trình cho phép nhập vào một số và trả về
giá trị tuyệt đối của số đó.
#include
int main(void)
{
int n;
/* Nhap */
printf("Nhap vao : ");
scanf("%d", &n);
/* Tinh toan va hien thi */
if (n < 0)
n = -n;
printf("Abs = %d\n", n);
return 0;
}
2. Viết chương trình nhập vào một số và trả kết quả về
số nhị phân
#include
void binairerec(int n)
{
if (n > 1)
binairerec(n/2);
printf("%d", n%2);
}
void binaireite(int n)
{
int e;
int bits[32];
for (e = 0; n > 0; n = n/2, e++)
bits[e] = n%2;
for (e--; e >= 0; e--)
Trang 2
printf("%d", bits[e]);
}
int main(void)
{
int n;
// Saisie de n
printf("n : ");
scanf("%d", &n);
binairerec(n);
printf("\n");
binaireite(n);
printf("\n");
return 0;
}
3. Xuất ra tam giác Pascal
#include
void pascal1(int n)
{
int l; /* Chi so dong */
int c; /* Chi so cot */
int p[n][n]; /* Bang */
for (l = 0; l < n; l++) {
p[l][0] = 1; /* Cot 0 */
p[l][l] = 1; /* Cot l */
/* Cot 1 toi l-1 */
for (c = 1; c < l; c++)
p[l][c] = p[l-1][c-1] + p[l-1][c];
}
/*Hien thi*/
for (l = 0; l < n; l++) {
for (c = 0; c <= l; c++)
printf("%d\t", p[l][c]);
printf("\n");
}
}
void pascal2(int n)
{
Trang 3
int l; /* Chi so dong */
int c; /* Chi so cot*/
int tab1[n];
int tab2[n];
int* connue = tab1;
int* calcul = tab2;
int* tmp;
connue[0] = 0;
printf("%d\n", connue[0]);
for (l = 1; l < n; l++) {
calcul[0] = 1;
calcul[l] = 1;
for (c = 1; c < l; c++)
calcul[c] = connue[c-1] + connue[c];
tmp = connue;
connue = calcul;
calcul = tmp;
for (c = 0; c <= l; c++)
printf("%d\t", connue[c]);
printf("\n");
}
}
void pascal3(int n)
{
int l;
int c;
int tab[n];
tab[0] = 1;
printf("%d\n", tab[0]);
for (l = 1; l < n; l++) {
tab[l] = 1;
for (c = l-1; c > 0; c--)
tab[c] = tab[c-1] + tab[c];
Trang 4
for (c = 0; c <= l; c++)
printf("%d\t", tab[c]);
printf("\n");
}
}
int main(void)
{
pascal1(10);
pascal2(10);
pascal3(10);
return 0;
}
4. Viết hàm strlength để tính độ dài của một chuỗi :
#include
int strlength(char s[])
{
int i;
for (i = 0; s[i] != '\0'; i++);
return i;
}
int main(int argc, char* argv[])
{
if (argc > 1) {
printf("%d\n", strlength(argv[1]));
} else {
printf("strlength \n");
}
return 0;
}
5. Viết hàm delspace để xóa khoảng trắng của chuỗi ký tự.
Ví dụ : char s[] = "Xin chao moi nguoi";
delspace(s);
printf("s = \"%s\"\n", s);
Output sẽ là: "Xinchaomoinguoi";
#include
void delspace(char s[])
{
int r;
int w;
Trang 5
for (w = r = 0; s[r] != '\0'; r++)
if (s[r] != ' ' && s[r] != '\t') {
s[w] = s[r];
w++;
}
s[w] = '\0';
}
int main(int argc, char* argv[])
{
if (argc > 1) {
delspace(argv[1]);
printf("chaine = \"%s\"\n", argv[1]);
} else {
printf("delspace \n");
}
return 0;
}
6. Viết chương trình kiếm tra số Armstrong. Ví dụ số 371
là số Armstrong vì : 33 + 73 + 13 = 371. Ta có các
số Armstrong như : 0, 1, 153, 370, 407.
1
1. Phần quan trọng nhất của hệ điều hành Linux là:
a. File System
b. Services
c. Kernel
d. Shell
2. Số phiên bản kernel của Linux có gì đặc biệt
a. Số chẵn là phiên bản ổn định
b. Số lẻ là phiên bản thử nghiệm
c. Không quan trọng
d. Câu a và b đúng
3. Khi cài RedHat Linux ở chế độ nào thì các partion DOS bị xoá hết
a. Workstation
b. Server
c. Workstation and Server
d. Không cái nào đúng
4. Kiến trúc Kernel Linux là :
a. Static
b. Microkernel
c. Distributed
d. Monolithic
5. Tác giả của phiên bản hệ điều hành Linux đầu tiên là ?
a. Bill Gates
b. Linus Torvalds
c. Alan Turing
d. Pascal
6. Để liệt kê các file có trong thư mục hiện hành ta dùng lệnh:
a. lệnh ls
b. lệnh df
c. lệnh du
d. lệnh cp
7. Để liệt kê đầy đủ thông tin của các file có trong thư mục hiện hành theo ta dùng
lệnh ls với tham số
a. –a
b. –l
c. –x
d. –n
8. Để liệt kê các file ẩn trong thư mục hiện hành theo ta dùng lệnh ls với tham số
a. –b
b. –a
c. –l
d. –n
9. Để chuyển sang một thư mục khác ta dùng lệnh
a. Lệnh cdir
2
b. Lệnh cd
c. Lệnh mkdir
d. Lệnh dir
10. Một user có username là sinhvien và home directory của anh ta là
/home/sinhvien. Để trở về home dir của anh ta 1 cách nhanh nhất, anh ta phải
dùng lệnh
a. cd
b. cd /home/sinhvien
c. cd / ; cd home ; cd sinhvien
d. cd /home/sinhvien
11. Để chép một file /tmp/hello.txt vào thư mục /tmp/hello/ ta phải làm lệnh nào sau
đây:
a. copy /tmp/hello.txt /tmp/hello/
b. cp tmp/hello.txt /tmp/hello
c. cp /tmp/hello /tmp/hello
d. cp /tmp/hello.txt /tmp/hello
12. Để xem nội dung một tập tin văn bản trong Linux ta có thể dùng lệnh nào sau
đây
a. cat
b. less
c. more
d. cả 3 lệnh trên
13. Để đọc nội dung một đĩa CD trong Linux ta phải làm thế nào ?
a. Phải mount trước
b. eject cdrom
c. cd /mnt/cdrom
d. Không đọc được CD rom
14. Làm thế nào để đọc một đĩa mềm trong Linux
a. mount /dev/fd0
b. mount /dev/cdrom
c. Không cần làm gì cả, chỉ việc đọc từ ổ a:
d. cd /mnt/floppy
15. Tập tin nào chứa các mount point mặc định khi hệ thống boot lên:
a. /etc/mtab
b. /etc/mount.conf
c. /etc/fstab
d. /etc/modules.conf
16. Tập tin nào chứa thông tin các file system đang được mount
a. /etc/mntab
b. /etc/mount.conf
c. /etc/fstab
d. /etc/modules.conf
17. Tập tin sau đây có thuộc tính tuyệt đối như thế nào :
-rwx--x--x hello.sh
3
a. 077
b. 644
c. 755
d. 711
18. Để thiết lập thuộc tính cho một tập tin hello.sh với các yêu cầu sau:
- Chủ sở hữu được quyền đọc ghi, nhóm được đọc, thực thi, other chỉ đọc thì ta
làm lệnh nào dưới đây.
a. chmod 665
b. chmod 654
c. chmod 653
d. chmod 754
19. Tập tin có dấu chấm “.” Phía trước có đặc tính gì đặc biệt:
Ví dụ: .hello.txt
a. Tập tin ẩn
b. Thực thi
c. Không thấy được với lệnh ls
d. Tập tin hệ thống
20. Lệnh nào cho phép ta tạo một account user mới trên hệ thống
a. Lệnh adduser
b. Lệnh useradd
c. lệnh passwd
d. Câu a và b đúng
21. Sau khi đánh lệnh useradd sinhvien. Hỏi user có account là sinhvien có thể
login vào hệ thống được chưa ?
a. Được
b. Không
22. Tập tin /etc/passwd chứa thông tin gì của users hệ thống
a. Chứa profile của người dùng
b. Chứa uid,gid, home directory, shell
c. Chứa password của người dùng
23. Tập tin /etc/shadow chứa thông tin gì của users hệ thống
a. Chứa profile của người dùng
b. Chứa uid,gid, home directory, shell
c. Chứa password của người dùng
d. Chứa login name
24. Trong hệ thống Linux user nào có quyền cao nhất
a. User administrator
b. User root
c. User admin
d. User có UID=0
25. Hệ thống Linux có mấy Run Level chính
a. Có 7 Run Level
b. Có 6 Run Level
c. Có 5 Run Level
4
d. Có 4 Run Level
26. Run level nào là shutdown và halt hệ thống
a. Level 6
b. Level 0
c. Level 3
d. Level 5
27. Run level nào là reboot hệ thống
a. Level 6
b. Level 0
c. Level 3
d. Level 5
28. Run level nào làm hệ thống chạy full mode with X window
a. Level 6
b. Level 0
c. Level 3
d. Level 5
29. Ở run level nào hệ thống không đòi hỏi ta phải nhập username password để
login
a. Level 1
b. Level 3
c. Level 5
d. Không có level nào
30. Chương trình soạn thảo văn bản nào là phổ biến nhất trong hđh Linux:
a. vi
b. Word
c. Emacs
d. Pico
31. Chương trình soạn thảo nào sau đây không sử dụng giao diện đồ hoạ
a. emacs
b. latex
c. vi
d. kword
32. Emacs là một chương trình
a. soạn thảo văn bản
b. Công cụ lập trình
c. Email client
d. Tất cả các tính năng trên
33. Trong vi, để vào mode edit insert ta phải dùng lệnh nào :
a. Dùng phím F4
b. ESC-:i
c. ESC-:q
d. ESC-:x
34. Trong vi, để thoát không cần hỏi lại ta phải dùng lệnh nào :
a. ESC-:q!
5
b. ESC-wq
c. ESC-w!
d. ESC-!
35. Để xem các tiến trình hiện có trong hệ thống Linux ta dùng lệnh nào
a. Lệnh ls
b. Lệnh ps
c. Lệnh cs
d. Lệnh ds
36. Để xem chi tiết các tiến trình đang chạy trong hệ thống ta dùng lệnh ps với các
tham số nào sau đây
a. –ef
b. –ax
c. –axf
d. Cả 3 câu đều đúng
37. Mỗi tiến trình chạy trong hệ thống Linux được đặc trưng bởi :
a. PID
b. PUID
c. PGUID
d. GUID
38. Tham số PPIUD dùng để chỉ:
a. Properly process ID
b. Parent process ID
c. Papa Process ID
d. Không cái nào đúng
39. Để dừng một tiến trình ta dùng lệnh nào :
a. stop
b. kill
c. shutdown
d. halt
40. Điều gì xảy ra với một tiến trình khi ta kill tiến trình cha của nó
a. Không có gì ảnh hưởng
b. Tiến trình con sẽ chết theo
c. Chương trình sẽ đọc lại file cấu hình
d. Sẽ có một tiến trình con mới sinh ra
41. Để kill hết các tiến trình có tên là vi ta dùng lệnh nào
a. kill –9 vi
b. kill –HUP vi
c. killall –HUP vi
d. killall –9 vi
42. Để thiết lập địa chỉ IP cho một máy Linux ta sử dụng lệnh nào trong các lệnh
sau đây
a. ipconfig
b. ifconfig
c. netstat
6
d. route
43. Để xem trạng thái các port đang mở của một máy Linux ta sử dụng lệnh nào
trong các lệnh sau đây
a. ipconfig
b. ifconfig
c. netstat
d. route
44. Để xem các thông tin về bảng routing trong hệ thống Linux ta sử dụng lệnh nào
trong các lệnh sau đây
a. ifconfig
b. netstat -nr
c. route –n
d. b và c đúng
45. Để thiết lập địa chỉ IP cho card mạng eth0 dùng lệnh ifconfig, ta phải thực hiện
lệnh nào sau đây
a. ifconfig eth0 172.16.10.11/ 255.255.255.0
b. ifconfig eth0 172.16.10.11 netmask 255.255.255.0
c. ifconfig eth0 172.16.10.11 mask 255.255.255.0
d. ifconfig eth0 172.16.10.11 mask 255.255.255.0
46. Để tạm thời stop một card mạng ta dùng lệnh nào
a. ifconfig eth0 up
b. ifconfig eth0 stop
c. ifconfig eth0 start
d. ifconfig eth0 down
47. Giả sử ta muốn thêm vào bảng routing một đường dẫn mới: qua mạng
192.168.10.0/24 thì phải qua gateway 172.16.10.140 ta làm cách nào:
a. route add –net 192.168.10.0 netmask 255.255.255.0 gw 172.16.10.140
b. route add –net 192.168.10.0 mask 255.255.255.0 gw 172.16.10.140
netmask 255.255.255.0
c. route add –net 192.168.10.0/25 gw 172.16.10.140
d. route add –net 192.168.10.0 netmask 255.255.255.0 gw 172.16.10.0
48. Khai báo default gw 172.16.8.2 cho 1 máy Linux làm gw ta dùng lệnh nào:
a. route add –net default gw 172.16.8.2
b. route add –net 0.0.0.0 netmask 0.0.0.0 gw 172.16.8.2
c. route add –net 0.0.0.0 netmask 255.255.255.255 gw 172.16.8.2
d. Câu a và b đúng
49. Để xem tải của hệ thống Linux ta dùng lệnh nào
a. Lệnh top
b. Lệnh free
c. Lệnh performance
d. Không thể biết
50. Tập tin nào trong Linux định nghĩa các port cho các dịch vụ chạy trong nó
7
a. /etc/service
b. /etc/services
c. /etc/ports.conf
d. /etc/httpd.conf
51. Dịch vụ SMTP chạy ở port nào
a. 22
b. 23
c. 24
d. 25
52. Dịch vụ www chạy ở port nào
a. 53
b. 80
c. 110
d. 443
53. Dịch vụ nào cho phép ta truyền file qua mạng
a. http
b. ftp
c. uucp
d. mc
54. Làm thế nào để login từ xa qua mạng vào một máy Linux
a. Dùng telnet
b. Dùng ssh
c. Dùng rlogin
d. Cả 3 cách trên
55. Dịch vụ SSH trong Linux là gì ?
a. Secure Socket Shell
b. Secure Shell
c. Samba Shell
d. Không là dịch vụ gì cả
56. Lệnh nào dùng để cài đặt gói phần mềm “packagename.rpm”?
a. rpm –evh packagename.rpm
b. rpm –ivh packagename.rpm
c. rpm –q packagename.rpm
d. rpm –qa *.rpm
57. Để thay đổi các lựa chọn gắn kết (mount) tự động cho một hệ thống tập tin cục
bộ, ta cần sửa đổi nội dung tập tin nào?
a. /etc/filesystems
b. /etc/fstab
c. /etc/group
d. /etc/mnttab
58. Trong dịch vụ httpd (Apache), để xây dựng “máy Web ảo”, ta cần chỉ khối dẫn
nào?
a. Directory
b. VirtualMachine
8
c. VirtualHost
d. Tất cả đều sai
59. Để thay đổi tên đăng nhập của tài khoản “user” thành “newuser”, ta dùng lệnh?
a. userchange –name newuser user
b. passwd –n newuser user
c. usermode –l newuser user
d. usermode –m user newuser
60. Để chỉ liệt kê danh sách các tập tin có ký tự cuối cùng trong tên là “?” ở thư
mục hiện hành, ta dùng lệnh?
a. ls *?
b. ls*\?
c. ls *[?]
d. Tất cả đều sai
61. Tập tin nào chứa ánh xạ loại địa chỉ IP cục bộ?
a. /etc/host.conf
b. /etc/hosts
c. /etc/resolv.conf
d. /etc/named.conf
62. Lệnh nào được sử dụng để cho người dùng thiết lập lịch của riêng họ?
a. vi ~/.crontab
b. cp /etc/crontab
c. crontab –v
d. crontab –e
63. Để chép nội dung file1 vào cuối file2, sử dụng lệnh?
a. cat file1 file2
b. more file1 2> file2
c. cat file1 >> file2
d. copy file1 >> file2
64. Lệnh nào để biết đầy đủ đường dẫn của thư mục hiện hành?
a. pwd
b. path
c. echo path
d. Không câu nào đúng
65. Để hủy bỏ lệnh đang thi hành, ta thực hiện:
a. Nhấn Ctrl + C
b. Nhấn Ctrl + D
c. Nhấn Ctrl + Z
d. Nhấn Ctrl + S
66. Để xem nội dung của tập tin văn bản, ta dùng lệnh:
a. more
b. less
c. cat
d. Tất cả đều đúng
9
67. Để tạo tập tin “new” chứa nội dung của hai tập tin “data” và “odd”, ta dùng
lệnh:
a. cp data odd > new
b. cp data odd >> new
c. cat data odd > new
d. Tất cả đều đúng
68. “/doc” là một thư mục, lệnh nào sai trong các lệnh dưới đây?
a. ln –s /doc mydoc
b. ln /doc mydoc
c. rm –rf /doc
d. cp –s /doc mydoc
69. Để xem hướng dẫn cách dùng lệnh ls, ta thực hiện lệnh:
a. help ls
b. list ls
c. man ls
d. doc ls
70. Lệnh nào để xóa tập tin có tên là “-abc”
a. rm –f –abc
b. rm –i –abc
c. rm -- -abc
d. rm \ -abc
71. Lệnh nào tương đương với lệnh sau “mkdir –p /home1/home2
a. mkdir --parents /home2/home1
b. mkdir /file /doc /priv
c. mkdir /priv /doc /file
d. mkdir –p /priv/doc/file
72. Trong trình soạn thảo vi, lệnh nào dùng để ghi và thoát?
a. wq
b. wq!
c. :wq
d. :qw
73. Lệnh nào tương đương với lệnh sau “chmod u+rwx,g=rx,o-rwx myfile”
a. chmod 027 myfile
b. chmod 757 myfile
c. chmod 750 myfile
d. Không câu nào đúng
74. Để chuyển về thư mục chủ của người dùng hiện hành, ta dùng lệnh?
a. pwd
b. cd ~
c. cd ..
d. cd /home
75. Trong RedHat Linux, tên tài khoản người dùng:
a. Là duy nhất
10
b. Phân biệt chữ thường với chữ hoa
c. Không được bắt đầu bằng một ký số
d. Tất cả đều đúng
76. Tập tin nào chứa khai báo địa chỉ máy chủ DNS?
a. /etc/named
b. /etc/resolv.conf
c. /etc/sysconfig/resolv.conf
d. /etc/sysconfig/network
77. Lệnh nào tương đương với lệnh sau “chown sales myfile”
a. chown sales:sales myfile
b. chgroup sales:sales myfile
c. chgrp sales myfile
d. chmod sales myfile
78. Tập tin /etc/sysconfig/network có chứa thông tin về:
a. Tên máy tính và default gateway
b. Các thiết bị được sử dụng để kết nối mạng
c. Các script dùng trong kết nối PPP và SLIP
d. Trạng thái của mạng
79. Để khóa tài khoản “user”, ta dùng lệnh?
a. usermod –L user
b. passwd –l user
c. A và B đều sai
d. A và B đều đúng
80. Tiến trình init:
a. Luôn có PID = 1;
b. Không thể kết thúc được
c. Gọi khởi động các tiến trình khác
d. Tất cả đều đúng
81. Tập tin nào được sử dụng để thay đổi mức thi hành mặc định (default runlevel)?
a. /etc/grub.conf
b. /etc/runlevel
c. /etc/inittab
d. /etc/init.conf
82. Trong trình soạn thảo vi, để chuyển về chế độ lệnh, ta nhấn:
a. ESC
b. INS
c. Ctrl + Shift
d. Tất cả đều sai
83. Có thể tạo một Symbolic Link chỉ tới một tập tin không tồn tại hay không?
a. Có
b. Không
c. Tùy trường hợp
d. Tất cả đều sai
11
84. Tập tin script nào chứa khai báo định tuyến?
a. /etc/sysconfig/network
b. /etc/sysconfig/route
c. /etc/sysconfig/static-routes
d. /etc/sysconfig/network-scripts/routes
85. Khi tạo một tài khoản người dùng, thông tin nào bắt buộc phải được cung cấp?
a. Tên đầy đủ (Full Name)
b. Tên đăng nhập
c. Mã nhận diện tài khoản (UID)
d. Shell
86. Nếu muốn xem “crond” được cấu hình để khởi động ở mức thi hành (runlevel)
nào, ta thi hành lệnh?
a. chkconfig -list -crond
b. chkconfig -l crond
c. chkconfig --list crond
d. chkconfig crond
87. “/xyz” là một symbolic link của “/tmp/dir”, lệnh nào sau đây cho phép ta
chuyển vào thư mục “/tmp/dir”?
a. cd –L /xyz
b. cd –P /xyz
c. cd /xyz
d. Tất cả đều sai
88. Để bật ngay lập tức chức năng chuyển gói tin (IP Forward), ta thực hiện:
a. Sửa nội dung tập tin “/etc/sysctl.conf”
b. Thi hành lệnh echo 1> /proc/sys/net/ipv4/ip_forward
c. Thi hành lệnh echo 1> net.ipv4.ip_forward
d. Thi hành lệnh ./proc/sys/net/ipv4/ip_forward=1
89. Cho biết ý nghĩa của một mục từ crond như sau: 10 5 * * * /bin/foo
a. Thực thi /bin/foo vào lúc 10:05 sáng mỗi ngày
b. Thực thi /bin/foo vào 10 tháng 5 hàng năm
c. Thực thi /bin/foo vào lúc 5:10 sáng mỗi ngày
d. Không câu nào đúng
90. Để xem thông tin về phần chia đĩa cứng trên hệ thống, ta dùng lệnh:
a. fdisk /dev/had
b. fdisk /dev/sc
c. list /dev/had
d. fdisk –l
91. Để kiểm tra dung lượng đĩa cứng còn trống, ta dùng lệnh:
a. du –a
b. df –a
c. df
d. du
92. Để lấy chiều dài của chuỗi “string” ta dùng lệnh nào sau đây
a. ${#string}
12
b. expr length $string
c. expr "$string" : '.*'
d. Cả ba lệnh trên
93. Thư mục /dev chứa:
a. Các tập tin dùng phát triển hệ thống
b. Các tập tin rác, tạm thời
c. Các tập tin đại diện trạng thái hiện hành của hệ thống
d. Các tập tin đại diện thiết bị
94. Để sao chép tất cả nội dung có trong thư mục /dir vào thư mục /tmp, thi hành
lệnh:
a. cp –r /dir /tmp
b. cp –a /dir /tmp
c. cp --parents /dir /tmp
d. Tất cả đều đúng
95. Chương trình nào dùng để kiểm tra cấu hình dịch vụ DNS?
a. dnscheck
b. BIND
c. nslookup
d. resolve
96. Trong tập tin /etc/group các nhóm được mô tả dưới dang :
groupname: password: GID: member list . Lệnh nào dưới đây cho phép trả về danh
sách người dùng trong nhóm (member list):
a. MEMBERS=($(cat /etc/passwd | grep $GUID | cut –d: -f4))
b. MEMBERS=($(cat /etc/group | grep $GUID | cut –d: -f4))
c. MEMBERS=($(cat /etc/group | grep $GUID | cut –d: -f2))
d. MEMBERS=($(cat /etc/group | grep $GUID | cut –d: -f1))
100.Lệnh nào dùng để xóa toàn bộ thư mục /dir
a. rm –f
b. rm –r
c. rmdir
d. rmdir –p
101.Để tìm tất cả các sự khác nhau giữa hai tập tin, ta dùng lệnh:
a cmp
b diff
c wc
d Tất cả đều sai
102. Lệnh nào sau đây thay thế tất cả chuỗi con trong “string” trùng với “substring”
bằng một chuỗi “replacement”:
a. echo ${string/substring/replacement}
13
b. echo ${string//substring/replacement}
c. echo ${#string */replacement/}
103. Lệnh nào dùng để liệt kê danh sách tất cả các tập tin có tên phần mở rộng
không chứa các ký tự trong khoảng từ “x” đến “w” trong thư mục hiện hành
a. ls *.!x | .!w
b. ls *.[!x-w]
c. ls ! *.[xz]
d. ls *.[!xw]
104. Để tạo tài khoản người dùng “abc” là thành viên của nhóm “group”, ta dùng
lệnh:
a. useradd –g group abc
b. useradd –G group abc
c. useradd –m group abc
d. useradd group abc
105 : Có ít nhất bao nhiêu patition cần được tạo ra khi ta cài đặt LINUX
a. 1
b. 2
c. Lớn hơn 2
106 : File nào trong số các file dưới đây chứa các biến môi trường khi sử dụng Bash
Shell
a. ~/.profile
b. /bash
c. /etc/profile
d. ~/bash
107 :Tất cả các nhóm được liệt kê trong file /etc/group .Mỗi một nhóm được thể hiện
trên một dòng.Hãy xác định trật tự đúng của các trường trên thực thể này :
a. groupname: password: GID: member list
b. GID : groupname: password: member list
c.groupname: GID: password: member list
d.GID: member list: groupname: password
108 : Bạn sử dụng lênh sau useradd –m sapa song user sapa không đăng nhập vào
được.Để đăng nhập được ta phải làm gì ?
a. Cần đăng ký mật khẩu cho user sapa bằng lệnh password sapa
b. Phải tạo thư mục home cho sapa và tạo quyền cho phép truy cập.
c. Bạn cần biên tập lại file /etc/passwd và đăng ký shell cho acount sapa
d. Tên người dùng nhỏ hơn 5 ký tự.
109: Bạn tạo một user sinhvien mới bằng cách thêm vào /etc/passwd file một dòng
như sau
sinhvien:abcdef:501:501:tensinhvien:/home/sinhvien:/bin/bash
Sau đó sinh vien gặp bạn và nói không logon vào hệ thống được. Bạn kiểm tra và thấy
tên user và mật khẩu đều đúng .Điều gì đã xảy ra?
a. UID và GID giống nhau
b. Bạn không gõ khoảng trống hoặc ngoặc kép vào những vị trí cần thiết.
14
c. Bạn không thể nhập mật khẩu trực tiếp .Cần dùng lệnh passwd command
để đăng ký mật khẩu cho user.
d. Tên người dùng quá ngắn, tối thiểu nó phải có độ dài 6 ký tự.
110 : Mở file /etc/passwd ta thấy có các dòng .Trật tự nào sau đây của các trường là
đúng:
a. username, UID, GID, home directory, command, comment
b. username, UID, GID, comment, home directory,command
c. UID, username, GID, home directory, comment, command
d. username, UID, group name, GID, home directory, comment
111 : Bạn có một máy tính và đang cài Windows98 và muốn cài thêm Linux trên đó
song bạn không còn đủ không gian đĩa cứng để cài đặt.Bằng cách nào tối ưu nhất bạn
có thể thực hiện công việc trên
a. Sử dụng Disk Manager để thay đổi lại kích thước (resize ) của partition
chứa Windows 98.
b. Phân hoạch lại đĩa cứng từ đầu; cài lại Windows 98 và sau đó cài Linux.
c. Không thể cài Windows 98 và Linux trên cùng một máy tính.
d. Tạo một directory trong Windows 98 và cài Linux vào directory này.
112 :Bạn đang cài Linux lên máy tính của bạn.Bạn muốn có 5 partitions khác nhau và
đã tạo ra được 4 partition.Còn partition thứ 5 không cách nào tạo ra được.Điều gì đã
xảy ra :
a. Hard drive của bạn không đủ chỗ để tạo hơn 4 partition.
b. Bạn phải tạo swap partition .
c. Bạn đã tạo ra 4 primary partitions.
113 : Quan sát file /etc/passwd , bạn thấy trong trường password chứa ký hiệu „x‟.
Ý nghĩa của ký tự này là gì?
a. Password đã được mã hoá.
b. Bạn đang sử dụng shadow password.
c. Tất cả passwords đều rỗng.
d. Tất cả passwords đều hết hạn.
114 : Sau khi Dung rời khỏi công ty ,bạn dùng lệnh userdel Dung để xoá user
này.Mẩu tin của user này trong file etc/passwd bị xoá , tuy vậy , trong home directory
có thể vẫn còn thư mục của user này. Bạn có thể dùng lệnh nào sau đây để khẳng định
home directory cũng đã bị xoá?
a. userdel –m Dung
b. userdel –u Dung
c. userdel –l Dung
d. userdel –r Dung
115 : Bạn Dung có username là sapa.Bạn ấy nói rằng quên mật mật khẩu đăng
nhập.Lệnh nào sẽ giúp bạn Dung reset lại mật khẩu của mình.
a. passwd Dung
b. resetpassw
c. su sapa
d. passwd sapa
116 : File nào xác định tất cả các user trên hệ thống của bạn
15
a. /etc/passwd
b. /etc/users
c. /etc/password
d. /etc/user.conf
117 : Những user name nào sau đây không đúng
a. Theresa Hadden
b. thadden
c. TheresaH
d. T.H.
118 : Dung lượng nhỏ nhất cho phép đối với các swap partition là :
a. 16 MB
b. 64 MB
c. 128 MB
d. 256 MB
119 : Máy tính của bạn có hai ổ đĩa cứng IDE và bạn đang cài Linux trên chúng.Mỗi
đĩa cứng bạn chia thành hai patitions .Các partition trên máy của bạn có tên là gì :
a. hda1, hda2, hda3, hda4
b. hda1, hda2, hdb1, hdb2
c. sda1, sda2, sda1, sdb2
d. sda1, sda2, sda3, sda4
`
120 .Để tìm những số điện thoại trong phonebook có mã vùng là 0903 và các số sau là
xxx xxx .Ví dụ : 0903 654 723 hoặc 0903 677 654 ta dùng lệnh nào sau đây :
a. grep „0903 * * „ phonebook
b. grep „0903 [0-9] [0-9] phonebook
c. grep „0903 [0-9]\{3\}[0-9]\{3\}[0-9] phonebook
d. grep ^0903 phonebook
122. Đêt tìm các dòng có chứa 2,3,4 ký tự “b” liên tiếp trong tệp tin “test” ta dùng lệnh
nào sau đây :
a. grep “b??” test
b. grep b\[2,3,4] test
c. grep b* test
d. grep “bb,bbb,bbbb” test
121. Lệnh nào dưới đây cho phép lấy ra chuỗi “xyz” từ chuỗi
string=“xyzabcdefabcxyztuv”
a.echo ${string#*xyz}
b.echo ${string##*xyz}
c.echo ${#string xyz}
d.echo ${string% abc*}
122. Những lệnh nào dưới đây cho phép loại chuỗi “xyz” đầu tiên tính từ đầu chuỗi
string=“xyzabcdef123xyztuv”
a.echo ${string:3}
b.echo ${string##*xyz}
16
c.echo ${string#x*y}
d.echo ${string%%xyz*}
123. Lệnh nào dưới đây cho phép loại tất cả các ký tự đứng trước chuỗi “xyz” trong
chuỗi string=“xyzabcdef123xyztuv”
a.echo ${string##*xyz}
b.echo ${string#*xyz}
c.echo ${#string xyz}
d.echo ${string%%abc*}
124. Chương trình nào không thuộc vào Hệ thống LAMP ?
a) MySQL
b) Apache
c) Microsoft
d) Linux
e) PHP
125. Thực thi đọan code nào dưới đây để có thể biết PHP Environment đã được cài đặt
đúng?
a) phpinfo()
b) phptatus()
c) phptest()
d) phpcheck()
126. Cài đặt Apache xong bạn có thể kiểm tra servername của bạn qua cách gọi ulr
ngoài cách này
còn cách nào khác nữa không?
a)
b)
c)
d)
127. Để connect với Apache Webserver ta dùng câu lệnh nào dưới đây?
a) $connect=mysql_connect("hostname", "uername","pasword");
b) $connect=mysql_connect("pasword", "uername","hostname");
c)$connect=mysql_connect("hoastname", "pasword","uername");
128.Để chọn một DATA BASE trong MySQL ta dung câu lệnh nào?(DB_name là tên
17
của DATA BASE cần chọn)
a) mysql_select_db ("DB_name"))
b) mysql_select ("DB_name"))
c)mysqlselectdb ("DB_name"))
129. PHP dựa theo syntax của ngôn ngữ nào?
a) Basic
b) Pascal
c) C
d) VB Script
e) Prolog
f) SQL
130. W tượng trưng cho cụm từ nào trong gói WAMP?
a) Word
b) Windows
c) Whistler
d) While
131. Khi thực thi biến $Var3 = $var1% $var2 có dạng ( type) là:
a) double
b) integer
c) string
d) boolean
132. Dạng type nào sẽ được tự động xác định khi gán biến $var = 1000.0
a) double
b) integer
c) string
d) boolean
133. Số 41 này tương đương với số Bit nào
a) 10010010
b) 00101001
c) 00010101
d) 00101101
134. Ứng dụng PHP có thể gắn ở
a) chỉ gắn được ở phần Header
b) -------------------------------- Body
c) chỗ nào cũng được trong văn bản (tệp) HTML
18
135. Một biến thuộc dạng (type) integer có thể nhận giá trị tối đa là bao nhiêu?
a) +2147483647
b) +1.734.484..684
c) +247.484
d) +3.954.876.201
136. Output nào dưới đây là đúng. Khi gán cho biến $b có một giá trị tương đương với
biến $a
a) $a =. $b;
b) $a +. $b;
c) $a .= $b;
d) $a .+ $b;
137. Câu lệnh nào là đúng , khi bạn muốn biến đổi dang (type) thành integer?
a) $item = (int) "100Laptop";
b) $tem = "int""100Laptop";
c) $item = [int] "100Laptop";
d) $item = INT"100Laptop";
138. Ký hiệu nào dùng để kết thúc câu lệnh trong PHP?
a) dấu chấm đôi ( :: )
b) dấu phẩy ( , )
c) dấu chấm phẩy ( ; )
d) dấu thán ( ! )
139. Type boolean trả cho ta giá trị gì ?
a) true hay false
b) equal hay unequal
c) bigger hay smaller
d) yes hay none
140. PHP không hổ trợ dạng type nào?
a) integer
b) string
c) single
d) double
141. Dấu (biểu tượng) nào đuợc dùng để làm thành một biến
a) !
b) ?
c) %
d) $
e) &
19
142. Loại biến nào được dùng trong PHP?
a) typeless variable
b) headless variable
c) nameless variable
d) irrevelant variable
143. Kiểu biến( type) nào dùng cho chuỗi?
a) integer
b) double
c) string
d) boolean
144. Câu lệnh PHP nào không tương thích trong văn bản HTML
a)
b)
c)
d)
e) echo "Hello World";
f) Tất cả đều sai
145. Để nạp dữ liệu vào một bảng “table_name” ta dung câu lênh truy vấn nào sau
đây?
a) $sql= "INSERT INTO` .`$table_name`
(IDkh,URL,username,password,email,location)
VALUES('0','localhost','lac_hong','abcde','lac_hong@gmail.com','Bien_hoa')";
b) $sql= "INSERT `$DBname`.`$table_name`
(IDkh,URL,username,password,email,location)
VALUES('0','localhost','abcde','lac_hong@gmail.com','bien_hoa')";
c) $sql= "INSERT INTO `$DBname`.`$table_name`
(IDkh,URL,username,password,email,location)
VALUES('0','localhost','lac_hong','abcde','lac_hong@gmail.com','bien_hoa')";
146. Bạn có thể chọn bao nhiêu entry trong một select field?
a) 3
b) 1
c) 2
d) bao nhiêu cũng được
147. Trong một form có nhiều Radio Buttons bạn có thể chọn bao nhiêu entry qua biến
$_GET hay $_POST
a) 0
b) 1
c) 2
d) bao nhiêu cũng được
20
148. Dể tạo một DATA BASE có tên là “db_name “ ta dung câu truy vấn MySQL nào
sau đây
a)$sql="CREATE DATABASE $db_name";
mysql_query($connect)or die ("DB IS NOT CREATED!");
b)$sql="CREATE_DATABASE $db_name";
mysql_query($sql,$connect)or die ("DB IS NOT CREATED!");
c) $sql="CREATE DATABASE $db_name";
mysql_query($sql,$connect)or die ("DB IS NOT CREATED!");
d)mysql_select_db($db_name,$connect) or die ("DB IS NOT SELECTED!”)
149. ký tự trắng (space) được biến đổi thành ký tự gì trong thanh địa chỉ Url
a) dấu trừ ( - )
b) dấu bằng ( = )
c) dấu cộng ( + )
d) dấu sao ( * )
150. Để truyền dữ liệu như một biến trong PHP bạn cần
a) cần mã hóa ( encrypt )
b) cần nén (ziped)
c) không cần làm gì thêm vì biến $_GET và $_POST đã được dựng sẳn và có thể sử
dụng ngay
151. Khi sử dụng biến $_GET bạn có thể thấy tham số được truyền trong
a) status của trình duyệt
b) trong thanh adress của trình duyệt
c) chẳng thấy gì cả ở biến $_GET này
152. PHP có thể họat động với lọai form fields phụ nào?
a) checkbox
b) radiobuttons
c) select field
d) textarea
e) Tất cả các loại trên
153. Nút (button) nào dùng để kích họat gởi dữ liệu?
a) submit
b) transaction
c) mail
d) send
154. lọai extension nào có khả năng truyền dữ liệu qua Url ?
a) .cgi
b) .pl
21
c) .uvd
d) .asp
e) .jsp
f) Tất cả các loại trên
155. Method nào chuyễn gởi mảng dữ liệu $_POST[] đến Server khi client gởi một
request đến server
a) method = "post"
b) method = "mail"
c) method = "get"
d) method = "give"
156. Ký hiệu nào dùng để tách cặp "key/value" khi sử dụng methode GET
a) !
b) §
c) $
d) &
BỔ XUNG
PHẦN 1: LINUX VÀ SHELL 12 câu
1.Bạn hãy cho biết kết quả chạy đoạn code sau đây
#!/bin/sh
myname="nguyen van A"
echo ‘myname : $myname’
exit 0
A.myname : nguyen van A
B.myname : $myname
C.myname:” ”
D.nguyen van A
2.Trên SHELL LINUX cho phép truyền từ CLI tối đa bao nhiêu biến tham số:
A: 8
B: 9
C: 10
D.Không xác định
3. Để truyền số tham số lớn hơn 9 ta dùng lệnh
A: shift
B:add
C:sub
D.more
4.Đoạn code sau đây cho ra kết quả nào
22
$cat << EOF # dấu hiệu đánh dấu chọn ở đây là EOF
> Xin chao
>
> EOF (và gõ ENTER)
A.EOF
B.Xin chao
C.Không có gì
D. Báo lỗi
5.Kết quả nào sau đây là đúng khi chay đoạn code
foo=10
x=foo
y=’$’$x
echo $y
A.10
B.$foo:
C.$x
D.‟$‟$x
6.Kết quả nào sau đây là đúng khi chay đoạn code
foo=10
x=foo
eval y=’$’$x
echo $y
A.10 ++
B.$foo:
C.$x
D.‟$‟$x
7. Hãy cho biết giá trị của biến z khi chạy đoạn code sau đây
X=10.5
y=25
z=$(($x+$y))
A.35
B.35.5
C.25
D. Báo lỗi
8.Cho một chuỗi string=abvfdhyscdfbckh123fdh
Câu lệnh
echo $string{#string} ; sẽ trả về giá trị nào sau đây:
A.19
B.21
C.23
23
D.17
9. Cho một chuỗi : string=abcdefavc 123fau
Câu lệnh echo {string #a*b} cho ta kết quả nào sau đây:
A.defavc123fau
B.abc
C.abcd
D.cdefavc123fau
10. Cho một chuỗi : string=abcdefavc 123fau
Câu lệnh echo {string ##fa} cho ta kết quả nào sau đây:
A.favc123fau
B.u
C.abcde
D.au
11. Cho một chuỗi : string=abcdefavc 123fau
Câu lệnh echo {string %%fa} cho ta kết quả nào sau đây:
A.abcdefavc123
B.abcde
C.abcdefavc123fa
D.abcdefa
12.Tập tin /etc/group chứa các thông tin về nhóm trong hệ thống.Hãy cho biết câu lệnh
sau xuất ra thông tin nào của nhóm:
($(cat /etc/group | grep $GRUID | cut –d: -f4))
A. Group ID
B. Group Name
C. Group’s Members
D. Shadow pasword
Lưu ý : $GRUID là ID của nhóm được nhập từ KB
PHẦN 2 : LẬP TRÌNH C (C++) TRÊN LINUX 12 câu
1.Các thư viện chuẩn của gcc nằm trên thư mục nào dưới đây:
A./usr/sbin/lib
B./sbin/lib
C./usr/lib/gcc-lib
D./usr/local/lib
2.Các tập tin nào sau đây không phải là tập tin thư viện của gcc
A.libabc.so
24
B.liba.lib
C.libabc.sa
D.libab.a
3.Cho biết tập tin nào sau đây được tạo ra sau khi thực hiện câu lênh sau
/root]#gcc main.c
A: main.o
B.main
C.a.out
D.a.o
4. Cho biết tập tin nào sau đây được tạo ra sau khi thực hiện câu lênh sau
/root]#gcc -c main.c
A.main
B.main.o
C.main.so
D.main.sa
5. Cho biết tập tin nào sau đây được tạo ra sau khi thực hiện câu lênh sau
/root]#gcc main.c -o main
A.main.o
B.main
C.main.obj
D.main.exe
6.Cho biết tập tin nào được tạo ra sau khi thực hiện câu lênh sau
/root]#gcc -c main.c myapp.c
A.main.o , myapp.o
B.main , myapp
C.main.so , myapp.so
D.main.sa, myapp.sa
7. Cho biết tập tin nào được tạo ra sau khi thực hiện câu lênh sau
/root]#gcc main.o lib1.o lib2.o -o main //lib1.o và lib2.o là hai tập tin thư viện
A.main
B.lib.a
C.lib.so
D.lib.sa
8. Cho biết tập tin nào được tạo ra sau khi thực hiện câu lênh sau
/root]#ar cvr lib1.o lib2.o lib12.a //lib1.o và lib2.o là hai tập tin thư viện
A.lib.a
B.lib12.a
C.lib.sa
25
D.lib.12.o
9. Cho biết tập tin nào được tạo ra sau khi thực hiện câu lênh sau
/root]#gcc main.o -o main lib12.a
A.main.c
B.main.lib
C.main
D.main.exe
10.Để tạo liên kết động từ hai tập tin thư viện lib1.o và lib2.0 ta dùng câu lệnh
A. ~root]#gcc -c -pfic lib1.c lib2.c
B.~root]#gcc -shared lib1.o lib2.o -o lib12.so
C.~root]#gcc -o lib12.so -shared lib1.o lib2.o
D. ~root]#gcc -o -shared lib1.o lib12.so lib2.o
11.Tập tin makefile là tập tin
A. Chứa các thông tin mô tả cách thức xây dựng và biên dịch chương trình
B.Thực thi chương trình
C.Cấu hình hệ thống
D.Logfile
12.Trình tự các thông tin được đặc tả trong makefe là
A.Các quy tắc (rules)– các phụ thuộc(dependences) –các đích(tagget)
B.Các đích (tagget) – các phụ thuộc (dependences) – các quy tắc (rules)
C. Các phụ thuộc (dependences) – các quy tắc (rules) - các đích (tagget)
D.Không quan trọng
PHẦN 3 : LẬP TRÌNH NGÔN NGỮ PHP 30 câu
1.Các tên biến nào sau đây là hợp lệ trong PHP:
A.$123
B.$php
C.$123abc
D.$a!@c
2.Cho một biến $var=”12.3” . Hãy cho biết giá trị trả về của hàm var_dump($var):
A.float (12.3)
B.int(12)
C.string(12.3)
D.array(12.3)
3. Cho một biến $var=12.3 . Hãy cho biết giá trị trả về của hàm var_dump($var):
A.float(12.3)
26
B.int(12)
C.string(12.3)
D.0
4.Cho các biến $var1=12.5 , $var2=12. Hãy cho biết giá trị nào sau đây được trả về
khi thự hiện hàm var_dump($var1+$var2)
A. float(24.5)
B. int(24)
C.float(24)
D.string(24.5)
5. Cho các biến $var1=”12abc” , $var2=12.5. Hãy cho biết giá trị nào sau đây được trả
về khi thực hiện hàm var_dump($var1*$var2)
A.float(150)
B.int(24)
C.string(24)
D.0
6.Cho biết kiểu của biến $var được khởi tạo sau khi thực thi hàm
$var=$(fgets(fopen(„php://stdin‟,‟r‟)))
A: Biến kiểu int
B. Biến kiểu float
C.Biến kiểu string
D.Biến kiểu array
7.Cho biết kết quả chạy dòng lệnh sau
<?php
echo $php=50,$php=10,$php+$php;
?>
A.501060
B.501020
C.501010
D.505060
8.Cho biết kêt quả của phép toán sau:
<?php
$a=10;$b=12;
$b+=$a;
echo $b;
?>
A.10
B.22
C.12
D.120
27
9. Cho biết kêt quả của phép toán sau:
<?php
$a=10;$b=12.5;
$b*=$a;
var_dump($b);
?>
A.int(125)
B.float(125)
C.125
D.int(120)
10. Cho biết kêt quả của phép toán sau:
<?php
echo $a=4,$a=5,$a=6,$a*$a;
?>
A.45645
B.45636
C.45656
D.45620
11.Cho biết kết quả của câu lệnh sau
?php echo $a=abcdef#$%@;?>
A.abcdef
B.abcdef#$%@
C.#$%@
D. Báo lỗi
12. Cho biết kết quả của câu lệnh sau
A.abc
B.abc#$!def@!%?
C.Báo lỗi.
D.def
13. Cho biết kết quả của câu lệnh php sau
A.abc
B.abc#$!def@!%
C.Báo lỗi
D.def
14. Cho biết kiểu của biến $var được khởi tạo sau khi thực thi hàm
$var=(int)$(fgets(fopen(„php://stdin‟,‟r‟)))
28
A.Kiêu string
B.Kiểu int
C.Kiểu float
D.Không xác định
15.Hãy cho biết kết quả xuất ra màn hình khi thực hiện câu lệnh
$var1=$(fgets(fopen(„php://stdin‟,‟r‟))) //nhập từ bàn phím giá trị “12abc”;
$var2=$(fgets(fopen(„php://stdin‟,‟r‟))) //nhập từ bàn phím giá trị “12”;
echo $var1+$var2, ‟=‟,$var1+$var2 ;
A.$var1+$var2=24
B.12+
12=
24
C.12+12=24
D.var1+var2=24
16. Hãy cho biết kết quả xuất ra màn hình khi thực hiện câu lệnh
$var1=trim($(fgets(fopen(„php://stdin‟,‟r‟)))) //nhập từ bàn phím giá trị “12abc”;
$var2=trim($(fgets(fopen(„php://stdin‟,‟r‟)))) //nhập từ bàn phím giá trị “12”;
echo $var1+$var2, ‟=‟,$var1+$var2 ;
A.$var1+$var2=24
B.12+
12=
24
C.12+12=24
D.var1+var2=24
17.Cho biết kết quả xuất ra màn hình của đoạn code php sau đây :
<?php
function test()
{
$name=array("AI","LEN","XU","HOA","DAO");
foreach($name as $test)
{echo "$test";}
}
test();
?>
A. AI LEN XU HOA DAO
B. AI
LEN
XU
HOA
DAO
29
C.”AI” “LEN” “XU” “HOA” “DAO”
D.AILENXUHOADAO
18. Cho biết kết quả xuất ra màn hình của đoạn code php sau đây :
<?php
function SUM($a,$b)
{
$total=$a+$b;
return $total;
}
echo SUM(12,13);
?>
A.25
B.SUM(12,15)
C.SUM($a,$b)
D.SUM($total)
19.Cho biết kết quả chạy đoạn code php dưới đây:
<?php
$str="123400khongcogi";
echo ($str);
$x=5+$str;
echo (" $x ");
A.123405khongcogi
B. 123405khongcogi
C.123405
D.5
20.Cho biết kết quả chạy đoạn code sau :
<?
define ("HOME","Huynh van Nghe");
echo ("My home:".HOME );
define ("MY_AGE","15 tuoi");
echo ("My age:".MY_AGE);
?>
A.My home:Huynh van Nghe
My age:15tuoi
B. My home:Huynh van Nghe
My age:15
C. My home:Huynh van Nghe
My age:MY_AGE
D.My home: , MY_AGE
30
21.Đoạn code sau đây
<?php $md5_hash=md5(rand(0,999));
$security_code=substr($md5_hash,5,10);
echo $security_code;?>
cho một chuỗi ngẫu nhiên có độ dài là :
A.15
B.10
C.5
D.50
22.Hàm : $md5_hash=md5(rand(0,999)) cho ta một dãy số ngẫu nhiên :
ae12bcefac213fdeabcefcab1e3d2f12.
Hãy cho biết kết quả xuất ra màn hình của hàm substr($md5_hash,3,5):
A.ae12bce
B.bcefa
C.2bcef
D.cefac
23. Hãy cho biết đoạn code sau
<?php
$arr=array(4,3,6);
var_dump($arr );
?>
Sẽ xuất ra màn hình giá trị nào sau đây:
A.array(3){
[0]=>
Int(4)
[1]=>
Int(3)
[2]=>
Int(6)}
B. array(3){
[0]=>Int(4)
[1]=>Int(3)
[2]=>Int(6)}
C. array(3){[0]=>Int(4),[1]=>Int(3),[2]=> Int(6)}
D. array(3){[0]=>Int(3),[1]=>Int(4),[2]=> Int(6)}
24.Đoạn code sau
<?php
$var = date("D/H/M/Y");
echo (" Today:$var ");
?>
cho ta kết quả nào sau đây
31
A.wed/15/mar/2011
B.15/wed/mar/2011
C.wed/15/mar/2011
D. C.wed/2011/15/mar/
//giống nhau
25.Để truyền thông tin lên server ta dùng các phương thức GET,POST,COOKE
vậy các biến $_GET,$_POST,$_COOKE là các biến kiểu:
A. interger
B.mảng (array)
C.string
D.Không quan trọng, loại nào cũng được
26. Đoạn code sau đây trả về giá trị nào :
<?php
echo substr_compare("abcde", "bc", 2, 3);
?>
A.1
B.0
C.-1
D.warning
27. Đoạn code sau đây trả về giá trị nào
echo substr_compare("abcde", "de", -2, 2);
A. 0
B. -1
C. 1
D.warning
28. Đoạn code sau đây trả về giá trị nào
echo substr_compare("abcde", "CD", 2, 2,TRUE);
A. 0
B. 1
C. -1
D.warning
29. Cho biết kết quả xuất ra màn hình đoạn code sau
<?php
$arr=array(100,288,133,144,234);
var_dump(array_search(288,$arr));
?>
A. int(1)
B.int (2)
32
C.bool(false)
D.int(288)
30.
PHẦN 4 PHP&MySQL 8 Câu
1.Một form được khai báo như sau
Khi gửi thông tin lên server ,biến nào sau đây được thiết lập:
A.$_GET[]
B.$_POST[]
C.$_SESSION
D.$_COOKIE
2.Hàm isset($_GET["user"]) sẽ trả về giá trị “TRUE” nếu:
A.Biến $_GET[“user”] là rỗng “ ”
B.Biến $_GET[“user”] được nạp một giá trị nào đó
C.Biến $_GET[“user”] được khởi tạo
D.Không quan trọng
3.Biến $connect trong biểu thức sau đây
$connect=mysql_connect($server,$username,$password) or
die("NOT CONNECT TO SERVER");
sẽ trả về giá trị nào nếu kết nối tới MySQL server thành công
A.True
B.False
C.A&B
D.Không xác định
4.Để lấy dữ liệu từ bảng ta dùng hàm
A.mysql_num_rows();
B.mysql_select_db()
C.mysql_fetch_array();
D.mysql_fetch_row[]
5.Để đếm số dòng dữ liệu trong bảng ta dùng hàm
A.mysql_num_rows();
B.mysql_select_db()
C.mysql_fetch_array()
D.mysql_count_row()
6.Để tạo một bảng , phát biểu nào sau đây là đúng
33
A. CREATE TABLE `$db_name`.`$table_name` (`IDkh` INT(100)
NOT NULL,`username` VARCHAR(255) NOT NULL ,`password`
VARCHAR(255)NOT NULL AUTO_INCREMENT,`email`
VARCHAR(255)NOT NULL,PRIMARY KEY(`IDkh`))ENGINE=MyISAM
B. CREATE TABLE `$db_name`.`$table_name` (`IDkh` INT(100)
NOT NULL AUTO_INCREMENT,`username` VARCHAR(255) NOT NULL
,`password` VARCHAR(255) NOT NULL,`email` VARCHAR(255)NOT
NULL,PRIMARY KEY(`IDkh`))ENGINE=MyISAM
C. CREATE TABLE `$db_name`.`$table_name` (`IDkh` INT(100)
NOT NULL AUTO_INCREMENT,`username` VARCHAR(255) NOT NULL
,`password` INT(20) NOT NULL,`email` VARCHAR(255) NOT
NULL,PRIMARY KEY(`IDkh`))ENGINE=MyISAM
d. CREATE TABLE `$db_name`.`$table_name` (`IDkh` INT(100)
NOT NULL,`username` VARCHAR(255) NOT NULL
AUTO_INCREMENT,`password` INT(20) NOT NULL,`email`
VARCHAR(255) NOT NULL,PRIMARY KEY(`IDkh`))ENGINE=MyISAM
7.Để thêm một field `location` vào cuối bảng “$table_name” ta dùng phát biểu nào sau
đây:
A ADD TABLE `$table_name` ALTER `location` VARCHAR(200)
NOT NULL
B.ALTER TABLE `$table_name` ADD `location` VARCHAR(200)
NOT NULL
C. ADD TABLE `$table_name` , `location` VARCHAR(200) NOT
NULL
D. ALTER TABLE `$table_name` , `location` VARCHAR(200) NOT
NULL
8.Để ngắt kết nối đến MySQL server ta dùng phát biểu nào sau đây:
A.mysql_close($connect);
B. mysql_free_result($result);
C.mysql_die_result($connect);
D.mysql_disconnect();
GIẢNG VIÊN
T.S ĐÀO THẾ LONG
Các file đính kèm theo tài liệu này:
- tailieu.pdf