Bộ câu hỏi trắc nghiệm về lập trình có giải P17

Để trở thành một lập trình viên thực thụ, việc đầu tiên bạn cần nắm vững kiến thức về ngành học này. Để giúp bạn đọc dễ dàng làm quen với môn học này, Quản trị mạng đã tổng hợp và gửi đến bạn những câu trắc nghiệm vô cùng thú vị. Mời bạn đọc tham khảo.

Xem thêm:

  • Câu 1. Câu lệnh sau có ý nghĩa gì:
    FILE *fopen(tep1,”r+”);
    • Mở tệp văn bản cho phép ghi
    • Mở tệp văn bản cho phép đọc
    • Mở tệp văn bản cho phép cả đọc cả ghi
    • Mở tệp văn bản đã tồn tại để đọc
  • Câu 2. Câu lệnh sau có ý nghĩa gì:
    int open(tep1, O_TRUNC);
    • Mở tệp nhị phân để ghi
    • Xóa nội dung của tệp
    • Mở tệp văn bản để đọc và ghi
    • Tất cả các đáp án trên
  • Câu 3. Có thể truy cập thành phần của cấu trúc thông qua con trỏ như (với p là con trỏ cấu trúc, a là thành phần cấu trúc):
    • (*p).a;
    • *p->a;
    • 1 và 2 sai
    • 1 và 2 đúng 
  • Câu 4. Câu lệnh nào không hợp lệ trong khai báo sau:
    struct T {int x; float y;} t, *p, a[10]; 
    • p=&t;
    • p=&t.x;
    • p=&a[5];
    • p=&a;
  • Câu 5. Hãy chọn câu đúng nhất:
    struct ngay{ int ng, th, n;} vaotruong, ratruong; typedef struct sinhvien{ char hoten; ngay ngaysinh;};
    • Không được phép gán: vaotruong = ratruong;
    • “sinhvien” là tên cấu trúc, “vaotruong”, “ratruong” là tên biến cấu trúc
    • Có thể viết “vaotruong.ng”, “ratruong.th”, “sinhvien.vaotruong.n” để truy xuất đến các thành phần tương ứng
    • 1, 2, 3 đúng
  • Câu 6. Trong các khởi tạo giá trị cho các cấu trúc sau, hãy chọn câu đúng:
    struct S1{ int ngay, thang, nam;}; S1=(2, 1, 3);

    struct S2{ char hoten[10]; struct S1 ngaysinh;}; S2={“Ly Ly”, {4, 5, 6}};
    • S1 đúng
    • S2 đúng
    • Cả S1, S2 đều đúng
    • Cả S1, S2 đều sai
  • Câu 7. Đối với kiểu có cấu trúc, cách gán nào sau đây là không được phép:
    • Gán biến cho nhau
    • Gán hai phần tử mảng( kiểu cấu trúc) cho nhau.
    • Gán một phần tử mảng( kiểu cấu trúc) cho một biến hoặc ngược lại.
    • Gán hai mảng có cấu trúc có cùng số phần tử cho nhau.
  • Câu 8. Chọn câu đúng nhất trong các câu sau:
    struct { int to; float soluong;} x[10];

    for (int i=0; i<10; i++) scanf(“%d%f”,&x[i].to,&x[i].soluong);
    • Đoạn chương trình trên có lỗi cú pháp
    • Không được phép sử dụng toán tử lấy địa chỉ đối với các thành phần “to” và “soluong”
    • Lây địa chỉ thành phần “soluong” dẫn đến chương trình hoạt động không đúng đắn
    • Tất cả đều sai 
  • Câu 9. Để tạo danh sách liên kết, theo bạn sinh viên nào dưới đây là khai báo đúng cấu trúc tự trỏ sẽ được dùng:
    Sinh viên 1:

    struct SV{char ht[25]; int tuoi; struct Sv *tiep;};

    Sinh viên 2:

    typedef

    struct SV node;

    struct SV{char ht[25]; int tuoi; node *tiep;};

    Sinh viên 3:

    typedef

    struct SV{char ht[25]; int tuoi; struct SV *tiep;} node;

    • 1
    • 2
    • 2 và 3
    • Cả 3 khai báo trên 
  • Câu 10. Để dùng danh sách liên kết, xét hai khai báo sau (cần 1KB để lưu dữ thông tin về một sinh viên):
    Khai báo 1: struct SV{ thongtin; struct SV *tiep;};
    Khai báo 2: struct SV {thongtin}; struct DS{struct SV* sv; struct DS* tiep;}; (Với “thongtin” là một thành phần dữ liệu của cấu trúc);

    Chọn câu đúng nhất trong các câu sau:
    • Khai báo 1 tốn nhiều bộ nhớ hơn khai báo 2
    • Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi đổi vị trí 2 sinh viên
    • Khai báo 1 sẽ giúp tiết kiệm câu lệnh hơn khi viết hàm đổi vị trí 2 sinh viên
    • Khai báo 2 sẽ giúp chương trình chạy nhanh hơn khi duyệt danh sách
Bạn cần cố gắng hơn 
Kết quả này khá đấy 
Kiến thức lập trình của bạn rất tốt 
Kiểm tra kết quả Làm lại
Thứ Sáu, 16/11/2018 16:32
51 👨 872
0 Bình luận
Sắp xếp theo