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

Lecture 2 Introduction to c

The document provides an overview of the C programming language, including its history, character set, constants, variables, and keywords. It explains the rules for constructing constants and variable names, as well as the compilation and execution process of a C program. Additionally, it covers basic C instructions, arithmetic operations, and the use of functions like printf() and scanf().

Uploaded by

tybaclothing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Lecture 2 Introduction to c

The document provides an overview of the C programming language, including its history, character set, constants, variables, and keywords. It explains the rules for constructing constants and variable names, as well as the compilation and execution process of a C program. Additionally, it covers basic C instructions, arithmetic operations, and the use of functions like printf() and scanf().

Uploaded by

tybaclothing
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 44

Dr.

Rab Nawaz Jadoon


Department of Computer Science Assistant Professor
COMSATS University, Abbottabad
DCS Pakistan
COMSATS University, Islamabad
(Abbottabad Campus)

Programming Fundamentals
Department of Computer Science 2
What is C???
◼ C is a programming language developed at AT
& T’s Bell Laboratories of USA in 1972.
◼ It was designed and written by a man named
Dennis Ritchie.
◼ In the late seventies C began to replace the more
familiar languages of that time like PL/I, ALGOL, etc.
◼ No one pushed C.

Department of Computer Science 3


Getting Started with C
◼ Communicating with a computer involves
speaking the language the computer
understands,
◼ which immediately rules out English as the language
of communication with computer.

Department of Computer Science 4


The C Character Set

◼ A character denotes any alphabet, digit or


special symbol used to represent information.
◼ Below table shows the character set used in C lang.

Department of Computer Science 5


Constants, variables and Keywords

◼ The alphabets, numbers and special symbols


when properly combined form constants,
variables and keywords.
◼ A constant is an entity that doesn’t change whereas
a variable is an entity that may change.

Department of Computer Science 6


Variable

◼ In any program we typically do lots of


calculations.
◼ The results of these calculations are stored in
computers memory.
◼ Like human memory the computer memory also
consists of millions of cells.
◼ The calculated values are stored in these memory
cells. these memory cells/locations are given names.
◼ Since the value stored in each location may change
the names given to these locations are called
variable names.

Department of Computer Science 7


Veriable
◼ Since the location whose name is x can hold
different values at different times x is known as
a variable.
◼ As against this, 3 or 5 do not change, hence are
known as constants.
◼ Any variable used in the program must be declared
before using it. For example, int p, n;

Department of Computer Science 8


Types of C Constants
◼ C constants can be divided into two major
categories, sub categories are mentioned in the
table,

Department of Computer Science 9


Rules for Constructing Integer
Constants

An integer constant must have at least one digit. It must not have a decimal
point.

It can be either positive or negative.

If no sign precedes an integer constant it is assumed to be positive.

No commas or blanks are allowed within an integer constant.

The allowable range for integer constants is -32768 to 32767.

For Example, 426, +724, -7866 etc.

Department of Computer Science 10


Rules for Constructing Real
Constants
A real constant must have at least one digit.

It must have a decimal point.

It could be either positive or negative.

Default sign is positive.

No commas or blanks are allowed within a real


constant.

For example, 426.0, +345.56, -34.789 etc

Department of Computer Science 11


Rules for Constructing Character
Constants
A character constant is a single alphabet, a single
digit or a single special symbol enclosed within single
inverted commas.

Both the inverted commas should point to the left.

For example, ’A’ is a valid character constant whereas


‘A’ is not.

The maximum length of a character constant can be


1 character.

For Example ’A’, ’I’, ’5’, ’$’ etc

Department of Computer Science 12


Types of C variables

◼ An entity that may vary during program


execution is called a variable.
◼ Variable names are names given to locations in
memory.
◼ These locations can contain integer, real or character
constants.
◼ In any language, the types of variables that it can
support depend on the types of constants that it can
handle.

Department of Computer Science 13


Rules for Constructing Variable
Names
A variable name is any combination of 1 to 31 alphabets,
digits or underscores. Some compilers allow variable names
whose length could be up to 247 characters.

The first character in the variable name must be an alphabet


or underscore.

No commas or blanks are allowed within a variable name.

No special symbol other than an underscore (as in gross_sal)


can be used in a variable name.

For example si_int, m_hra, pop_e_89 etc

These rules remain same for all the types of primary and
secondary variables.

Department of Computer Science 14


