Developing UNIX/Linux Applications in C and C - PowerPoint PPT Presentation

1 / 41
About This Presentation
Title:

Developing UNIX/Linux Applications in C and C

Description:

Title: Chapter One Author: tillj Last modified by: Sarah Santoro Created Date: 4/9/2002 2:51:21 AM Document presentation format: On-screen Show Company – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 42
Provided by: til487
Category:

less

Transcript and Presenter's Notes

Title: Developing UNIX/Linux Applications in C and C


1
Guide To UNIX Using Linux Third Edition
  • Chapter 10
  • Developing UNIX/Linux Applications in C and C

2
Objectives
  • Understand basic elements of C programming
  • Debug C programs
  • Create, compile, and test C programs
  • Use the make utility to revise and maintain
    source files

3
Objectives (continued)
  • Identify differences between C and C
    programming
  • Create a simple C program
  • Create a C program that reads a text file
  • Create a C program that demonstrates how C
    enhances C functions

4
Introducing C Programming
  • C is the language in which UNIX was developed and
    refined
  • C uses relatively short, isolated functions to
    break down large complex tasks into small and
    easily resolved subtasks
  • Cs function-oriented design allows programmers
    to create their own functions to interact with
    the predefined system functions

5
Creating a C Program
  • A C program consists of separate bodies of code
    known as functions
  • The functions call each other as needed and work
    to solve the problem for which the program was
    originally designed

6
Creating a C Program (continued)
7
Creating a C Program (continued)
8
The C Library
  • The core C language is very small
  • C library consists of functions for many common
    activities including
  • File, screen, and keyboard operations
  • String operations
  • Memory allocation and control
  • Math operations

9
Program Format
  • A program includes 1 or more functions
  • Each program must have a main() function
  • Format for main is
  • int main()

10
Including Comments
  • Comments begin with / and end with /
  • Compiler ignores everything in the comment
  • Comments can be anywhere in the file

11
Using the Preprocessor include Directive
Using the preprocessor include directive allowed
for the output shown here
12
Specifying Data Types
13
Specifying Data Types (continued)
14
Characters and Strings
  • Characters are represented internally in a single
    byte of computer memory
  • Character constants must be enclosed in single
    quotes
  • Strings are represented as arrays of characters
  • String constants must be enclosed in double quotes

15
Variables
  • Variables must be declared before use
  • Declarations begin with a data type followed by
    one or more variable names
  • The scope of a variable is the part of the
    program in which the variable is accessible
  • Global variables can be accessed anywhere within
    a program

16
Using Math Operators
17
Generating Formatted Outputwith printf()
The output of a simple C program
18
Generating Formatted Outputwith printf()
(continued)
19
Using the C Compiler
  • Command for C compiler in Linux is gcc
  • In some UNIX systems, it is cc
  • Default executable file produced is a.out
  • Specify another name using the o option
  • Information on options and use available at man
    gcc

20
if Statements and C Loops
  • Use if statements to allow the program to make
    decisions depending on whether a condition is
    true or false
  • Three looping mechanisms
  • for loop
  • while loop
  • do-while loop

21
Using C Loops
A C for loop generated the output in this program
22
Defining Functions
  • When a function is defined, its name is declared
    and its statements are written
  • The data type of the return value must be
    declared in the function definition
  • Or void if no return value
  • Function prototypes must be included in programs
    to tell the compiler about functions that will be
    defined later

23
Using Function Arguments
  • A value passed to a function is an argument
  • Arguments are stored in special automatic
    variables
  • Can be referred to from anywhere in the function

24
Using Function Return Values
  • Functions can return values
  • Returned values can be used in assignment
    statements such as ytriple(x)
  • Must declare the type of the return value in the
    function definition

25
Working with Files in C
  • Files are continuous streams of data
  • Typically stored on disk
  • File pointers point to predefined structures that
    contain information about the file
  • Before using a file, it must be opened
  • The library function for this is fopen
  • When done with a file, it must be closed
  • The library function for this is fclose

26
Working with Files in C (continued)
  • File I/O uses various library functions
  • fgetc performs character input
  • fputc performs character output
  • During an input operation, it is essential to
    test for the end of a file
  • feof tests for the end-of-file marker

27
Using the make Utility toMaintain Program Source
Files
  • Some programs have many files of source code
  • Once compiled, the separate object files are
    linked into executable code
  • As program is updated, only need to recompile
    files that have changed

28
Using the make Utility toMaintain Program Source
Files (continued)
  • make utility helps tracks what needs to be
    recompiled by using the time stamp field for each
    source file
  • A control file, called the makefile, lists the
    source files and their relationship to each other

29
Using the make Utility toMaintain Program Source
Files (continued)
  • The make utility follows a set of rules
  • General rule definition includes
  • A target file
  • One or more dependencies
  • An action that creates the target

30
Debugging Your Program
  • The compiler identifies some types of errors in a
    program
  • Common errors include incorrect syntax, missing
    semicolons, case-sensitive errors
  • Steps to correct syntax errors
  • Write down the error
  • Edit the source file
  • Save and recompile the file

31
Creating a C Program to Accept Input
  • Use the scanf function to accept input from the
    keyboard
  • scanf uses a control string with format specified
    in a manner similar to printf
  • scanf can accept multiple inputs, but remember
    that this can lead to difficult and cumbersome
    code

32
Creating a C Program to Accept Input (continued)
33
Creating a C Program to Accept Input (continued)
34
Creating a C Program to Accept Input (continued)
An example of using C to accept keyboard input
35
Introducing C Programming
  • C adds object-oriented capabilities to C
  • C and C are similar in many ways
  • C uses functions, as does C, but includes the
    use of functions as methods for objects

36
Introducing C Programming (continued)
  • The major differences between C and C
  • C follows procedural principles, whereas C
    follows object-oriented principles
  • C introduces objects
  • A collection of data and a set of operations
    called methods to manipulate the data

37
Creating a Simple C Program
Using C instead of C to create a program
38
How C Enhances C Functions
Function overloading allows C to use the same
function name for different types of arguments
39
Chapter Summary
  • C programs often consist of separate files called
    program modules that are compiled separately into
    object code and linked together to make up the
    program
  • The core C language is small, relying on
    libraries for extended functionality
  • UNIX was developed and refined in C

40
Chapter Summary (continued)
  • A compiler translates source code into object
    code
  • A linker links all object code files plus library
    functions into an executable file
  • The make utility maintains source files
  • Only changed files need to be recompiled

41
Chapter Summary (continued)
  • C is procedural and C is object-oriented
  • Function overloading C offers a way to define
    a function to handle multiple sets of arguments
Write a Comment
User Comments (0)
About PowerShow.com