230+ câu trắc nghiệm Ngôn ngữ lập trình có đáp án - Phần 4
25 câu hỏi
char S[20] = “aaaaaea”;
char* p = strstr(S, “e”);
Nếu địa chỉ của S là 1000, thì giá trị của p là bao nhiêu:
1000.
1005.
1003.
Kết quả khác.
Một số tác vụ sau sẽ được áp dụng để kiểm tra xem một số nguyên là lẻ hay chẵn:
1- Begin(bắt đầu).
2- Nhập số nguyên n.
3- Nếu số đó 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- 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:
1,2,3,4,5,6.
1,5,4,3,2,6.
1,2,5,3,4,6.
1,5,3,4,2,6.
Trong số các định dạng dưới đây, định dạng nào dùng để in ra địa chỉ:
“%f”.
“%s”.
“%p”.
“%h”.
Khai báo hàm tìm giá trị lớn nhất trong một mảng các số long dưới đây, khai báo nào đúng:
void Max(long *a);
long Max(long *a[]);
void Max(long a[], int n);
long Max(long *a, int n);
Khai báo hàm tính tổng các phần tử trong một mảng các số nguyên dưới đây, khai báo nào đúng:
void Sum(int a[]);
long Sum(int *a);
void Sum(int a[], int n);
Cả 3 phương án trên đều sai.
Để khai báo 1 hàm kiểm tra một mảng là tăng hay không ta dùng khai báo nào dưới đây:
void CheckAsc(int a[], int n);
int CheckAsc(int *a, int n);
long CheckAsc(int *S);
double CheckAsc(int S[], int n);
Đoạn code nào sẽ hoán vị 2 số a và b:
t = a; a = b; b = t;
t = a; a = b; t = b;
a = t; b = a; t = b;
t = b; b = a; a = t;
Trong các câu sau, câu nào đúng:
Giá trị của một biến có thể thay đổi được.
Giá trị của một biến không thể thay đổi được.
Có thể khai báo 2 biến trùng tên trong cùng một hàm.
Không thể khai báo 2 biến trùng tên trong cùng một hàm.
Các kí hiệu đặc trưng cho sự tác động lên dữ liệu được gọi là:
Toán tử.
Biểu thức.
Hàm.
Biến.
Kích thước của biến con trỏ là:
1 byte.
2 byte.
3 byte.
Không có đáp án nào đúng.
Cho biết giá trị của biểu thức: 2 + 4 > 2 && 4 < 2;
1.
0.
-1.
Không câu nào đúng.
Giá trị lôgic của biểu thức sau là gì: !(1 && 1 || 1 && 0);
1.
0.
-1.
Không câu nào đúng.
Chọn biểu thức biểu diễn num là số nằm giữa 1 và 9 nhưng không phải là 4:
num > 1 && num < 9 && num != 4;
num > 1 || num < 9 && num != 4;
num >= 1 && num <= 9 && num != 4;
Không câu nào đúng.
Tìm kết quả của chương trình sau:
main()
{
int n;
for (n = 18; n > 0; n /= 2)
printf("%3d", n);
};
“ 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1”.
“ 18 9 4 2 1”.
“ 18 9 4 2 1 0”.
Không câu nào đúng.
Tìm kết quả của chương trình sau:
#include <stdio.h>
main()
{
int i, ch;
for (i = 0, ch = 'A'; i < 5; i++, ch++)
putchar(ch);
};
“ABCDE”.
“ABC”.
“ACEG”.
Không câu nào đúng.
Tìm kết quả của chương trình sau:
#include <stdio.h>
main()
{
int i, ch;
for (i = 0, ch = 'A'; i < 4; i++, ch += 2)
putchar(ch);
};
“ABCDE”.
“ABC”.
“ACEG”.
Không câu nào đúng.
Nếu có khai báo:
char *ptr;
char msg[10];
char v;
Câu nào sẽ đúng:
ptr = v;
ptr = msg;
Cả hai câu đều đúng.
Không câu nào đúng.
Tại sao hai hàm scanf() và printf() gọi là 2 hàm nhập, xuất có định dạng:
Vì chúng có chuỗi định dạng trong tham số.
Vì chúng thường dùng để nhập, xuất các trị trong chỉ một kiểu đã định trước.
Vì một lí do khác.
2 hàm trên không phải là hai hàm nhập xuất có định dạng.
Hàm nào trong các hàm sau thuộc các hàm nhập xuất không định dạng:
1- printf();
2- scanf();
3- getchar();
4- putchar();
1, 2.
3, 4.
1, 4.
2, 3.
Nếu strcmp(S1, S2) trả về số nguyên âm thì:
Nội dung của chuỗi S1 lớn hơn nội dung chuỗi S2.
Nội dung chuỗi S1 nhỏ hơn nội dung chuỗi S2.
Nội dung chuỗi S1 bằng nội dung chuỗi S2.
Dữ liệu nhập vào không đúng định dạng.
Chọn một phát biểu sai:
Chuỗi là một mảng các kí tự.
Chuỗi là một mảng các kí tự và kí tự cuối cùng có mã là 0.
Chuỗi là mảng các kí tự và kí tự cuối cùng có mã là NULL.
Chuỗi là mảng các trị 2 byte. (1 byte)
Các định dạng nào sau đâu có thể sử dụng để xuất số nguyên không dấu:
“%d”.
“%unsigned”.
“%i”.
“%u”.
Định dạng nào dưới đây dùng để hiển thị một số thực:
“%f”.
“%u”.
“%i”.
“%float”.
Đâu là những toán tử toán học:
+, /, %.
+, -, *, /, %, ++, --, >, <.
&&, ||.
+, -, *, /, %, =, !=.
Một biến phải bắt đầu với:
Một kí tự thường như các chữ cái hoặc dấu gạch dưới.
Một dấu gạch dưới.
Một kí tự kiểu số.
Một toán tử như: +, -…






