#include

#include

void main() {

int i;

for (i = 2;; i++)

printf(“ % 3 d”, i);

};

Kết quả in ra màn hình của chương trình sau là gì:

A. Vòng lặp vô hạn

B. “  2”

C. “  1  2”

D. Kết quả khác

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

void main() {

int sum;

sum = 453 + 343

printf(“\Ket qua la: “sum);

};

Tìm lỗi sai trong chương trình sau (in ra kết quả là tổng của 453 và 343):

A. Thiếu  dấu chấm phẩy(;)

B. Thiếu dấu phẩy (,)

C. Thiếu kí tự đặc tả

D. Cả 3 ý trên

Hướng dẫn

Chọn D là đáp án đúng

Tags:

#include

#include

void main() {

int i;

for (i = 2; i <= 4; i += 2)

printf(“ % 3 d”, i);

};

Kết quả in ra màn hình của chương trinh sau là gì:

A. “  1  2  3  4”

B. “  2  3  4”

C. “  2  4”

D. Chương trình không chạy được

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void main() {

int ch = ’A’;

printf(“ % d”, ch);

}

Kết quả in ra màn hình của chương trình sau:

A. A

B. a

C. 65

D. Kết quả khác

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void main() {

int i = 98;

printf(“ % c”, i);

};

Kết quả của chương trình sau:

A. 98

B. B

C. b

D. Kết quả khác

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void main() {

int i = 5, j = 6;

i = i – –j;

printf(“ % d”, i);

};

Kết quả in ra màn hình của chương trình sau

A. 5

B. 6

C. 1

D. 0

Hướng dẫn

Chọn D là đáp án đúng

Tags:

#include

#include

void main() {

int a, b;

a = 100;

b = 56;

printf(“ % d”, (a < b) ? a : b);

}

Kết quả hiển thị ra màn hình của chương trình sau là gì?

A. 56

B. 100

C. Báo lỗi khi thực hiện xây dựng chương trình

D. Kết quả khác

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

float x[] = {

63.2,

-45.6,

70.1,

3.6,

14.5

};

int n = sizeof(x) / sizeof(float);

void main() {

clrscr();

int i, j;

floar c;

for (i = 0, j = n – 1; i < j; i++, j–); {

c = x;

x = x[j];

x[j] = c;

};

printf(“\nDay ket qua la: \n”);

for (i = 0; i < n; i++)

printf(“ % 8.2 f”, x);

getch();

return;

};

Kết quả của chương trình sau là gì?

A. Dãy kết quả là: 63.20, -45.60, 70.10, 3.60, 14.50

B. Dãy kết quả là : 14.50, 3.60, 70.10, -45.60, 63.20

C. Kết quả khác

D. 1 và 2

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

#include

#define EOL‘\ n’

void main() {

clrscr();

char chu[80];

int tong, dem;

for (dem = 0; dem < tong; dem++);

tong = dem;

for (dem = 0; dem < tong; ++dem)

putchar(toupper(chu[dem]));

getch();

return;

};

Kết quả của chương trình sau là gì?

A. Nhập vào một kí tự thường, sau đó chuyển sang chữ hoa rồi in ra màn hình.

B. Nhập một kí tự hoa, sau đó chuyển sang chữ thường rồi in ra màn hình.

C. 1 và 2

D. Kết quả khác

Hướng dẫn

Chọn D là đáp án đúng

Tags:

#include

#include

void main() {

int i = 100;

printf(“ % c”, i);

};

Kết quả in ra màn hình của chương trình sau:

A. “d”

B. “D”

C. “100”

D. Kết quả khác

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main() {

clrscr();

int i;

for (i = 1; i <= 24; i++);

printf(“\n % d”, i);

getch();

return;

};

Kết quả của chương trình sau là gì:

A. In ra màn hình các số từ 1 đến 24

B. Lỗi khi xây dựng chương trình

C. Kết quả khác

D. In ra màn hình các số từ 1 đến 24, mỗi số một dòng

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

int main() {

clrscr();

char str[80];

fflush(stdin);

scanf(“ % s”, str);

cprintf(“Dong van ban vua nhap la: % s”, str);

getch();

return 0;

};

Khi nhập vào đòng văn bản: “Chao Cac Ban”. Kết quả của chương trình sau là gì:

A. “Chao Cac Ban”

B. “Chao Cac”

C. “Chao”

D. Không hiện kết quả gì

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void main() {

int i = 1, k = 0;

for (; i < 5; i++) k++;

printf(“ % d”, k);

}

Kết quả của chương trình sau là gì?

A. 0

B. 4

C. 5

D. Vòng lặp vô hạn

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

void main() {

printf(“ % d”, 3 < 2 || 6);

};

Kết quả của chương trình sau là gì:

A. True

B. 0

C. 1

D. Kết quả khác

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void main() {

int i, k;

for (i = 1;; i++) k = 5;

printf(“ % d”, i);

};

Kết quả của chương trình sau là gì?

A. 0

B. 5

C. Vòng lặp vô hạn

D. Kết quả khác

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

int change(int a) {

a = 10;

return a;

};

void main() {

int a = 5;

change(i);

printf(“ % d”, i);

};

Kết quả của chương trình sau là gì:

A. 5

B. 10

C. 0

D. Báo lỗi khi thực hiện chương trình

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

int change(int * a) {

* a = 10;

return *a;

};

void main() {

int i = 5;

change( & i);

printf(“ % d”, i);

};

Kết quả của chương trình sau là gì:

A. 5

B. 10

C. 0

D. Báo lỗi khi thực hiện xây dựng chương trình

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

void main() {

int x, * p;

x = 6;

p = & x;

printf(“ % d”, x);

printf(“ % d”, * p);

};

Kết quả của chương trình sau là gì:

A. 69

B. 66

C. Lỗi khi xây dựng chương trình

D. Kết quả khác

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

void main() {

int x, * p;

x = 3;

x = 6;

p = & x;

* p = 9;

printf(“ % d”, x);

printf(“ % d”, * p);

printf(“ % d”, x);

};

Kết quả của chương trình sau là gì:

A. “369”

B. “696”

C. “999”

D. Kết quả khác

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void main() {

char c;

int n;

scanf(“ % d % c”, & n, & c);

printf(“ % 3 d % c”, n, c);

};

Cho đoạn chương trình sau. Giả sử khi chạy chương trình ta gõ từ bản phím: “29h b”. Kết quả in ra n và c tương ứng sẽ là:

A. “ 29b”

B. “ 29h b”

C. “ 29h”

D. Kết quả khác

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void main() {

char * s;

s = ”chao cac ban”;

strcpy( & s[5], & s[9]);

printf(“ % s”, s);

};

Kết quả in ra màn hình của chương trình sau:

A. “chao”

B. “chao cac”

C. “chao ban”

D. “chao cac ban”

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void main() {

int a = 100, b = 6;

double f;

f = (double) a / (double) b;

printf(“ % 2.2 f”, f);

};

Kết quả in ra màn hình của chương trình sau:

A. “16”

B. “16.00”

C. “16.67”

D. Kết quả khác

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void hoanvi(int * px, int * py) {

int z;

z = * px;

* px = * py;

* py = z;

};

void main() {

int a = 15, b = 21;

hoanvi(a, b);

printf(“ % d % d”, a, b);

};

Kết quả của chương trình sau là gì

A. “15 21” 

B. “21 15”

C. Báo lỗi khi thực hiện chương trình

D. Kết quả khác

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

void hoanvi(int px, int py) {

int pz;

pz = px;

px = py;

py = pz;

};

void main() {

int a = 15, b = 21;

hoanvi(a, b);

printf(“ % d % d”, a, b);

};

Kết quả chương trình sau là gì:

A. “21 15”

B. “15 21”

C. Báo lỗi khi thực hiện chương trình

D. Kết quả khác

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

