1. Trang chủ
  2. » Công Nghệ Thông Tin

Đề kiểm tra học kỳ môn Ngôn ngữ lập trình C

2 37 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 2
Dung lượng 350,73 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Đề kiểm tra học kỳ môn Ngôn ngữ lập trình C giúp cho các bạn sinh viên nắm bắt được cấu trúc đề thi, dạng đề thi chính để có kế hoạch ôn thi một cách tốt hơn. Tài liệu hữu ích cho các các bạn sinh viên đang theo học chuyên ngành Điện – Điện tử và những ai quan tâm đến môn học này dùng làm tài liệu tham khảo.

Trang 1

KIỂM TRA GIỮA KỲ

NGÔN NG  L P TRÌNH C++ Ữ Ậ

Th i gian: 90 phút ờ

(Được sử dụng tài liệu)

Lớp: ………

Mã SV: ………

Họ tên: ………

Đ  SỀ Ố 

2

Câu 1. Nh ng m nh đ  nào d i đây là đúng: (1,5 đi m) ữ ệ ề ướ ể

 M t đ i t ộ ố ượ ng s  d ng l i mã có s n c a m t đ i t ử ụ ạ ẵ ủ ộ ố ượ ng khác đ ượ c g i là s  k  th a ọ ự ế ừ

 Cùng m t tên bi n có th  khai báo trong các kh i ộ ế ể ố {…} khác nhau

 Trong ki u li t kê  ể ệ enum color { red, green = 2, blue }; blue có giá tr  b ng  ị ằ 4

 Toán t   ử >= cho giá tr  ị0 ho c  ặ 1

 Toán t  gán  ử (=) ch  có th  xu t hi n m t l n trong m t bi u th c ỉ ể ấ ệ ộ ầ ộ ể ứ

 N u  ế k b ng  ằ 1 thì vòng l p  ặ while (k = 1) k++; không bao gi  d ng l i ờ ừ ạ

 Toán tử break đ a con tr  ch ư ỏ ươ ng trình v  đi m k t thúc hàm ề ể ế

 Hàm int hamso(int &a, int &b) không làm thay đ i giá tr  c a bi n truy n cho  ổ ị ủ ế ề b

 M t đ i t ộ ố ượ ng không th  truy c p vào thành viên trong vùng  ể ậ private c a m t đ i t ủ ộ ố ượ ng khác

 Đ  ph c t p trung bình c a thu t toán s p x p nhanh (QuickSort) là  ộ ứ ạ ủ ậ ắ ế O(nlog2n)

Câu 2. Cho các bi n sau: (2 đi m) ế ể

char c; int i; unsigned u; double d; int &ri = i; double *pd = &d;

Cho bi t giá tr  c a các bi n b  thay đ i sau khi th c hi n l n l ế ị ủ ế ị ổ ự ệ ầ ượ ừ t t ng dòng l nh ệ

c = 'A'; i = 6; u = 1; d = 1.5; ri = 2; *pd = 6;

if (++u && ++i && ++c) d /= 4;

for (; i > 0; i ) {u += (i << 1); u ;}

switch(c){case 'A':d++;case 'B':d+=2;default:d+=5;}

Câu 3. Cho đo n khai báo sau: (1,5 đi m) ạ ể

char s[]="1234567890"; unsigned *p = (unsigned *)&s[2];

a) M ng ả  s có 10 ph n t : ầ ử đúng sai

b) (char)(*(p + 1)) b ng  ằ '6': đúng sai

c) N u gán ế  *p=0x3335 thì cout << s cho hi n lên màn hình: ệ

Câu 4. Hàm nào d i đây tính ướ ướ ố c s  chung l n nh t c a  ớ ấ ủ a và b: (1 đi m) ể

int f1(int a, int b)

{

        while (b) {

      int r = a % b; a = b; b = r;}

        return (a);

}

int f2(int a, int b) {

       if (b == 0)        return a;

       return (f2(b, a / b));

}

 Hàm f1

 Hàm f2

 C  hai hàm ả

Câu 5. Đi n bi u th c vào nh ng ch  còn thi u trong các hàm d i đây (2 đi m) ề ể ứ ữ ỗ ế ướ ể

// Hàm tìm độ dài của xâu ký tự

int len(char *s) {int k = 0; while ( ) k++; return (k);}

// Hàm so sánh hai xâu ký tự

int cmp(char *s1, char *s2) {

for (int i = 0; ; i++) {

if (s1[i] < s2[i]) return (-1);

}

return 0; // hai xâu bằng nhau }

// Hàm lấy xâu con của một xâu trừ các ký tự trống ở đầu

char* trimleft(char* s)

Trang 2

while (s[i] == 32) i++;

char *p, *res = new char[ ];

for (p = res; ; p++, i++) *p = s[i];

return res;

}

Câu 6. Cho đo n ch ng trình d i đây (2 đi m) ạ ươ ướ ể

struct date {

int day, month, year;

int compare(int d, int m, int y) {

int d1 = (year << 9) + (month << 5) + day;

int d2 = (y << 9) + (m << 5) + d;

if (d1 < d2)

return -1;

return (d1 > d2);

}

void set(int d, int m, int y) { day = d; month = m; year = y; }

};

struct student {

int id; char name[50]; date dob; // mã, họ tên và ngày sinh

student *prev, *next;

void Create(int i, char *n, int d, int m, int y) {

next = prev = NULL;

id = i;

memcpy(name, n, len(n)+1);

dob.set(d, m, y);

}

void Print() { cout << id << '\t' << name << '\t' <<

dob.day << '/' << dob.month << '/' << dob.year << endl; } };

struct list {

student *head, *tail;

void Init() { head = tail = NULL; }

void Insert(int id, char *name, int d, int m, int y);

void Print();

};

a) Hoàn thành hàm Insert c a ủ  struct list đ  thêm m t sinh viên vào đ u danh sách ể ộ ầ

b) Hoàn   thành   hàm  Print  c a ủ   struct   list  đ   in   ra   danh   sách   nh ng   sinh   viên   có   h   tên   b ng ể ữ ọ ằ  

“Nguyen Van A”

Ngày đăng: 17/10/2020, 16:57

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w