wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Lập Trình C P0

Total questions: 92

Worksheet time: 46mins

Name
Class
Date
1.

Ngôn ngữ lập trình C được phát triển vào thời gian nào?

a)

1960

b)

1972

c)

1985

d)

1995

2.

Ký hiệu nào thường được dùng để biểu thị điểm bắt đầu trong sơ đồ thuật giải?

a)

Hình chữ nhật

b)

Hình tròn

c)

Hình thoi

d)

Hình oval

3.

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?

a)

Điểm bắt đầu hoặc kết thúc

b)

Xử lý hoặc tính toán

c)

Quyết định hoặc rẽ nhánh

d)

Lặp lại

4.

Trong lưu đồ thuật giải, hàm thường được biểu diễn bằng hình nào?

a)

Hình oval

b)

Hình chữ nhật có hai thanh bên

c)

Hình thoi

d)

Hình tam giác

5.

Một chương trình C cơ bản thường bắt đầu bằng hàm nào?

a)

int

b)

main()

c)

void

d)

start()

6.

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?

a)

Dấu chấm .

b)

Dấu phẩy ,

c)

Dấu chấm phẩy ;

d)

Dấu hai chấm :

7.

Trong C, thư viện chuẩn được khai báo bằng câu lệnh nào?

a)

#define

b)

#include

c)

#import

d)

#using

8.

Trong ngôn ngữ C, chú thích một dòng được bắt đầu bằng ký hiệu nào?

a)

//

b)

/*

c)

#

d)

%

9.

Phần chú thích trong mã nguồn có tác dụng gì?

a)

Giúp chương trình chạy nhanh hơn

b)

Giúp người đọc mã hiểu rõ hơn về mã lệnh

c)

Tăng kích thước của mã máy

d)

Làm thay đổi kết quả của chương trình

10.

Trong ngôn ngữ C, từ khóa nào dưới đây không phải là từ khóa hợp lệ?

a)

int

b)

main

c)

boolean

d)

return

11.

Dòng khai báo nào dưới đây là sai cú pháp?

a)

int 2value = 5;

b)

int _value = 10;

c)

int value2 = 20;

d)

int VALUE = 15;

12.

Câu khai báo nào dưới đây là đúng trong ngôn ngữ C?

a)

int 1stNumber = 10;

b)

int first Number = 10;

c)

int first_number = 10;

d)

int float = 10;

13.

Chú thích nhiều dòng trong C được đặt giữa các ký hiệu nào?

a)

<...>

b)

{...}

c)

/*...*/

d)

//...//

14.

Định danh trong C có thể bắt đầu bằng ký tự nào dưới đây?

a)

Số hoặc dấu gạch dưới

b)

Ký tự chữ cái hoặc dấu gạch dưới

c)

Bất kỳ ký tự đặc biệt nào

d)

Chữ cái hoặc số

15.

1

14; Trong ngôn ngữ C, từ khóa nào dưới đây dùng để khai báo hằng số?*

a)

A.   int

b)

B.    const

c)

C.    char

d)

D.   static

16.

Trong các tên biến sau, tên nào không hợp lệ trong ngôn ngữ C?

a)

numberOfItems

b)

_totalAmount

c)

float

d)

sum1

17.

Tổng cộng có bao nhiêu từ khóa trong ngôn ngữ C?

a)

28

b)

30

c)

32

d)

34

18.

Từ khóa trong ngôn ngữ C phải được viết bằng cách nào?

a)

Chữ hoa

b)

Chữ thường

c)

Chữ hoa và chữ thường

d)

Không quan trọng

19.

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?

a)

Tự động đổi tên định danh để tránh xung đột

b)

Tạo một biến mới và bỏ qua từ khóa

c)

Báo lỗi và dừng quá trình biên dịch

d)

Sử dụng từ khóa và định danh một cách thay thế

20.

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?

a)

Là cùng một biến

b)

Là hai biến khác nhau vì C phân biệt chữ hoa chữ thường

c)

Là biến trùng tên nên sẽ báo lỗi biên dịch

d)

Được hợp nhất thành một biến duy nhất

21.

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?

a)

int

b)