void main() {

int a = 40, b = 4;

while (a != b)

if (a > b) a = a – b;

else b = b – a;

printf(“ % d”, a);

};

Kết quả của chương trình sau là gì

A. 2

B. 16

C. 4

D. Kết quả khác

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

void main() {

int i, j;

for (i = 1; i < 4; i++)

j = i;

printf(“ % 3 d”, j);

};

: Kết quả của chương trình sau là gì :

A. “  1  2  3  4”

B. “  4”

C. “  3”

D. Kết quả khác

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

main() {

int i, ch;

for (i = 0, ch = ’A’; i < 4; i++, ch += 2)

putchar(ch);

};

Tìm kết quả của chương trình sau:

A. “ABCDE”

B. “ABC”

C. “ACEG”

D. Không câu nào đúng

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

main() {

int i, ch;

for (i = 0, ch = ’A’; i < 5; i++, ch++)

putchar(ch);

};

Tìm kết quả của chương trình sau:

A. “ABCDE”

B. “ABC”

C. “ACEG”

D. Không câu nào đúng

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

void main() {

printf(“ % d”, 3 6);

};

Kết quả của chương trình sau là gì?

A. 1

B. 0

C. True

D. Kết quả khác

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main() {

char c;

clrscr();

do c = getchar();

while (c != ’ * ’);

getch();

};

Cho đoạn chương trình sau. Yêu cầu của đoạn chương trình trên là:

A. Nhập vào 1 kí tự cho đến khi gặp kí tự ‘*’

B. Nhập vào các kí tự cho tới khi gặp kí tự ‘*’

C. Nhập các kí tự ‘*’

D. Lỗi khi xây dựng chương trình

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main() {

struct S1 {

float d;

float d1;

float d2;

};

struct S1 m = {

12,

1

};

printf(“ % 0.1 f % 0.1 f % 0.1 f”, m.d, m.d1, m.d2);

};

Chọn kết quả đúng cho chương trình sau:

A. “12.01.00.0”

B. “12.0000001.0000000.000000”

C. Kết quả khác

D. Chương trình bị lỗi

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

void main() {

clrscr();

struct sv {

float d;

char ht[10];

};

struct sv m, * p;

p = & m;

( * p).d = p -> d = 10;

strcpy(m.ht, ”NguyenVanTuan”);

printf(“ % 0.1 f”, m.d);

printf(“ % s”, m.ht);

};

Chọn kết quả đúng cho chương trình sau:

A. “10.000000NguyenVanTuan”

B. “10.0NguyenVanTuan”

C. Chương trình bị lỗi

D. Kết quả khác

Hướng dẫn

Chọn D là đáp án đúng

Tags:

#include

#include

void main() {

int * px, * py;

int a[] = {

1,

2,

3,

4,

5,

6

};

px = a;

py = & a[5];

printf(“ % d”, ++px – py);

};

Chương trình sau cho kết quả là gì:

A. -4

B. 2

C. 5

D. Không có kết quả đúng

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

void main() {

struct diem; {

float k;

float a;

float l;

};

struct diem m;

m.k = 8;

m.a = 6.5;

m.l = 6;

printf(“ % 0.1 f % 0.1 f % 0.1 f”, m.k, m.a, m.l);

};

Kết quả của chương trình sau là gì:

A. “8.06.56.0”

B. “86.56”.

C. “8.0000006.5000006.000000”

D. “86.5000006”

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

int main() {

printf(“%d\t”, sizeof(6.5));

printf(“%d\t”, sizeof(90000));

printf(“%d”, sizeof(‘A’));

getch();

}

Cho đoạn chương trình sau. Biết kích thước kiểu char: 1 byte, float : 4 byte, int : 4 byte, double : 8 byte, long : 4 byte. Kết quả trả về sẽ là:

A. 8 4 1

B. 8 2 1

C. 4 4 1

D. Kết quả khác

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

int main() {

double num = 5.2;

int

var = 5;

printf(“%d\t”, sizeof(!num));

printf(“%d\t”, sizeof(var = 15 / 2));

printf(“%d”,

var);

return 0;

}

Cho đoạn chương trình sau, kết quả trả về sẽ là:

A. 1 4 5

B. 1 4 7

C. 8 4 7

D. Kết quả khác

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

int main() {

int w = 3;

int x = 31;

int y = 10;

double z = x / y % w;

printf(“%f\n”, z);

return 0;

}

Cho đoạn chương trình sau. Kết quả trả về là:

A. 1

B. 0

C. 0.1

D. 2

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

void main()

{

printf(“laptrinhc++”);

main();

}

How many times the program will print “laptrinhc++”?

A. Infinite times

B. 65535 times

C. Till stack overflows

D. Cannot call main( ) in main( )

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

void main()

{

printf(“%d %d %d”, sizeof(3.14), sizeof(3.14f), sizeof(3.14l));

getch();

}

What will be output of the program?

A. 8 4 8

B. 4 4 8

C. 4 8 10

D. 4 8 12

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

3.14 là hằng số kiểu double

3.14f là hằng số kiểu float

3.14l là hằng số kiểu long double

Tags:

#include

#include

In which stage the following code. Gets replaced by the contents of the file stdio.h

A. During editing

B. During linking

C. During execution

D. During preprocessing

Hướng dẫn

Chọn D là đáp án đúng

Tags:

#include

#include

#include

#include

void main()

{

printf(“%f”, sqrt(36.0));

getch();

}

What is output of the program?

A. 6.000000

B. 6

C. Error

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Xem thêm hàm sqrt()

Tags:

#include

#include

#include

void main()

{

int y = 100;

const int x = y;

printf(“%d”, x);

getch();

}

 What is output of the program?

A. 100

B. Garbage value

C. Error

D. 0

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

hằng số x được khởi tạo bằng 100.

Tags:

#include

#include

#include

void main()

{

float n = 0.7;

if(n < 0.7f)

printf(“LaptrinhC++”);

else

printf(“abc”);

getch();

}

What will be output of program?

A. LaptrinhC++

B. abc

C. Complier error

D. None of these

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

0.7f là hằng số kiểu float. Biểu thức so sánh 0.7 < 0.7f trả về false.

Tags:

#include

#include

#include

void main()

{

float n = 0.7;

if(n < 0.7)

printf(“LaptrinhC++”);

else

printf(“abc”);

getch();

}

What will be output of program?

A. LaptrinhC++

B. abc

C. Complier error

D. None of these

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

float n = 1.67;

printf(“%e, “, n);

printf(“%f, “, n);

printf(“%g, “, n);

printf(“%lf, “, n);

getch();

}

What will be output of the program?

A. 1.670000e+000, 1.670000, 1.67, 1.670000,

B. Complier Error

C. 1.67e, 1.67000, 1.670, 1.67

D. 1.67e, 1.67, 1.67000, 1.67f

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

%e: in ra kiểu số mũ.

%f: in ra kiểu dấu phẩy động

%g: in ra dạng rút gọn của %f hoặc %e

%lf: in ra kiểu dấu phẩy động.

Tags:

#include

#include

#include

void main()

{

printf(“%f”, log(1.9));

getch();

}

Which library will you add in the following program to work it correctly?

A.  math.h

B. stdlib.h

C. log.h

D. dos.h

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

#include

void main()

{

float n = 1.34;

printf(“%f %f”,ceil(n), floor(n));

getch();

}

What will be the ouput of the program?

A. 1.000000  2.000000

B. 1.500000  1.000000

C. 2.000000  1.000000

D. 1.300000  2.000000

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Xem thêm: hàm ceil() và floor()

Tags:

#include

#include

void main()

{

extern int a;

printf(“\n a = %d”, a);

}

int a = 20;

 In the following program where is the variable a getting defined and where it is getting declared?

A. Extern int a is declaration, int a = 20 is the definition

