0% found this document useful (0 votes)
45 views

Fundamentals of The C Programming Language

This document introduces the fundamentals of the C programming language. It discusses the basic elements required for algorithms, including input, output, calculations, selection, and repetition. It then provides an example C program that computes city tax based on gross annual income. Finally, it describes the basic structure of C programs, including comments, preprocessor directives, data types, constants, statements, and functions.

Uploaded by

Ashmeet Sabby
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

Fundamentals of The C Programming Language

This document introduces the fundamentals of the C programming language. It discusses the basic elements required for algorithms, including input, output, calculations, selection, and repetition. It then provides an example C program that computes city tax based on gross annual income. Finally, it describes the basic structure of C programs, including comments, preprocessor directives, data types, constants, statements, and functions.

Uploaded by

Ashmeet Sabby
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 35

Chapter 3

Fundamentals of the
C Programming Language

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

The fundamental elements of the C languag


e.

Algorithms requires as least five statement t


ypes; input, output, arithmetic calculations,
selection, and repetition.
2
3.2 EXAMPLE PROGRAM 1: A C Program that Co
mputes City Tax
Requirements Specification Develop a program tha
t does the following
1. 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. 3
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

4
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

5
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.
6
3.3 LANGUAGE CHARACTER SET AND
TOKENS
types of tokens

1. Reserved words (keywords)


2. Identifiers
3. Constants
4. String literals
5. Punctuators
6. Operators
7
1. Reserved words :

Identify language entities, they have special


meanings to the compiler. C reserved words
must be typed fully in lowercase. Some exa
mples of reserved words from the program
are const, double, int, and return.

8
2. Identifiers
programmer-defined words. Needed for program va
riables, functions, and other program constructs. gross_i
ncome and city_tax are examples. Must be unique withi
n 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.
9
3. Constants
fixed values CITY_TAX_RATE = 0.0175 is an example o
f a constant.
Integer Constants
commas are not allowed in integer constants.
Floating-Point Constants
either in conventional or scientific notation. For example, 2
0.35; 0.2035E+2
Character Constants and Escape Sequences
a character enclosed in single quotation marks. Precede th
e single quotation mark by a backslash,
printf(“%c”, ‘\”);
Escape sequence
causes a new line during printing. \n
10
4. String Literals
characters surrounded by double quotation marks.

format specifier for output converts the internal repre


sentation of data to readable characters.( %f ) for exa
mple,
City tax is 450.000000 dollars.
precede it with a backslash as
“Jim \”Mac\” MacDonald”
backslash character can be used as a continuation cha
racter
printf(THIS PROGRAM COMPUTES \ CITY INCO
ME TAX”);
11
5. Punctuators
[ ] ( ) { } , ; : ………* #

6. Operators
result in some kind of computation or action
city_tax = CITY_TAX_TATE * gross_income ;

operators act on operands.

12
3.4 THE STRUCTURE OF A C PROGRAM
C program consists of following component
s:
1. Program comments
2. Preprocessor directives
3. Type declarations
4. Named constants
5. Statements
6. Function declarations (prototypes)
7. Function definitions
8. Function calls
13
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. Na
med 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 m
arks. #include <d:header1.h>
to advantage in partitioning large programs into several files.

14
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

15
declare a variable to be of type integer, the compiler allo
cates a memory location for that variable. The size of thi
s memory location depends on the type of the compiler.
int is 2 bytes the range –32768 through 32768 designed t
o perform arithmetic operations and assignment operatio
ns. Two classes of data types:
1. Fundamental data types
2. Programmer-defined data types
to classes of built-in data types:
1. Fundamental data types
2. Derived data types
Examples of derived data types are arrays, strings, and st
ructures.

16
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 trea
ted as a single data item. A string variable is a vari
able that stores a string constant.
17
how to declare string variables.

1. Begin the declaration with the keyword c


har, Char report_header [41]
2. To initialize a string variable at complie
time,
char report_header [41] = “Annual Report”

18
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 .
19
5. Statements
A statement is a specification of an action to
be taken by the computer as the program ex
ecutes.

Compound Statements
is a list of statements enclosed in braces, { }

20
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;
}
21
return statement ensures that the constant value
0, the program status code, is returned to the p
rogram or the operating system that has trigge
red the execution of this function main.

Each C program must have one main function.

The type specifier for functions can be int, do


uble, char, void, and so on, depending on the t
ype of data that it returns.
22
3.6 BUILDING A MINIMUM LANGUAGE SUBSET
An expression is a syntactically correct and meaningfu
l 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

23
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

24
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 o


bject code corresponding to printf from the sta
ndard C library and combines it with your obje
ct program.
25
Quantity Type printf Format Specifier

int %d
double %f or % lf
char %c

printf(“Your year of birth is %d, and in 200


0 you will be %d years old.” , year_of_birth
, 2000 – year_of_birth);

26
Variable Type scanf Format Specifier

int %d
double %lf
char %c

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


scanf(“%d” , &weight_in_pounds);
27
Input of String Variables
char string1 [31];
scanf(“%s” , string1);

The reason is that scanf skips whitespace du


ring string input and picks string values deli
mited by whitespace.
the input string values that contain whitespa
ce, we can use several techniques in C. We
will explain one easy way, which requires t
he use of the gets function.
28
3.7 PREPARING C SOURCE PROGRAM FILE
S
Here are some style conventions
1. Insert blank lines between consecutive progr
am sections.
2. Make liberal use of clear and help comments.
3. Keep your comments separate from the progr
am statements.
4. Type each statement or declaration on a
single line.
29
5. Avoid running a statement over multiple
lines.
6. Avoid line splicing.
7. Indent all lines that form a compound st
atement 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.
30
3.8 EXAMPLE PROGRAM 2 : A C Program
that Converts Height and Weight to Metric
Units

Enter your first name : Kelly


Enter your last name : Johnson
Enter your height in “inches” : 64
Enter your weight in “pounds” : 110
Kelly Johnson, your height is 162.560000 c
entimeters, and your weight is 49.894900 ki
lograms.
31
3.9 PROGRAM DEBUGGING

1 #include <stdio.h>
2
3 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);

32
---Configuration : debug – Win32 Debug ---
Compiling …
Debug.c
D:\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 o
f data.
D:\cprogs\debug.c(10) : fatal error C1004 : unexpect
ed end of file found
Error executing c1.exe
Debug.exe – 3 error(s), 1 warning(s)
33
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 .

34
if number is equal to zero
print “Zero does not have a finite inverse.”
else
compute inverse = 1 / number
end_if

35

You might also like