Đề thi tin học đại cương ĐHBKHN
Trang 1Họ và tên: Lớp: Số hiệu SV: Phách:
ĐỀ THI TIN ĐẠI CƯƠNG
Thời gian: 70 phút
ĐỀ BÀI
Trang 2Câu 1 Tính kết quả các phép toán sau đây
Biết toán hạng đều là số nguyên
không dấu 8 bit, kết quả sau khi
tính toán được chuyển thành số
thập phân:
A = 7 AND 12
a A = 3
b A = 19
c A = 15
d A = 4
Câu 2 Kết quả của biểu thức 2*3+4/2 > 3
&& 3<5 || 10<9 sẽ bằng
a 0
b 1
c Không có kết quả nào ở trên
d Biểu thức viết sai, không tính
được kết quả
Câu 3 Sau khi thực hiện các câu lệnh sau
một cách tuần tự
int a=5,c=2;
float b=11;
int d=3;
d= (int)b++/c%5;
Giá trị của biến d sẽ là :
a 0
b 1
c 6
d 5
Câu 4 Cho các số nguyên không dấu A =
FA(16), B = 153(8), C = 200(10)
Hãy sắp xếp A, B, C theo thứ tự
tăng dần
a A, B, C
b B, C, A
c A, C, B
d B, A, C
Câu 5 Trong các mạng LAN, WAN,
MAN, GAN mạng nào có quy mô
lớn nhất
a LAN (Local Area Network)
b WAN(Wide Area Network)
c GAN(Global Area Network)
d MAN(Metropolitan Area
Network)
Câu 6 Giá trị của số thập phân 12.6875
trong hệ nhị phân là:
a 1100.1011
b 1100.01011
c 1010.1011
d 1010.01011 Câu 7 Điền dòng lệnh thích hợp vào dấu
(…) trong đoạn chương trình sau
để thực hiện thao tác kiểm tra xem người dùng đã nhập đúng giá trị là
số nguyên dương nhỏ hơn 10 hay chưa, nếu chưa yêu cầu nhập cho đến khi nào đúng thì thôi
void main(){
int n;
do{
printf(“Nhap vao mot so nguyen duong nho hon 10”);
scanf(“%d”,&n);
}….;
}
a while (n<10)
b while (n<10 & n>=0)
c while (n<=0 || n>=10)
d while (n>=0 || n<=10)
Câu 8 Giá trị số nhị phân 110101010 khi
chuyển sang hệ thập lục phân (hệ
cơ số đếm 16) sẽ bằng
a 1AA
b D50
c FAA
d D5A Câu 9 Cách biểu diễn số âm trong máy
tính là
a Thêm dấu – vào trước giá trị nhị
phân dương tương ứng
b Đảo các bit của giá trị nhị phân
dương tương ứng
c Sử dụng mã bù 2
d Sử dụng mã bù 10 Câu 10 Hãy cho biết sau đoạn lệnh sau
biến a nhận giá trị bằng bao nhiêu?
int a,b,c;
b=10;c=20;
a=b>c?100:200;
a a = 0
Trang 3b a = -1
c a = 100
d a = 200
Câu 11 Hãy cho biết sau đoạn chương
trình sau kết quả in ra màn hình
như thế nào?
void main(){
int a =1;
int n=0;
while (n<10){
a++;
} printf(“a = %d”,a);
}
a a = 1
b a = 10
c Chương trình lặp vô hạn và
không dừng
d Chương trình lỗi cú pháp không
chạy được (phân vân!)
Câu 12 Hãy cho biết sau khi chạy xong
đoạn chương trình sau kết quả ta
thu được mảng a như thế nào?
void main(){
int a[10];
int temp;
int i;
for(i=0;i<10;i++){
printf(“Nhap gia tri cho so
a[%d]”,i);
scanf(“%d”,&a[i]);
}
temp=a[0];
for(i=1;i<10;i++)
if(a[i] > temp) temp =a[i];
a[0]=temp;
}
a Phần tử đầu tiên của mảng a
được thay bằng phần tử nhỏ nhất
trong mảng
b Mảng a sắp xếp theo thứ tự tăng
dần
c Mảng a sắp xếp theo thứ tự giảm
dần
d Phần tử đầu tiên của mảng a được thay bằng phần tử lớn nhất trong mảng
Câu 13 Hãy cho biết sau khi chạy xong
đoạn chương trình sau kết quả được đưa ra màn hình là như thế nào?
void main(){
char *s;
s = “Xin chao cac ban”;
s = strstr(s,”cac ban”);
printf(“%s”,s);
}
a Xin chao
b cac ban
c chao cac ban
d Xin chao cac ban Câu 14 Các thao tác xử lý của máy tính
gồm (a) Nhận lệnh tiếp theo, (b) Nhận dữ liệu nếu cần, (c) Giải mã lệnh, (d) Thực hiện lệnh Trình tự thực hiện hợp lý là?
a a, b, c, d
b a, c, b, d
c c, b, d, a
d d, b, a, c Câu 15 Với khai báo biến M sau int M[4][5] = { 10, 2, -3, 17, 82, 9, 0,
5, 8, -7, 32, 20, 1, 0, 14, 0, 0, 8, 7, 6 };
giá trị của M[1][2] là
a 0
b 5
c 8
d 2
Câu 16 Sau khi thực hiện các lệnh sau một
cách tuần tự
int i;
char str[] = {"helloworld!"}; char words[10];
for(i=0;i<strlen(str)/2;i++) words[i]=str[i+1];
words[i-1]='\0';
printf("%s\n",words);
Nội dung màn hình sẽ là?
Trang 4a ellow
b hello
c ello
d hell
Câu 17 Chức năng chính của tập các thanh
ghi là?
a Điều khiển nhận lệnh
b Vận chuyển thông tin giữa các
thành phần trong máy tính
c Chứa các thông tin phục vụ cho
hoạt động của CPU
d Không có câu trả lời nào ở trên là
đúng
Câu 18 Lệnh đúng để in 2 biến số thực x, y
ra màn hình theo quy cách sau
Dòng 1 : In giá trị x, căn lề trái, chiếm
10 vị trí trong đó có 2 vị trí cho phần
thập phân
Dòng 2 : In giá trị y, căn lề phải,
chiếm 6 vị trí trong đó có 3 vị trí cho
phần thập phân
a printf(“%-10.2f \n%6.3f”,x,y);
b printf(“%-10.3f \n%6.4f”,x,y);
c printf(“%10.2f ”,x) ;
printf(“%-6.3f ”,y) ;
d printf(“%10.2f ”,x) ;
printf(“\n%-6.3f ”,y) ; (ai biết rõ giải thích
giúp mình với !)
Câu 19 Cho biết kết quả trên màn hình của
lệnh sau (Với □ là ký tự space):
printf("%5.2f ", 3.454) ;
a □3.5
b □3.45
c □□3.45
d 3.454
Câu 20 Trong các khai báo sau, khai báo
nào không có lỗi?
a #define MAX=10
b #define MAX 10
c #define MAX 10;
d const int MAX 10;
Câu 21 Cho biết giá trị của các biến a,b,c
sau khi thực hiện đoạn chương
trình sau:
int a,b,c;
a=5;
b=a++;
c= a++ + ++b –1;
a a=7, b=6, c=11
b a=7, b=7, c=11
c a=7, b=6, c=10
d a=7, b=7, c=10 Câu 22 Câu lệnh kiểm tra xem biến ký tự c
có phải là chữ cái không là?
a if( (‘A’ <= c) && (c <= ‘z’))
b if( ((‘A’ <= c) && (c <= ‘Z’))
&& ((‘a’ <= c) && (c <= ‘z’)))
c if( ((‘A’ <= c) || (c <= ‘Z’)) &&
((‘a’ <= c) || (c <= ‘z’)))
d if( ((‘A’ <= c) && (c <= ‘Z’)) ||
((‘a’ <= c) && (c <= ‘z’)))
Câu 23 Khẳng định nào sau đây về mạng
máy tính là đúng
a Mạng máy tính là tập hợp các
thiết bị tính toán được nối với nhau
b Các thiết bị kết nối với nhau trong
mạng để chia sẻ thông tin
c Các máy tính trong mạng được
kết nối với nhau thông qua dây, sóng radio hoặc hồng ngoại
d Tất cả các khẳng định trên Câu 24 Giá trị của biến m sau khi thực
hiện đoạn chương trình sau là?
float A[4]={1.1,1.2,1.3,1.4};
int i; float m=0;
for(i=0;i<=2;i++) if(m<A[i]) m=A[i];
a 0
b 1.1
c 1.3
d 1.4 Câu 25 Cần nhập vào từ bàn phím n số
nguyên với n cũng được nhập từ bàn phím Khai báo nào đúng nhất cho mảng A để lưu trữ n số nguyên này
a int A[n];
b int A[100];
c int A[int n];
Trang 5d int A[]={1,2,3};
Câu 26 Hệ thống các chương trình đảm
nhận chức năng làm môi trường
trung gian giữa người sử dụng và
phần cứng của máy tính được gọi
là?
a Phần cứng
b Hệ điều hành
c Các loại trình dịch trung gian
d Tất cả đều đúng
Câu 27 Phần khai báo biến sau trong C
chiếm bao nhiêu byte trong bộ nhớ
float M1[1 20];
char M2[20];
a 100
b 101
c 102
d 103
Câu 28 Dòng lệnh khai báo nào sau đây là
đúng với cú pháp khai báo nguyên
mẫu hàm trong C của hàm tìm giá
trị lớn nhất trong 3 số a,b,c
a function max(int a, int b, int c);
b int max(int a, int b, int c);
c max(int a, int b, int c);
d max()
Câu 29 Hãy cho biết kết quả sau khi chạy
đoạn chương trình sau
void main(){
char *s1, *s2;
s1 = “Xin chao ”;
s2 = “cac ban”;
s1 = strcat(s1,s2);
printf(“%s”,s1);
}
a Xin chao
b cac ban
c chao cac ban
d Xin chao cac ban
Câu 30 Hãy cho biết sau khi thực hiện
đoạn chương trình sau kết quả thu
được là như thế nào?
void main(){
int i;
char temp;
char s[20] = “Xin chao ban than”;
for(i=0;i<8;i++){
temp =s[i];
s[i] = s[i+9];
s[i+9] = temp;
} printf(“%s”,s);
}
a Xin chao ban than
b chao ban than Xin
c ban than Xin chao
d than Xin chao ban
Câu 31 Trong các thiết bị sau, thiết bị nào
là thiết bị ra?
a Con chuột
b Bàn phím
c Máy quét
d Máy chiếu Câu 32 Sau khi thực hiện các câu lệnh sau
một cách tuần tự
int a=5,c=2;
float b=11;
int d=3;
d= (int)b/c%5;
giá trị của biến d sẽ bằng?
a 5
b 3
c 0
d 1 Câu 33 Một số nguyên có dấu biểu diễn
dưới dạng số nhị phân 8 bit là
01010101 Giá trị của số đó là?
a -43
b -85
c +85
d +43 Câu 34 Đoạn chương trình sau cho kết quả
như thế nào khi người sử dụng
nhập vào xâu: thu do ha noi
char s1[20], s2[21];
scanf(“%s“, s1);
gets(s2);
a s1= “thu do ha noi” , s2= “”
b s1= “thu do ha”, s2=“noi”
c s1= “thu”, s2= “ do ha noi”
Trang 6d Chương trình báo lỗi
Câu 35 Cho biết kết quả của đoạn chương
trình
float f = 1.234;
printf (“f = %3.2f”,f);
a f = 3.2
b f=1.234
c f = %3.2f
d f = 1,23
Câu 36 Cho biết giá trị của số 63 khi biểu
diễn sang số BCD (Binary Coded
Decimal) có giá trị bằng bao
nhiêu?
a 0110 0011
b 0001 1100
c 0101 1010
d 0011 0110
Câu 37 Đoạn chương trình sau sẽ in những
gì ra màn hình
int i=0;
char c = 'c';
for(i=0; i<6; i=i+2){
c=c+i;
printf ("%c ", c);
}
a c e i
b c e i o
c e i o
d Không có đáp án nào đúng
Câu 38 Trong các dòng khai báo sau, dòng
khai báo nào là sai
1: #define PI 3.1415;
2: const float g 9.81;
3: int i=0;
4: int j='a';
a Dòng 2, 3 ,4
b Dòng 1, 2 , 3
c Dòng 1, 2
d Dòng 1, 2, 4
Câu 39 Hệ điều hành được xếp loại là?
a Phần mềm ứng dụng
b Phần mềm hệ thống
c Phần cứng
d Thiết bị ngoại vi
Câu 40 Sau khi thực hiện các câu lệnh sau
một cách tuần tự
int a=5, b=7, c=2;
int d=4;
d= b/c%5;
giá trị của biến d sẽ bằng?
a 3.5
b 4
c 3
d Không kết quả nào ở trên là đúng
Câu 41 Chỉ ra lựa chọn tương ứng với các
thành phần thuộc bộ nhớ ngoài
a ROM, RAM
b Đĩa cứng, đĩa mềm
c Đĩa cứng, CD-ROM, ROM
d Đĩa cứng, đĩa mềm, bộ nhớ cache
Câu 42 Thực hiện các câu lệnh sau một
cách tuần tự
int a;
for(a=1;a<=10, a%5!=0;a++) printf("%d ",a);
nội dung màn hình sẽ là?
a 1 2 3 4 6 7 8 9 10
b 1 2 3 4 5 6
c 1 2 3 4
d 1 2 3 4 5
Câu 43 Thực hiện các câu lệnh sau một
cách tuần tự int a;
for(a=1; a<=10; a++) {
printf("%d ",a);
if(a%3!=0) a= a+2;
}
nội dung màn hình sẽ là?
a 1 4 7
b 1 4 7 10
c 1 3 5 7 9
d 1 4 8
Câu 44 Các thành phần cơ bản của một hệ
thống máy tính gồm có
a Mainboard, ổ cứng, màn hình
b Bộ xử lý trung tâm, bộ nhớ chính,
hệ thống vào ra, liên kết hệ thống
c Bộ xử lý trung tâm, bộ nhớ, thiết
bị ngoại vi, liên kết dữ liệu
d Chip vi xử lý, bộ nhớ, thiết bị vào
ra, nguồn
Trang 7Câu 45 Trong 2 đoạn chương trình sau,
đoạn nào cho kết quả i = 12?
(A) int i=6; do i++; while (i<12);
(B) int i=6; while (i<12) i++;
a A
b B
c Cả A và B
d Không có đoạn nào
Câu 46 Cho biết kết quả hiện trên màn
hình của đoạn chương trình sau
int i=1;
while(1)
{
printf(“%d”,i);
i++;
if(i%3==0) continue;
printf(“/”);
if(i%5==0) break;
}
a 1/23/4/
b 1/23/4
c 1/2/3/4
d Chương trình có lỗi
Câu 47 Cho đoạn chương trình nhập vào
từ bàn phím một số nguyên lớn hơn
hoặc bằng 0, nếu nhập sai yêu cầu
nhập lại
do { scanf(“%d”,&n); if (A)
printf(“Nhap sai, hay nhap
lai”); } while (B);
a A: n<0 B: n<0
b A: n<0 B: n>=0
c A: n>=0 B: n>=0
d Chương trình không làm đúng
công việc yêu cầu
Câu 48 Kết quả của biểu thức 10010110
XOR 01101001 là bao nhiêu?
a 11111111
b 00000000
c 10010110
d 01101001
Câu 49 Cho hàm kiểm tra xem một số >2
có phải là số nguyên tố không
Hàm trả về 1 nếu là số nguyên tố,
trả về 0 nếu không phải số nguyên
tố Giá trị của M, N là bao nhiêu:
(biết số nguyên tố là số chỉ chia hết
cho 1 và chính nó)
int SONGUYENTO (int n) { int i ; int k = M ;
for(i=2 ; i<n ; i++)
if ((n% i)==0) k= N; return k; }
d Chương trình không thực hiện đúng yêu cầu
Câu 50 Cho khai báo struct SINHVIEN { char MaSo[7]; /*mã s sinh viên*/ ố sinh viên*/ char HoTen[30]; /*h tên sinh ọ tên sinh viên*/
float DiemTB; /*đi m trung bình*/ ểm trung bình*/ } A;
Trong các lệnh sau, lệnh nào in ra đúng các trường dữ liệu của A
a printf(“%7s\n%30s\n
%f”,SINHVIEN.MaSo, SINHVIEN.HoTen, SINHVIEN.DiemTB);
b printf(“%7s\n%30s\n%f”, MaSo, HoTen, A.DiemTB);
c printf(“%7s\n%30s\n%f”,A.MaSo, A.HoTen, A.DiemTB);
d printf(“%7s\n%30s\n%f”,MaSo, HoTen, DiemTB);
Câu 51 Lệnh mở tệp văn bản songuyen.txt
để chỉ đọc là?
a FILE *fp; fp = fopen(“songuyen.txt”, “r”);
b FILE *fp; fp = fopen(“songuyen.txt”, “rb+”);
c FILE *fp; fp = fopen(“songuyen.dat”,” rb”);
d FILE *fp; fp = fopen(“songuyen.txt”,”a”);
Câu 52 Trong ngôn ngữ lập trình C, cách
khai báo biến nào sau đây là đúng
cú pháp?
a float int n;
b unsigned int n;
c unsign n =0;
d n:int;
Trang 8Câu 53 Chọn phát biểu đúng về vai trò của
hệ điều hành
a Quản lý các tài nguyên của máy
tính
b Quản lý thiết bị ngoại vi
c Kiểm tra phần cứng hệ thống khi
khởi động
d Điều khiển hiển thị dữ liệu ra màn
hình
Câu 54 Trong ngôn ngữ lập trình C, sau
khi đoạn chương trình sau được
thực hiện thì biến C mang giá trị
bao nhiêu?
int A = 10, B = 20, C;
switch (A>B) {
case 0 : C = A ; break;
case 1 : C = B ; break;
}
a C = 0
b C =1
c C =10
d C=20
Câu 55 Trong ngôn ngữ lập trình C, cho
biết kết quả hiển thị trên màn hình
sau khi đoạn chương trình sau được
thực hiện
int i = 0;
while (i<10) {
i++;
if (i%2 == 0) break;
printf(“%d “,i);
}
a 0 1 2 3 4 5 6 7 8 9
b 0 2 4 6 8
c 1 3 5 7 9
d 1
Câu 56 Vì sao dung lượng của bộ nhớ
ngoài có thể lớn hơn bộ nhớ trong
rất nhiều?
a Vì công nghệ chế tạo bộ nhớ
ngoài rẻ hơn bộ nhớ trong rất
nhiều
b Vì bộ nhớ trong chịu sự điều
khiển trực tiếp của CPU
c Vì bộ nhớ ngoài không bị giới hạn
bởi không gian địa chỉ của CPU
d Vì hệ thống vào ra cho phép ghép
nối với bộ nhớ có dung lượng lớn
Câu 57 Trong ngôn ngữ lập trình C, cho
biết sau khi đoạn chương trình sau đây được thực hiện thì phần tử A[9] của mảng mang giá trị bao nhiêu?
int A[10] = {1, 5, 2, 7, 3, 10, 9, 0,
-1, 7};
int i,j,k;
for(i=1; i<10; i++) for(j=9; j>=i; j )
if (A[j] < A[j-1]) {
k = A[j];
A[j] = A[j-1]; A[j-1] = k; }
a A[9] = 7
b A[9] = -1
c A[9] = -10
d A[9] = 9
Câu 58 Trong ngôn ngữ lập trình C, cho
biết sau khi đoạn chương trình sau được thực hiện thì phần tử A[0] của mảng mang giá trị bao nhiêu?
int A[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int i,k;
for (i =0; i<5; i++) {
k = A[i];
A[i] = A[9-i];
A[9-i] = k;
}
a A[0] = 0;
b A[0] = 9;
c A[0] = 4;
d A[0] = 5;
Câu 59 Một máy tính sử dụng bộ vi xử lý
có độ rộng của đường bus địa chỉ (Address Bus) là 32 bit Hỏi với máy tính này, dung lượng tối đa của bộ nhớ chính là bao nhiêu?
Trang 9a 256 MB
b 1 GB
c 4 GB
d Không giới hạn
Câu 60 Đâu là cách biểu diễn đúng khi
khai báo hằng
a const int MAX_SINH_VIEN =50
b const MAX_SINH_VIEN = 50;
c #define int
MAX_SINH_VIEN=50
d #define MAX_SINH_VIEN 50