B. Int a = 20 is declaration, extern int a is the definition

C. Int a = 20 is definition, a is not defined

D. a is declared, a is not defined

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

void v = 0;

printf(“%d”, v);

getch();

}

Point out a error in the following program

A. Error: Declaration syntax error v (or) ‘v’: illegal use of type ‘void’

B. Program terminate abnormally

C. No error

D. None of these

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Dùng kiểu con trỏ void* để trỏ đến kiểu dữ liệu khác.

Tags:

#include

#include

#include

void main()

{

int i = 5;

for(;scanf(“%d”, &i); printf(“%d”, i));

getch();

}

In the following program how long will the for loop get executed?

A. The for loop would not get executed at all

B. The for loop would get executed only once

C. The for loop would get executed 5 times

D. The for loop would get executed infinite times

Hướng dẫn

Chọn D là đáp án đúng

Xem lời giải

Xem lời giải

Hàm scanf() đợi người dùng nhập giá trị vào từ bàn phím. Đồng thời trong đoạn code này, hàm scanf() luôn trả về 1 (vòng lặp vô hạn), hàm printf() in ra giá trị nhập vào.

Tags:

#include

#include

#include

void main()

{

display();

getch();

}

void display()

{

printf(“vncoding.net”);

}

Point out the error in the following program (if it is compiled with Turbo C complier)

A. No error

B. display( ) is not declared

C. None of these

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

int N = 10;

void main()

{

int N = 20;

printf(“N = %d”, N);

getch();

}

 What is output of program?

A. N = 20

B. N = 10

C. Error

D. No Output

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int a[5] = {1, 2};

printf(“%d %d %d”, a[2], a[3], a[4]);

getch();

}

What is output of program?

A. 0 0 0

B. 1 2 2

C. 1 1 1

D. Error

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Đối với mảng tĩnh, nếu khởi tạo thiếu cho các phần tử thì mặc định các phần tử đó được gán bằng 0.

Hay nói cách khác, câu lệnh int a[5] = {1,2}; int a[5] = {1, 2, 0, 0, 0};

Tags:

#include

#include

#include

void main()

{

extern int func(float);

int a;

a = func(3.14);

printf(“%d”, a);

getch();

}

int func(float a)

{

return (int)++a;

}

What is output of program?

A. 3

B. 4

C. Complier Error

D. 3.14

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Toán tử ++ dùng cho cả số nguyên và số thập phân.

Tags:

#include

#include

#include

void main()

{

int x = 10, y = 20, z = 5, i;

i = x < y < z;

printf(“i = %d”, i);

getch();

}

What is output of program?

A. i = 0

B. i = 1

C. Error

D. None of these

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Toán tử so sánh có thứ tự ưu tiên từ trái sang phải. x < y 10 < 20 trả về true (1). (x < y) < z 1 < z trả về true (1)

Tags:

#include

#include

int main()

{

char *url=”c:\tc\bin\rw.c”;

printf(“%s”, url);

return 0;

}

 What is output?

A. c:/tc/bin/rw.c

B. c: c inw.c

C. c:cinw.c

D. w.c in

Hướng dẫn

Chọn D là đáp án đúng

Xem lời giải

Xem lời giải

Giải thích: trong chuỗi url, có các kí tự đặc biệt: ‘\t’ : cách 1 tab, ‘\b’ : đưa con trỏ trên màn hình lùi về trước 1 kí tự, ‘\r’ : quay về đầu dòng.

Chương trình sẽ in: c: c, gặp kí tự ‘\b’ đưa con trỏ lùi về 1 kí tự và kết quả tiếp theo: c: in. Khi gặp kí tự ‘\r’, con trỏ sẽ trỏ về vị trí đầu dòng và in đè lên kết quả đã có. Cuối cùng: w.c in

Tags:

#include

#include

#include

void main()

{

char c = 125;

c = c + 10;

printf(“%d”, c);

getch();

}

What is output?

A. 135

B. 8

C. -121

D. 121

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Giải thích: biến char a = 135 vượt ra khỏi dải (-128 đến 127). Nên a = 135%256 = -121

Tags:

#include

#include

#include

int main()

{

float a = 0.7;

if(0.7 > a)

printf(“Hi\n”);

else

printf(“Hello\n”);

getch();

}

What is output?

A. Hi

B. Hello

C. None of above

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

int main()

{

char c = 48;

int i, mask = 01;

for(i = 1; i <= 5; i++)

{

printf(“%c”, c|mask);

mask = mask << 1;

}

getch();

}

 What is output?

A.  12480

B. 1248@

C. 12500

D. 12522

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Giải thích:

c|mask = 49 -> in ra 1, mask = mask<<1 = 2

c|mask = 50 -> in ra 2, mask = mask<<1 = 4

c|mask = 52 -> in ra 4, mask = mask<<1 = 8

c|mask = 56 -> in ra 8, mask = mask<<1 = 16

c|mask = 48 -> in ra 0, end for()

Tags:

#include

#include

int main()

{

int x = 5, y = 10, z = 15;

printf(“%d %d %d”);

return 0;

}

What is output?

A. Garbage Garbage Garbage

B. 5 10 15

C. 15 10 5

D. Run time error

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

int main()

{

const int i = 5;

i++;

printf(“%d”, i);

return 0;

}

What is output ?

A. 5

B. 6

C. 0

D. Complier error

Hướng dẫn

Chọn D là đáp án đúng

Xem lời giải

Xem lời giải

Giải thích: chương trình biên dịch sẽ không cho phép thay đổi giá trị của biến const.

Tags:

#include

#include

#include

int y = 0;

void main()

{

{

int x = 0;

x++;

++y;

}

printf(“%d\t%d”, x, y);

getch();

}

What is output ?

A. 1 1

B. 1 0

C. ‘x’ undeclared identifier

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Biến x là biến cục bộ, nên trình biên dịch sẽ báo lỗi tại lệnh printf().

Tags:

#include

#include

#include

extern int x = 0;

void main()

{

x++;

printf(“%d”, x);

getch();

}

What is output ?

A. 0

B. Error

C. 1

D. x isn’t defined

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Biến extern int x có thể thay đổi giá trị của nó.

Tags:

#include

#include

#include

void main()

{

int i = 5,j = 6;

printf(“%d”, i | j);

getch();

}

 What is output ?

A. 7

B. 6

C. 5

D. 1

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

i = 5 = 101 (hệ nhị phân), j = 6 = 110 (hệ nhị phân). Phép toán | là phép toán OR bit. i|j = 111 = 7.

Tags:

#include

#include

#include

extern int x = 0;

void main()

{

{

int x = 1;

}

printf(“%d”, x);

getch();

}

What is output ?

A. 0

B. 1

C. Error Comlier

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Khai báo int x = 1, x ở đây là biến local và chỉ có giá trị trong {}. Hàm printf() ở ngoài {} sẽ dùng giá trị của biến x = 0.

Tags:

#include

#include

#include

void main()

{

int i = 5, j = 6, k;

k = i & j;

printf(“%d”, k);

getch();

}

What is output ?

A. 4

B. 0

C. 1

D. 5

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

i = 5 = 101 (hệ nhị phân), j = 6 = 110 (hệ nhị phân). Phép toán & là phép toán AND bit. k = i&j = 100 = 4.

Tags:

#include

#include

int main()

{

char a = 250;

int expr;

expr= a + !a + ~a + ++a;

printf(“%d”, expr);

return 0;

}

What will be output when you will execute following c code?

A. -6

B. 5

C. 4

D. Another

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Biến char a = 250 vượt ra khỏi dải (-128 đến 127). Nên a = 250%256 = -6 (xem thêm: ) Trong các toán tử trong phép toán. Toán tử ! ~ ++ có cùng độ ưu tiên, nhưng trình tự kết hợp từ phải sang trái. Do vậy, ++a = -5 được thực hiện trước. expr = -5 + !(-5) + ~(-5) + (-5) = -5 + 0 + 4 -5 = -6

