C++ Structures | Set 1
1. The data elements in the structure are also known as what?
a) objects
b) members
c) data
d) objects & data
Answer: B
Explanation: Variables declared inside a class are called as data elements or data members.
2. What will be used when terminating a structure?
a) :
b) }
c) ;
d) ;;
Answer: C
Explanation: While terminating a structure, a semicolon is used to end this up.
3. What will happen when the structure is declared?
a) it will not allocate any memory
b) it will allocate the memory
c) it will be declared and initialized
d) it will be declared
Answer: A
Explanation: While the structure is declared, it will not be initialized, So it will not allocate any memory.
4. The declaration of the structure is also called as?
a) structure creator
b) structure signifier
c) structure specifier
d) structure creator & signifier
Answer: C
Explanation: The structure declaration with open and close braces and with a semicolon is also called structure specifier.
5. What will be the output of the following C++ code?
#include <iostream>
#include <string.h>
using namespace std;
int main() {
int student{
int num;
char name[25];
}
student stu;
stu.num = 123;
strcpy(stu.num, "john");
cout << stu.num << endl;
cout << stu.name << endl;
return 0;
}
a) 123
john
b) john
john
c) compile time error
d) runtime error
Answer: A
Explanation: We are copying the value john to the name and then we are printing the values that are in the program.
6. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
struct Time{
int hours, minutes, seconds;
}
int toSeconds(Time now);
int main() {
Time t;
t.hours = 5;
t.minutes = 30;
t.seconds = 45;
cout << "Total seconds: " << toSeconds(t) << endl;
return 0;
}
int toSeconds (Time now){
return 3600 * now.hours + 60 * now.minutes + now.seconds;
}
a) 19845
b) 20000
c) 15000
d) 19844
Answer: A
Explanation: In this program, we are just converting the given hours and minutes into seconds.
7. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
int main() {
struct ShoeType{
string style;
double price;
};
ShoeType shoe1, shoe2;
shoe1.style = "Adidas";
shoe1.price = 9.99;
cout << shoe1.style << "$" << shoe1.price;
shoe2 = shoe1;
shoe2.price = shoe2.price / 9;
cout << shoe2.style << "$" << shoe2.price;
return 0;
}
a) Adidas $ 9.99Adidas $ 1.11
b) Adidas $ 9.99Adidas $ 9.11
c) Adidas $ 9.99Adidas $ 11.11
d) Adidas $ 11.11Adidas $ 11.11
Answer: A
Explanation: We copied the value of shoe1 into shoe2 and divide the shoe2 value by 9, So this is the output.
8. What will be the output of the following C++ code?
#include <iostream>
using namespace std;
struct sec{
int a;
char b;
};
int toSeconds(Time now);
int main() {
struct sec s = {25, 50};
struct sec *ps = (struct sec *) &s;
cout << ps-> a << ps-> b ;
return 0;
}
a) 252
b) 253
c) 254
d) 262
Answer: A
Explanation: In this program, We are dividing the values of a and b, printing it.
9. Which of the following is a properly defined structure?
a) struct {int a;}
b) struct a_struct {int a;}
c) struct a_struct int a;
d) struct a_struct {int a;};
Answer: D
Explanation: option struct {int a;} is not correct because name of structure and ;(after declaration) are missing. In option struct a_struct {int a;} ; is missing. In option struct a_struct int a; {} are missing.
10. Which of the following accesses a variable in structure *b?
a) b->var;
b) b.var;
c) b-var;
d) b>var;
Answer: A
Explanation: Because arrow operator(->) is used to access members of structure pointer whereas dot operator(.) is used to access normal structure variables.