const

c)

return

d)

volatile

22.

Trong một chương trình C, nếu không khai báo #include , điều gì sẽ xảy ra khi gọi hàm printf()?

a)

Trình biên dịch sẽ tự động thêm thư viện

b)

Chương trình sẽ biên dịch nhưng printf() sẽ không hoạt động đúng cách

c)

Trình biên dịch sẽ báo lỗi không tìm thấy định nghĩa của printf()

d)

printf() vẫn hoạt động bình thường do nó là một hàm chuẩn

23.

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?

a)

Khai báo thư viện, định nghĩa hàm main, khai báo biến toàn cục

b)

Khai báo thư viện, khai báo biến toàn cục, định nghĩa hàm main

c)

Định nghĩa hàm main, khai báo thư viện, khai báo biến toàn cục

d)

Khai báo biến toàn cục, định nghĩa hàm main, khai báo thư viện

24.

Máy tính có thể sử dụng thuật toán để làm gì?

a)

Chạy ứng dụng

b)

Tìm kiếm trên internet

c)

Chơi nhạc

d)

Cả ba đều đúng

25.

Phần định nghĩa hàm chính trong chương trình C chứa phần nào?

a)

Phần khai báo và phần thực thi

b)

Phần tài liệu và phần liên kết

c)

Phần định nghĩa và phần khai báo toàn cục

d)

Phần định nghĩa hàm do người dùng định nghĩa

26.

Ký tự nào không thể được sử dụng trong định danh?

a)

Dấu gạch dưới

b)

Chữ cái

c)

Số

d)

Dấu chấm phẩy

27.

PIC16 là gì trong hệ thống vi điều khiển?

a)

Một loại cảm biến

b)

Một dòng vi điều khiển

c)

Một bộ nhớ

d)

Một loại tín hiệu

28.

PIC16F877A thuộc dòng vi điều khiển nào?

a)

PIC18

b)

PIC32

c)

PIC16

d)

PIC24

29.

Vi điều khiển PIC16F877A có bao nhiêu chân I/O (Input/Output)?

a)

25

b)

40

c)

33

d)

20

30.

Trong PIC16F877A, bộ nhớ chương trình là loại bộ nhớ nào?

a)

EEPROM

b)

SRAM

c)

Flash

d)

DRAM

31.

Bộ nhớ EEPROM trên PIC16F877A có tác dụng gì?

a)

Lưu trữ dữ liệu tạm thời khi mất nguồn

b)

Chứa mã chương trình chính

c)

Tăng tốc độ xử lý của vi điều khiển

d)

Cung cấp nguồn cho vi điều khiển

32.

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 PIC16F877A?

a)

PORTA

b)

PORTB

c)

PORTC

d)

PORTD

33.

CCSC là gì trong lĩnh vực lập trình vi điều khiển?

a)

Một loại vi điều khiển

b)

Một trình biên dịch và môi trường lập trình cho PIC

c)

Một thiết bị ngoại vi

d)

Một bộ định thời

34.

Phần mềm CCSC chủ yếu hỗ trợ lập trình cho dòng vi điều khiển nào?

a)

AVR

b)

ARM

c)

PIC

d)

8051

35.

Vi điều khiển PIC16F877A có bao nhiêu chân có thể cấu hình cho chức năng ngắt ngoài?

a)

1

b)

2

c)

3

d)

4

36.

Tốc độ tối đa của xung nhịp (clock) mà PIC16F877A có thể hoạt động là bao nhiêu?

a)

10 MHz

b)

20 MHz

c)

25 MHz

d)

40 MHz

37.

Trong vi điều khiển PIC16F877A, chế độ Sleep có tác dụng gì?

a)

Ngắt toàn bộ hoạt động của vi điều khiển

b)

Giảm thiểu năng lượng tiêu thụ khi không có tác vụ cần thiết

c)

Tăng tốc độ xử lý của vi điều khiển

d)

Tăng cường độ sáng của các chân I/O

38.

Thanh ghi nào được sử dụng để cấu hình các bit điều khiển cổng đầu vào/ra (I/O) trên PIC16F877A?

a)

TRIS

b)