C Keywords
◼ Keywords are the words whose meaning has
already been explained to the C compiler.
◼ The keywords cannot be used as variable names
because if we do so we are trying to assign a new
meaning to the keyword, which is not allowed by the
computer.
◼ The keywords are also called ‘Reserved words’.
◼ There are only 32 keywords available in C.

Department of Computer Science 15


Keywords in C

Department of Computer Science 16


Memory Requirement of Different
Data Type
char is 1 byte

short int is 2 bytes

int is 4 bytes

long int is 4 bytes

float is 4 bytes

double is 8 bytes

long double is 10 bytes

• You can get the size of the data type using sizeof(data type) function
(e.g. sizeof(char))
• Compiler to compiler these size varies.

Department of Computer Science 17


Compilation and execution of C
program
◼ Once you have written the program you need to
type it and instruct the machine to execute it.
◼ To type your C program you need another program
called Editor.
◼ Once the program has been typed it needs to be converted
to machine language (0s and 1s) before the machine can
execute it.
◼ To carry out this conversion we need another program
called Compiler.
◼ Integrated Development Environment (IDE) which consists
of an Editor as well as the Compiler.
◼ Many IDE’s like, Turbo C, Trubo C++ and Microsoft C
works under MS-DOS.
◼ Visual C++ and BorLand works under windows.

◼ gcc compiler works under Linux.

Department of Computer Science 18


How to Run???
Start the compiler at C>prompt. The compiler
(TC.EXE is usually present in C:\TC\BIN\).

Select New from the File menu.

Type the program.

Save the program using F2 under a proper name


(say Program1.c).

Use Ctrl + F9 to compile and execute the program.

Use Alt + F5 to view the output.

Department of Computer Science 19


Typical C Program Development
Environment

Department of Computer Science 20


A simple C Program
Printing a line of Text

Department of Computer Science 21


Comments
◼ Line 1 and 2 begin with /* and end with */, called
comments.
◼ Comments do not cause the computer to perform any action
when the program is run.
◼ Comments are ignored by the C compiler and do not cause
any machine-language object code to be generated.

Department of Computer Science 22


Comments

◼ Comments cannot be nested. For example,


/* Cal of SI /* Author sam date 01/01/2002 */
*/ is invalid.
◼ A comment can be split over more than one
line, as in,
/* This is
a jazzy
comment */
◼ Such a comment is often called a multi-line
comment.

Department of Computer Science 23


C Preprocessor
◼ #include<stdio.h> is a directive to the C
preprocessor.
◼ Lines beginning with # are processed by the preprocessor
before the program is compiled.
◼ Line 3 tells the preprocessor to include the contents of the
standard input/output header(<stdio.h>) in the program.

Department of Computer Science 24


Main Function
◼ Line 6, int main (void)
◼ is a part of every C program.
◼ The parentheses after main indicate that main is a program
building block called a function.
◼ C programs contain one or more functions, one of
which must be main.
◼ Every program in C begins executing at the function main.
◼ Functions can return information.
◼ The keyword int to the left of main indicates that main
“returns” an integer (whole number) value.

Department of Computer Science 25


Main function
◼ Functions also can receive information when they’re
called upon to execute.
◼ The void in parentheses here means that main does
not receive any information.
◼ Line 7
◼ A left brace, {, begins the body of every function (line 7).
◼ A corresponding right brace } ends each function (line 11).
◼ This pair of braces and the portion of the program between
the braces is called a block.
◼ The block is an important program unit in C

Department of Computer Science 26


Program parts explanation
◼ Line 8

◼ Print on the screen the string of characters marked


by the quotation marks.
◼ A string is sometimes called a character string, a message
or a literal.
◼ The entire line, including printf, its argument within the
parentheses and the semicolon(;), is called a statement.
◼ Every statement must end with a semicolon.
◼ When the preceding printf statement is executed, it prints
the message Welcome to C! on the screen.
◼ The characters normally print exactly as they appear
between the double quotes in the printf statement.

Department of Computer Science 27


Printf()

◼ The general form of printf( ) function is,


printf( "<format string>", <list of variables> ) ;
◼ <format string> can contain,
◼ %f for printing real values
◼ %d for printing integer values
◼ %c for printing character values

◼ In addition to format specifiers like %f, %d and %c the format string


may also contain any other characters.
◼ These characters are printed as they are when the printf( )is
executed.
◼ For example printf(“the value of b is %d”, b);

Department of Computer Science 28


Receiving input using scanf()

◼ To make the program general the program itself