Tags:

#include

#include

int main()

{

int w = 3;

int x = 31;

int y = 10;

double z = x / y % w;

printf(“%f\n”, z);

return 0;

}

What value gets printed by the program below?

A. 1

B. 0

C. 0.1

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Toán tử / lấy thương, còn toán tử % lấy phần dư. Cả 2 toán tử này có độ ưu tiên toán tử như nhau. Do vậy, x/y%w = (x/y)%w = (31/10)%3 = 0

Tags:

#include

#include

int main()

{

int a = -5;

unsigned int b = -5u; // (*)

if(a == b)

printf(“Avatar”);

else

printf(“Alien”);

return 0;

}

What will be output when you will execute following c code?

A. Avatar

B. Alien

C. Error at (*)

D. Another

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int x = 3;

printf(“%d”, x++ + ++x);

getch();

}

 What will be output when you will execute following c code?

A. 7

B. 8

C. 9

D. Another

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Phép toán ++x sẽ được thực hiện trước tiên (x = 4), sau đó x++ + x = 4++ + 4 = 8. Sau phép toán,giá trị củax = 5

Tags:

#include

#include

int main()

{

double num = 5.2;

int var = 5;

printf(“%d\t”, sizeof(!num));

printf(“%d\t”, sizeof(var=15/2));

printf(“%d”, var);

return 0;

}

What will be output when you will execute following c code?

A. 1 4 5

B. 1 4 7

C. 8 4 7

D. Another

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Giải thích: toán tử ! trả về giá trị kiểu bool (0, 1), mà sizeof(kiểu bool) = 1. var = 15/2 = 7, sizeof(var) = 4

 

Tags:

#include

#include

#include

void main()

{

int a = 10;

void f();

a = f();

printf(“%d”, a);

getch();

}

void f()

{

printf(“vncoding”);

}

Point out the error in the following program

A. Error: cannot convert ‘void’ to ‘int’

B. Error:

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

int main()

{

printf(“%d\t”, sizeof(6.5));

printf(“%d\t”, sizeof(90000));

printf(“%d”, sizeof(‘A’));

getch();

}

What will be output when you will execute following c code? Biết kích thước kiểu char : 1 byte, float : 4 byte, int : 4 byte, double : 8 byte, long : 4 byte.

A. 8 4 1

B. 8 2 1

C. 4 4 1

D. Depend on complier

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Toán tử sizeof() trả về kích thước của biến (đơn vị là byte). 6.5 ở đây chương trình hiểu là kiểu double, 90000 là kiểu int, ‘A’ là hằng kí tự kiểu char.

Tags:

#include

#include

#include

int func(int i, int j)

{

int k, l;

k = i + j;

l = i * j;

return (k, l);

}

void main()

{

int i = 2, j = 3, k, l;

k = func(i, j);

l = func(i, j);

printf(“%d %d”, k, l);

getch();

}

What will be the output of the program?

A. 6 6

B. 5 6

C. Complier error

D. None of above

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

k = i + j = 5

l = i*j = 6

Câu lệnh return(k, l) = return(5, 6) = return(6).

Tags:

#include

#include

#include

int f1(int);

int f2(int);

void main()

{

extern int i;

int j = 3;

f1(j);

printf(“%d,”, j);

f2(j);

printf(“%d”, j);

getch();

}

int f1(int i)

{

printf(“%d,”,++i);

return 0;

}

int f2(int j)

{

printf(“%d,”, ++j);

return 0;

}

What will be output of the program?

A. 4, 3, 4, 3

B. 4, 4, 5, 5

C. 3, 4, 3, 4

D. None of above

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

int reverse(int);

void main()

{

int n = 5;

reverse(n);

getch();

}

int reverse(int n)

{

if(n == 0)

return 0;

else

printf(“%d”, n);

reverse(n–);

}

What will be the output of the program?

A. 543210

B. 54321

C. 12345

D. Infinite loop

Hướng dẫn

Chọn D là đáp án đúng

Xem lời giải

Xem lời giải

Hàm reverse() là hàm đệ quy.

n = 5, câu lệnh gọi hàm reverse(n–) reverse(5) vì biến n giảm sau khi gọi hàm.

Vì giá trị truyền vào cho hàm reverse ko thay đổi. Do vậy, chương trình đệ qui rơi vào vòng lặp vô hạn.

Để fix chương trình này, thay reverse(n–) bằng reverse(–n).

Tags:

#include

#include

#include

void main()

{

int func(int);

int i = func(5);

printf(“%d”, –i);

getch();

}

int func(int n)

{

return(n++);

}

What will be the output of the program?

A. 4

B. 5

C. 6

D. Another

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Ngôn ngữ C/C++, cho phép bạn khai báo hàm trong 1 hàm khác.

Hàm func(5) trả về là 5 không phải là 6, vì giá trị n được tăng sau khi thực hiện xong câu lệnh return.

Tags:

#include

#include

#include

int f(int a)

{

a > 20 ? return(1) : return(0);

}

void main()

{

int f(int);

int b = f(20);

printf(“%d”, b);

getch();

}

Point out the error in the program

A. Error: Prototype declaration

B. No error

C. Error: return statement cannot be used with conditional operators

D. None of above

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Sau toán tử điều kiện phải là biểu thức toán học, không thể là câu lệnh (return).

Câu lệnh “a > 20 ? return(1) : return(0);” nên đổi thành “return (a > 20 ? 1 : 0);”

Tags:

#include

#include

void main()

{

int a;

a = f(1, 3.14);

}

float f(int a, float b)

{

return ((float)a + b);

}

There is a error in the below program. Which statement will you add to remove it

A. Add prototype: float f(int, float);

B. Add prototype: float f(a, b);

C. Add prototype: float f(float a, int b)

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

printf(“%p”, main());

getch();

}

Which of the following statements are correct about the program?

A. It prints garbage values infinitely

B. Runs infinitely without printing anything

C. Error: main( ) cannot be called inside printf( )

D. No Error and print nothing

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

void main()

{

static int i;

int j;

for(j = 0; j <= 5; j++)

switch(j)

{

case 1:

i++;

break;

case 2:

i+=2;

case 4:

i /= 1;

j += 1;

continue;

default:

–i;

continue;

}

printf (“%d”, i);

getch();

}

What is output?

A. 0

B. 2

C. 3

D. -4

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int i, j;

for(i = 0, j = 0; i < 5, j < 6; i++, j++)

{

printf(“i = %d \t j = %d\n”, i, j);

}

getch();

}

What is output?

A.  print i and j from 0 till 4

B. print i and j from 0 till 5

C. print i from 0 to 4, print j from 0 to 5

D. Complier Error

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

int func(int* i);

void main()

{

int i = 15;

while(func(&i) && i++ > 0);

printf(“%d”, i);

getch();

}

int func(int* i)

{

*i -= 5;

return(*i);

}

What is output?

A. 0

B. -1

C. -2

D. -3

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

int main()

{

int x = 011, i;

for(i = 0; i < x; i += 3)

{

printf(“Start “);

continue;

printf(“End”);

}

getch();

}

What is output?

A. Start End Start End

B. Start Start Start

C. Start Start Start Start

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

011 là số octal = 9. Lệnh printf(“Start”); sẽ thực hiện 3 lần.

Tags:

#include

#include

#include

void main()

{

int s = 0;

while (s++ < 10)

{

if (s < 4 && s < 9)

continue;

printf(” %d “, s);

}

getch();

}

What is output of the following code?

A. 1 2 3 4 5 6 7 8 9

B. 3 4 5 6 7 8 9

C. 4 5 6 7 8 9

D. 4 5 6 7 8 9 10

Hướng dẫn

Chọn D là đáp án đúng

Xem lời giải