PORT

c)

INTCON

d)

STATUS

39.

Bộ định thời Timer2 của PIC16F877A thường được sử dụng cho ứng dụng nào sau đây?

a)

Điều khiển các tín hiệu số

b)

Điều chế độ rộng xung PWM

c)

Quản lý bộ nhớ chương trình

d)

Điều chỉnh tần số xung nhịp

40.

PIC16F877A hỗ trợ bao nhiêu bit trong bộ điều khiển tín hiệu tương tự sang số (ADC)?

a)

8

b)

10

c)

12

d)

14

41.

Vi điều khiển PIC16F877A có bao nhiêu bộ định thời độc lập (Timers)?

a)

2

b)

3

c)

4

d)

5

42.

Trong PIC16F877A, tín hiệu xuất xung PWM thường được điều khiển trên cổng nào?

a)

PORTA

b)

PORTB

c)

PORTC

d)

PORTD

43.

PIC16F877A có bao nhiêu kênh giao tiếp ADC để kết nối với các cảm biến tương tự?

a)

5

b)

6

c)

8

d)

10

44.

Loại bộ nhớ nào trên PIC16F877A dùng để lưu dữ liệu tạm thời trong quá trình chương trình đang chạy?

a)

Flash

b)

EEPROM

c)

RAM

d)

Cache

45.

Chân nào của PIC16F877A được dùng để đưa tín hiệu xung nhịp vào khi sử dụng bộ dao động ngoài?

a)

MCLR

b)

OSC1 và OSC2

c)

T1CKI

d)

RA0 và RA1

46.

Trong PIC16F877A, bộ định thời nào có độ dài 16-bit?

a)

Timer0

b)

Timer1

c)

Timer2

d)

Timer3

47.

Cổng PORTA trên PIC16F877A có thể hỗ trợ bao nhiêu kênh đầu vào cho ADC?

a)

3

b)

4

c)

5

d)

6

48.

Chức năng của thanh ghi TRISA trong PIC16F877A là gì?

a)

Đọc dữ liệu từ PORTA

b)

Ghi dữ liệu vào PORTA

c)

Cấu hình hướng của các chân PORTA

d)

Khởi tạo bộ định thời

49.

Trong PIC16F877A, nếu muốn chuyển tất cả các chân PORTB thành đầu vào, cần thiết lập các bit nào trong thanh ghi TRISB?

a)

Đặt tất cả các bit trong TRISB là 0

b)

Đặt tất cả các bit trong TRISB là 1

c)

Đặt tất cả các bit trong PORTB là 0

d)

Đặt tất cả các bit trong PORTB là 1

50.

Chế độ PWM (Pulse Width Modulation) của PIC16F877A thường được ứng dụng cho điều khiển gì?

a)

Điều khiển động cơ và điều chỉnh độ sáng LED

b)

Gửi và nhận dữ liệu UART

c)

Đo nhiệt độ và độ ẩm

d)

Đếm xung tín hiệu đầu vào

51.

Tín hiệu PWM trong PIC16F877A được tạo ra bởi module nào?

a)

ADC

b)

USART

c)

CCP

d)

TMR0

52.

Trong PIC16F877A, chế độ ngắt ngoại vi (external interrupt) có thể được kích hoạt trên chân nào?

a)

RB7

b)

RA0

c)

INT (RB0)

d)

RD0

53.

Ký hiệu hình thoi trong lưu đồ thuật giải dùng để biểu thị hành động nào?

a)

Dữ liệu vào

b)

Quyết định

c)

Luồng xử lý

d)

Gọi CT con

54.

Ký hiệu hình chữ nhật đôi (có 2 gạch dọc) trong lưu đồ thuật giải dùng để biểu thị hành động nào?

a)

Xử lý

b)

Gọi hàm

c)

Dữ liệu vào

d)

Điểm ghép nối

55.

Điều nào sau đây là đúng về cách đặt tên trong ngôn ngữ C khi so sánh với ngôn ngữ khác?

a)

Ngôn ngữ C cho phép tên biến dài vô hạn

b)

Ngôn ngữ C không phân biệt chữ hoa và chữ thường khi đặt tên

