Introduction To C Programming: Web Resources For Self-Learning
Introduction To C Programming: Web Resources For Self-Learning
Google: http://www.google.com/
Wikipedia: http://en.wikipedia.org/wiki/Main_Page
C pprogramming:
og a g: http://www.cprogramming.com/
ttp://www.cp og a g.co /
….
Chapter 2
Introduction to C Programming
The C language facilitates a structured and disciplined
approach to computer program design
design.
Acknowledgment
The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
17
OBJECTIVES
In this chapter you will learn:
Print a line
Escape
scape seque
sequence
ce
Variables and Data types
Memory concepts
Arithmetic operators
If-then statements
Review
Comments
Text surrounded by /* and */ is ignored by computer
#include <stdio.h>
A directive to the C preprocessor
18
A Simple C Program: Printing a Line of Text
int main()
C++ programs contain one or more functions, exactly one of which
must be main
Parenthesis used to indicate a function
Linker
When a function is called, linker locates it in the library
19
Some common escape sequences
Welcome to C!
20
The printf function can print Welcome to C!
several different ways
1 /* Fig. 2.4: fig02_04.c
2 Printing multiple lines with a single printf */
3 #include <stdio.h>
4
5 /* function main begins program execution */
6 int main( void )
Newline characters move the cursor to the next line
7 {
8 printf( "Welcome\nto\nC!\n" );
9
10 return 0; /* indicate that program ended successfully */
11
12 } /* end function main */
Welcome
to
C!
21
Another Simple C Program: Adding Two Integers
scanf( "%d", &integer1 );
Obtains a value from the user
scanf uses standard input (usually keyboard)
This scanf statement has two arguments
%d - indicates data should be a decimal integer
&integer1 - location in memory to store variable
& is confusing in beginning – for now, just remember to
include it with the variable name in scanf statements
When executing the program the user responds to the
scanf statement by typing in a number, then pressing the
enter (return) key
Memory Concepts
Variables
Variable names correspond to locations in the computer's
memory
Every variable has a name, a type, a size and a value
Fig. 2.6 | Memory location showing the name and value of a variable.
22
Memory Concepts
= (assignment operator)
Assigns a value to a variable
Iss a bbinary
a y operator
ope ato ((has
as two ope
operands)
a ds)
sum = variable1 + variable2;
sum gets variable1 + variable2;
Variable receiving value on left
printf( "Sum is %d\n", sum );
Similar to scanf
%d means decimal
d i l integer
i t will
ill be
b printed
i t d
sum specifies what integer will be printed
Calculations can be performed inside printf statements
printf( "Sum is %d\n", integer1 + integer2 );
23
Arithmetic
Arithmetic calculations
Use * for multiplication and / for division
7 / 5 evaluates to 1
Modulus operator(%) returns the remainder
7 % 5 evaluates to 2
Operator precedence
Some arithmetic operators act before others (i.e.,
multiplication before addition)
Use parenthesis when needed
Example: Find the average of three variables a, b and c
Do not use: a + b + c / 3
Use: (a + b + c ) / 3
Arithmetic
Arithmetic operators:
C operation Arithmetic operator Algebraic expression C expression
Addition + f+7 f + 7
S b
Subtraction
i - p–c p - c
Multiplication * bm b * m
Division / x/y x / y
Modulus % r mod s r % s
24
Decision Making: Equality and Relational Operators
25
Decision Making: Equality and Relational Operators
Executable statements
Perform actions (calculations, input/output of data)
Perform decisions
May want to print "pass" or "fail" given the value of a test grade
if control statement
If a condition is true, then the body of the if statement executed
0 is false, non-zero is true
Control always resumes after the if structure
Keywords
Special words reserved for C
Cannot be used as identifiers or variable names
Equality operators
== x == y x is equal to y
26
An Example to Use if statements, relational operators,
and equality operators
1 /* Fig. 2.13: fig02_13.c
2 Using if statements, relational
3 operators, and equality operators */
4 #include <stdio.h>
5
6 /* function
f i main
i begins
b i program execution
i */
7 int main( void )
8 {
9 int num1; /* first number to be read from user */
10 int num2; /* second number to be read from user */
11
12 printf( "Enter two integers, and I will tell you\n" );
13 printf( "the relationships they satisfy: " );
14
15 scanf( "%d%d", &num1, &num2 ); /* read two integers */
16
Checks if num1 is equal to num2
17 if ( num1 == num2 ) {
18 printf(
i f( "%d is
i equal
l to %d\n",
%d\ " num1,
1 num2
2 );
)
19 } /* end if */
20 Checks if num1 is not equal to num2
21 if ( num1 != num2 ) {
22 printf( "%d is not equal to %d\n", num1, num2 );
23 } /* end if */
24 Checks if num1 is less than num2
25 if ( num1 < num2 ) {
26 printf( "%d is less than %d\n", num1, num2 );
27 } /* end if */
28
27
(continued from previous slide…)
Enter two integers, and I will tell you
the relationships they satisfy:
22 is not equal to 12
22 is greater than 12
22 is greater than or equal to 12
Operators Associativity
() left to right
* / % left to right
+ - left to right
< <= > >= left to right
== != left to right
= right to left
Keywords
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
28
Review
Comments begin with /* and end with */. Comments
document programs and improve readability.
The #include directive tells the preprocessor to include the
content
t t off another
th file
fil (typically
(t i ll a header
h d file
fil suchh as
<stdio.h>).
The <stdio.h> header contains information used by the
compiler when compiling calls to standard input/output library
functions such as printf.
Every program in C begins executing at the function main.
Functions can return information.
information
Functions can receive information.
A function starts by a left brace { and ends by a right brace }.
Every statement must end by a semicolon.
Escape sequences, for example \n newline.
Review
A variable is a location in memory where a value can be stored
for use by a program.
All variables must be defined with a name and a data type
before they can be used in a program.
The %d indicates that the data should be an decimal integer.
The & indicates the memory address of an variable.
Function printf can also use a format control string.
Every variable has a name, a type and a value. Variable names
correspond to locations in the computer
computer’ss memory
memory.
Arithmetic operators and precedence.
29
Review
If statement allows a program to make a decision based on the
truth or falsity of a statement of fact called a condition.
Conditions in if statement are formed by suing the equality
operators and relational operators.
The precedence of relational operators
= should be read “gets” and == should be read “double
equals”.
Key words.
Chapter 3
Acknowledgment
The notes are adapted from those provided by Deitel & Associates, Inc. and Pearson Education Inc.
30