




Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Material Type: Exam; Class: COMPUTER PRGRMNG I; Subject: Computer Science and Engineering; University: University of Washington - Seattle; Term: Unknown 1989;
Typology: Exams
1 / 8
This page cannot be seen from the preview
Don't miss anything!





All multiple choice questions are equally weighted. You can generally assume that code shown in the questions is intended to be syntactically correct, unless something in the question or one of the answers suggests otherwise.
Given the following statement in a C program that has no syntax errors: printf ("101%c0%c", a, ’b’);
What can you say with reasonable certainty about this?
A. a must be a character variable (if a were not of type char, there would be a syntax error) B. ’b’ is a character variable C. This will display 101a0b D. This will display 6 characters, but you don’t know what they all are.
E. The percent symbol (%) will appear in the output
You are modifying a program someone else wrote. The original programmer used a variable called "month" to store a number (1-12) representing the current month of the year. You wish to change the variable so that instead of a number it contains only the first character of that month’s name (example: ’J’ for January, etc.).
What is the most likely type modification you will make to the program?
A. Change double to int B. Change int to letter C. Change number to char D. Change double to char
E. Change int to char
Consider the function below, and then determine what value would be returned for the call: f(27)
int f(int x) { if (x%2 == 0) return x; else return 0; }
Suppose you write this function as part of your program. The compiler gives you a warning or error on lines A and B. Why?
void puzzler (int qmark) { if (qmark == 1) return (3.0); /* line A / else return (2.0); / line B */ }
A. The function has a void parameter list. B. The function has a void return type. C. The values returned should be 2 and 3, not 2.0 and 3.0. D. It is not legal to have parentheses following return.
E. It is not legal to have more than one return statement in a function.
Suppose you wrote the following program:
#include <stdio.h>
int main(void) { int x = 3, y;
printf("x times y is %d\n", x * y); return 0; }
Which of the following statements is true:
A. The program would not compile because y is an undefined variable. B. The program would not compile (that is, it would have syntax errors) because y is never initialized. C. While running, the program would stop when it reaches the printf because y is uninitialized. D. The program would print out "x times y is 0", because y is automatically initialized to 0.
E. The program would print out some random number as the value of x * y It might be 0, it might not be.
What is the value of this expression in C?
if (a == b) {
/* what could go here? */
What can be said about what could go inside a compound statement such as the one shown above?
I. There could be any number of statements, including 0 (no statements at all) II. There could be any kind of statement except a function call III. There could be any kind of statement except another "if" statement
A. I only B. II only C. III only D. I and III (only)
E. None of I, II, or III
double price; ... scanf ("%d", price);
The programmer actually intended to write scanf ("%lf", &price);
How should this be viewed?
I. Using %d is a syntax error II. Using %d is a semantic error III. Omitting & is a syntax error IV. Omitting & is a sematic error V. These are not errors, but just matters of style
A. I and III B. II and IV C. I and IV D. II and III
The following code executes, with x having a value of 20 and y having a value of 21. What is printed?
if (x-y > y) { if (x >= 3y) printf ("a"); else { if (x > 2y) printf ("b"); printf ("c"); } } else { printf ("x"); if (x+y <= x*2) { printf ("d1"); if (y < 0) printf ("d2"); printf ("y");
else if (x == y) printf ("f"); printf ("g"); } if (x != 0) printf ("i"); }
A. xd1ygi B. ai C. xgi D. bci
E. x
Your program will be graded both for correctness and for programming style. It should be a complete, compilable program, and not just a function or program fragment.
#include <stdio.h>