400 Câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải chi tiết
Tổng hợp câu hỏi trắc nghiệm lập trình C/C++ có đáp án và lời giải đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức. Để ôn tập hiệu quả các bạn có thể ôn theo từng phần trong bộ câu hỏi này bằng cách trả lời các câu hỏi và xem lại đáp án và lời giải chi tiết. Sau đó các bạn hãy chọn tạo ra đề ngẫu nhiên để kiểm tra lại kiến thức đã ôn.
Chọn hình thức trắc nghiệm (50 câu/60 phút)
Chọn phần
-
Câu 1:
Maximum number of arguments that a function can take is 12
A. Yes
B. No
-
Câu 2:
Usually recursion works slower than loops
A. Yes
B. No
-
Câu 3:
In a function two return statements should never occur.
A. Yes
B. No
-
Câu 4:
There is a error in the below program. Which statement will you add to remove it
#include<stdio.h> void main() { int a; a = f(1, 3.14); } float f(int a, float b) { return ((float)a + b); }
A. Add prototype: float f(int, float);
B. Add prototype: float f(a, b);
C. Add prototype: float f(float a, int b)
-
Câu 5:
Every function must return a value
A. Yes
B. No
-
Câu 6:
Which of the following statements are correct about the program?
#include <stdio.h> #include <conio.h> void main() { printf("%p", main()); getch(); }
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
-
Câu 7:
Will the following functions work?
int f1(int a, int b) { return(f2(20)); } int f2(int a) { return a*a; }
A. Yes
B. No
-
Câu 8:
If a function contains two return statements successively, the complier will generate warnings. Yes / No?
A. Yes
B. No
-
Câu 9:
Functions can not return a floating point number
A. Yes
B. No
-
Câu 10:
What will be the output of the program?
#include <stdio.h> #include <conio.h> 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--); }
A. 543210
B. 54321
C. 12345
D. Infinite loop
-
Câu 11:
What will be the output of the program?
#include <stdio.h> #include <conio.h> void main() { int func(int); int i = func(5); printf("%d", --i); getch(); } int func(int n) { return(n++); }
A. 4
B. 5
C. 6
D. Another
-
Câu 12:
Point out a error of the following program
f(int a, int b) { int a; a = 20; return a; }
A. Missing parenthesis in return statement
B. The function should be defined as int f(int a, int b)
C. Re-declaration of a
D. None of above
-
Câu 13:
Point out the error in the program
#include <stdio.h> #include <conio.h> int f(int a) { a > 20 ? return(1) : return(0); } void main() { int f(int); int b = f(20); printf("%d", b); getch(); }
A. Error: Prototype declaration
B. No error
C. Error: return statement cannot be used with conditional operators
D. None of above
-
Câu 14:
What will be the output of the program?
#include<stdio.h> #include <conio.h> 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(); }
A. 6 6
B. 5 6
C. Complier error
D. None of above
-
Câu 15:
What will be output of the program?
#include<stdio.h> #include <conio.h> 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; }
A. 4, 3, 4, 3
B. 4, 4, 5, 5
C. 3, 4, 3, 4
D. None of above
-
Câu 16:
Which of the following statements are correct about this function
long fun(int n) { int i; long f = 1; for(i = 1; i <= n; i++) f = f*i; return f; }
A. The function calculates the value of 1 raised to power n
B. The function calculates the factorial value of an integer
C. The function calculates the square root of an integer
D. None of above
-
Câu 17:
Point out the error in the following program
#include <stdio.h> #include <conio.h> void main() { int a = 10; void f(); a = f(); printf("%d", a); getch(); } void f() { printf("vncoding"); }
A. Error: cannot convert ‘void’ to ‘int’
B. Error:
-
Câu 18:
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.
#include <stdio.h> #include <conio.h> int main() { printf("%d\t", sizeof(6.5)); printf("%d\t", sizeof(90000)); printf("%d", sizeof('A')); getch(); }
A. 8 4 1
B. 8 2 1
C. 4 4 1
D. Depend on complier
-
Câu 19:
What will be output when you will execute following c code?
#include <stdio.h> 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; }
A. 1 4 5
B. 1 4 7
C. 8 4 7
D. Another
-
Câu 20:
What value gets printed by the program below?
#include <stdio.h> int main() { int w = 3; int x = 31; int y = 10; double z = x / y % w; printf("%f\n", z); return 0; }
A. 1
B. 0
C. 0.1
-
Câu 21:
What will be output when you will execute following c code?
#include <stdio.h> int main() { char a = 250; int expr; expr= a + !a + ~a + ++a; printf("%d", expr); return 0; }
A. -6
B. 5
C. 4
D. Another
-
Câu 22:
What will be output when you will execute following c code?
#include <stdio.h> int main() { int a = -5; unsigned int b = -5u; // (*) if(a == b) printf("Avatar"); else printf("Alien"); return 0; }
A. Avatar
B. Alien
C. Error at (*)
D. Another
-
Câu 23:
What will be output when you will execute following c code?
#include <stdio.h> #include <conio.h> void main() { int x = 3; printf("%d", x++ + ++x); getch(); }
A. 7
B. 8
C. 9
D. Another
-
Câu 24:
What is output ?
#include <stdio.h> #include <conio.h> void main() { int i = 5, j = 6, k; k = i & j; printf("%d", k); getch(); }
A. 4
B. 0
C. 1
D. 5
-
Câu 25:
What is output ?
#include <stdio.h> #include <conio.h> void main() { int i = 5,j = 6; printf("%d", i | j); getch(); }
A. 7
B. 6
C. 5
D. 1
-
Câu 26:
What is output ?
#include <stdio.h> #include <conio.h> extern int x = 0; void main() { x++; printf("%d", x); getch(); }
A. 0
B. Error
C. 1
D. x isn’t defined
-
Câu 27:
What is output ?
#include <stdio.h> #include <conio.h> extern int x = 0; void main() { { int x = 1; } printf("%d", x); getch(); }
A. 0
B. 1
C. Error Comlier
-
Câu 28:
What is output ?
#include <stdio.h> #include <conio.h> int y = 0; void main() { { int x = 0; x++; ++y; } printf("%d\t%d", x, y); getch(); }
A. 1 1
B. 1 0
C. ‘x’ undeclared identifier
-
Câu 29:
Output of following code?
void main() { int x; { x++; } printf("%d", x); getch(); }
A. 1
B. 0
C. Error
-
Câu 30:
Output of following code?
void main() { int x=0; { int x = 0, y = 0; y++; x++; } printf("%d", x); getch(); }
A. 1
B. Error
C. 0
-
Câu 31:
Output of following code?
void count() { static int page = 0; printf("%d", page); page++; } void main() { int i; for(i = 0; i < 10; i++) { count(); } getch(); }
A. 0123456789
B. 0000000000
C. 0101010101
-
Câu 32:
Output of following code?
const int x = 5; void main() { int x[x]; int y = sizeof(x) / sizeof(int); printf("%d", y); getch(); }
A. 1
B. 5
C. 20
D. ‘x’ isn’t defined
-
Câu 33:
What is output?
#include <stdio.h> int main() { int x = 5, y = 10, z = 15; printf("%d %d %d"); return 0; }
A. Garbage Garbage Garbage
B. 5 10 15
C. 15 10 5
D. Run time error
-
Câu 34:
What is output?
#include <stdio.h> int main() { char *url="c:\tc\bin\rw.c"; printf("%s", url); return 0; }
A. c:/tc/bin/rw.c
B. c: c inw.c
C. c:cinw.c
D. w.c in
-
Câu 35:
What is output ?
#include <stdio.h> int main() { const int i = 5; i++; printf("%d", i); return 0; }
A. 5
B. 6
C. 0
D. Complier error
-
Câu 36:
What is output?
#include <stdio.h> #include <conio.h> void main() { char c = 125; c = c + 10; printf("%d", c); getch(); }
A. 135
B. 8
C. -121
D. 121
-
Câu 37:
What is output?
#include <stdio.h> #include <conio.h> int main() { char c = 48; int i, mask = 01; for(i = 1; i <= 5; i++) { printf("%c", c|mask); mask = mask << 1; } getch(); }
A. 12480
B. 1248@
C. 12500
D. 12522
-
Câu 38:
What is output?
#include <stdio.h> #include <conio.h> int main() { float a = 0.7; if(0.7 > a) printf("Hi\n"); else printf("Hello\n"); getch(); }
A. Hi
B. Hello
C. None of above
-
Câu 39:
What is output of program?
#include <stdio.h> #include <conio.h> void main() { int x = 10, y = 20, z = 5, i; i = x < y < z; printf("i = %d", i); getch(); }
A. i = 0
B. i = 1
C. Error
D. None of these
-
Câu 40:
Which of the declaration is correct?
A. int length;
B. char int;
C. int long;
D. float double;
-
Câu 41:
What is output of program?
#include <stdio.h> #include <conio.h> int N = 10; void main() { int N = 20; printf("N = %d", N); getch(); }
A. N = 20
B. N = 10
C. Error
D. No Output
-
Câu 42:
What is output of program?
#include <stdio.h> #include <conio.h> void main() { int a[5] = {1, 2}; printf("%d %d %d", a[2], a[3], a[4]); getch(); }
A. 0 0 0
B. 1 2 2
C. 1 1 1
D. Error
-
Câu 43:
What is output of program?
#include <stdio.h> #include <conio.h> void main() { extern int func(float); int a; a = func(3.14); printf("%d", a); getch(); } int func(float a) { return (int)++a; }
A. 3
B. 4
C. Complier Error
D. 3.14
-
Câu 44:
Which of the following operations are INCORRECT?
A. int i = 35; i = i%5
B. short int j = 5; j = j;
C. long int k = 123L; k = k;
D. float a = 3.14; a = a%3;
-
Câu 45:
Point out a error in the following program
#include <stdio.h> #include <conio.h> void main() { void v = 0; printf("%d", v); getch(); }
A. Error: Declaration syntax error v (or) ‘v’: illegal use of type ‘void’
B. Program terminate abnormally
C. No error
D. None of these
-
Câu 46:
In the following program how long will the for loop get executed?
#include <stdio.h> #include <conio.h> void main() { int i = 5; for(;scanf("%d", &i); printf("%d", i)); getch(); }
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
-
Câu 47:
Point out the error in the following program (if it is compiled with Turbo C complier)
#include <stdio.h> #include <conio.h> void main() { display(); getch(); } void display() { printf("vncoding.net"); }
A. No error
B. display( ) is not declared
C. None of these
-
Câu 48:
Which of the following are unary operators in C?
1. !
2. sizeof
3. ~
4. &&
A. 1, 2
B. 1, 3
C. 2, 4
D. 1, 2, 3
-
Câu 49:
In the expression a = b = 5 the order of Assignment is NOT decided by Associativity of operators.
A. True
B. False
-
Câu 50:
Which of the following is the correct order if calling functions in the below code?
a = f1(11, 16) * f2(12/8) + f3();
A. f1, f2, f3
B. f3, f2, f1
C. Order may vary from complier to complier
D. None of above