Câu hỏi Đáp án Giả sử có câu lệnh ch=’A’ Vậy ch sẽ chứa bao nhiêu byte? 1 Cho biến x, đâu là câu lệnh để nhập giá trị cho biến x? cin>>x; Trong C, các tác vụ xuất nhập chuẩn được khai báo trong tập ti.
Trang 1Câu hỏi Đáp án
Giả sử có câu lệnh ch=’A’ Vậy ch sẽ
chứa bao nhiêu byte?
1
Cho biến x, đâu là câu lệnh để nhập
giá trị cho biến x? cin>>x;
Trong C, các tác vụ xuất nhập chuẩn
được khai báo trong tập tin:
stdio.h
Ngôn ngữ lập trình C có chứa các
Chọn phát biểu sai: Một tên bắt đầu
Khi gán giá trị mới cho một biến thì: Giá trị cũ bị mất đi
Đoạn chương trình sau đây in ra màn
hình kết quả bao nhiêu?
Dữ liệu kiểu kí tự bao gồm: Cả 3 phương án đều đúng
Sự tương ứng () của thành phần trong
C và trong tiếng Việt là?
Khối lệnh Đoạn văn
Xâu định dạng nào sau đây dùng để
in ra một số thực có độ chính xác đơn
(float)?
“%f”
Trang 2Cái gì làm thay đổi độ ưu tiên của
toán tử trong biểu thức?
Cặp ngoặc đơn ()
Tính tuần tự của máy khi thực hiện
chương trình là?
Từ trên xuống và trái sang phải
Cấu trúc lệnh nào sau đây thực hiện
kiểm tra điều kiện sau khi thực hiện
nhóm lệnh lặp:
do while
Nếu nhóm lệnh lặp lồng nhau sau đây
được thực hiện, thì k có giá trị bao
case 1: cout<<"So Mot"; break;
case 2: cout<<"So Hai"; break;
case 3: cout<<"So Ba"; break;
Trang 3Cấu trúc lệnh nào sau đây sẽ không
thực hiện nhóm lệnh lặp nếu ngay lần
đầu tiên biểu thức điều kiện sai:
a.if
b.for
c.while (sai)
d.Cả 3 đáp án đều đúngNếu đoạn mã sau được thực thi, nhóm
printf(“b - Max”);
elseprintf(“Khong xac dinh”);
Đoạn chương trình sau in ra màn hình
Đoạn đoạn mã sau cho kết quả cuối
cùng của S là bao nhiêu?
int S=10;
for (int i=0; i<3;i++)
13
Trang 4Nếu đoạn đoạn mã sau đây được thực
thi, thì biến t có giá trị bao nhiêu?
Trang 5Nếu đoạn mã sau được thực thi, S sẽ
có giá trị bao nhiêu?
Nếu đoạn mã sau được thực thi, số
chuỗi "Hello" được xuất ra trên màn
Trang 6Nếu nhóm lệnh lặp lồng nhau sau đây
được thực hiện, thì d có giá trị bao
Đoạn đoạn mã sau cho kết quả cuối
cùng của S là bao nhiêu?
anh/chị hãy cho biết cấu trúc lệnh lặp
for nào sau đây viết sai?
a
for(int i=1,j=0;i<9,j<5;i++,j++)cout<<i+j;
Trang 7for(int j=0, j<10, j++)cout<<j;
Nếu đoạn mã sau được thực thi, S sẽ
có giá trị bao nhiêu?
Anh/chị hãy cho biết đoạn chương
trình nào sau đây cho in kết quả là 10
lên màn hình?
a
int j=0;
while(j<10)cout<<j+1;
b
int j=0;
while(j<10)j++;
cout<<j+1;
c
int j;
for(j=0;j<10;j++)j=j+1;
cout<<j;
d
int j;
for(j=0;j<10;j++)cout<<j;
Kết quả in ra màn hình của chương
Trang 8Sau khi thực thi đoạn mã sau, giá trị
Ký tự chữ cáic
Ký tự chữ cái - Ký tự gạch nối
d
Ký tự chữ số
Đoạn chương trình sau đây cho kết
quả như thế nào?
Để thực hiện tính công thức:
a.(x+y)%(x-z)b.(x+y):(x-z)
c.(x+y)/(x-z)
Trang 9d.x+y/x-zKiểu dữ liệu nào dưới đây được coi là
kiểu dữ liệu cơ bản trong ngôn ngữ
lập trình C?
Kiểu double
Những tên biến nào dưới đây được
viết đúng theo quy tắc đặt tên của
ngôn ngữ lập trình C?
_diemltC
Đoạn chương trình sau đây in ra màn
hình kết quả bao nhiêu?
Chương trình báo lỗi
Đoạn chương trình sau đây in ra màn
hình kết quả bao nhiêu?
Giá trị ban đầu của a là 5, b là 7 Sau
khi thực hiện xong hàm sum(int a, int
b) thì a, b có giá trị bao nhiêu?
int sum (int *a, int b)
Khi có lời gọi một hàm, máy sẽ làm
gì trước khi chuyển vào thực hiện
hàm đó?
Tạm dừng phần chương trình đangchạy
Hãy cho biết lời gọi đúng nhất đối với
hàm sau:
int AB( int x, int y ){ return x+y; }
printf(“%d”,AB(5,6));
Chọn lệnh gọi hàm đúng nhất (với a a
Trang 10là một biến) của khai báo sau:
int H( int *x , int y );
Hàm sau cho kết quả (trả về) giá trị
28 với lời gọi nào sau đây:
Anh/chị hãy cho biết kết quả của
chương trình trên là bao nhiêu?
Anh/chị hãy cho biết kết quả của
chương trình trên là bao nhiêu?
2
Đoạn chương trình sau làm gì (a là
mảng số nguyên, n là số phần tử):
for( i=n; i > 0; i )
Chèn thêm phần tử cuối lên đầu mảng
Trang 11Đảo ngược các phần tử trong mảng
Các phần tử của mảng sau đây có chỉ
số:
int a[100];
Từ 0 đến 99
Đoạn chương trình sắp xếp mảng tăng
dần dưới đây sẽ cần thay đổi gì để
được sắp xếp giảm dần (a là mảng số
nguyên, n là số phần tử):
for( i=0; i < n-1; i++)
for( j=i+1; j < n; j++)
if( a[i] > a[j] )
{ tg = a[i]; a[i] = a[j]; a[j] = tg; }
Thay đổi điều kiện so sánh của lệnh if
là a[i] < a[j]
Khai báo mảng sau đây có thể chứa
được:
int a[100];
Dãy tối đa 100 số nguyên
Khai báo mảng sau đây có thể chứa
Mảng a chứa tối đa 200 số thực
Kết quả của biểu thức sau đây là bao
Trang 12Đọc dữ liệu của tập tin văn bản sử
dụng các hàm nào sau đây
fscanf, fgets, fgetc
Đọc, ghi dữ liệu của tập tin nhị phân
sử dụng các hàm nào sau đây
Lệnh khai báo sau đây khai báo mảng
Trang 13dịch chuyển biến trỏ đi 1 bước nhảy
có độ lớn là bao nhiêu bytes?
b.1 byte (sai)
c.4 bytes (sai)
d.8 bytesNhững hàm nào sau đây được sử
dụng trong việc cấp phát vùng nhớ
động?
malloc(), calloc(), realloc()
Kiểu truy nhập “wb” được dùng để
dụng các hàm nào sau đây
fprintf, fputc, fputs
Đoạn chương trình sau thực hiện
Xóa bộ đệm (dòng vào) của bàn phím
để nhập dữ liệu hoàn toàn mới
Để mở file “SoNguyen.dat” dưới
dạng tệp Nhị phân và cho phép ghi
nội dung vào thì câu lệnh là gì?
f = fopen(“SoNguyen.dat”, “wt”);
Hàm getch() được khai báo trong tập
tin:
conio.h
Đọc, ghi dữ liệu của tập tin văn bản
sử dụng các hàm nào sau đây
fscanf, fprintf, fputc, fputs, fgets,fgetc
Cho đoạn chương trình như sau Sắp xếp danh sách Sinh viên theo
Trang 14điểm trung bình (DTB) tăng dần
Chương trình sau thực hiện nhiệm vụ
Hình elíp để mô tả thao tác trong
thuật toán là?
Bắt đầu hoặc kết thúc thuật toán
Lệnh “return” trong hàm để Trả về một giá trị kết quả và kết thúc
hàmChỉ ra tên đúng của các ngôn ngữ lập
trình thông dụng?
C/C++, Java, Pascal
Địa chỉ đầy đủ của một biến nhớ
được tạo ra trong chương trình bao
gồm những thành phần nào:
Địa chỉ Segment và địa chỉ Offset củabiến đó
Cho chương trình sau:
#include <stdio.h> Tong: -4
Trang 15int sum(int a, int b);
Cho đoạn chương trình như sau:
typedef struct { int x;int y;} diem;
Danh sách nhiều dữ liệu cùng kiểu
Cho tệp “SoNguyen.txt” chứa các giá
trị như sau:
“6 7 8 9”
Kết quả của biến x có giá trị bằng bao
nhiêu khi thực hiện các câu lệnh:
Khai báo hàm sau sẽ có:
int A( int *x , int *y );
Hai tham biến
Dấu chấm phẩy ở cuối trong khai báo
kiểu cấu trúc có bắt buộc không?
Trang 16là dòng lệnh sai?
int a = 12, b=14;
int *const p1 = &a;
int const *p2 = &b;
Khi gán vào chương trình lệnh nào
sau đây không gây lỗi:
a={“Duy”,34,”Ha Noi”};
Phát biểu nào sau đây là sai? a.Chỉ có con trỏ mới được sử dụng
Trang 17làm tham số cho hàm
b.Hàm có thể nhận tham số là con trỏhoặc biến
c.Khi gọi hàm địa chỉ của biến nhớhoặc con trỏ được truyền vào chohàm
d.Con trỏ có thể được sử dụng làmtham số cho hàm
Đoạn chương trình sau làm gì (a là
mảng số nguyên, n là số phần tử):
tg = a[0];
a[0] = a[n-1];
a[n-1] = tg;
Đổi chỗ phần tử đầu và cuối cho nhau
Biên dịch chương trình là để? Chuyển chương trình từ dạng mã
nguồn về dạng mã máyHàm sau cho kết quả (trả về) gì với
lời gọi là XYZ(5):
int XYZ( int x )
{ if (x>0) return x+XYZ(x-1); else
d.Phần cứng máy tínhChúng ta có thể truyền cho tham biến
nào sau đây sẽ không hợp lệ
a.p = a;
Trang 18Anh/chị hãy cho biết kết quả của
chương trình trên là bao nhiêu?
Sự khác nhau giữa 2 kiểu khai báo
“struct tênkiểu{…};” và “typedef
struct tênkiểu{…}tênsửdụng;”:
Khác biệt về cách khai báo biến theokiểu cấu trúc trong chương trình
Thuật toán được mô tả bằng? Mô tả từng bước, sơ đồ khối
Cho biến x, đâu là câu lệnh để in giá
Trang 19Giá trị ban đầu của a là 0, b là 0 Sau
khi thực hiện xong hàm nhập với a=5,
b=7 thì a, b có giá trị bao nhiêu?
void nhap(int a, int b)
Vậy trong khai báo trên “Manh” được
máy tính hiểu là đánh số nào?
Trang 20S1=(2, 1, 3);
S2={“Ly Ly”, {4, 5, 6}};
Trong các khởi tạo giá trị cho các cấu
trúc, đâu là khởi tạo đúng?
Hãy cho biết kết quả của đoạn
Cho biết chỗ sai của hàm sau
void A@B( int x, y ){ return x+y; }
a.Sai tên hàm, kiểu hàm và khai báotham số
b.Sai kiểu hàmc.Không có chỗ sai
d.Sai tên hàmCác bước để thao tác với tập tin Khai báo biến tập tin - Mở tập tin –
Xử lý dữ liệu – Đóng tập tinTrong một chương trình có thể chứa: Nhiều hàm
Khai báo hàm sau sẽ có:
int A( int x , int *y );
Tham trị x và tham biến y
Ngôn ngữ lập trình có chức năng
chính?
a.Tạo cơ chế biên dịch chương trình
b.Cung cấp quy tắc viết lệnh
c.Không phải ba trường hợp trênĐoạn chương trình sau làm gì (a là
mảng số nguyên, n là số phần tử):
for( tong=0, i=0; i < n-1; i++)
if( a[i] > 0 ) { tong = tong + a[i]; }
Tính tổng các phần tử có giá trịdương trên mảng
Hình thoi để mô tả thao tác trong
thuật toán là?
Lựa chọn theo điều kiện
Hãy cho biết kết quả của đoạn mã
Trang 21Các giai đoạn cơ bản của việc xây
Cho đoạn mã sau:
Khai báo mảng sau đây gồm:
d.Nhân đôi xâu s chứa vào t
Phần mềm để chuyển nội dung Compiler
Trang 22chương trình từ mã nguồn về mã máy
Anh/chị hãy cho biết kết quả của
chương trình trên là bao nhiêu?
5 2 3 4 1
Lập trình (programming) là? Viết chương trình cho máy tính
Thuật toán phải có đặc trưng cơ bản a.Đúng đắn, phổ dụng, hiệu quả
b.Hữu hạn, đúng đắn, khả dụng, phổdụng
c.Hữu hạn, khả dụng, đúng đắn, đơngiản
d.Hữu hạn, đúng đắn, nhanh gọnChương trình dạng mã nguồn là? Chương trình sau khi biên soạn
Hình chữ nhật để mô tả thao tác trong
Trang 23Đâu là khai báo thư viện đúng trong
chương trình C/C++?
#include<tên thư viện>
Cho khai báo:
int a,b,c;
Anh/chị hãy cho biết đâu là một công
thức (câu lệnh) SAI?
a => c;
Trong C, chỉ thị #include đòi hỏi: a.File phải tồn tại trong đĩa cứng
b.File phải tồn tại trong đĩa CD
c.File phải tồn tại trong thư mục gốc
ổ đĩa cứng C: (sai)
d.File phải tồn tại trong thư mụcinclude đã được thiết lập bởi ngườidùng //
Xâu định dạng nào dưới đây dùng để
in ra một số nguyên trong lệnh printf?
“%d”
Phương pháp phân rã bài toán khi giải
quyết bài toán là?
a.Tổng hợp các bài toán nhỏ thành bàitoán lớn
b.Tất cả các phương án (sai)
c.Chia một bài toán thành 2 bài toán
d.Chia nhỏ bài toán lớn thành các bàitoán nhỏ //
d.Khai báo xâu có ký tự là 256 Đoạn chương trình sau làm gì (a là
mảng số nguyên, n là số phần tử):
for( i=k=1; i<n; i++ )
{ if( a[i] != a[0] )
{ a[k]=a[i]; k++; }
}
a.Xóa các phần tử giống phần tử đầu
b.Xóa các phần tử sau phần tử đầunhưng giống phần tử đầu
c.Xóa các phần tử khác phần tử đầud.Xóa các phần tử sau phần tử đầu
Trang 24nhưng khác phần tử đầu Cần khai báo mảng một chiều a gồm
tối đa 20 số thực thì đâu là khai báo
đúng?
float a[20];
Cần khai báo mảng hai chiều a gồm
tối đa 5 hàng và 6 cột chứa các số
nguyên thì đâu là khai báo đúng?
int a[5][6];
Biến toàn cục là biến được khai báo ở
đâu là đúng nhất?
Bên ngoài mọi hàm
Chúng ta có thể truyền cho tham trị
khi thực hiện xong hàm sum(int a, int
b) thì a, b có giá trị bao nhiêu?
int sum (int a, int b)
Ý nghĩa của phương pháp phân rã bài
toán trong lập trình là:
a.Dễ dàng kiểm soát, nâng cấp
b.Tất cả các phương án
c.Giúp triển khai theo nhóm thuận lợi
d.Giảm thiểu sự lặp lạiCho chương trình sau:
Anh/chị hãy cho biết kết quả của
chương trình trên là bao nhiêu?
6 5 4 3 2
Trang 25Trong một chương trình có thể chứa: a.Duy nhất một hàm ngoài chương
trình chínhb.Chỉ chứa hàm chương trình chính
Cho khai báo hàm như sau:
int F( int *a , int *b );
Đầu là lời gọi hàm đúng?
Trang 26c.Tổ chức dạng phân cấp, mỗi cấp độlại bao gồm các cấp độ thấp hơn
d.Tổ chức ở dạng cây nhị phân đểtăng tốc độ truy cập //
Hãy chỉ ra phát biểu sai a.Vùng nhớ động được cấp phát ngay
sau khi khởi động chương trình
b.Vùng nhớ tính không thể thay đổikích thước trong quá trình thực thichương trình
c.Vùng nhớ động có thể được địnhnghĩa lại kích thước mà không ảnhhưởng đến các giá trị trước đó (sai)
d.Có thể xảy ra thiếu bộ nhớ trongquá trình tính toán khi sử dụng vùngnhớ tĩnh //
Cho đoạn chương trình như sau
Khi gán vào chương trình lệnh nào
sau đây không gây lỗi ?
Trang 27a.tuoi = 20;
a.quequan = “Thai Nguyen”;
Đâu là câu lệnh truy xuất thành phần
Tuoi của biến con trỏ cấu trúc?
Kiểu dữ liệu cấu trúc có thể được
dùng để khai báo cho kiểu dữ liệu cấu
trúc khác
Đúng
Cho đoạn mã lệnh sau Yêu cầu hãy
hiện nội dung của biến x đang được
trỏ bởi p ra màn hình thì trong dấu …
Ta sẽ điền cú pháp như thế nào?
dùng cách khai báo nào sau đây?
a.char *c; c = (char *)malloc(10,sizeof(char));
b.char *c;
Trang 28c= realloc(char,10)c.char c[10];
d.char *c; c = malloc(10);
b.Tùy từng thời điểmc.Có
d.Không
Cho tệp “SoNguyen.txt” chứa các giá
trị như sau:
“6 7 8 9”
Trên màn hình hiển thị giá trị là bao
nhiêu khi thực hiện lần lượt các câu
Tên kiểu cấu trúc có thể đặt có
khoảng cách ví dụ là SINH VIEN
Sai
Để mở file “SoNguyen.txt” dưới
dạng tệp Văn bản và cho phép ghi nội
dung vào thì câu lệnh là gì?
a.f = fopen(“SoNguyen.txt”, “wb”);
b.f = fopen(“SoNguyen.txt”, “wt”);
c.f = fopen(“SoNguyen.txt”, “rb”);
d.f = fopen(“SoNguyen.txt”, “rt”); Cho cấu trúc:
Cho khai báo hàm như sau:
int F (int *a; int *b);
int a = 5, b = 7; F(&a, &b);
Trang 29Đâu là lời gọi hàm đúng?
Cho khai báo như sau:
typedef struct Diem1 {int toan; int ly;
int hoa}; Diem1 a;
Có thể thực hiện phép gán a=b được
Trong cấu trúc trên SV1, SV2 là gì?
Kiểu dữ liệu cấu trúc
Địa chỉ của biến nhớ được quy ước
biểu diễn bằng hệ cơ số nào?
Hệ thập lục phân
Tên kiểu cấu trúc có thể đặt trung với
tên cấu trúc khác trong một chương
trình
Sai
Cho khai báo sau:
typedef struct SinhVien
Hai con trỏ Head và Tail trong lập
trình danh sách móc nối đơn có thực
sự cần thiết?
a.Khôngb.Không rõc.Có rất quan trọng
d.Tùy từng trường hợp (sai)
Chương trình sau thực hiện nhiệm vụ gì?
#include <conio.h>
Nhập số nguyên từ bàn phím và lưu giá trị vào tệp “OUT.txt”