CSC 161 Schedule Readings Labs & Projects Homework Deadlines Resources

Elementary C Programming

Introduction

This laboratory exercise provides practice with basic elements of writing, editing, compiling, and running programs written in the C programming language. This will use the quarts.c program, complete with annotations.

Starting Emacs

  1. Working within a terminal window, open quarts.c in emacs.
    Starting at your home directory, you could use these commands:
    cd csc161
    cd labs
    emacs quarts.c &
  2. Use the links for the reading (the quarts.c program) to open the program quarts.c in your browser. Then copy and paste it into the emacs window.

Compiling and Running

  1. Compile and run the program in your terminal window by typing:
    gcc -o quarts  quarts.c
    ./quarts
  2. Run the program several more times by typing just ./quarts. (You need not compile the program each time unless you have changed quarts.c.)

Experimenting with Compiling

  1. Make the following typographical errors in quarts.c, recompile, and observe what, if anything, happens.
    In each case, check whether the program compiles, and whether the program runs. If the program does not compile, what happens if you try to run quarts?

    In working through the following, pay close attention to the error messages that result. What do they say? These will be helpful cues to you later as you try to find the underlying cause of errors the compiler reports to you.

    • Type a few characters into your program BEFORE any of the code.
    • Type a few characters into your program AFTER the code.
    • Type some extra words inside of your main method.
    • Misspell your variables.
    • Misspell your printed output.
    • Misspell the name of your main() method.
    • Misspell the name of the included library.

Writing Your Own Program

  1. Write a C program that uses values for pints, quarts, and gallons and determines the corresponding number of liters. For example, your program might compute the number of liters corresponding to 3 gallons, 2 quarts, and 1 pint (i.e., 14.5 quarts total).

    To organize this program, begin by declaring pints and gallons as variables in addition to quarts and liters in the existing program. Next, assign values to these variables, such as:

    gallons = 3;
    quarts = 2;
    pints = 1;

    In computing the total value of liters, one approach would be to compute the total number of quarts from pints, quarts, and gallons (possibly using another variable, such as total_quarts). From this total_quarts, you could compute the total number of liters.

    In computing the total number of quarts, you should use 4 quarts per gallon and 2 pints per quart. (Be sure that 3 gallons (given in the example above) translates to 12 quarts, not 3/4 or 0.75 quarts.)

    You should reference the annotations on quarts.c to properly print out your output.

    Note: Although you can name this new program whatever you like, you should end the file name with .c for two reasons:

    • You can identify the C programs quickly when you list files in your directory with the ls command.
    • emacs recognizes the .c extension as indicating a C program, and emacs adjusts its setting to aid your editing for that type of file.

Writing More C

  1. Write a C program that uses a value for the radius of a circle and computes the circle's area and circumference.

Optional Activity: Experimenting with emacs

  1. Experiment more with the emacs editor, following the reading on the Emacs text editor. Find and try out at least one command from the GNU Emacs Quick Refence card that was not discussed in the reading.