Xem lời giải

Xét biểu thức (s++ < 10). Giá trị của biến s được tăng sau khi so sánh s < 10. Do vậy, giá trị của biến s trong vòng while từ 1 đến 10. Khi s = 1 → 3, biểu thức logic (s < 4 && s < 9) = TRUE, lệnh continue được thực hiện và câu lệnh printf bị bỏ qua. Kết quả: 4 5 6 7 8 9 10 được in ra.

Tags:

#include

#include

#include

void main()

{

int i = 6;

while(i)

{

if (i > 5)

{

i–;

}

i = i + 5;

if (i > 34)

{

break;

}

}

printf(“%d”, i);

getch();

}

What is output?

A. Infinite loop

B. 35

C. 38

D. 39

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

int print(int i);

void main()

{

int i = 6;

while(print(i) || –i);

getch();

}

int print(int i)

{

printf(“%d, “, i);

return 0;

}

What is output?

A. 6, 5, 4, 3, 2, 1,

B. 6, 5, 4, 3, 2, 1, 0,

C. Complier Error

D. Infinite loop

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

int main()

{

int i = 1024;

for (; i; i >>= 1)

printf(“\nlaptrinhc++”);

getch();

}

How many times will “vncoding” is printed on screen?

A. 10

B. 11

C. Infinite

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Vì  i >>=1 -> i = i >> 1 = i/2. Mà 1024 = 2^10 = 1000000000 -> “laptrinhc++” sẽ được in ra 10 lần.

Tags:

#include

#include

#include

void main()

{

int i = 2, j = 2;

while(i+1? –i : j++)

printf(“%d”, i);

getch();

}

 What is output?

A. 1

B. 2

C. Complier Error

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

i+1 = 3 (trong ngôn ngữ C, 3 có nghĩa là TRUE) -> lệnh –i = 1 được thực hiện.

Trong ngôn ngữ C, 1 có nghĩa là TRUE -> in 1 ra màn hình.

Tags:

#include

#include

#include

void main()

{

int i, j;

i = j = 2;

while(–i&&j++)

printf(“%d %d”, i, j);

getch();

}

What is output?

A. 1 3

B. 1 2

C. Không in ra kí tự nào

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

–i&&j++ = 1&&2 = 1 (TRUE), sau lệnh này i = 1 và j = 3 -> in 1 3 ra màn hình.(chú ý: trong ngôn ngữ C, vớitoán tử && cả hai toán hạng khác không thì kết quả sẽ bằng 1)

–i&&j++ = 0&&3 = 0 (FALSE) -> thoát khỏi vòng lặp

Tags:

#include

#include

#include

void main()

{

int i = 0;

for(; i <= 2; )

printf(” %d”, ++i);

getch();

}

What is output?

A. 1 2 3

B. 0 1 2 3

C. 0 1 2

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int x;

for(x = 1; x <= 5; x++);

printf(“%d”, x);

getch();

}

What is output ?

A. 12345

B. 123456

C. 6

D. 1234

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

int main()

{

int i = 3;

while (i–)

{

int i = 100;

i–;

printf(“%d “, i);

}

getch();

}

What is output?

A. 99 99 99

B. Complier Error

C. 1

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Nếu chương trình được biên dịch bằng trình biên dịch C, chương trình biên dịch báo lỗi vì biến chỉ được khai báo đầu hàm.

Chương trình được biên dịch C++, không xảy ra lỗi

– Câu lệnh int i = 3 là biến global. Giá trị i trong biểu thức while có giá trị khởi tạo là 3.

– Câu lệnh int i = 100 là biến local. Câu lệnh trong vòng lặp lấy giá trị i = 100.

Tags:

#include

#include

#include

int main()

{

int i = 0, j = 0;

while (i < 5, j < 10)

{

i++;

j++;

}

printf(“%d, %d\n”, i, j);

getch();

}

What is output ?

A. 5, 5

B. 10, 10

C. Syntax error

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Biểu thức của vòng lặp while có thể là nhiều biểu thức và vòng lặp while sẽ chỉ quan tâm đến biểu thức cuối cùng.

Tags:

#include

#include

#include

int main()

{

int a = 0, i = 0, b = 0 ;

for (i = 0; i < 5; i++)

{

a++;

continue;

b++;

}

printf(“\n a = %d,b =%d”, a, b);

getch();

}

What is output?

A. a = 5,b = 5

B. a = 4,b = 4

C. a = 5,b = 0

D. Another

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Gặp lệnh continue, complier sẽ bỏ qua các câu lệnh tiếp theo và thực hiện hiện 1 vòng lặp mới. Như vậy, câu lệnh b++ sẽ không bao giờ được thực hiện.

Tags:

#include

#include

#include

int foo();

void main()

{

int i = 0;

for (foo(); i == 1; i = 2)

printf(“In for loop\n”);

printf(“After loop\n”);

getch();

}

int foo()

{

return 1;

}

What is output?

A. In for loop

B. After loop

C. Complie error

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Biến i = 0, giá trị logic của biểu thức “i == 1” = FALSE → vòng for kết thúc. Lệnh printf(“In for loop\n”) không được thực hiện.

Tags:

#include

#include

#include

int main()

{

int i = 0;

while (i = 0)

printf(“True\n”);

printf(“False\n”);

getch();

}

 What is output?

A. True

B. False

C. Complie Error

D. Another

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Vòng while sẽ kết thúc khi biểu thức trong while là FALSE. Biểu thức i = 0 chỉ là phép gán. Giá trị của biểu thức này là 0 tương đương với FALSE. Lệnh printf(“True\n”) sẽ không được thực hiện.

Tags:

#include

#include

int main()

{

int i = 0;

for (; ; ; )

printf(“In for loop\n”);

printf(“After loop\n”);

}

What is output?

A. Complie time error

B. Infinite Loop

C. Nothing

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Vòng lặp for() không có biểu thức khởi tạo.

Tags:

#include

#include

#include

void main()

{

int k;

for (k = -3; k < -5; k++)

printf(“Hello”);

getch();

}

 What is output?

A. Hello

B. Nothing

C. Complier Error

D. Run time error

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Ở trên là cách viết tắt của vòng lặp for. Dạng đầy đủ là:

for (k = -3; k < -5; k++){    printf("Hello");}

Với k = -3 ( k > -5) nên các lệnh trong vòng for không được thực hiện.

Tags:

#include

#include

#include

void main()

{

int i = 3;

i = i++;

printf(“%d”, i);

getch();

}

What is output of the program?

A. 4

B. 3

C. Complier error

D. None of above

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int arr[3] = {3};

int i;

for(i = 0; i <= 2; i++)

printf(“%d, “, arr);

getch();

}

What will be output of the program?

A. 3, 0, 0,

B. 3, 3, 3,

C. 3, garbage, garbage

D. Another

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int k, num = 20;

k = (num>5 ? (num <= 10 ? 10 : 30): 40);

printf(“%d”, k);

getch();

}

What will be output of the program?

A. 20

B. 30

C. 40

D. 10

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int n = 2;

printf(“%d %d %d”, n = 2);

getch();

}

What will be output of the program?

A. 0 4 1

B. 1 4 1

C. 4 4 1

D. None of these

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Thứ tự thực hiện các phép toán trong printf từ phải sang trái.

(n >= 2) = (2 >= 2) = 1

n = 4

n <= 3 = (4 <= 3) = 0

Tags:

#include

#include

#include

void main()

{

int n = 2;

printf(“%d %d”, ++n, ++n);

getch();

}

What will be output of the program?

A. 4 4

B. 3 4

C. 2 2

D. 2 3

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int a = 10, b = 19;

int c;

c = (a == 10 || b < 20);

printf(“c = %d”, c);

getch();

}

What will be output of the program?

A. c = 1

B. c = 29

C. c = 10