should ask the user to supply the values of a,b
through the keyboard during execution.
◼ This can be achieved using a function called scanf( ).
◼ This function is a counter-part of the printf()
function.
◼ printf( ) outputs the values to the screen whereas scanf( )
receives them from the keyboard.
◼ For example scanf(“%d %d”, &a, &b); it will read value
against a and b at run time.
◼ When we say &a, we are telling scanf( )at which memory location
should it store the value supplied by the user from the keyboard.

Department of Computer Science 29


Escape sequences
◼ The characters \n were not printed on the
screen.
◼ The backslash (\) is called an escape character.
◼ It indicates that printf is supposed to do something
out of the ordinary.
◼ When encountering a backslash in a string, the
compiler looks ahead at the next character and
combines it with the backslash to form an escape
sequence.
◼ The escape sequence \n means newline.
◼ When a newline appears in the string output by a
printf, the newline causes the cursor to position to
the beginning of the next line on the screen.
Department of Computer Science 30
Some common escape
sequences

Department of Computer Science 31


Program Parts Explanation

◼ Line 10

◼ The keyword return is one of several means.


◼ We’ll use to exit a function.
◼ When the return statement is used at the end of
main as shown here, the value 0 indicates that the
program has terminated successfully

Department of Computer Science 32


C instruction

◼ Three types of C instruction


◼ Type Declaration Instruction
◼ To declare the type of variables used in a C program.
◼ Arithmetic Instruction
◼ To perform arithmetic operations between constants and
variables.
◼ Control Instruction
◼ To control the sequence of execution of various statements
in a C program.

Department of Computer Science 33


Type Declaration Instruction
◼ Any variable used in the program must be
declared before using it in any statement.
◼ The type declaration statement is written at the
beginning of main( ) function.

Not right bc using a before


Defining it

Department of Computer Science 34


Arithmetic instruction
◼ A C arithmetic instruction consists of a variable
name on the left hand side of = and variable
names & constants on the right hand side of =.
◼ The variables and constants appearing on the right
hand side of = are connected by arithmetic operators
like +, -, *, and /.

Department of Computer Science 35


Arithmetic instruction

◼ A C arithmetic statement could be of three


types.
◼ Integer mode arithmetic statement → All integers
◼ Real mode arithmetic statement → All reals
◼ Mixed mode arithmetic statement → Mixed (real and
integers)

Note:
◼ C allows only one variable on left-hand side of =.
That is, z = k * l is legal, whereas k * l = z is illegal.

Department of Computer Science 36


Modular division operator (%)

◼ The expression 10 / 2 yields 5, whereas, 10 %


2 yields 0.
◼ Note that the modulus operator (%) cannot be
applied on a float.
◼ Also note that on using % the sign of the remainder
is always same as the sign of the numerator.
◼ Thus –5 % 2 yields –1, whereas, 5 % -2 yields 1.

Department of Computer Science 37


Arithmetic instruction
◼ An arithmetic instruction is often used for
storing character constants in character
variables.
◼ For example
char x, y;
int z;
x = ‘a' ;
y = ‘b' ;
z=x+y;
printf("the value of a and b is %d , %d", x, y);
printf("the value of z =%d", z);

Output: The value of a and b is 97, 98. the value of z= 195

Department of Computer Science 38


Hierarchy of Operation

◼ While executing an arithmetic statement, which


has two or more operators, we may have some
problems as to how exactly does it get
executed.
◼ For example, does the expression 2 * x - 3 * y
correspond to (2x)-(3y) or to 2(x-3y)?
◼ Similarly, does A / B * C correspond to A / (B * C) or
to (A / B) * C?
◼ Operator precedence is used, table of operator precedence
is on next slide

Department of Computer Science 39


Operator Precedence

Department of Computer Science 40


Example 1
◼ Determine the hierarchy of operations and
evaluate the expression,
◼i=2*3/4+4/4+8-2+5/8
◼ Do it in 3 Minutes???
◼ Solution

Department of Computer Science 41


Example 2

◼ Determine the hierarchy of operations and


evaluate the following expression:
◼ kk = 3 / 2 * 4 + 3 / 8 + 3
◼ Do it in 3 minutes???
◼ Solution:

Department of Computer Science 42


exponentiation operation

◼ Thus following statements are invalid.


a = 3 ** 2 ;
b=3^2;
◼ For example
#include <math.h>
main( )
{
int a ;
a = pow ( 3, 2 ) ;
printf ( “%d”, a ) ;
}

Department of Computer Science 43


Department of Computer Science 44

You might also like