1 Giải thuật là (chọn 2) a (Phương pháp giải bài toán) b (Cách tiếp cận để giải bài toán) c (tập các câu lệnh). d (các dòng lệnh) e (chương trình trong 1 ngôn ngữ). 2 – Khi nói đến lưu đồ, 4 phát biểu nào sau đây là các phát biểu đúng? a (chúng dễ hiểu hơn ngay khi nhìn qua so với việc diễn đạt bằng ngôn ngữ tự nhiên). b (chúng cung cấp một cách lập tài liệu cho chương trình).. c (chúng ta có thể xem lại và kiểm lỗi chương trình dễ dàng hơn với sự giúp đã của lưu đồ). d (Lưu đồ giúp giải thích chương trình và bàn luận về giải pháp dễ dàng hơn). e (Lưu đồ giúp tính trị của các biến trong 1 chương trình khác).
Trang 1Đề thi trắc nghiệm môn C
1- Giải thuật là (chọn 2)
a- (Phương pháp giải bài toán)
b- (Cách tiếp cận để giải bài toán)
c- (tập các câu lệnh).
d- (các dòng lệnh)
e- (chương trình trong 1 ngôn ngữ).
2- – Khi nói đến lưu đồ, 4 phát biểu nào sau đây là các phát biểu đúng?
a- (chúng dễ hiểu hơn ngay khi nhìn qua so với việc diễn đạt bằng ngôn ngữ tự nhiên)
b- (chúng cung cấp một cách lập tài liệu cho chương trình)
c- (chúng ta có thể xem lại và kiểm lỗi chương trình dễ dàng hơn với sự giúp đã của lưu đồ).
d- (Lưu đồ giúp giải thích chương trình và bàn luận về giải pháp dễ dàng hơn).
e- (Lưu đồ giúp tính trị của các biến trong 1 chương trình khác)
3 - The expression below will evaluate to
int func ( int count);
for (count = 1 count <= 5; count++)
6 - Khi xem xét vòng lặp cố định, 2 phát biểu nào sau đây là các phát biểu đúng?
a- Các trị được tính toán hay được quản lý trong thân vòng lặp không có ảnh hưởng gì đền số làn thực thi vòng lặp
b- Các tác vụ được lặp lại với số lần đã ấn định (đặc tả) trước.
c- Các trị được tính toán hay được quản lý trong thân vòng lặp có ảnh hưởng gì đền số làn thực thi vòng lặp
d- -Các tác vụ được lặp lại với số lần thay đổi.
7 - Bốn điểm nào sau đây là các điểm cần chú ý khi vẽ lưu đồ?
Trang 2a- Lúc đầu, nên tập trung vào tính hợp lệ (logic) của bài toán và vẽ ra đường đi chính của lưu đồ b- Sau khi đã có đường đi chính, thêm các nhánh và vòng lặp
c- Một lưu đồ có thể có một điểm khởi đầu và hai điểm dừng
d- Hãy giữ lưu đồ có tính độc lập bằng cách không dùng các thuật ngữ liên quan đến máy tính
e- Hãy dùng các bước giải có ý nghĩa.
8 - Biến đếm là (chọn 3)
a- Thường được dùng khi viết các chương trình có sử dụng phát biểu lặp
b- Được dùng trong việc đếm số lượng biến trong vòng lặp.
c- Được dùng trong việc đếm số trị đã mang của 1 biến
d- Thường được dùng trong việc đếm số trị đã nhập
e- Được dùng trong việc đếm số lần lặp được thực thi.
9 - Chương trình sau cho kết qủa là gì?
Trang 312 - Với phát biểu trên, 4 trị nào trong các trị sau KHÔNG hợp lệ cho biến num?
a- Alan b- abc c- 459 d- A2 e- 2E9
Tại sao hai hàm scanf và printf được gọi là các hàm nhập xuất có định dạng (choose 1-chọn 1)a-Vì chúng có chuỗi định dạng trong tham số
b- Vì chúng thường được dùng để nhập xuất các trị trong chỉ 1 kiểu đã định trước
c- Vì một lý do khác
13 - Hai trong 4 hàm sau là các hàm nhập xuất không định dạng.
a- scanf b- printf c- getchar d- putchar
14 - Hàm nào sau đây được dùng để nối 2 chuỗi?
a- strlen (đo độ dài)
b- strcpy (coppy)
c- strcmp (so sánh chuỗi)
d- strcat (nối 2 chuỗi)
15 - Hàm nào sau đây sẽ trả về độ dài của 1 chuỗi?
a- strlen b- strcpy c- strcmp d- strcat
16 - Hàm nào sau đây sẽ sao chép 1 chuỗi?
a- strlen b- strcpy c- strcmp d- strcat
17 - Hàm nào sau đây được dùng để so sánh hai nội dùng chuỗi?
Trang 4a- strlen b- strcpy c- strcmp d- strcat
18 - Nếu strcmp(S1,S2) trả về 1 số nguyên âm thì:
a- Nội dung chuỗi S1 lớn hơn nội dung chuỗi S2
b- Nội dung chuỗi S1 nhỏ hơn nội dung chuỗi S2
c- Nội dung chuỗi S2 bằng nội dung chuỗi S1
19 - Chúng ta có thể so sánh 2 biến kiểu dẫn xuất , chẳng hạn 2 mảng, bằng các toán tử so sánh không?
a- Yes b- No
Mảng là:
a- Một nhóm phần tử cùng kiểu và có chung tên gọi
b- Một nhóm phần tử có thể có kiểu riêng và có chung tên gọi
c- Một nhóm phần tử có thể có kiểu riêng và có tên gọi riêng cho mỗi phần tử
c- Cả hai câu trên
22 - Một trong các trị sau sẽ là trị của biến p?
int* p= 100; p+=5;
a- 105 b- 110 c- 115 d- 120
23 -Một trong các ký tự sau là trị của biến c.
char S [ ] = "Helen" ; char* p = S; char c= *(p+3) ;
a- ‘H' b- ‘e' c- ‘l' d- ‘n' e- an other value, một trị khác
Trang 524 - Một trong các trị sau sẽ là trị của biến n.
int n= 7, m=8 ; int *p1 = &n , *p2 = &m ;
c- a,b are true - a,b đúng
d- a,b are false - a,b sai
27 - Số chiều của 1 mảng là
a- Số chỉ số được dùng để nhận diện 1 phần tử của mảng
b- Số phần tử của mảng
c- Số vùng nhớ sẽ được cấp phát cho mảng
d- All of the above-Cả a,b,c
28- Cái gì sẽ là kết qủa của chương trình C sau?
Trang 6a- 5 9.8 b- An error , 1 lỗi
c- All of the above are wrong - a, b sai
29 - Xem code sau
for (int i = 1 ; i<=10; i++)
for (int j = 1 ; j<=10; j++)
if ((i+j) %3 == 0) printf("Hello\n");
Có bao nhiêu chuỗi "Hello" được xuất ra màn hình?
a- 10 b- 12 c- 15 d- a,b,c are false (28)
34-Toán tử nào sau đây sẽ truy xuất 1 thành phần của pointer chỉ đến cấu trúc?
• a- (dot operator - toán tử chấm)
• b- -> ( arrow operator- toán tử mũi tên)
• c- a b are false - a, b sai
• d- a,b are true - a,b đúng
35-Nghiên cứu code sau:
int i, S=0, * a= new int[5];
for (i=0;i<5;++i)
Trang 7{ a[i]= 2*i;
S+=a[i];
if (i>0 && i %2==0) a[i]=a[i]+1; }
Trị của biến S là bao nhiêu?
37-Xem đoạn code sau:
typedef struct ST { int d1, d2, d3; };
• d- The code causes an error - Code gây lỗi
38- Xem đoạn code sau:
typedef struct STUDENT { int d1, d2, d3; };
STUDENT v = { 2,3,4};
v.d1++;
Trang 8Trị trung bình của các trị trong biến v là gì?
a- 3.0 b- 4.0 c- other value- trị khác
d- The code causes an error - Code gây lỗi
39- Đề nghị các biến nên dùng để mô tả 1 vòng tròn.
a- int x,y,r ; b- int r; c- int x,y,r,t; d- int vt;
40- Đề nghị các biến cần thiết giúp mô tả một hình chữ nhật.
a- int x1,y1, x2, y2; b- int rec; c- double area;
41- Hãy khai báo 1 cấu trúc mô tả cho sinh viên, thông tin về mỗi sinh viên bao gồm: tên, điểm 3 môn học.
a- structure STUDENT { char Name[ ]; int s1,s2,s3; }
b- struct STUDENT { char Name [ ]; int s1,s2,s3; }
c- struct STUDENT { char Name[ ]; int s1,s2,s3; };
d- typedef STUDENT { char Name[ ]; int s1,s2,s3; }
42 1 phát biểu sau đây là sai khi nói đến tập tin(file)
a- Tập tin là dữ liệu đã hoàn tất được lưu trong bộ nhớ ngoài bởi người dùng hay một chương trình
b- Hệ điều hành nhận diện 1 tập tin nhờ vào tên đầy đủ của nó gồm đường dẫn và tên tập tin
c- A filename in C is describe in a way such as "c:\tm1\f1.txt"- Dạng mô tả tên tập tin trong C
d- A filename in C is describe in a way such as "c:\\tm1\\f1.txt" -Dạng mô tả tên tập tin trong C
e-A filename in C is describe in a way such as "c:/tm1/f1.txt"- Dạng mô tả tên tập tin trong C
43 Nghiên cứu đoạn code sau:
FILE* f= fopen("f1.txt","r");
int n=7;
fprintf(f,"%d",n);
a- code gây lỗi
b- code không lỗi
c- code này sẽ ghi trị 7 lên file f1.txt
Trang 9d- Code này sẽ đọc 1 trị từ file vào biến n.
44- Hãy khai báo hàm tính tổng các phần tử của 1 mảng int.
a- void Sum (int a[);
b- long Sum(inta[);
c- void Sum (int a[, int n);
d- long Sum(int a[, int n);
45- Hãy khai báo hàm tìm trị lớn nhât trong 1 mảng các số long.
a- void Max (long *a);
b- long Max (long * a[);
c- void Max (long a[, int n);
d- long Max (long *a, int n);
e- long Max (long *a[, int n);
46-Khai báo hàm đọc 1 text file vào 1 mảng các số int.
a- void Read ( char* fName, int a[);
b- void Read ( char* fName, int a);
c- void Read ( char* fName, int *a);
d- void Read ( char* fName, int *&a, int &n);
e- void Read ( char* fName, int *&a[, int& n);
47- Một vòng tròn được mô tả bằng 3 biến int, trong đó <x,y> mô tả vị trí của tâm và r mô tả cho bán kính
vòng tròn Hãy khai báo hàm vẽ vòng tròn
a- void Draw (Circle);
b- void Draw (int x, int y, int r);
c- int Draw (int r);
d- int Draw ( int <x,y>, int r);
Trang 1048-Hãy khai báo 1 hàm sẽ kiểm tra 1 mảng int có đối xứng hay không.
a- void Palindrome(int a[ ], int n);
b- int Palindrome(int a[ ], int n);
c- double Palindrome(int a[ ], int n);
d- boolean Palindrome (int*a, int n);
49- Hãy khai báo 1 hàm sẽ kiểm tra 1 chuỗi có đối xứng hay không.
a- void Palindrome(String S);
b- int Palindrome( char S[ ]);
c- double Palindrome(char* S);
d- boolean Palindrome (char* S,int n);
50 Hãy khai báo 1 hàm sẽ kiểm tra 1 mảng int có là mảng tăng hay không.
a- void CheckAsc(int a[ ], int n);
b- int CheckAsc(int * a, int n);
c- long CheckAsc(int* S);
d- double CheckAsc(int* S[ ], int n);
51- Một số các tác vụ sau sẽ được áp dụng để kiểm tra một số nguyên là lẻ hay chẵn:
1- Begin - bắt đầu
2- Accept the integer n - Nhập số nguyên n
3- Nếu số dư là 0 thì hiển thị chuỗi "Đây là số chẵn"
4- - ngược lại hiển thị "Đây là số lẻ"
5- Divide n by 2 - chia n cho 2
6- End - Kết thúc
Theo ý bạn, thứ tự các bước nào sau đây là đúng?
a- 1,2,3,4,5,6 b- 1,5,4,3,2,6 c- 1,2,5,3,4,6 d- 1,5,3,4,2,6
Trang 1152-Đoạn code nào sẽ hoán vị 2 số a,b?
a) t=a; a=b; b=t; b) t=a; a=b; t=b c) a=t ; b=a; t=b;
53 - chọn kết qủa của đoạn code sau:
54 - chọn kết qủa của đoạn code sau:
for (int i=1; i<10; i++)
Trang 12a- tên của 1 vùng nhớ b- dữ liệu
c- tất cả ở trên đúng d- ở trên sai
57-Chọn cau sai
a- giá trị của 1 biến có thể thay đổi
b- giá trị 1 biến k thể thay đổi
c- 2 biến có thể có tên giống nhau trong cùng 1 phạm vi
d- tên giống nhau trong pam vi khác nhau
e- trong C tên biến là 1 kí tự bảng chữ cái
58 –chọn cau sai: 1 định dạng pải bắt đầu =
a- 1 bảng chữ cái
b-
c một số
d- 1 nhận vật điều hành như + , - ,
59-nếu ta xem 1 số nguyên trong khoảng 12.000 và 12.000 kiểu dữ liệu nào có thể sử dụng a- int b- long c- float d- double
60- 1 biến int chiếu bao nhiêu byte
a- One b- Two c- Three d- Four
61-A float varible will occupy bits
Trang 13float x= 3.5, y=4.2;
printf("giá trị của họ : %f and %f dollars.",x,y);
a- 3.5, 4.2 b- Their values are: 3.5 and 4.2
c- Their values are: 3.5 and 4.2 dollars d- None of the above
66-có bao nhiêu lỗi khi bạn muấn nhập n biến với các mã sau
Trang 14printf("\nSmith");
a- kết quả sẽ tương tự
b- kết quả dầu ra khác nhau
69- có bao nhiêu lỗi trong chương trình sau
71-định dạng sau có gây ra lỗi hay k ?
int n=10 ; m= 8 ; char c="A';
a) Yes b) no
72-chuỗi định dạng dành cho kiểu nhân vật
a- "%char" b- "%d" c- "%a" d- "%f" e- "%character"
f- None of the above
73-trong C đâu là kiểu toán tử số học
Trang 1575-kết quả của chương trình sau = ?
int x= 5, y=7;
int t = 12 + (y<2*x) ;
a- 12 b- 0 c- 1 d- Other value( giá trị khác)
76-Trong tham chiếu các ưu tiên tăng dần của các nhóm điều hành thứ tự đúng là :
a-số học ,logic,toán tử quan hệ
b- logic, số học,toán tử quan hệ
c- số học, Logic, toán tử quan hệ
d- toán tử quan hệ Logical, số học
e- Arithmetic, Relational, Logical operators
f- None of the above
77-điều j có thể thay đổi thứ tự ưu tiên của các nhà quản lí
a- các laoij nhà quản lí b-dấu ngoặc đơn
78- In C, tiêu chuẩn I/O khai báo nhập file
a- stdio.h b- conio.h c- math.h
79-chức năng napf trong chức năng sau đây định dạng chứ năng IO
a- printf( ) b- scanf ( ) c- getchar() d- puchar( )
80-chức năng getchar() đc khai báo trong file…
a- stdio.h b- conio.h c- a và b d- ko
81-nhưng j trong chuỗi định dạng sau là 1 điểm nổi
a- %f b- %u c- %i d- %float e- %s
82-chuỗi định dạng 1 số nguyên k dấu
a- %i b- %f c- %u d- %f e- %lf
83-đầu ra của câu sau :
printf ("tỉ lệ của số ngân hàng là %d%%/year",20);
a- tỉ lệ số ngân hàng là 20%/year
b- The rate of some banks is 20%%/year
Đầu ra của câu sau là
Trang 16printf("She said \"I love you\"");
a- She said "I love you"
b- She said \"I love you\"
c- bản này gây nỗi
84-đầu ra của câu sau là :
printf("kết quả là %.3lf",345.5678908);
a- kết quả là 345.567891 b- The result is 345.5678908
c- The result is 345.567 d- The result is 345.568
e- The statement causes an error
85-người dùng có thể nhập giá trị 12,3 vào biến x hay k ?
c- bản gây lỗi d- There is no output (k có đầu ra)
87-giá trị của biến n là j nếu lệnh sau đc thực hiện và ng sử dụng truy câp các ‘A’ chìa khóa sau đó truy cập các phím trơt lại vận chuyển
Trang 17a- sau khi báo cáo đc thực hiện giá trị của z=2
b- có lỗi trong báo cáo ( k có câu lệnh in ra màn hình )
91-nghiên cứu đoạn chương trính sau
int d= 7, t, a;
switch d (chuyển đổi)
{ case ( Trường hợp) 7: t=a=1;
case 10: t=a=17;
case 5: t=a=2; break;
default(mặc định): t=a=0;
}
Sau khi đc thực hiện giá trị của biến a là j
a- 17 b- 2 c- đoạn chương trình gây lỗi
92- sau khi đoạn chuwowg trình sau đc thực hiện Cái j là đầu ra nếu đầu vào là ‘B’
char c= getchar();
switch(c)
Trang 18{ case (trường hợp) ‘A' : putchar(c++); break;
case ‘a' : putchar(++c); break;
default (mặc định) : putchar(c+2);
94-1 vòng lặp là j ?
a) 1 đoạn mã đc thực hiện liên tục
B 1 đoạn mã đc thực hiện trong 1 time
c) 1 đoạn mã có thể đc thực hiên
95- mệnh đề đúng khi nói về vòng lặp cố định (chọn 2)
a) Các giá trị được tính toán hoặc xử lý trong vòng lặp không có hiệu
lực vào số lần các hoạt độngvòng lặp được thực hiện
b) Hoạt động được lặp lại cho số quy định của thời gian
c) - Các giá trị được tính toán hoặc xử lý trong vòng lặp có tác dụng với số lần hoạt động vòng lặpđược thực hiện.
d) hoạt động đc lặp lại cho số lượng các lần
96-số lươt truy cập biến là (chọn 3)
a) sử dụng thường xuyên khi viết chương trình liên quan đến vòng lặp
b) Được sử dụng để giữ một số của tổng số các biến trong vòng lặp.
c được sử dụng để giữ một số giá trị của biến cụ thể
d) Được sử dụng để giữ một số của các số đã nhập
e) Được sử dụng để giữ cho việc đếm số lần vòng lặp là được thực
hiện
97-đầu ra của chương trình sau là j ?
Trang 19a) 10 b) 1 c) 0 d) kết quả khác
98-nghiên cứu đoạn code sau
for (int i = 1 ; i<=10; i++)
Trang 20a) 10 b) 50 c) 80 d) giá trị khác
104-What is the output
int S=10;
for (int i=0; i<5;i++)
Trang 21106-Array is (Mảng là……)
a) một nhóm các phần tử có cùng kiểu dữ liệu.
b) 1 nhóm các phần tử có thể có kiểu dữ lệu khác nhau
c) 1 nhóm các biến số khác nhau
107-1 phần tử của mảng đc xác định = ?
a) chỉ số duy nhất b) tên của nó
c) giá trị của nó d) tất cả
108-1 chỉ số của phần tử mảng là
a) 1 số nguyên b) số nguyên dương c) số nguyên âm
109-nếu 1 mảng có 25 phần tử phạm vi của nó là…….
a) 1 to 25 b) 0 to 24 c) -12 to 12
110 –nghiên cứu đoạn code sau