Apr 20, 2024  
2021-2022 College Catalog 
    
2021-2022 College Catalog [ARCHIVED CATALOG]

CIS 265 - The C Programming Language

3 Credits, 3 Contact Hours
3 lecture periods 0 lab periods

Principles and syntax of ANSI Standard C and many of the common library functions. Includes writing C programs in portable code to facilitate systems programming concepts.

Prerequisite(s): CIS 131  
Recommendation: CIS 250 . If any recommended course is taken, see a financial aid or Veteran’s Affairs advisor to determine funding eligibility as appropriate.
  button image Prior Learning and link to PLA webpage

Course Learning Outcomes
  1. Identify the difference between ANSI C, C99, and C11.
  2. Write programs in C with various scope (local, global, and external).
  3. Write programs in C with multi-dimensional arrays.
  4. Write programs in C with pointers, and structs.
  5. Write programs using several files.
  6. Solve complex problems using C as the language for implementation.

Performance Objectives:
  1. Contrast ANSI C, C99, and C11.
  2. Discuss the syntax of the C language, including the type specifications and operators and their order of precedence.
  3. Write programs in C to demonstrate scope, multi-dimensional arrays, pointers, and structs.
  4. Contrast C with other procedural programming languages.
  5. Design solution to systems level problems using C as the language for implementation.

Outline:
  1. History of the C language
    1. UNIX
    2. ANSI C
    3. C99
    4. C11
    5. C-based languages
  2. Syntax of the C language
    1. Constants and variables
      1. Local variables
      2. Global variables
      3. External variables
    2. Operators and expressions
      1. Precedence
      2. Associativity
    3. Control flow operators
      1. Selection statements
      2. Repetition
  3. Scope and Storage Classes in C
    1. Declarations
    2. Invocation
    3. Functions - parameter passing (by value and by reference)
  4. Typing Aspects of C
    1. Built-in types
    2. Derived types
      1. Arrays (single and double-dimensional; fixed and variable length)
      2. Structs (including anonymous)
      3. Unions (including anonymous)
      4. Singly Linked Lists
  5. Pointers
    1. Single and multiple reference levels
    2. Passing pointers as arguments
    3. Pointer arithmetic
    4. Pointers and arrays (including changes made in C11 to make pointers safer)
  6. Preprocessor
    1. Defines and macros
    2. Include files and header
  7. Input/Output
    1. Keyboard and terminal
    2. Disk I/O
    3. Formatted input/output


Effective Term:
Full Academic Year 2021/22