D. c = 19

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int x = 4, y, z;

y = –x;

z = x–;

printf(“%d %d %d”, x, y, z);

getch();

}

What will be output of the program?

A. 4 3 2

B. 4 3 3

C. 2 3 2

D. 2 3 3

Hướng dẫn

Chọn D là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int i = 2;

int j = i + (1, 2, 3, 4);

printf(“j = %d”, j);

getch();

}

 What will be the output of the program?

A. 6

B. 3

C. 12

D. Complier error

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

j = i + (1, 2, 3, 4) = i + 4 = 6

Tags:

#include

#include

#include

void main()

{

int i = 3, j = 2, k = -1, m;

m = ++i||++j&&++k;

printf(“%d %d %d %d”, i, j, k, m);

getch();

}

What will be the output of the program?

A. 4 2 -1 1

B. 4 3 0 1

C. 3 2 -1 1

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

m = ++i||++j&&++k = (++i) || (++j&&++k). Vì ++i = 4 != 0 nên (++j&&++k) không được thực hiện.

Tags:

#include

#include

#include

void main()

{

int i = 3, j = 2, k = -1, m;

m = ++i&&++j&&++k;

printf(“%d %d %d %d”, i, j, k, m);

getch();

}

What is output of the program?

A. 4 3 0 0

B. 3 3 0 1

C. 4 2 0 0

D. None of these

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

m = ++i&&++j&&++k = (++i)&&(++j)&&(++k) = 4 && 3 && 0 = 0

Tags:

#include

#include

#include

void main()

{

int x = 12, y = 7, z = 2;

z = x != 4 || y == 2;

printf(“z = %d”, z);

getch();

}

 What will be the output of the program?

A. z = 0

B. z = 1

C. z = 4

D. z = 3

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

z = x != 4 || y == 2 = (x != 4) || (y == 2) = 1 || 0 = 1

Tags:

#include

#include

#include

void swap(char *, char *);

int main()

{

char *pstr[2] = {“LAPTRINHC++”, “.NET”};

swap(pstr[0], pstr[1]);

printf(“%s%s”, pstr[0], pstr[1]);

getch();

}

void swap(char *t1, char *t2)

{

char *t;

t=t1;

t1=t2;

t2=t;

}

What is output?

A. LAPTRINHC++.NET

B. .NETLAPTRINHC++

C. Address of pstr[0] Address of pstr[1]

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

static int a[20];

int i = 0;

a = i;

printf(“%d %d %d”, a[0], a[1], i);

getch();

}

What will be the output of the program?

A. 1 0 1

B. 1 1 1

C. 0 0 0

D. 0 1 0

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Mảng static được tự động khởi tạo với giá trị 0

Tags:

#include

#include

#include

int main()

{

int i = 4, j = -1, k = 0, w, x, y, z;

w = i||j||k;

x = i&&j&&k;

y = i||j&&k;

z = i&&j||k;

printf(“%d %d %d %d”, w, x, y, z);

getch();

}

What will be the output of the program?

A. 1 1 1 1

B. 1 0 0 1

C. 1 0 1 1

D. Other

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

int main()

{

int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };

printf(“%u, %u, %u\n”, a[0]+1, *(a[0]+1), *(*(a+0)+1));

getch();

}

What is output? (assuming that the array begins at the location 1002 and size of an integer is 4 bytes)

A. 1006, 2, 2

B. 1006, 4, 4

C. 1002, 5, 5

D. Error

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

int main()

{

char str[] = “LAPTRINHC++\0\.NET\0”;

printf(“%s\n”, str);

getch();

}

What is output?

A. LAPTRINHC++

B. LAPTRINHC++\0\.NET\0

C. LAPTRINHC++\0\.NET

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

int main()

{

int i = 11;

int const * p = &i;

p++;

printf(“%d”, *p);

getch();

}

What is output?

A. 11

B. 12

C. Garbage value

D. Complier error

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

void main()

{

char arr[8]={‘V’,’I’,’E’,’T’,’N’,’A’,’M’};

char *p;

p=(char *)(arr+2)[2];

printf(“%c”, p);

getch();

}

What is output?

A. I

B. E

C. M

D. N

Hướng dẫn

Chọn D là đáp án đúng

Tags:

#include

#include

#include

int main()

{

int array[2][2][3]={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};

printf(“%d”, array[1][0][2]);

getch();

}

What is output?

A. 6

B. 7

C. 8

D. 9

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

void main()

{

char ch[]={‘0’, ‘1’, ‘2’, ‘3’, ‘4’, ‘5’, ‘6’, ‘7’, ‘8’, ‘9’};

int *p = (int*)ch;

p++;

printf(“%x”, *p);

getch();

}

What will be output of following program?

A. 37363534

B. 34353637

C. 45673333

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int i = 5;

int *p;

p = &i;

printf(” %u %u”, *&p , &*p);

getch();

}

What will be output of following program?

A. Address of i Address of i

B. Garbage value Garbage value

C. Complier Error

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

*&p = &*p = p = &i

Tags:

#include

#include

#include

int main()

{

int i = 5, j;

int *p , *q;

p = &i;

q = &j;

j = 5;

printf(“%d %d”, *p, *q);

getch();

}

What will be output of following program?

A.  5 5

B. Complier Error

C. 5 Garbage value

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

int main()

{

int a = 5, b = 10, c;

int *p = &a, *q = &b;

c = p – q;

printf(“%d” , c);

getch();

}

What will be output of following program?

A. 3

B. 4

C. 5

D. 6

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

#include

int main()

{

char *ptr1 = NULL;

char *ptr2 = 0;

printf(“\n%d”, ptr2);

strcpy(ptr1, “c”);

strcpy(ptr2, “questions”);

printf(“\n%s %s”, ptr1, ptr2);

getch();

}

What will be output of following program?

A.  printf(“\n%d”, ptr2);

B. strcpy(ptr1, “c”);

C. strcpy(ptr2, “questions”);

D. printf(“\n%s %s”, ptr1, ptr2);

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Chương trình biên dịch (Complier) báo lỗi tại dòng strcpy(ptr1,” c”);. Vì biến ptr1 chưa được cấp phát.

Tags:

#include

#include

#include

int main()

{

int a = 10;

void *p = &a;

int *ptr = p;

printf(“%u\n”, *ptr);

getch();

}

What will be output of following program?

A.  int a = 10;

B. void *p = &a;

C. int *ptr = p;

D. printf(“%u\n”, *ptr);

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Lỗi tại dòng int *ptr = p;

Tags:

#include

#include

int main()

{

int a = 320;

char *ptr;

ptr = (char*)&a;

printf(“%d “, *ptr);

return 0;

}

What is output of code?

A. 320

B. 64

C. Complier Error

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

int main()

{

int i = 3;

int *j;

int **k;

j = &i;

k = &j;

printf(“%u , %u , %d “, k, *k, **k);

return 0;

}

What will be output of following program?

A. Address of j , Address of  i , 3

B. Complier Error

C. 3 , 3 , 3

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

k = &j *k = *&j *k = j **k = *j.

Tags:

#include

#include

#include

void main()

{

int a = 80;

if(a++ > 80)

printf(“C/C++ %d”, a);

else

printf(“Java %d”, a);

getch();

}

 What is output of code?

A. C/C++ 80

B. C/C++ 81

C. Java 80

D. Java 81

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

#include

#include

void myfunc(char** param)

{

++param;

}

void main()

{

char* string = (char*)malloc(64);

strcpy(string, “hello_World”);

myfunc(&string);

myfunc(&string);

printf(“%s\n”, string);

getch();

}

What is output ?

A. hello_World

B. ello_World

C. llo_World

D. lo_World

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Biến string sẽ chứa địa chỉ của chuỗi. &string là địa chỉ của biến con trỏ string (xem hình vẽ).

