Cho chương trình sau:
#include<stdio.h>
int main(){
int n=5, tg;
int a[5]={1,2,3,4,5};
tg = a[0];
a[0] = a[n-1];
a[n-1] = a[0];
for(int i=0;i<n;i++)
printf("%5d",a[i]);
}
Anh/chị hãy cho biết kết quả của chương trình trên là bao nhiêu?
A. 2 3 4
B. 1 2 3 4 5
C. 5 2 3 4 1
D. 1 5
Khai báo mảng sau đây có thể chứa được:
int a[100];
A. Dãy tối đa 100 số nguyên
B. Dãy đúng 100 số nguyên
C. Dãy số nguyên có giá trị không quá 100
D. Dãy ít nhất có 100 số nguyên
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)
{
a=a+5;
return a+b;
}
A. Cả 3 phương án đều sai
B. 10, 7
C. 5, 7
D. 17, 5
Phương pháp phân rã bài toán khi giải quyết bài toán là?
A. Chia nhỏ bài toán lớn thành các bài toán nhỏ
B. Chia một bài toán thành 2 bài toán
C. Tất cả các phương án
D. Tổng hợp các bài toán nhỏ thành bài toán lớn
Chọn lệnh gọi hàm đúng nhất (với a là một biến) của khai báo sau:
int H( int *x , int y );
A. H(&a, 5);
B. H(&a, a*5);
C. H( a, &5);
D. H( a, 5);
Đâu là khai báo hàm cho phép tính tổng các phần tử của mảng a gồm n số thực?
A. int sum(float a, int n[])
B. int sum(float a[], int n)
C. int sum(float a, int n)
D. int sum(float a[], int n[])
Lệnh “return” trong hàm để
A. Quay lại thực hiện hàm từ đầu
B. Trả về một giá trị kết quả và kết thúc hàm
C. Trả về một giá trị kết quả
D. Kết thúc hàm
Đoạn đoạn mã sau cho kết quả cuối cùng của S là bao nhiêu?
int i= 10, S=0;
for ( ; i<2 ; i++ ) S+= i;
Nếu đoạn đoạn mã sau được thực thi, giá trị của S là gì?
int i=3, j=10 , S=0;
while (2*i+5*j<100)
{ S += i+j;
i+=2;
j += 5;
}
Đoạn mã sau đây : for (;;) là :
A. Đoạn mã lệnh này không đúng cú pháp
B. Bị bỏ qua không được thực hiện, nhưng vẫn đúng cú pháp
C. Tất cả các phương án đều sai
D. Lặp lại mãi mãi không dừng
Nếu đoạn mã sau được thực thi, S sẽ có giá trị bao nhiêu?
int i= 1, S=1;
while (i<=20)
{
S+= 2*i+2;
i+=4;
}
Đoạn chương trình sau in ra màn hình T bằng bao nhiêu?
int i=5, T=10;
do {
if (i%2==0) T+=i;
i += 2;
}while (i<10);
printf("%d",T);
A. 80
B. Một giá trị khác
C. 10
D. 50
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; i<10; i++)
cout<< i;
B. for(int i=0,j=1;i<9;i++)
cout<<i+j;
C. for(int i=1,j=0;i<9,j<5;i++,j++)
cout<<i+j;
D. for(int j=0, j<10, j++)
cout<<j;
Nếu đoạn đoạn mã sau đây được thực thi, thì biến t có giá trị bao nhiêu?
int d=10, t ;
switch (d)
{
case 10: t=100;
case 7 : t=50; break;
default : t=0;
}
Đoạn chương trình sau in ra màn hình S bằng bao nhiêu?
int i=1, S=0;
do {
if (i%2!=0) S+=i;
i += 2;
}while (i<10);
printf("%d",S);
A. 9
B. 50
C. 25
D. Một giá trị khác
Anh/chị hãy cho biết kết quả của đoạn chương trình sau:
int n=1;
n+=2;
switch ( n ) {
case 1: cout<<"So Mot"; break;
case 2: cout<<"So Hai"; break;
case 3: cout<<"So Ba"; break;
default: cout<<"So n > 3";
}
A. So Hai
B. So Ba
C. So n > 3
D. So Mot
cho chương trình:
int a,b;
printf("\nNhap a: ");
scanf("%d",&a);
printf("\nNhap b: ");
scanf("%d",&b);
while(a!=b){
if(a>b)
a=a-b;
else
b=b-a;
}
printf("%d",a);
Anh/chị hãy cho biết kết quả hiện ra là gì?
A. Ước số chung lớn nhất của a và b với a, b được nhập vào từ bàn phím
B. Số a được nhập vào
C. Bội số chung nhỏ nhất của a và b được nhập vào
D. Số b được nhập vào
Kết quả in ra màn hình của chương trình sau là gì?
int main()
{
int i;
for (i=2; i<=4; i+=2)
printf("%3d",i);
return 0;
}
A. 1 2 3 4
B. Chương trình không chạy được
C. 2 4
D. 2 3 4
Cho chương trình:
#include <stdio.h>
int main()
{
int i;
for (i=2; ; i++)
printf("%5d",i);
}
Anh/chị hãy cho biết kết quả in ra màn hình của chương trình
A. Chương trình lỗi
B. 1 2
C. 2
D. Chương trình lặp vô hạn
Nếu đoạn mã sau được thực thi, S sẽ có giá trị bao nhiêu?
int i= 1, S=1;
do{
S+= 5*i - 2;
i+=3;
}while (i<15);