Câu hỏi: PRF192 Cơ sở lập trình – Bộ ôn tập số 2
50 câu trắc nghiệm kèm lời giải của môn PRF192 - Cơ sở lập trình, xếp đúng thứ tự trong đề.
Danh sách câu hỏi
#include <stdio.h>
int main() {
int x = 5, y = 10;
if (x >= y) {
printf("x is greater than or equal to y\n");
} else {
printf("x is less than y\n");
}
return 0;
}char temp;
char arr[10] = {1, 2, 3, 4, 5, 6, 7, 8};
temp = (arr + 1)[2];
printf("%d\n", temp);strcat()strcpy()puts()scanf()ifswitchwhilefor #include <stdio.h>
int main()
{
int a = 1;
switch (a)
case 1:
printf("%d", a);
case 2:
printf("%d", a);
case 3:
printf("%d", a);
return 0;
}#include<stdio.h>
#include<ctype.h>
int main()
{
char a[] = "hello world";
int i = 0;
while (!isspace(a[i]))
i++;
printf("%d, %c", i, a[i-1]);
return 0;
}Đáp án đúng: "
while (condition) {
...
}". Lệnh while trong C chỉ nhận duy nhất một biểu thức trong cặp ngoặc tròn; biểu thức đó được tính trước mỗi lần chạy thân và vòng lặp còn tiếp khi giá trị khác 0, nên mọi việc khởi tạo phải làm trước vòng lặp còn việc cập nhật phải nằm trong thân. Khuôn "
while (initialization; condition) {
...
}" đưa phần khởi tạo vào trong ngoặc, đó là thành phần riêng của for, hơn nữa dấu chấm phẩy không được phép xuất hiện trong ngoặc điều kiện. Khuôn "
while (condition; increment) {
...
}" mắc đúng lỗi ấy: phần tăng giảm phải là một lệnh trong thân chứ không phải vế thứ hai của điều kiện. Khuôn "
while (initialization; increment; condition) {
...
}" là khuôn ba phần của for và còn xếp sai trật tự, vì trong for thì điều kiện đứng giữa còn phần cập nhật đứng cuối.
Đáp án đúng: "do{ statements; } while(condition) ; ". Vòng do-while chạy thân trước rồi mới kiểm điều kiện, và cả cấu trúc đó được ngôn ngữ coi là một lệnh duy nhất, nên bắt buộc phải kết thúc bằng dấu chấm phẩy ngay sau ngoặc điều kiện; thân có nhiều lệnh thì gom trong cặp ngoặc nhọn. Khuôn "do
while(condition) {
statements;
}" đặt điều kiện trước thân, thành ra do không có thân nào đi kèm còn khối phía sau trở thành một khối rời, sai hẳn trật tự của cấu trúc. Khuôn "do{ statements; } while (condition)" đúng mọi thứ trừ dấu chấm phẩy kết thúc, mà thiếu nó thì trình biên dịch coi lệnh chưa viết xong và báo lỗi cú pháp. Khuôn "do( statements;) while (condition) ; " dùng ngoặc tròn để gom lệnh, nhưng trong C chỉ cặp ngoặc nhọn mới tạo được khối lệnh, ngoặc tròn chỉ dành cho biểu thức và danh sách tham số.