Khi truyền &string cho hàm myfunc(), thì param = &string (tức là con trỏ 2 chiều param trỏ tới địa chỉ của biến string).

Trong hàm myfunc(), phép toán ++param làm thay đổi vùng nhớ mà param trỏ tới mà không làm thay đổi địa chỉ mà biến string trỏ tới.

Tags:

#include

#include

#include

void main()

{

int a;

a = 1;

while(a <= 1)

if(a%2)

printf(“%d “, a++);

else

printf(“%d “, ++a);

printf(“%d “, a+10);

getch();

}

What is output of code?

A. 1 12

B. 2 12

C. 2 11

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int i;

i = 2;

DES:

printf(“%d”, i);

i = i + 2;

if(i <= 20)

goto DES;

What is output of code?

A. 2468101214161820

B. 468101214161820

C. nothing is printed

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int i;

i = 0;

if(i = 15, 10, 5)

printf(“C/C++ %d”, i);

else

printf(“Java %d”, i);

getch();

}

What is output of code?

A. C/C++ 15

B. Java 15

C. Java 5

D. Complier error

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

#include

void main()

{

char str1[] = “vncoding”;

char str2[] = “vncoding”;

if (strcmp(str1, str2))

printf(“Equal”);

else

printf(“Unequal”);

getch();

}

What is output of code?

A. Equal

B. Unequal

C. nothing is printed

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int i;

i = 10;

if(i == 20 || 30)

printf(“True”);

else

printf(“False”);

getch();

}

 What is output of code?

A. True

B. False

C. Complier error

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

int i, j, *ptr, *ptr1;

i = 10;

j = 10;

ptr = &i;

ptr1 = &j;

if(ptr == ptr1)

printf(“True”);

else

printf(“False”);

getch();

}

What is output of code?

A. True

B. False

C. Complier error

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

void main()

{

if(1,0)

printf(“True”);

else

printf(“False”);

getch();

}

What is output of code?

A. True 

B. False

C. Complier error

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

int main()

{

int a = 5;

switch(a)

{

default:

a = 4;

case 6:

a–;

case 5:

a = a + 1;

case 1:

a = a – 1;

}

printf(“%d \n”, a);

getch();

}

What is output?

A. 3

B. 4

C. 5

D. 6

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Chương trình sẽ nhảy vào case 5 và thực hiện lệnh a = a+1 = 6. Nhưng vì không có lệnh break nên a = a – 1 = 5 sẽ được thực hiện.

Tags:

#include

#include

#include

int main()

{

int check = 20, arr[] = {10, 20, 30};

switch (check)

{

case arr[0]: printf(“A “);

case arr[1]: printf(“B”);

case arr[2]: printf(“C”);

}

getch();

}

What is output?

A. ABC

B. BC

C. B

D. Complier Error

Hướng dẫn

Chọn D là đáp án đúng

Xem lời giải

Xem lời giải

Case , biểu thức phải là hằng số nguyên. arr[0], arr[1], arr[2] không phải là hằng số nguyên.

Tags:

#include

#include

#include

int main()

{

int x = 3;

if (x == 2); x = 0;

if (x == 3) x++;

else x += 2;

printf(“x = %d”, x);

getch();

}

 What is output?

A. x = 2

B. x = 6

C. x = 0

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

x = 3, x = 0, x += 2 được thực hiện.

Tags:

#include

#include

#include

#define A 0

#define B 1

int main()

{

int i = 3;

switch (i & 1)

{

case A: printf(“FALSE”);

break;

case B: printf(“TRUE”);

break;

default: printf(“Default”);

}

getch();

}

What is output?

A. FALSE

B. TRUE

C. Default

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

i&1 = 101&1 = 1.

Tags:

#include

#include

#include “conio.h”

void main()

{

int i = 3;

switch (i)

{

case 0+1: printf(“A”);

break;

case 1+2: printf(“B”);

break;

default: printf(“ABC”);

}

getch();

}

What is output?

A. A

B. B

C. ABC

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

int main()

{

int i;

if (printf(“0”))

i = 3;

else

i = 5;

printf(“%d”, i);

getch();

}

What is output?

A. 3

B. 5

C. 03

D. 05

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Hàm printf() trả về số lượng kí tự in ra màn hình. printf(“0”) trả về giá trị 1.

Tags:

#include

#include

#include

void main()

{

int i = 0;

switch (i)

{

case ‘0’: printf(“A”);

break;

case ‘1’: printf(“B”);

break;

default: printf(“ABC”);

}

getch();

}

 What is output?

A. A

B. B

C. ABC

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Trong lệnh switch(), biểu thức điều kiện phải là số nguyên, giá trị của kí tự ‘0’ trong bảng mã ASCII là 48, của kí tự ‘1’ là 49.

Do vậy, chương trình sẽ nhảy vào case default.

Tags:

#include

#include

#include

void foo();

int main()

{

printf(“%d “, 1);

goto l1;

printf(“%d “, 2);

}

void foo()

{

l1: printf(“3 “);

}

What is output?

A. Complie error

B. 3

C. 1

D. 1 3

Hướng dẫn

Chọn A là đáp án đúng

Xem lời giải

Xem lời giải

Lệnh goto chỉ có thể nhảy tới label trong cùng 1 hàm. Chương trình sẽ báo lỗi label l1 chưa được khai báo.

Tags:

#include

#include

#include

int main()

{

int i = 0, j = 0;

while (i < 2)

{

l1: i++;

while (j < 3)

{

printf(“loop\n”);

goto l1;

}

}

getch();

}

What is output?

A. loop loop loop

B. Infinite loop

C. Complie error

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

Label của lệnh goto không được đặt trong biểu thức điều kiện của vòng lặp.

Tags:

#include

#include

#include

#define PRINT(i, limit) do \

{ \

if (i++ < limit) \

{ \

printf(“laptrinhc++”); \

continue; \

} \

}while(1)

void main()

{

PRINT(0, 3);

getch();

}

What is output?

A.  ‘laptrinhc++’ is printed 3 times

B. ‘laptrinhc++’ is printed 2 times

C. Complier error

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

#define a 10

void main()

{

printf(“%d “, a);

#define a 50

printf(“%d “, a);

getch();

}

What is output?

A. 10 50

B. 10 10

C. 50 50

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

#define MAX 1000

void main()

{

int MAX = 100;

printf(“%d “, MAX);

getch();

}

What is output?

A. 1000

B. 100

C. Complier error

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

#define SQUARE(x) x*x

void main()

{

int x;

x = 36 / SQUARE(6);

printf(“%d”, x);

getch();

}

What is output?

A. 1

B. 36

C. 6

D. 30

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

#define X 3

#if !X

printf(“C/C++”);

#else

printf(“Java”);

#endif

void main()

{

getch();

}

What is output?

A. C/C++

B. Java

C. Complier error

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

#define ISEQUAL(X, Y) X == Y

void main()

{

#if ISEQUAL(X, 0)

printf(“C/C++”);

#else

printf(“Java”);

#endif

getch();

}

What is output?

A. C/C++

B. Java

C. Complier error

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

#if X == 3

#define Y 3

#else

#define Y 5

#endif

void main()

{

printf(“Y = %d”, Y);

getch();

}

What is output?

A. Y = 3

B. Y = 5

C. Garbage value

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

#define x 5+2

void main()

{

int i;

i = x*x*x;

printf(“%d”, i);

getch();

}

 What is output?

A. 21

B. 27

C. Complier Error

D. Another

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

#define call(x,y) x##y

void main()

{

int x = 5, y = 10, xy = 20;

printf(“%d”, xy + call(x, y));

getch();

}

What is output?

A.  530

B. 70

C. 40

D. Complier Error

Hướng dẫn

Chọn C là đáp án đúng

Tags:

#include

#include

#include

typedef struct

{

int x;

static int y;

}st;

void main()

