What is the correct login string for CAEN?
NOTE:In this class, when we want to indicate that you should use a variable but we are
writingtext in a document, we will surround the variable with < and >. For example, for
optionA in the following answers, Dr. Paoletti's personal login string would
, because he would replace <uniqname> with his
uniqname(paoletti).
A. ssh <uniqname>@login.engin.umich.edu
B. ssh <uniqname>@engin.umich.edu
C. ssh <uniqname>@caen.umich.edu
D. ssh <uniqname>@umich.edu correct answers A
Why do we use Makefiles?
A. They can create the submission files automatically.
B. They automate the (sometimes long and complex) compilation process for us.
C. They can run custom testing scripts.
D. Typing out compilation commands every time is annoying.
E. All of the above. correct answers E
Will your program compile on the autograder without the project identifier?
A. Yes.
B. NO, and I'll potentially waste the submission. correct answers B
What is the Makefile command to create a submission file that includes custom test cases?
A. make
B. make all
C. make partialsubmit
D. make fullsubmit correct answers D
Which of the following is a debugging tool?
A. Makefile
B. perf
C. valgrind
D. cin correct answers C
What does perf do?
A. Detects segmentation faults in a program and displays line numbers that they occurred at.
B. Profiles program execution time.
C. Profiles program memory usage.
D. Automates the testing process. correct answers B
What is wrong with the following program?
int add ( int a , int b );
int main () {
int x = 1;
, int y = 5;
return add (x , y );
}
A. add() has no definition.
B. add() is called with x and y, but accepts a and b.
C. The program does not compile because main() cannot return a value of 6.
D. A function cannot be called after a return statement.
E. Nothing is wrong with this program. correct answers A
What is wrong with the following program?
int main () {
int x = 0;
return x + y ;
}
A. main() cannot return the result of an arithmetic expression.
B. main() cannot return x + y because x + y is a double.
C. main() does not contain a declaration for y.
D. main() cannot return an integer.
E. Nothing is wrong with this program. correct answers C
What is wrong with the following program?
# include < vector >
int * get_some_ints () {
std :: vector < int > ints = {1 , 2 , 3 , 4 , 5};
return ints . data ();
}
int main () {
int * some_ints = get_some_ints ();
delete [] some_ints ;
return 0;
}
A. The memory pointed to by some ints is freed twice.
B. main() leaks the memory pointed to by some ints.
C. A function cannot return a pointer.
D. some ints is a pointer and not an array, so delete should be used instead of delete[].
E. Nothing is wrong with this program. correct answers A
What is wrong with the following program?
struct Thing { };
int main () {
Thing a ;
Thing b ;
bool less = a < b ;
}
A. main() cannot declare an instance of a Thing object.
B. main() must have a return value.
C. Thing cannot have an empty definition, so this code does not compile.
D. main() tries to use the < operator, which is not defined for the Thingtype.
E. Nothing is wrong with this program correct answers D