C-Programming Chapter 1 Fundamentals of C
C-Programming Chapter 1 Fundamentals of C
Fundamentals of C
1
INTRODUCTION
This chapter serves as a formal introduction to the
C programming language.
2
PROGRAM 1: A C Program that Computes City Tax
Requirements Specification Develop a program
that 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.
4
Design
5
Implementation
6
LANGUAGE CHARACTER SET AND TOKENS
types of tokens
7
1. Reserved words :
8
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
10
4. String Literals
characters surrounded by double quotation
marks.
6. Operators
result in some kind of computation or action
city_tax = CITY_TAX_TATE * gross_income ;
12
THE STRUCTURE OF A C PROGRAM
C program consists of following components:
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. 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.
14
3. Data Types and Type Declarations
double gross_income;
double city_tax;
15
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 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
structures.
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
treated as a single data item. A string variable is a
variable that stores a string constant.
17
how to declare string variables.
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.
19
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, { }
20
A FIRST LOOK AT FUNCTIONS
as a block of code that performs a specific task.
21
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.
22
BUILDING A MINIMUM LANGUAGE SUBSET
An expression is a syntactically correct and meaningful
combination of operators and operands.
23
Example 2
24
The Standard Output Function printf
25
Quantity Type printf Format Specifier
int %d
double %f or % lf
char %c
26
Variable Type scanf Format Specifier
int %d
double %lf
char %c
27
Input of String Variables
char string1 [31];
scanf(“%s” , string1);
28
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.
29
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.
30
EXAMPLE PROGRAM 2 : A C Program that Converts
Height and Weight to Metric Units
31
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 :
missing ‘;’ before identifier ‘scanf’
D:\cprogs\debug.c(8) : error C2065 ‘inverse’ :
undeclared identifier.
D:\cprogs\debug.c(8) : warning C4244 : ‘=‘ :
conversion 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.exe
Debug.exe – 3 error(s), 1 warning(s)
33
Debugging for Warning Diagnostics
do not force it to stop the compilation.
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