Week 02 Tutorial Questions

    Variables

  1. What are the types of variables that we've seen so far and what do they represent?
  2. What is the difference between a variable and a constant?
  3. What is the difference between declaring variable and using #define?
  4. Input/Output

  5. scanf() and printf() are similar functions.

    printf(): print to the terminal

    scanf(): scan in from the terminal

    Fill in the following table with the correct syntax to print out a variable called a with value 12/ scan in a variable called a.

    printf() scanf()
    int a = 12;
    printf();
    int a;
    scanf();
  6. Write a program rectangle_area.c that scans in 2 integers which are the side-length of a rectangle, and then prints the area of the rectangle.

  7. C Arithmetic Operators

  8. The value of C  arithmetic operations depends on the types of the operand. If the types of the operands differ, C automatically converts the types as appropriate.

    Determine the value and type of each expression and sub-expression:

    • 1 / 2 * 500
    • 1 / 2.0 * 500
    • (17 / 5) * 5 + (17 % 5)
    • (12 - 17) % 6 - 4
    • 'A' + 5 (Assume we treat this as a char)
    • 'A' + 32 (Assume we treat this as a char)
  9. Program Flow

  10. What is the syntax of C if statements? What is the role of if statements in programs?

  11. What is the difference between the following if statement structures?

    if (num >= 1) {
        printf("num is 1 or greater\n");
    }
    if (num > 1) {
        printf("num is greater than 1\n");
    }
    
    if (num >= 1) {
        printf("num is 1 or greater\n");
    } else if (num > 1) {
        printf("num is greater than 1\n");
    }
    
    if (num >= 1) {
        printf("num is 1 or greater\n");
    } else {
        printf("num is greater than 1\n");
    }
    
  12. A leap year is a year that has 366 days instead of 365. There is a leap year every year divisible by four except for years which are both divisible by 100 and not divisible by 400.

    For more detail information of leap years see: Leap Year.

    Draw a simple flow chart showing the branches of possibilities to decide if a year is a Leap Year.

  13. Can you then write some simple code using if/else statements in C that decides if a year is a Leap Year? (hint: finding remainders is a useful way to decide whether a number is divisible by another) This code question will be continued in this week's lab, so try to remember or keep a copy/photo of the diagram and code you've written.

  14. For some humourous information about flow charts see: Flow Charts (xkcd).

    Complex if conditions

    The and (&&) and or (||) operators can be used to combine multiple statments into one (such as the statements created in the leap year activity).

    Four penguins
    (Source: Penguins of Madagascar, 2014)
  15. Is this true or false: (There are 4 penguins) || (They are the same height)? What values does this have in C?

  16. Is this true or false: (There are 4 penguins) && (They are the same height)? What values does this have in C?