{

printf(“sizeof(st) = %d”, sizeof(st));

getch();

}

What is output?

A. 4

B. Complier error

C. 8

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

struct

{

short s[5];

union

{

float y;

long z;

}u;

} t;

void main()

{

printf(“sizeof(st) = %d”, sizeof(t));

getch();

}

What is output?

A. 16

B. 22

C. 32

D. 18

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

struct birthday

{

int d; // day

int m; // month

int y; // year

};

struct info

{

int ID; // code of staff

birthday b;

};

void main()

{

info a = {1009, 16, 9, 1989};

printf(“\nID=%d, dd/mm/yyyy = %d/%d/%d”, a.ID, a.b.d, a.b.m, a.b.y);

getch();

}

What is output?

A. ID=1009, dd/mm/yyyy = 16/09/1989

B. ID = 1009, dd/mm/yyyy = garbage value/garbage value/garbage value (garbage value: giá trị rác)

C. Error sytax (Lỗi cú pháp)

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

#include

void main()

{

struct site

{

char name[] = “laptrinhc++”;

int year = 2;

};

struct site *ptr;

printf(“%s “, ptr->name);

printf(“%d”, ptr->year);

getch();

}

What is output?

A. laptrinhc++ 2

B. Complier error

C. Runtime error

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Chỉ có member static của struct mới được phép khởi tạo bên trong struct

Tags:

#include

#include

using namespace std;

int main()

{

int a = 20;

int &n = a;

n = a++;

a = n++;

cout << a << "," << n << endl;

system(“pause”);

}

What is the output of the following code?

A. 20,21

B. 20,20

C. 21, 22

D. none of above

Hướng dẫn

Chọn D là đáp án đúng

Xem lời giải

Xem lời giải

Kết quả: 22,22

Tags:

#include

#include

#include

void swap(char **, char **);

int main()

{

char *pstr[2] = {“LAPTRINHC++”, “.NET”};

swap(&pstr[0], &pstr[1]);

printf(“%s%s”, pstr[0], pstr[1]);

getch();

}

void swap(char **t1, char **t2)

{

char *t;

t=*t1;

*t1=*t2;

*t2=t;

}

What is output?

A. LAPTRINHC++.NET

B. .NETLAPTRINHC++

C. Address of pstr[0] Address of pstr[1]

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

typedef struct

{

char c; // 1 byte

float b; // 4 byte

int a; // 4 byte

}A;

void main()

{

printf(“\n Size of struct: %d”, sizeof(A));

getch();

}

What is output? Giả sử dùng VC++ 2008 trên hệ điều hành 32 bit

A. 9

B. 12

C. 16

D. 24

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

#include

typedef struct

{

int a[2]; // 8 byte

char b[5]; // 5 byte

char c[5]; // 5 byte

}A;

void main()

{

printf(“\n Size of struct: %d”,sizeof(A));

getch();

}

What is output?

A. 20

B. 18

C. 32

D. 24

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

using namespace std;

class professor

{

public:

professor() { cout << "professor "; };

};

class researcher

{

public:

researcher() { cout << "researcher "; };

};

class teacher : public professor

{

public:

teacher() { cout << "teacher "; };

};

class myprofessor : public teacher, public virtual researcher

{

public:

myprofessor() { cout << "myprofessor "; };

};

int main()

{

myprofessor obj;

system(“pause”);

return 0;

}

What is the output of the following code?

A. professor researcher teacher myprofessor

B. researcher professor teacher myprofessor

C. myprofessor teacher researcher professor

D. myprofessor researcher professor teacher

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

using namespace std;

class Base

{

public:

virtual void Method() = 0 { n = 1; }

private:

int n;

};

class D1 :Base {};

class D2 :public D1

{

int i;

void Method() { i = 2; }

};

int main()

{

D2 test;

return 0;

}

What is wrong in the following code?

A. There is no error

B. There is a syntax error in the declaration of “Method”

C. Class D2 does not have access to “Method”

D. Class D1 must define “Method”

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

class Base

{

public:

Base() {};

virtual ~Base() {};

};

class Derived : protected Base

{

public:

virtual ~Derived() {};

};

int main()

{

Base *pb = new Derived();

return 0;

}

What is wrong in the following code?

A. There is nothing wrong

B. One cannot have a ‘Base’ pointer to ‘Derived’ since it is not derived publicly

C. One need a derived class pointer to point to a derived class

D. One required to code a constructor for Derived

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Class Derived kế thừa class Base kiểu protected, hàm tạo Base() là thành phần protected của class Derived.

Tags:

#include

#include

using namespace std;

class Parent

{

public:

Parent() { Status(); }

virtual ~Parent() { Status(); }

virtual void Status() { cout << "Parent "; }

};

class Child : public Parent

{

public:

Child() { Status(); }

virtual ~Child() { Status(); }

virtual void Status() { cout << "Child "; }

};

void main()

{

Child c;

}

What is the output of the following code?

A. Parent Parent

B. Parent Child Child Parent

C. Child Parent Parent Child

D. Error

Hướng dẫn

Chọn B là đáp án đúng

Xem lời giải

Xem lời giải

Class Child kế thừa từ class Parent.

– Khi đối tượng Child được tạo, hàm tạo của class cơ sở sẽ được gọi trước, sau đó mới gọi đến hàm tạo class kế thừa.

– Khi kết thúc chương trình, đối tượng Child bị hủy, hàm hủy của lớp kế thừa được gọi trước, sau đó mới đến hàm hủy lớp cơ sở.

Tags:

#include

#include

using namespace std;

class Base

{

int static i;

public:

Base() { cout << "Base's constructor"; };

};

class Sub1 : public virtual Base {};

class Sub2 : public Base {};

class Multi : public Sub1, public Sub2 {};

void main()

{

Multi m;

system(“pause”);

}

In the following program, how many times Base’s constructor will be called?

A. 1

B. 2

C. 3

D. error

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

using namespace std;

namespace N1

{

int f(int n) { return n * 2; }

}

namespace N2

{

int f(double n) { return n * 3; }

}

void main()

{

using N1::f;

int i1 = f(1.0);

cout << "i1 = " << i1;

using N2::f;

int i2 = f(1.0);

cout << "i1 = " << i2;

system(“pause”);

}

In the following code what would be the values of i1 and i2

A. i1=2 i2=2

B. i1=2 i2=3

C. i1=3 i2=2

D. Error

Hướng dẫn

Chọn B là đáp án đúng

Tags:

#include

#include

int count = 0;

class obj

{

public:

obj() { count++; }

~obj() { count–; }

};

int main()

{

obj A, B, C, D, E;

obj F;

{

obj G;

}

std::cout << count;

return 0;

}

What is the output of the following code?

A. 0

B. 5

C. 6

D. 7

Hướng dẫn

Chọn C là đáp án đúng

Xem lời giải

Xem lời giải

có 7 đối tượng A,B,C,D,E,F,G được tạo -> hàm tạo được gọi 7 lần -> count = 7. Tuy nhiên, đối tượng G bị hủy khi ra khỏi dấu }, hàm hủy được gọi -> count = 6

Tags:

#include

#include

using namespace std;

int main()

{

int main;

main = 100;

cout << main++ << endl;

system(“pause”);

}

What is the output of the following code?

A. 100

B. 101

C. none

D. compile error

Hướng dẫn

Chọn A là đáp án đúng

Tags:

#include

#include

using namespace std;

int main()

{

int a = 20, b = 100;

int &n = a;

n = a++;

n = &b;

cout << a << "," << n << endl;

system(“pause”);

}

What is the output of the following code?

A. 21,21

B. 20,21

C. 21,22

D. compile error

Hướng dẫn

Chọn D là đáp án đúng

Xem lời giải

Xem lời giải

n = &b; ==> lỗi ‘=’: cannot convert from ‘int *’ to ‘int’

Tags: