35
1 Chapter 3 Fundamentals of the C Programming Language

Chapter 3 Fundamentals of the C Programming Language

Embed Size (px)

DESCRIPTION

Chapter 3 Fundamentals of the C Programming Language. 3.1 INTRODUCTION This chapter serves as a formal introduction to the C programming language. The fundamental elements of the C language. - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 3 Fundamentals of the C Programming Language

1

Chapter 3

Fundamentals of theC Programming Language

Page 2: Chapter 3 Fundamentals of the C Programming Language

2

3.1 INTRODUCTION

This chapter serves as a formal introduction to the C programming language.

The fundamental elements of the C language.

Algorithms requires as least five statement types; input, output, arithmetic calculations, selection, and repetition.

Page 3: Chapter 3 Fundamentals of the C Programming Language

3

3.2 EXAMPLE PROGRAM 1: A C Program that Computes City TaxRequirements Specification Develop a program that does the following1. Prints on the monitor screen a brief description of the program’s purpose.2. Prompts the user to enter a value for gross annual income using the terminal keyboard.3. Reads a value for gross income.4. Computes the city income tax for the city of Oxford, Ohio. The city income tax is 1.75 percent of the gross annual income.5. Prints the computed city income tax.

Page 4: Chapter 3 Fundamentals of the C Programming Language

4

Analysis

Input. Gross annual income in dollars.

Output. The computed city income tax in dollars.

Formulas. The city income tax is computed using the formula.

income_tax = 0.0175 * gross_income

Page 5: Chapter 3 Fundamentals of the C Programming Language

5

Design

print “A PROGRAM THAT COMPUTES CITY INCOME TAX”

print “Enter gross income:”

read gross_income

compute city_tax = 0.0175 * gross_income

print city_tax

Page 6: Chapter 3 Fundamentals of the C Programming Language

6

Implementation

A PROGRAM THAT COMPUTES CITY INCOME TAX

Enter gross income : 18657

City tax is 326.497500 dollars.

The five lines that we have just explained are examples of C statements. Notice that they all terminate with a semicolon.

Page 7: Chapter 3 Fundamentals of the C Programming Language

7

3.3 LANGUAGE CHARACTER SET AND TOKENStypes of tokens

1. Reserved words (keywords)2. Identifiers 3. Constants 4. String literals5. Punctuators 6. Operators

Page 8: Chapter 3 Fundamentals of the C Programming Language

8

1. Reserved words :

Identify language entities, they have special meanings to the compiler. C reserved words must be typed fully in lowercase. Some examples of reserved words from the program are const, double, int, and return.

Page 9: Chapter 3 Fundamentals of the C Programming Language

9

2. Identifiers

programmer-defined words. Needed for program variables, functions, and other program constructs. gross_income and city_tax are examples. Must be unique within the same scope

1. A to Z , a to z , 0 to 9 , and the underscore “_”

2. The first character must be a letter or an underscore.

3. Only the first 32 characters as significant.

4. There can be no embedded blanks.

5. Reserved words cannot be used as identifiers.

6. Identifiers are case sensitive.

Page 10: Chapter 3 Fundamentals of the C Programming Language

10

3. Constantsfixed values CITY_TAX_RATE = 0.0175 is an example of a constant.

Integer Constantscommas are not allowed in integer constants.

Floating-Point Constantseither in conventional or scientific notation. For example, 20.35; 0.2035E+2

Character Constants and Escape Sequences a character enclosed in single quotation marks. Preced

e the single quotation mark by a backslash,printf(“%c”, ‘\”);

Escape sequence causes a new line during printing. \n

Page 11: Chapter 3 Fundamentals of the C Programming Language

11

4. String Literalscharacters surrounded by double quotation mar

ks.

format specifier for output converts the internal representation of data to readable characters.( %f ) for example,City tax is 450.000000 dollars.precede it with a backslash as “Jim \”Mac\” MacDonald”backslash character can be used as a continuation characterprintf(THIS PROGRAM COMPUTES \ CITY INCOME TAX”);

Page 12: Chapter 3 Fundamentals of the C Programming Language

12

5. Punctuators

[ ] ( ) { } , ; : ………* #

6. Operators

result in some kind of computation or action

city_tax = CITY_TAX_TATE * gross_income ;

operators act on operands.

Page 13: Chapter 3 Fundamentals of the C Programming Language

13

3.4 THE STRUCTURE OF A C PROGRAMC program consists of following components:1. Program comments2. Preprocessor directives3. Type declarations4. Named constants5. Statements 6. Function declarations (prototypes)7. Function definitions8. Function calls

Page 14: Chapter 3 Fundamentals of the C Programming Language

14

1. Program Comments

use /* and */ to surround comments, or // to begin comment lines.

2. Preprocessor Directives

Lines that begin with a pound sign, #,

A preprocessor directive is can instruction to the preprocessor. Named file inclusion is concerned with adding the content of a header file to a source program file. Standard header files. For example,

#include <stdio.h>

#include causes a headerfile to be copied into the code.

programmer-defined header file surrounded by double quotation marks. #include <d:header1.h>

to advantage in partitioning large programs into several files.

Page 15: Chapter 3 Fundamentals of the C Programming Language

15

3. Data Types and Type Declarations

double gross_income;

double city_tax;

variable’s type determines

1. How it is stored internally

2. What operations can be applied to it

3. How such operations are interpreted

Page 16: Chapter 3 Fundamentals of the C Programming Language

16

declare a variable to be of type integer, the compiler allocates a memory location for that variable. The size of this memory location depends on the type of the compiler.int is 2 bytes the range –32768 through 32768 designed to perform arithmetic operations and assignment operations. Two classes of data types:1. Fundamental data types 2. Programmer-defined data typesto classes of built-in data types:1. Fundamental data types2. Derived data typesExamples of derived data types are arrays, strings, and structures.

Page 17: Chapter 3 Fundamentals of the C Programming Language

17

Data Type int

Data Type char

Data Type double

Data initialization

be initialized in two ways,

1. Compile-time initialization

2. Run-time initialization

Strings as a Derived Data Type

A string is a sequence of characters that is treated as a single data item. A string variable is a variable that stores a string constant.

Page 18: Chapter 3 Fundamentals of the C Programming Language

18

how to declare string variables.

1. Begin the declaration with the keyword char, Char report_header [41]

2. To initialize a string variable at complie time,

char report_header [41] = “Annual Report”

Page 19: Chapter 3 Fundamentals of the C Programming Language

19

4. Named Constants

const double CITY_TAX_RATE = 0.0175;

is an identifier whose value is fixed and does not change during the execution of a program in which it appears.

In C the declaration of a named constant begins with the keyword const.

During execution, the processor replaces every occurrence of the named constant .

Page 20: Chapter 3 Fundamentals of the C Programming Language

20

5. Statements

A statement is a specification of an action to be taken by the computer as the program executes.

Compound Statements

is a list of statements enclosed in braces, { }

Page 21: Chapter 3 Fundamentals of the C Programming Language

21

3.5 A FIRST LOOK AT FUNCTIONS

as a block of code that performs a specific task.

The function main( )

int main(void) {

Statement;

Statement;

……

……

return 0;

}

Page 22: Chapter 3 Fundamentals of the C Programming Language

22

return statement ensures that the constant value 0, the program status code, is returned to the program or the operating system that has triggered the execution of this function main.

Each C program must have one main function.

The type specifier for functions can be int, double, char, void, and so on, depending on the type of data that it returns.

Page 23: Chapter 3 Fundamentals of the C Programming Language

23

3.6 BUILDING A MINIMUM LANGUAGE SUBSET

An expression is a syntactically correct and meaningful combination of operators and operands.

city_tax = CITY_TAX_RATE * gross_income

An expression statement is any expression followed by a semicolon.

city_tax = CITY_TAX_RATE * gross_income

Page 24: Chapter 3 Fundamentals of the C Programming Language

24

Example 3.2

area ? short_side 10.05 long_side 20.00

area = short_side * long_side

area 210.00 short_side 10.05 long_side 20.00

Page 25: Chapter 3 Fundamentals of the C Programming Language

25

The Standard Output Function printf

This statement is a function call to the standard library function printf. The parentheses ( ) are known as the function call operator.

Following compilation, the linker fetches the object code corresponding to printf from the standard C library and combines it with your object program.

Page 26: Chapter 3 Fundamentals of the C Programming Language

26

Quantity Type printf Format Specifier

int %ddouble %f or % lfchar %c

printf(“Your year of birth is %d, and in 2000 you will be %d years old.” , year_of_birth, 2000 – year_of_birth);

Page 27: Chapter 3 Fundamentals of the C Programming Language

27

Variable Type scanf Format Specifier

int %d

double %lf

char %c

printf(“Type your weight in pounds: “);

scanf(“%d” , &weight_in_pounds);

Page 28: Chapter 3 Fundamentals of the C Programming Language

28

Input of String Variableschar string1 [31];scanf(“%s” , string1);

The reason is that scanf skips whitespace during string input and picks string values delimited by whitespace.the input string values that contain whitespace, we can use several techniques in C. We will explain one easy way, which requires the use of the gets function.

Page 29: Chapter 3 Fundamentals of the C Programming Language

29

3.7 PREPARING C SOURCE PROGRAM FILES

Here are some style conventions

1. Insert blank lines between consecutive program sections.

2. Make liberal use of clear and help comments.

3. Keep your comments separate from the program statements.

4. Type each statement or declaration on a single line.

Page 30: Chapter 3 Fundamentals of the C Programming Language

30

5. Avoid running a statement over multiple lines.

6. Avoid line splicing.

7. Indent all lines that form a compound statement by the same amount.

8. Type the beginning and end braces, { }, for compound statements

9. Use whitespace in typing statements.

10. Conclude each function by a comment to mark its end.

Page 31: Chapter 3 Fundamentals of the C Programming Language

31

3.8 EXAMPLE PROGRAM 2 : A C Program that Converts Height and Weight to Metric Units

Enter your first name : KellyEnter your last name : JohnsonEnter your height in “inches” : 64Enter your weight in “pounds” : 110Kelly Johnson, your height is 162.560000 centimeters, and your weight is 49.894900 kilograms.

Page 32: Chapter 3 Fundamentals of the C Programming Language

32

3.9 PROGRAM DEBUGGING

1 #include <stdio.h>23 int main (void) {4 double number;5 6 printf(“Enter a number : “)7 scanf(“%lf” , &number);8 Inverse = 1.0 / number ;9 printf(“Inverse of %f is %f” , number, inverse);

Page 33: Chapter 3 Fundamentals of the C Programming Language

33

---Configuration : debug – Win32 Debug ---Compiling …Debug.cD:\cprogs\debug.c(7) : error C2146: cyntax error : m

issing ‘;’ before identifier ‘scanf’D:\cprogs\debug.c(8) : error C2065 ‘inverse’ : undec

lared identifier.D:\cprogs\debug.c(8) : warning C4244 : ‘=‘ : conver

sion from ‘const double ‘ to ‘ int ‘ , possible loss of data.

D:\cprogs\debug.c(10) : fatal error C1004 : unexpected end of file found

Error executing c1.exeDebug.exe – 3 error(s), 1 warning(s)

Page 34: Chapter 3 Fundamentals of the C Programming Language

34

Debugging for Warning Diagnostics

do not force it to stop the compilation.

Debugging Run-Time Errors

Enter a number : 0

Floating point error : Divide by 0 .

Abnormal program termination .

Page 35: Chapter 3 Fundamentals of the C Programming Language

35

if number is equal to zero

print “Zero does not have a finite inverse.”

else

compute inverse = 1 / number

end_if