c)

Ngôn ngữ C phân biệt chữ hoa và chữ thường khi đặt tên

d)

Trong C, tên biến phải luôn bắt đầu bằng số

56.

Vi điều khiển PIC16F877A có bao nhiêu chân I/O?

a)

20

b)

33

c)

40

d)

35

57.

Bao nhiêu bộ Timer có sẵn trong vi điều khiển PIC16F877A?

a)

2

b)

3

c)

4

d)

5

58.

Vi điều khiển PIC16F877A có bao nhiêu bộ nhớ chương trình (Program Memory)?

a)

8K x 14 bit

b)

4K x 14 bit

c)

16K x 14 bit

d)

32K x 14 bit

59.

Biến trong ngôn ngữ C là gì?

a)

Là một giá trị cố định

b)

Là một giá trị không thể thay đổi

c)

Là một vùng nhớ có thể lưu trữ và thay đổi giá trị

d)

Là tên của một hàm

60.

Hằng số trong C có thể được khai báo với từ khóa nào?

a)

const

b)

volatile

c)

static

d)

register

61.

Loại mảng nào dưới đây là hợp lệ trong ngôn ngữ C?

a)

int array[] = {1, 2, 3};

b)

int array(3) = {1, 2, 3};

c)

int array{1, 2, 3};

d)

int array[] = (1, 2, 3);

62.

Toán tử "==" trong C được sử dụng để làm gì?

a)

Gán giá trị

b)

So sánh bằng

c)

So sánh lớn hơn

d)

Cộng hai số

63.

Hàm main() trong C có vai trò gì?

a)

Là hàm gọi đầu tiên khi chương trình chạy

b)

Là hàm cuối cùng khi chương trình chạy

c)

Không cần thiết có trong chương trình C

d)

Được sử dụng để khai báo biến

64.

Câu lệnh nào dưới đây là câu lệnh điều khiển vòng lặp trong C?

a)

if

b)

for

c)

switch

d)

else

65.

Biến toàn cục (global) trong C có đặc điểm nào sau đây?

a)

Chỉ có thể truy cập trong một hàm

b)

Có thể truy cập từ bất kỳ hàm nào

c)

Chỉ được truy cập từ hàm khai báo

d)

Chỉ tồn tại trong một khối lệnh

66.

Trong C, hàm trả về kiểu giá trị nào khi không có kiểu trả về cụ thể?

a)

int

b)

void

c)

float

d)

double

67.

Kết quả của biểu thức 7 % 3 trong C là bao nhiêu?

a)

2

b)

1

c)

0

d)

3

68.

Câu lệnh break được sử dụng trong vòng lặp để làm gì?

a)

Tiếp tục vòng lặp

b)

Thoát khỏi vòng lặp

c)

Chuyển sang vòng lặp tiếp theo

d)

Chuyển sang điều kiện tiếp theo

69.

Câu lệnh nào trong C cho phép kiểm tra nhiều điều kiện?

a)

if-else

b)

switch-case

c)

for

d)

while

70.

Hàm nào sau đây không trả về giá trị trong C?

a)

void

b)

int

c)

char

d)

double

71.

Mảng trong C được truyền cho hàm bằng cách nào?

a)

Truyền theo giá trị

b)

Truyền theo địa chỉ

c)

Truyền theo con trỏ

d)

Không thể truyền mảng cho hàm

72.

Khi khai báo một biến extern int x;, điều này có nghĩa gì?

a)

Khai báo biến cục bộ

b)

Khai báo biến toàn cục

c)

Khai báo biến nhưng không cấp phát bộ nhớ

d)

Khai báo hằng

73.

Toán tử sizeof trong C được sử dụng để làm gì?

a)

Để tính kích thước của một biến hoặc kiểu dữ liệu

b)

Để tính kích thước của hàm

c)

Để tính kích thước của con trỏ

d)

Để tính kích thước của một chuỗi ký tự

74.

Kết quả của biểu thức ++a * 5 khi a = 2 trong C là bao nhiêu?

a)

10

b)

15

c)

20

d)

25

75.

Kết quả của printf("%d", 'A'); trong C là bao nhiêu?

