ECS 30A Practice Midterm 1 - UNIX and C Programming - Prof. Zhaojun Bai, Exams of Computer Science

A practice midterm exam for ecs 30a, focusing on unix commands and c programming concepts such as file manipulation, conditional statements, and loops. The exam includes questions on cancelling print jobs, listing files, file permissions, moving files, viewing files, and writing if statements. It also includes a c programming question on finding common factors of two numbers.

Typology: Exams

Pre 2010

Uploaded on 07/31/2009

koofers-user-4qj
koofers-user-4qj 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
ECS 30A Practice Midterm #1
Hanly and Koffman, 5ed, Chapters 2-5, Closed book and closed notes.
1. (10 points) You just printed something, and realize that it is a binary file that will print a bunch of garbage. What are
the steps you take to cancel the print job?
2. (5 points) What UNIX command would you type to see a list of all of the files (including the hidden files) in directory
hw1?
3. (5 points) You just wrote and saved the file test2.c. Now you want to make sure that only you can read and write it.
What UNIX command would you type to make test.c only readable and writeable by you?
4. (5 points) You want to move all of your C source files (ending in .c) and header files (ending in .h) from your hw1
subdirectory to your mid1 subdirectory. What UNIX command should you type?
5. (5 points) You want to view the file test3.c a screen at a time. What UNIX command would you type?
6. (25 points) Given the following series of if statements, provide the outputs for each X. Note that more than one printf
can be executed for each X.
if (X > 20)
printf(“First ”);
else
if(X < 5)
printf(“Second “);
else
printf(“Third “);
if(X == 20)
printf(“Fourth “);
else
if(X < 19 || X > 25)
printf(“Fifth “);
if(X > 5 && X < 22)
printf(“Sixth ”);
a. (5 points) X = 0 ________________________________________________________________________
b. (5 points) X = 5 ________________________________________________________________________
c. (5 points) X = 17 ________________________________________________________________________
d. (5 points) X = 20 ________________________________________________________________________
e. (5 points) X = 28 ________________________________________________________________________
7. (15 points) Write a for loop that will produce the same output as the following while loop.
int x = 7;
while(x < 20)
{
x = x + 3;
printf(“%d”, x);
}
pf2

Partial preview of the text

Download ECS 30A Practice Midterm 1 - UNIX and C Programming - Prof. Zhaojun Bai and more Exams Computer Science in PDF only on Docsity!

ECS 30A Practice Midterm # Hanly and Koffman, 5ed, Chapters 2-5, Closed book and closed notes.

  1. (10 points) You just printed something, and realize that it is a binary file that will print a bunch of garbage. What are the steps you take to cancel the print job?
  2. (5 points) What UNIX command would you type to see a list of all of the files (including the hidden files) in directory hw1?
  3. (5 points) You just wrote and saved the file test2.c. Now you want to make sure that only you can read and write it. What UNIX command would you type to make test.c only readable and writeable by you?
  4. (5 points) You want to move all of your C source files (ending in .c) and header files (ending in .h) from your hw subdirectory to your mid1 subdirectory. What UNIX command should you type?
  5. (5 points) You want to view the file test3.c a screen at a time. What UNIX command would you type?
  6. (25 points) Given the following series of if statements, provide the outputs for each X. Note that more than one printf can be executed for each X.

if (X > 20) printf(“First ”); else if(X < 5) printf(“Second “); else printf(“Third “); if(X == 20) printf(“Fourth “); else if(X < 19 || X > 25) printf(“Fifth “); if(X > 5 && X < 22) printf(“Sixth ”);

a. (5 points) X = 0 ________________________________________________________________________

b. (5 points) X = 5 ________________________________________________________________________

c. (5 points) X = 17 ________________________________________________________________________

d. (5 points) X = 20 ________________________________________________________________________

e. (5 points) X = 28 ________________________________________________________________________

  1. (15 points) Write a for loop that will produce the same output as the following while loop. int x = 7; while(x < 20) { x = x + 3; printf(“%d”, x); }
  1. (20 points)Assuming that x is 11, y is 6, and z is 1 at the beginning of each statement, what is the value of w: a.) w = (x != y) -2 + 7 ___________________________________

b.) w = x-- + y-- * ++z ___________________________________

c.) w = x == y || x != y && z > x ___________________________________

d.) w = !!(x * 4) + x % y ___________________________________

e.) w = 7 * --y + !(y ==5) ___________________________________

  1. (50 points) Write a complete, warning-free, C program that lists all of the common factors of two positive integers. The program will prompt the user for the two numbers, and then list on one line all the factors that the numbers have in common. A factor of a number divides into that number with a remainder of zero. The program will continue to ask the user for more pairs of numbers until the first number entered is zero. Your prompts and formats should match that shown. User input is in bold.

Please enter two positive integers: 20 12 1 2 4

Please enter two positive integers: 60 120 1 2 3 4 5 6 10 12 15 20 30 60

Please enter two positive integers: 8 9 1

Please enter two positive integers: 0 230 Done.