Font size
WorksheetsTrích xuất câu hỏi từ worksheet ngôn ngữ C (lớp 12)
Total questions: 136
Worksheet time: 1hrs 8mins
Ngôn ngữ lập trình C được phát triển vào thời gian nào?
1972
1960
1995
1985
Ký hiệu nào thường được dùng để biểu thị điểm bắt đầu trong sơ đồ thuật giải?
Hình oval
Hình tròn
Hình chữ nhật
Hình thoi
Trong sơ đồ thuật giải, biểu tượng hình chữ nhật thường dùng để biểu thị cho bước nào?
Xử lý hoặc tính toán
Điểm bắt đầu hoặc kết thúc
Quyết định hoặc rẽ nhánh
Lặp lại
Trong lưu đồ thuật giải, hàm thường được biểu diễn bằng hình nào?
Hình oval
Hình thoi
Hình chữ nhật có hai thanh bên
Hình tam giác
Một chương trình C cơ bản thường bắt đầu bằng hàm nào?
void
start()
int
main()
Câu lệnh nào cần được đặt ở cuối mỗi dòng lệnh trong C để chương trình hiểu rằng đó là một lệnh kết thúc?
Dấu phẩy ,
Dấu chấm phẩy ;
Dấu chấm .
Dấu hai chấm :
Trong C, thư viện chuẩn được khai báo bằng câu lệnh nào?
#import
#include
#using
#define
Trong ngôn ngữ C, chú thích một dòng được bắt đầu bằng ký hiệu nào?
//
/*
%
#
Phần chú thích trong mã nguồn có tác dụng gì?
Làm thay đổi kết quả của chương trình
Tăng kích thước của mã máy
Giúp người đọc mã hiểu rõ hơn về mã lệnh
Giúp chương trình chạy nhanh hơn
Trong ngôn ngữ C, từ khóa nào dưới đây không phải là từ khóa hợp lệ?
int
main
return
boolean
Dòng khai báo nào dưới đây là sai cú pháp?
int 2value = 5;
int value2 = 20;
int VALUE = 15;
int _value = 10;
Câu khai báo nào dưới đây là đúng trong ngôn ngữ C?
int 1stNumber = 10;
int first Number = 10;
int float = 10;
int first_number = 10;
Chú thích nhiều dòng trong C được đặt giữa các ký hiệu nào?
<...>
///...//
{...}
/*...*/
Định danh trong C có thể bắt đầu bằng ký tự nào dưới đây?
Bất kỳ ký tự đặc biệt nào
Chữ cái hoặc số
Ký tự chữ cái hoặc dấu gạch dưới
Số hoặc dấu gạch dưới
Trong ngôn ngữ C, từ khóa nào dưới đây dùng để khai báo hằng số?
const
char
int
static
Trong các tên biến sau, tên nào không hợp lệ trong ngôn ngữ C?
sum1
float
numberOfItems
totalAmount
Tổng cộng có bao nhiêu từ khóa trong ngôn ngữ C?
32
28
34
30
Từ khóa trong ngôn ngữ C phải được viết bằng cách nào?
Chữ hoa và chữ thường
Không quan trọng
Chữ thường
Chữ hoa
Khi biên dịch, trình biên dịch C sẽ xử lý thế nào nếu một định danh trùng với từ khóa của ngôn ngữ C?
Tự động đổi tên định danh để tránh xung đột
Báo lỗi và dừng quá trình biên dịch
Tạo một biến mới và bỏ qua từ khóa
Sử dụng từ khóa và định danh một cách thay thế
Trong ngôn ngữ C, các biến có chữ hoa và chữ thường, chẳng hạn Variable và variable, sẽ được hiểu như thế nào?
Được hợp nhất thành một biến duy nhất
Là biến trùng tên nên sẽ báo lỗi biên dịch
Là cùng một biến
Là hai biến khác nhau vì C phân biệt chữ hoa chữ thường
Trong ngôn ngữ C, từ khóa nào dưới đây không được phép kết hợp với bất kỳ từ khóa nào khác?
return
int
volatile
const
Trong một chương trình C, nếu không khai báo #include
Trình biên dịch sẽ báo lỗi không tìm thấy định nghĩa của printf()
printf() vẫn hoạt động bình thường do nó là một hàm chuẩn
Chương trình sẽ biên dịch nhưng printf() sẽ không hoạt động đúng cách
Trình biên dịch sẽ tự động thêm thư viện
Trong chương trình C, thứ tự nào dưới đây là chính xác cho cấu trúc của một tệp mã nguồn .c?
Khai báo biến toàn cục, định nghĩa hàm main, khai báo thư viện
Khai báo thư viện, khai báo biến toàn cục, định nghĩa hàm main
Khai báo thư viện, định nghĩa hàm main, khai báo biến toàn cục
Định nghĩa hàm main, khai báo thư viện, khai báo biến toàn cục
Máy tính có thể sử dụng thuật toán để làm gì?
Tìm kiếm trên internet
Cả ba đều đúng
Chạy ứng dụng
Chơi nhạc
Phần định nghĩa hàm chính trong chương trình C chứa phần nào?
Phần tài liệu và phần liên kết
Phần định nghĩa và phần khai báo toàn cục
Phần khai báo và phần thực thi
Phần định nghĩa hàm do người dùng định nghĩa
Ký tự nào không thể được sử dụng trong định danh?
Chữ cái
Số
Dấu chấm phẩy
Dấu gạch dưới
PIC 16F877A thuộc dòng vi điều khiển nào?
PIC 18
PIC 32
PIC 16
PIC 24
Vi điều khiển PIC 16F877A có bao nhiêu chân I/O (input/ output)?
25
33
40
20
Trong PIC 16F877A, bộ nhớ chương trình là bộ nhớ nào?
EEPROM
SRAM
Flash
DRAM
Bộ nhớ EEPROM trên PIC 16F877A có tác dụng gì?
Lưu trữ dữ liệu tạm thời khi mất nguồn
Chứa mã chương trình chính
Tăng tốc độ xử lý của vi điều khiển
Cung cấp nguồn cho vi điều khiển
Cổng nào sau đây được sử dụng để truyền đọc tín hiệu tương tự (analog) trong điều khiển PIC 16F877A?
PORT A
PORT B
PORT C
PORT D
CCS là gì trong lĩnh vực lập trình vi điều khiển?
Một loại vi điều khiển
Một trình biên dịch và môi trường lập trình cho PIC
Một thiết bị ngoại vi
Một bộ định thời
Phần mềm CCSC chủ yếu hỗ trợ lập trình cho dòng vi điều khiển nào?
AWR
ARM
PIC
8051
Kiểu dữ liệu float trong C dùng để lưu trữ loại dữ liệu nào?
Số nguyên
Số thực
Ký tự
Chuỗi ký tự
Kiểu dữ liệu char lưu trữ giá trị nào sau đây?
Số nguyên lớn
Số thực
Ký tự đơn
Chuỗi ký tự
Int là từ khóa khai báo kiểu dữ liệu nào?
Số nguyên
Số thực
Ký tự
Số phức
Để khai báo số thực trong C, bạn dùng từ khóa nào?
Int
Float
Char
Bool
Biến là gì trong ngôn ngữ lập trình C?
Giá trị không thay đổi
Giá trị có thể thay đổi trong quá trình thực thi
Một từ khóa
Một kiểu dữ liệu
Hằng số trong C được khai báo với từ khóa nào?
Const
Var
Final
Let
Cách khai báo biến X có giá trị nguyên 10 là gì?
Int x = 10;
Float x = 10;
Char x = 10;
Double x = 10;
Biến y kiểu số thực có thể khai báo như thế nào?
Int y = 5.0;
Float y = 5.0;
Char y = 5.0;
bool x = 5.0;
Biến PI không thay đổi giá trị nên được khai báo như thế nào?
Int PI = 3.14;
Const float PI = 3.14;
Char PI = 3.14;
Var PI = 3.14;
Toán tử + trong C là loại toán tử gì?
Số học
Logic
Quan hệ
Toán tử == trong C dùng để làm gì?
So sánh bằng
Phép cộng
Phép gán
Tăng giá trị
Kết quả của phép toán 5 % 2 là bao nhiêu?
1
2
0
5
Toán tử && là loại tử gì?
Phép gán
Logic
Số học
Quan hệ
Phép toán x += 1 tương đương với lệnh nào?
X = x + 1;
X = x - 1;
X = x * 1;
X = x / 1;
Toán tử ++ dùng để làm gì?
Giảm giá trị của biến
Tăng giá trị của biến
So sánh giá trị của biến
Xóa giá trị của biến
Lệnh IF trong C dùng để làm gì?
Chạy một đoạn mã khi điều kiện đúng
Lặp lại mã
Khai báo biến
Kết thúc chương trình
Lệnh for thường được dùng để làm gì?
Lặp lại đoạn mã với số lần xác định
Kiểm tra điều kiện
Kết thúc chương trình
Nhập dữ liệu
Hàm printf dùng để làm gì?
Nhập dữ liệu
Xuất dữ liệu
So sánh giá trị
Gán giá trị
Lệnh switch thường dùng với loại cảm biến nào?
Chuỗi
Số nguyên hoặc ký tự
Số thực
Mảng
Một hàm trong C bắt đầu bằng từ khóa nào?
Int
Float
Void
Tất cả các đáp án trên đều có thể đúng
Từ khóa return trong hàm dùng để làm gì?
Kết thúc chương trình
Trả về giá trị từ hàm
Khởi tạo biến
Lặp lại lệnh
Một hàm không trả về giá trị nào sẽ được khai báo với kiểu gì?
Int
Float
Void
Char
Trong C, hàm có thể có bao nhiêu tham số?
0 hoặc nhiều hơn
Luôn phải có 1 tham số
Luôn phải có 2 tham số
Không thể có tham số
Câu lệnh void printHello() định nghĩa một hàm mà:
Trả về một số nguyên
Trả về một chuỗi
Không trả về giá trị nào
Trả về một số thực
Khai báo mảng int arr[5]; sẽ tạo ra bao nhiêu phần tử?
4
5
6
Không xác định
Chỉ mục đầu tiên của mảng trong C là bao nhiêu?
-1
0
1
2
Để truy cập phần tử thứ 3 trong mảng arr, bạn dùng cú pháp nào?
arr[2]
arr[3]
arr[1]
arr[4]
Mảng có thể chứa loại dữ liệu nào?
Số nguyên
Số thực
Ký tự
Tất cả các loại trên
Khai báo char str[10]; là để tạo ra một mảng chứa:
Số nguyên
Số thực
Ký tự
Hàm
Con trỏ trong C là gì?
Biến lưu trữ giá trị trực tiếp
Biến lưu trữ địa chỉ của biến khác
Một hàm
Một hàng
Toán tử & trong C được dùng để:
Tăng giá trị biến
Lấy địa chỉ của biến
Gán giá trị cho biến
Khai báo biến
Khi khai báo int *ptr;, ptr là:
Một số nguyên
Một con trỏ đến số nguyên
Một mảng
Một hàm
Một mảng trong C có thể lưu trữ:
Các giá trị cùng kiểu dữ liệu
Các giá trị khác kiểu dữ liệu
Giá trị bất kỳ không cần khai báo trước
Các giá trị ngẫu nhiên
Hàm scanf trong C được dùng để:
Nhập dữ liệu từ người dùng
Xuất dữ liệu ra màn hình
So sánh giá trị
Thực hiện phép toán
Để khai báo một chuỗi trong C, bạn dùng kiểu dữ liệu nào?
Int
Float
Char[]
Double
Phép toán số học nào trả về phần dư của phép chia trong C?
+
-
%
/
Phép toán tăng giá trị một biến lên 1 đơn vị là gì?
x+1
x++
++x
Cả B và C
Hàm nào được sử dụng để in dữ liệu ra màn hình?
scanf()
printf()
getch()
putchar()
Trong C, ký hiệu nào biểu thị địa chỉ của biến?
*
&
%
@
Hàm nào được sử dụng để nhận đầu vào từ bàn phím trong C?
printf()
scanf()
input()
read()
Lệnh nào được sử dụng để dừng vòng lặp trong C?
Continue
Break
Return
Stop
Từ khóa nào được dùng để kết thúc hàm trong C và trả giá trị?
Return
End
Break
Stop
Ký tự kết thúc chuỗi trong ngôn ngữ C là gì?
'\0'
'\n'
'\t'
':'
Câu lệnh for nào trong C là đúng?
for(int i = 0; i < 10; i++)
for(i = 0, i < 10, i++)
for i = 0; i < 10; i++
for i in range(10)
Một vòng lặp while trong C sẽ chạy cho đến khi nào?
Điều kiện kiểm tra là false
Điều kiện kiểm tra là true
số vòng lặp đạt đến một giới hạn nhất định
tất cả các trường hợp
Phép gán nào là đúng trong C?
5 = x;
X = 5;
X == 5;
X => 5;
Kiểu dữ liệu double trong C thường dùng để lưu:
Số nguyên nhỏ
Số nguyên lớn
Số thực có độ chính xác cao
Ký tự
Trong C, a[0] biểu thị điều gì?
Phần tử đầu tiên của mảng a
Kích thước của mảng a
Phần tử cuối cùng của mảng a
Địa chỉ của mảng a
Toán tử || trong C được gọi là gì?
Toán tử AND
Toán tử OR
Toán tử NOT
Toán tử XOR
Một biến cục bộ (local variable) trong C chỉ có hiệu lực ở đâu?
Trong toàn bộ chương trình
Trong tệp chứa nó
Trong hàm hoặc khối lệnh chứa nó
Tất cả các trường hợp trên
Hàm printf("%d", x); dùng để làm gì?
In ký tự x ra màn hình
In giá trị số nguyên của x ra màn hình
In số thực x ra màn hình
In địa chỉ của x ra màn hình
Trong mảng int arr[5] = {1, 2, 3, 4, 5}; giá trị của arr[2] là gì?
2
3
4
5
Câu lệnh nào trong C luôn thực hiện thân lặp ít nhất một lần?
while
do while
for
switch
Biến toàn cục có đặc điểm gì?
Có thể truy cập từ bất kỳ hàm nào trong chương trình
Chỉ tồn tại trong khối khai báo
Chỉ có hiệu lực trong tệp tin chứa nó
Không được sử dụng ngoài hàm chính
Câu lệnh break thường được sử dụng trong đâu?
Vòng lặp
Câu lệnh switch
Cả A và B
Không được sử dụng
Đâu là cách khai báo đúng để định nghĩa một hằng số trong C?
const int x = 5;
define x = 5;
constant x = 5;
static int x = 5;
Lệnh nào được dùng để xuất tín hiệu mức cao lên chân I/O của vi điều khiển?
output_high(pin_x)
output_low(pin_x)
input(pin_x)
set_tris_x(value)
output_toggle(pin_x)
Lệnh nào đúng để tạo độ trễ 500ms trong chương trình?
delay_500ms()
delay_ms(500)
set_tris_a(500)
output_toggle(pin_x)
Lệnh set_tris_x(value) dùng để làm gì?
Xuất tín hiệu ra chân x
Định nghĩa cổng x là đầu vào hoặc đầu ra
Tạo trễ 500ms
Xóa dữ liệu trên cổng x
Lệnh nào có thể dùng để đảo trạng thái của một chân I/O?
output_toggle(pin_x)
output_high(pin_x)
output_low(pin_x)
delay_ms(500)
Một LED nối với RD0 và cathode nối GND. Lệnh nào đúng để tắt LED này?
output_high(pin_d0)
output_low(pin_d0)
input(pin_d0)
delay_ms(500)
Lệnh nào dùng để thiết lập tất cả các chân của Port B là đầu ra?
set_tris_b(0x00)
set_tris_b(0xFF)
output_low(pin_b0)
input(pin_b0)
Để LED nhấp nháy với chu kỳ 1 giây, cần thời gian bao nhiêu cho mỗi trạng thái bật hoặc tắt?
1ms
500ms
100ms
1000ms
Một dãy LED gồm 8 LED nối với Port D kiểu cathode chung. Lệnh nào bật tất cả các LED?
output_d(0xFF)
output_d(0x00)
output_low(pin_d)
output_high(pin_d)
Lệnh delay_us(10) tạo độ trễ bao lâu?
10 giây
10 mili giây
10 micro giây
10 nano giây
LED đơn D1 nhấp nháy được điều khiển bởi lựa chọn lệnh nào?
output_toggle(pin_d1) kết hợp delay_ms(500)
output_high(pin_d1)
output_low(pin_d1)
delay_us(500)
Lệnh nào được sử dụng để xuất giá trị 8 bit lên một Port?
set_tris_d(value)
output_d(value)
output_high(pin_d)
input(pin_d)
Để tạo một project mới trong CCS C Compiler, bạn sử dụng tùy chọn nào trong menu?
File → New → Source File
File → New → Project Wizard
File → Open → Project
File → Save As
Lệnh nào được dùng để xuất giá trị mã HEX lên Port C để điều khiển LED 7 thanh?
set_tris_c(value)
output_c(value)
output_high(pin_c)
input(pin_c)
Lệnh set_tris_c(0x00) có tác dụng gì?
Thiết lập Port C làm đầu vào
Thiết lập Port C làm đầu ra
Xuất giá trị mã HEX ra Port C
Tạo độ trễ trên Port C
Để LED 7 thanh hiển thị số 5, lệnh xuất giá trị nào trên Port C là đúng?
output_c(0xA4)
output_c(0x6D)
output_c(0xB0)
output_c(0x92)
Lệnh nào có thể dùng để xuất giá trị 0x3F lên LED 7 thanh?
output_c(0x3F)
output_high(pin_c)
output_low(pin_c)
input(pin_c)
Để hiển thị các số từ 0 đến 9 trên LED 7 thanh, bạn cần thực hiện gì?
Sử dụng vòng lặp và xuất đầy đủ mã HEX tương ứng
Xuất giá trị cố định mã HEX
Dùng set_tris_c() để chuyển đổi mã HEX
Không cần xuất mã HEX, LED tự hiển thị
Trong CCS C, lệnh nào thiết lập tần số hoạt động cho vi điều khiển?
#use delay(crystal=20M)
set_tris_c(0x00)
output_c(0xFF)
delay_ms(1000)
Để LED 7 thanh hiển thị số 9, lệnh xuất mã HEX nào ra Port C là đúng?
output_c(0x6F)
output_c(0xF8)
output_c(0x90)
output_c(0xA4)
Mã HEX nào dùng trong output_c() để hiển thị số 1 trên LED 7 thanh?
0x06
0x3F
0xB0
0x99
Với LED 7 thanh anode chung, mã HEX nào hiển thị số 0?
0x3F
0xC0
0x6D
0x90
Với LED 7 thanh cathode chung, mã HEX nào hiển thị số 8?
0x3F
0xFF
0x7F
0xC0
Mã HEX 0xB0 dùng để hiển thị số 3 trên LED 7 thanh thuộc kiểu nào?
Anode chung
Cathode chung
Cả hai
Không thuộc kiểu nào
Với LED 7 thanh cathode chung, mã HEX 0x5B sẽ hiển thị số nào?
Số 1
Số 2
Số 4
Số 3
Lệnh nào dùng để đọc trạng thái của một nút ấn kết nối với vi điều khiển?
input(pin_x)
output_high(pin_x)
output_low(pin_x)
set_tris_x(value)
Trong mạch pull-up, trạng thái của nút ấn khi chưa được nhấn là gì?
0 (mức thấp)
1 (mức cao)
Không xác định
Luôn ở trạng thái ngắt
Một nút ấn kết nối RA0 với mạch pull-down. Khi nút được nhấn, trạng thái đọc sẽ là gì?
0 (mức thấp)
1 (mức cao)
Không xác định
Không có tín hiệu
Hiện tượng nào thường xảy ra khi nhấn nút và ảnh hưởng đến tín hiệu nhận được?
Tản nhiệt
Rung tiếp điểm (debounce)
Nhiễu điện từ
Tự cảm
Giải pháp phần mềm thường dùng để xử lý rung tiếp điểm của nút nhấn là gì?
Thêm tụ điện song song với nút nhấn
Sử dụng lệnh delay_ms() để chờ ổn định tín hiệu
Kết nối thêm diode
Sử dụng mạch Schmitt Trigger
Nếu if(input(pin_a0)) và chân RA0 đang ở mức cao, điều gì xảy ra?
Khối lệnh trong if được thực thi
Khối lệnh trong if bị bỏ qua
Gây lỗi biên dịch
Kết thúc chương trình
Lệnh set_tris_a(0x01) thiết lập gì cho chân RA0 (nút nhấn)?
RA0 làm đầu ra
RA0 làm đầu vào
Kích hoạt ngắt ngoại vi trên RA0
Ngắt kết nối RA0
Với mạch pull-up, khi nút nhấn được nhả ra, trạng thái đọc của chân kết nối là gì?
0 (mức thấp)
1 (mức cao)
Không xác định
Mức trung gian
Đoạn mã if(input(pin_a1)) { output_high(pin_c0); } thực hiện nhiệm vụ gì?
Bật LED nối RC0 khi nút trên RA1 được nhấn
Tắt LED nối RC0 khi nút trên RA1 được nhấn
Tắt nút nhấn trên chân RA1
Gây lỗi biên dịch
Nếu nút nhấn không hoạt động ổn định, nguyên nhân có thể là gì?
Kết nối chân sai
Thiếu xử lý rung tiếp điểm
Sử dụng sai lệnh đọc tín hiệu
Cả ba nguyên nhân trên
Lệnh nào thiết lập chế độ PWM cho CCP1 trong CCS C?
setup_ccp1(CCP_PWM)
setup_timer2()
set_pwm1_duty(value)
output_high(pin_x)
Lệnh setup_timer2(T2_DIV_BY_16, 249, 1) trong CCS C có tác dụng gì?
Thiết lập tần số cho tín hiệu PWM
Kích hoạt PWM
Tạo độ trễ trong chương trình
Thiết lập tốc độ cho động cơ
Để thay đổi độ rộng xung của tín hiệu PWM, dùng lệnh nào?
set_pwm1_duty(value)
setup_ccp1(CCP_PWM)
output_high(pin_x)
setup_timer2()
setup_ccp1(CCP_PWM) cần được đặt ở đâu trong chương trình?
Trong hàm main() trước khi gọi set_pwm1_duty()
Ở bất kỳ vị trí nào
Sau khi gọi set_pwm1_duty()
Không cần dùng lệnh này
Khi dùng PWM, vì sao cần thiết lập Timer2?
Timer2 xác định tần số của tín hiệu PWM
Timer2 xác định Duty Cycle của PWM
Timer2 không liên quan đến PWM
Timer2 chỉ cần cho các tác dụng khác
Nếu gọi set_pwm1_duty(0), điều gì sẽ xảy ra với tín hiệu PWM?
tín hiệu PWM luôn Ở mức thấp
tín hiệu PWM luôn Ở mức cao
PWM Ngừng hoàn toàn
không thay đổi tín hiệu
Trong CCS C, lệnh nào thiết lập CCP2 để tạo PWM?
setup_ccp2(CCP_PWM)
setup_ccp1(CCP_PWM)
set_pwm2_duty(value)
setup_timer2()
Điều chỉnh tần số PWM mà không ảnh hưởng Duty Cycle thì làm thế nào?
Thay đổi tham số trong setup_timer2()
Thay đổi tham số trong set_pwm1_duty(value)
Dùng setup_ccp1(CCP_PWM)
Không thể điều chỉnh
Lệnh nào trong CCS C thường dùng để xuất dữ liệu điều khiển động cơ bước qua các chân I/O?
output_c(value)
set_pwm1_duty(value)
setup_ccp1(CCP_PWM)
input(pin_x)
Trong đoạn mã điều khiển động cơ, mục đích của delay_ms(10) là gì?
output_c(0x01);
delay_ms(10);
output_c(0x02);
delay_ms(10);
output_c(0x04);
delay_ms(10);
output_c(0x08);
delay_ms(10);
Tạo thời gian dừng giữa các bước để kiểm soát tốc độ quay
Tắt động cơ sau mỗi bước
Giảm công suất động cơ
Không có tác dụng
Để quay động cơ bước theo chế độ Half-Step, cần xuất chuỗi giá trị nào?
0x01, 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x09
0x01, 0x02, 0x04, 0x08
0x01, 0x04, 0x08, 0x02
0x08, 0x04, 0x02, 0x01
Để động cơ bước quay liên tục theo chiều thuận, cần sử dụng cấu trúc nào?
Vòng lặp vô hạn xuất các bước tuần tự
Vòng lặp với số bước cố định
Chỉ xuất tín hiệu 1 lần cho tất cả các bước
Không cần vòng lặp
Để tăng tốc độ quay của động cơ bước, bạn cần thực hiện gì?
Giảm thời gian trễ giữa các bước
Tăng thời gian trễ giữa các bước
Xuất thêm các tín hiệu không cần thiết
Xuất tất cả tín hiệu cùng lúc
