Đề kiểm tra ngôn ngữ C | Đại học Sư phạm Hà Nội

Đề kiểm tra ngôn ngữ C | Đại học Sư phạm Hà Nội với những kiến thức và thông tin bổ ích giúp sinh viên tham khảo, ôn luyện và phục vụ nhu cầu học tập của mình cụ thể là có định hướng, ôn tập, nắm vững kiến thức môn học và làm bài tốt trong những bài kiểm tra, bài tiểu luận, bài tập kết thúc học phần, từ đó học tập tốt và có kết quả cao cũng như có thể vận dụng tốt những kiến thức mình đã học vào thực tiễn cuộc sống.

Câu 1. Trong C++, số phần tử của mảng một chiều là:
A. Có giới hạn
B. Vô hạn
C. Có nhiều nhất 100 phần tử
D. Có nhiều nhất 1000 phần t
Câu 2. Trong C++, kiểu dữ liệu của các phần tử trong mảng là:
A. Tất cả các phần tử của một mảng phải có cùng kiểu dữ liệu
B. Mỗi phần tử của mảng có một kiểu riêng
C. Phải có kiểu dữ liệu là số nguyên
D. Tất cả đều đúng
Câu 3. Trong C++, Cú pháp để khai báo mảng một chiều trực tiếp, sử dụng cấu trúc:
A. <kiểu dữ liệu> <tên biến mảng>[số phần tử tối đa] ;
B. <tên biến mảng>[số phần tử tối đa] : <kiểu dữ liệu>;
C. <tên biến mảng>[kiểu chỉ số] <kiểu phần tử>;
D. [kiểu chỉ số] <tên biến mảng> <kiểu dữ liệu>
Câu 4. Trong C++, để khai báo mảng kiemtra có tối đa 100 phần tử, kiểu dữ liệu ký t
sử dụng lệnh nào sau đây?
A. char kiemtra[100];
B. Var mang : array[1...100] of char;
C. Char[100] kiemtra;
D. Var mang1c : array[1..100] of char;
Câu 5. Trong C++, để khai bảo mảng a có khởi tạo giá trị ban đầu, ta sử dụng lệnh nào
sau đây?
A. int a[5] = {5, 10, 4, 7, 8} ;
B. int a[5] = (5, 10, 4, 7, 8) ;
C. int a[5] = [5, 10, 4, 7, 8] ;
D. int a[0] = {5, 10, 4, 7, 8} ;
Câu 6. Trong C++, Chọn phát biểu đúng về câu lệnh lặp với số lần không biết trước
while(điều kiện) {Câu lệnh;} trong các phát biểu dưới đây :
A. Biểu thức điều kiện được tính kiểm tra, nếu biểu thức đó sai thì câu lệnh được
thực hiện.
B. Câu lệnh luôn cũng được thực hiện ít nhất một lần.
C. Điều kiện trong cấu trúc lặp while có thể là một biểu thức kiểu nguyên hoặc kiểu kí
tự.
D. Biểu thức điều kiện được tính và kiểm tra, nếu biểu thức đó đúng thì câu lệnh được
thực hiện.
Câu 7. Em hãy cho biết giá trị của s sau khi thực hiện đoạn chương trình sau: int s=1;
for(int i=0;i<=10;i+=2) s=s*i;
A. 0
B. 480
C. Không xác định
D. 55
Câu 8. Cho biết giá trị của biến i khi thực hiện đoạn chương trình sau:
int a[10]={4, 1, 0, 9, 7, 8, 3, 9, 7, 4};
int N=10; i=0; x=9; while(x!=a[i] &&i <N) i++;
A. 8
B. 4
C. 9
D. 3
Câu 9. Chọn khai báo đúng, để khai báo mảng a gồm 20 số nguyên?
A. int a[20];
B. int a[0. . 19];
C. int a;
D. int a[1. . 20]
Câu 10. Cho khai báo int a[10]={4, 1, 0, 9, 7, 8, 3, 9, 7, 4}; Hãy chọn mệnh đề đúng
trong các mệnh đề sau
A. a[4]=7
B. a[1]=4
C. a[5]=7
D. a[10]=4
Câu 11. Hãy cho biết kết quả của đoạn chương trình sau:
int a=-2, b=3; float x;
if(a!=0) {x=-b/a; cout<<”pt co nghiem x=”< else cout<<”ptvn”;
A. 1
B. -1.5
C. -1
D. 1.5
Câu 12. Trong ngôn ngữ lập trình C++, câu lệnh nào sau đây là đúng ?
A. if (biểu thức logic) ; câu_lệnh_1 ; else câu_lệnh_2 ;
B. if (biểu thức logic) ; câu_lệnh_1 else câu_lệnh_2 ;
C. if (biểu thức logic) câu_lệnh_1 ; else câu_lệnh_2 ;
D. if (biểu thức logic) câu_lệnh_1 else câu_lệnh_2 ;
Câu 13. Để thực hiện vòng lặp N lần, cách viết nào sau đây là đúng?
A. Tất cả đều đúng
B. for(int i=1;i<=N;i++)
C. for(int i=0;i <n; i++)
D. for(int i=N;i>0;i--)
Câu 14. Sau khi thực hiện đoạn chương trình sau giá trị của biến j bằng bao nhiêu?:
int j:=0;
for (int i=0; i<=5; i++) j:=i+2;
A. 7
B. 10
C. 5
D. 15
Câu 15. Đểtả câu lệnh lặp với số lần không biết trươc, trong ngôn ngữ C++ dùng
cấu trúc lệnh nào sau đây?
A. Cấu trúc lệnh rẽ nhánh If
B. Cấu trúc lệnh For
C. Cấu trúc lệnh While
D. C++ không hỗ trợ cấu trúc lặp
Câu 16. Trong C++, để khai báo kiểu dữ liệu xâu ký tự, sử dụng cú pháp
A. string <tên biến xâu>
B. string <tên biến xâu>[số phần tử]
C. <tên biến xâu> : string
D. #inlcude string <tên biến xâu>
Câu 17. Cho biết kết quả thực hiện đoạn chương trình sau:
#include <iostream>
using namespace std;
int main()
{
string sname = "Dai hoc Ha Tinh";
cout << sname.length();
}
A. 15
B. 4
C. 6
D. Báo lỗi chương trình
Câu 18. Cho biết kết quả thực hiện đoạn chương trình
#include <iostream>
using namespace std;
int main()
{
string sname = "THPT Dai hoc Ha Tinh";
cout << sname.substr(5, 7);
}
A. Dai hoc
B. Ha Tinh
C. THPT
D. ai hoc H
Câu 19. Kết quả thực hiện đoạn chương trình
#include <iostream>
using namespace std;
int main()
{
string sname = "THPT Dai hoc Ha Tinh";
cout << sname.find("hoc");
}
A. 9
B. 10
C. 4
D. Chương trình báo lỗi
Câu 20. Cho biết kết quả thực hiện đoạn chương trình sau
#include <iostream>
using namespace std;
int main()
{
string sname = "hello every body!";
cout << sname.replace(2, 3, "ey");
}
A. heey every body!";
B. he every body!";
C. every body!
D. Hello
Câu 21. Đoạn chương trình trên thực hiện công việc gì dưới đây ¿
A. Tìm chỉ số của phần tử nhỏ nhất trong mảng
B. Tìm phần tử nhỏ nhất trong mảng
C. Tìm phần tử lớn nhất trong mảng
D. Tìm chỉ số của phần tử lớn nhất trong mảng
Câu 22. Cho đoạn chương trình
A. hello baby
B. hello world
C. baby world
D. world baby
Câu 23. Trong C++, để tham chiếu đến phần tử trong mảng một chiều
A. Tên biến mảng, tiếp theo là chỉ số viết trong cặp ngoặc [ và ]
B. Tên biến mảng, tiếp theo là chỉ số viết trong cặp ngoặc ( và )
C. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp ngoặc [ và ]
D. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp ngoặc ( và )
Câu 24. Cho khai báo sau:
const int nmax=10;
int a[nmax];
Câu lệnh nào dưới đây sẽ in ra các phần tử chẵn của mảng trên ?
A. for(int i=0; i<nmax; i++)
{
if(a[i] %2 ==0) cout <<a[i] <<"\t";
}
B. for(int i=0; i<nmax; i++)
{
if(a[i] %2) cout <<a[i] <<"\t";
}
C. for(int i=0; i<nmax; i++)
{
if(a[nmax] %2 ==0) cout <<a[i] <<"\t";
}
D. for(int i=nmax; i>=0; i--) cout <<a[i] <<"\t";
Câu 25. Trong C++, lệnh #include <string> được sử dụng để:
A. Khai báo biến kiểu xâu ký tự
B. Khai báo thư viện xâu ký tự
C. Sử dụng không gian tên của kiểu xâu ký tự
D. Khai báo biến kiểu rỗng
Câu 26. Tìm giá trị của x,y:
void test (int& a, int b)
{
a += b;
b = a;
}
int main()
{
int x=1, y=2;
test(x,y);
cout << "x = " <<x <<", y = " <<y;
}
A. x=3, y=3
B. x=1, y =2
C. x=1, y=3
D. x=3, y=2
Câu 27. Để tính S là tổng của các phần tử trong dãy A, cần điền dòng lệnh nào sau đây
vào phần ......?
A. S = S+ A[i];
B. S = A[i];
C. S = S+ i;
D. S = i
Câu 28. Chọn phương án đúng:
A. Xâu là dãy các ký tự trong bộ mã ASCII
B. Xâu là dãy các ký tự có độ dài từ 0 đến 255
C. Xâu là dãy các ký tự trong bộ mã Unicode
D. Xâu là dãy các ký tự trong bộ mã ASCII, có độ dài không quá 100
Câu 29. Hàm nào sau đây dùng để trả về xâu bắt đầu từ vị trí đầu tiên tìm thấy ký tự ch
cho đến hết xâu s, nếu không có hàm trả về NULL.
A. strchr(s1, s2);
B. strstr(s1, s2);
C. strncpy(s1, s2);
D. strcpy(s1, s2);
Câu 30. Cho đoạn chương trình sau:
#include <iostream>
using namespace std;
int main(){
string hoten;
cout <<"Nhap ho ten: ";
getline(cin,hoten, '\n');
cout <<"Xin chao, "<<hoten;
}
Chương trình trên bị lỗi gì:
A. thiếu khai báo thư viện string
B. khai báo biến hoten sai kiểu dữ liệu
C. câu lệnh getline(cin,hoten, '\n'); viết sai cú pháp
D. Không có lỗi
Câu 31. Chọn cấu trúc để mở tệp
| 1/18

Preview text:

Câu 1. Trong C++, số phần tử của mảng một chiều là: A. Có giới hạn B. Vô hạn
C. Có nhiều nhất 100 phần tử
D. Có nhiều nhất 1000 phần t
Câu 2. Trong C++, kiểu dữ liệu của các phần tử trong mảng là:
A. Tất cả các phần tử của một mảng phải có cùng kiểu dữ liệu
B. Mỗi phần tử của mảng có một kiểu riêng
C. Phải có kiểu dữ liệu là số nguyên D. Tất cả đều đúng
Câu 3. Trong C++, Cú pháp để khai báo mảng một chiều trực tiếp, sử dụng cấu trúc: A. [số phần tử tối đa] ;
B. [số phần tử tối đa] : ; C. [kiểu chỉ số] ; D. [kiểu chỉ số]
Câu 4. Trong C++, để khai báo mảng kiemtra có tối đa 100 phần tử, kiểu dữ liệu ký tự
sử dụng lệnh nào sau đây? A. char kiemtra[100];
B. Var mang : array[1...100] of char; C. Char[100] kiemtra;
D. Var mang1c : array[1..100] of char;
Câu 5. Trong C++, để khai bảo mảng a có khởi tạo giá trị ban đầu, ta sử dụng lệnh nào sau đây?
A. int a[5] = {5, 10, 4, 7, 8} ;
B. int a[5] = (5, 10, 4, 7, 8) ;
C. int a[5] = [5, 10, 4, 7, 8] ;
D. int a[0] = {5, 10, 4, 7, 8} ;
Câu 6. Trong C++, Chọn phát biểu đúng về câu lệnh lặp với số lần không biết trước
while(điều kiện) {Câu lệnh;} trong các phát biểu dưới đây :
A. Biểu thức điều kiện được tính và kiểm tra, nếu biểu thức đó sai thì câu lệnh được thực hiện.
B. Câu lệnh luôn cũng được thực hiện ít nhất một lần.
C. Điều kiện trong cấu trúc lặp while có thể là một biểu thức kiểu nguyên hoặc kiểu kí tự.
D. Biểu thức điều kiện được tính và kiểm tra, nếu biểu thức đó đúng thì câu lệnh được thực hiện.
Câu 7. Em hãy cho biết giá trị của s sau khi thực hiện đoạn chương trình sau: int s=1;
for(int i=0;i<=10;i+=2) s=s*i; A. 0 B. 480 C. Không xác định D. 55
Câu 8. Cho biết giá trị của biến i khi thực hiện đoạn chương trình sau:
int a[10]={4, 1, 0, 9, 7, 8, 3, 9, 7, 4};
int N=10; i=0; x=9; while(x!=a[i] &&i A. 8 B. 4 C. 9 D. 3
Câu 9. Chọn khai báo đúng, để khai báo mảng a gồm 20 số nguyên? A. int a[20]; B. int a[0. . 19]; C. int a; D. int a[1. . 20]
Câu 10. Cho khai báo int a[10]={4, 1, 0, 9, 7, 8, 3, 9, 7, 4}; Hãy chọn mệnh đề đúng trong các mệnh đề sau A. a[4]=7 B. a[1]=4 C. a[5]=7 D. a[10]=4
Câu 11. Hãy cho biết kết quả của đoạn chương trình sau: int a=-2, b=3; float x;
if(a!=0) {x=-b/a; cout<<”pt co nghiem x=”< else cout<<”ptvn”; A. 1 B. -1.5 C. -1 D. 1.5
Câu 12. Trong ngôn ngữ lập trình C++, câu lệnh nào sau đây là đúng ?
A. if (biểu thức logic) ; câu_lệnh_1 ; else câu_lệnh_2 ;
B. if (biểu thức logic) ; câu_lệnh_1 else câu_lệnh_2 ;
C. if (biểu thức logic) câu_lệnh_1 ; else câu_lệnh_2 ;
D. if (biểu thức logic) câu_lệnh_1 else câu_lệnh_2 ;
Câu 13. Để thực hiện vòng lặp N lần, cách viết nào sau đây là đúng? A. Tất cả đều đúng B. for(int i=1;i<=N;i++)
C. for(int i=0;i D. for(int i=N;i>0;i--)
Câu 14. Sau khi thực hiện đoạn chương trình sau giá trị của biến j bằng bao nhiêu?: int j:=0;
for (int i=0; i<=5; i++) j:=i+2; A. 7 B. 10 C. 5 D. 15
Câu 15. Để mô tả câu lệnh lặp với số lần không biết trươc, trong ngôn ngữ C++ dùng
cấu trúc lệnh nào sau đây?
A. Cấu trúc lệnh rẽ nhánh If B. Cấu trúc lệnh For C. Cấu trúc lệnh While
D. C++ không hỗ trợ cấu trúc lặp
Câu 16. Trong C++, để khai báo kiểu dữ liệu xâu ký tự, sử dụng cú pháp A. string B. string [số phần tử] C. : string D. #inlcude string
Câu 17. Cho biết kết quả thực hiện đoạn chương trình sau: #include using namespace std; int main() {
string sname = "Dai hoc Ha Tinh"; cout << sname.length(); } A. 15 B. 4 C. 6 D. Báo lỗi chương trình
Câu 18. Cho biết kết quả thực hiện đoạn chương trình #include using namespace std; int main() {
string sname = "THPT Dai hoc Ha Tinh";
cout << sname.substr(5, 7); } A. Dai hoc B. Ha Tinh C. THPT D. ai hoc H
Câu 19. Kết quả thực hiện đoạn chương trình #include using namespace std; int main() {
string sname = "THPT Dai hoc Ha Tinh";
cout << sname.find("hoc"); } A. 9 B. 10 C. 4 D. Chương trình báo lỗi
Câu 20. Cho biết kết quả thực hiện đoạn chương trình sau #include using namespace std; int main() {
string sname = "hello every body!";
cout << sname.replace(2, 3, "ey"); } A. heey every body!"; B. he every body!"; C. every body! D. Hello
Câu 21. Đoạn chương trình trên thực hiện công việc gì dưới đây ¿
A. Tìm chỉ số của phần tử nhỏ nhất trong mảng
B. Tìm phần tử nhỏ nhất trong mảng
C. Tìm phần tử lớn nhất trong mảng
D. Tìm chỉ số của phần tử lớn nhất trong mảng
Câu 22. Cho đoạn chương trình A. hello baby B. hello world C. baby world D. world baby
Câu 23. Trong C++, để tham chiếu đến phần tử trong mảng một chiều
A. Tên biến mảng, tiếp theo là chỉ số viết trong cặp ngoặc [ và ]
B. Tên biến mảng, tiếp theo là chỉ số viết trong cặp ngoặc ( và )
C. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp ngoặc [ và ]
D. Tên kiểu mảng, tiếp theo là chỉ số viết trong cặp ngoặc ( và ) Câu 24. Cho khai báo sau: const int nmax=10; int a[nmax];
Câu lệnh nào dưới đây sẽ in ra các phần tử chẵn của mảng trên ? A. for(int i=0; i{ if(a[i] %2 ==0) cout <} B. for(int i=0; i{ if(a[i] %2) cout <} C. for(int i=0; i{ if(a[nmax] %2 ==0) cout <}
D. for(int i=nmax; i>=0; i--) cout <Câu 25. Trong C++, lệnh #include được sử dụng để:
A. Khai báo biến kiểu xâu ký tự
B. Khai báo thư viện xâu ký tự
C. Sử dụng không gian tên của kiểu xâu ký tự
D. Khai báo biến kiểu rỗng
Câu 26. Tìm giá trị của x,y: void test (int& a, int b) { a += b; b = a; } int main() { int x=1, y=2; test(x,y);
cout << "x = " <getline(cin,hoten, '\n'); cout <<"Xin chao, "<}
Chương trình trên bị lỗi gì:
A. thiếu khai báo thư viện string
B. khai báo biến hoten sai kiểu dữ liệu
C. câu lệnh getline(cin,hoten, '\n'); viết sai cú pháp D. Không có lỗi
Câu 31. Chọn cấu trúc để mở tệp