a)

65

b)

'A'

c)

Lỗi biên dịch

d)

97

76.

Biểu thức a &= b trong C tương đương với biểu thức nào?

a)

a = a + b

b)

a = a & b

c)

a = a - b

d)

a = a

77.

Câu lệnh continue trong vòng lặp for trong C thực hiện chức năng gì?

a)

Thoát khỏi vòng lặp

b)

Bỏ qua các câu lệnh còn lại trong vòng lặp và tiếp tục vòng lặp tiếp theo

c)

Kết thúc chương trình

d)

Khởi tạo lại biến đếm

78.

Câu lệnh for (i = 0; i < 5; i++) sẽ thực thi bao nhiêu lần?

a)

4 lần

b)

5 lần

c)

6 lần

d)

Không lần nào

79.

Để điều khiển một LED đơn trên vi điều khiển PIC 16F877A, cần sử dụng hàm nào?

a)

digitalWrite()

b)

output_high()

c)

setLED()

d)

turnOnLED()

80.

Khi sử dụng LED 7 thanh, mỗi thanh LED cần sử dụng bao nhiêu chân GPIO?

a)

4 chân

b)

7 chân

c)

8 chân

d)

3 chân

81.

Để bật LED cathode chung, cần thiết lập chân GPIO ở trạng thái nào?

a)

LOW

b)

HIGH

c)

OUTPUT

d)

INPUT

82.

Khi sử dụng phương pháp PWM để điều khiển động cơ một chiều, cần điều chỉnh thông số nào để thay đổi tốc độ động cơ?

a)

Tần số

b)

Độ rộng xung

c)

Giá trị

d)

Thời gian

83.

Để đọc giá trị từ một cảm biến tương tự, hàm nào được sử dụng trên PIC 16F877A?

a)

analogRead()

b)

ADC_Read()

c)

readADC()

d)

getADCValue()

84.

Để điều khiển LED 7 thanh theo kiểu quét LED, cần làm gì?

a)

Bật tất cả LED cùng một lúc

b)

Bật từng LED lần lượt theo thời gian

c)

Tắt tất cả LED

d)

Sử dụng PWM để điều chỉnh độ sáng

85.

Để điều khiển động cơ bước bằng phương pháp fullstep, tín hiệu điều khiển động cơ phải là loại nào?

a)

Đầu vào

b)

Đầu ra

c)

Tín hiệu PWM

d)

Tín hiệu tương tự

86.

Trong CCS C, để thiết lập ADC cần sử dụng dòng lệnh nào?

a)

#device ADC=6

b)

#device ADC=10

c)

#define ADC=10

d)

#setup ADC=10

87.

Để thiết lập độ rộng xung PWM cho động cơ, hàm nào được sử dụng?

a)

set_pwm1_duty(value)

b)

pwm_set_duty(value)

c)

setPWM(value)

d)

configurePWM(value)

88.

Để điều khiển LED anode chung, chân GPIO cần thiết lập ở trạng thái nào để bật LED?

a)

LOW

b)

HIGH

c)

OUTPUT

d)

INPUT

89.

Khi quét LED 7 thanh, để đảm bảo các LED sáng rõ và không nhấp nháy, cần điều chỉnh thông số nào?

a)

Tần số quét

b)

Điện áp cung cấp

c)

Dòng điện qua LED

d)

Tần số xung PWM

90.

Để thiết lập kênh ADC cần sử dụng hàm nào trong CCS C?

a)

select_adc_channel()

b)

set_adc_channel()

c)

set_adc_kung()

d)

configure_adc_channel()

91.

Khi đọc dữ liệu từ cảm biến ADC, giá trị trả về phụ thuộc vào điều gì?

a)

Tần số

b)

Điện áp đầu vào

c)

Thời gian đọc

d)

Số lượng kênh ADC

92.

Khi sử dụng phương pháp PWM để điều khiển động cơ DC, điều gì cần phải lưu ý?

a)

Chỉ điều chỉnh tần số

b)

Chỉ điều chỉnh biên độ

c)

Cả tần số và biên độ

d)

Không cần điều chỉnh gì