0% found this document useful (0 votes)
11 views17 pages

unit2_c

Chapter 2 of the document provides an introduction to C programming, detailing its history, characteristics, and the structure of a C program. It explains the differences between low-level and high-level languages, the role of translators, and the importance of Integrated Development Environments (IDEs). Additionally, it covers fundamental concepts such as data types, constants, identifiers, and variables in C programming.

Uploaded by

prajwalgajare523
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)
11 views17 pages

unit2_c

Chapter 2 of the document provides an introduction to C programming, detailing its history, characteristics, and the structure of a C program. It explains the differences between low-level and high-level languages, the role of translators, and the importance of Integrated Development Environments (IDEs). Additionally, it covers fundamental concepts such as data types, constants, identifiers, and variables in C programming.

Uploaded by

prajwalgajare523
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/ 17

SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

Chapter 2 Marks 10
Basics of C Programming
Introduction to 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

Characteristics of C:
We briefly list some of C's characteristics that define the language and also have lead to its
popularity as a programming language. Naturally we will be studying many of these aspects
throughout the course.
• Small size
• Extensive use of function calls
• Loose typing
• Structured language
• Low level (Bitwise) programming readily available
• Pointer implementation - extensive use of pointers for memory, array, structures and
functions.

C has now become a widely used professional language for various reasons.
• It has high-level constructs.
• It can handle low-level activities.
• It produces efficient programs.
• It can be compiled on a wide variety of computers.

Program
There is a close analogy between learning English language and learning C language. The
classical method of learning English is to first learn the alphabets used in the language, then
learn to combine these alphabets to form words, which in turn are combined to form
sentences and sentences are combined to form paragraphs. Learning C is similar and easier.
Instead of straight-away learning how to write programs, we must first know what
alphabets, numbers and special symbols are used in C, then how using them constants,
variables and keywords are constructed, and finally how are these combined to form an
instruction. A group of instructions would be combined later on to form a program.

Mr. P R Sali 1 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

So a computer program is just a collection of the instructions necessary to solve a specific


problem. The basic operations of a computer system form what is known as the computer’s
instruction set. And the approach or method that is used to solve the problem is known as
an algorithm.

So for as programming language concern these are of two types.


1) Low level language
2) High level language

Low level language:


Low level languages are machine level and assembly level language. In machine level
language computer only understand digital numbers i.e. in the form of 0 and 1. So,
instruction given to the computer is in the form binary digit, which is difficult to implement
instruction in binary code. This type of program is not portable, difficult to maintain and also
error prone. The assembly language is on other hand modified version of machine level
language. Where instructions are given in English like word as ADD, SUM, MOV etc. It is easy
to write and understand but not understand by the machine. So the translator used here is
assembler to translate into machine level. Although language is bit easier, programmer has
to know low level details related to low level language. In the assembly level language the
data are stored in the computer register, which varies for different computer. Hence it is not
portable.
High level language:
These languages are machine independent, means it is portable. The language in this
category is Pascal, Cobol, Fortran etc. High level languages are understood by the machine.
So it needs to translate by the translator into machine level. A translator is software which is
used to translate high level language as well as low level language in to machine level
language.

Mr. P R Sali 2 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

Three types of translator are there:


Compiler
Interpreter
Assembler
Compiler and interpreter are used to convert the high level language into machine level
language. The program written in high level language is known as source program and the
corresponding machine level language program is called as object program. Both compiler
and interpreter perform the same task but there working is different. Compiler read the
program at-a-time and searches the error and lists them. If the program is error free then it
is converted into object program. When program size is large then compiler is preferred.
Whereas interpreter read only one line of the source code and convert it to object code. It
checks error statement by statement and hence of take more time.

Integrated Development Environments (IDE)


The process of editing, compiling, running, and debugging programs is often managed by a
single integrated application known as an Integrated Development Environment, or IDE for
short. An IDE is a windows-based program that allows us to easily manage large software
programs, edit files in windows, and compile, link, run, and debug programs.
Most IDEs also support program development in several different programming languages
in addition to C, such as C# and C++.

Simple C program structure:


In C, comments begin with the sequence /* and are terminated by */. Anything that is
between the beginning and ending comments symbols is ignored by the compiler.
Example:
/* sample program */
In C, blank lines are permitted and have no effect on the program. A non-trivial C application
typically has following general portions on it:
The structure of a C program looks as follows:

Mr. P R Sali 3 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

Header Files (.h):


Header file contains declaration information for function or constants that are referred in
programs. They are used to keep source-file size to a minimum and to reduce the amount of
redundant information that must be coded.
# includes:
An include directive tells the preprocessor to include the contents of the specified file at the
point in the program. Path names must either be enclosed by double quotes or angle
brackets.
Example:
1: # include <stdio.h>
2: # include “mylib.h”
3: # include “mine\include\mylib.h”

In the example (1) above, the <> tells the preprocessor to search for the included file in a
special known \include directory or directories.

Mr. P R Sali 4 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

In the example (2), the double quotes (“ ”) indicate that the current directory should be
checked for the header file first. If it is not found, the special directory (or directories)
should be checked.
The example (3) is similar, but the named relative directory \mine\include is checked for the
header file mylib.h.
Relative paths can also be proceeded by the .\ or ..\ notation; absolute paths always begin
with a \.

# defines:
ANSI C allows you to declare constants. The # define directive is used to tell the
preprocessor to perform a search-and-replace operation.
Example:
# define Pi 3.14159
# define Tax-rate 0.0735
In the example above, the preprocessor will search through the source file and replace
every instance of the token Pi with 3.14159
After performing the search and replace operation, the preprocessor removes the # define
line.

User supplied function prototypes:


Declares the user-written functions actually defined later in the source file. A function
prototype is a statement (rather than an entire function declaration) that is placed a head of
a calling function in the source code to define the function's label before it is used. A
function prototype is simply a reproduction of a function header (the first line of a function
declaration) that is terminated with a semi-colon.

Global variable definitions:


Create the Global variables before main ().

The main function:


main () The main function is the entry point in the C program. All C programs begin
execution by calling the main () function. When the main function returns, your program
terminates execution and control passes back to the operating system.
Every C/C++ program must have one and only one main function. { The next line consists of
a single curly brace which signifies the start of main () function.
int age ; The first line of code inside function main () is declaration of variables. In
C all variables must be declared before they are used.
} which signifies the end of main () function.

User-written functions:
Divide the application into logical procedural units and factor out commonly used code to
eliminate repetition.

Mr. P R Sali 5 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

2.2 Data Concept


Character set
A character denotes any alphabet, digit or special symbol used to represent information.
Valid alphabets, numbers and special symbols allowed in C are

The alphabets, numbers and special symbols when properly combined form constants,
variables and keywords.

Identifiers
Identifiers are user defined word used to name of entities like variables, arrays, functions,
structures etc. Rules for naming identifiers are:
1) name should only consists of alphabets (both upper and lower case), digits
and underscore (_) sign.
2) first characters should be alphabet or underscore
3) name should not be a keyword
4) since C is a case sensitive, the upper case and lower case considered
differently, for example code, Code, CODE etc. are different identifiers.
5) identifiers are generally given in some meaningful name such as value, net_salary, age,
data etc. An identifier name may be long, some implementation recognizes only first eight
characters, most recognize 31 characters. ANSI standard compiler recognize 31 characters.
Some invalid identifiers are 5cb, int, res#, avg no etc.

Keyword
There are certain words reserved for doing specific task, these words are known as reserved
word or keywords. These words are predefined and always written in lower case or small
letter. These keywords cann’t be used as a variable name as it assigned with fixed meaning.
Some examples are int, short, signed, unsigned, default, volatile, float, long, double,
break, continue, typedef, static, do, for, union, return, while, do, extern, register, enum,
case, goto, struct, char, auto, const etc.

Mr. P R Sali 6 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

Data types
Data types refer to an extensive system used for declaring variables or functions of different
types before its use. The type of a variable determines how much space it occupies in
storage and how the bit pattern stored is interpreted. The value of a variable can be
changed any time.

C has the following 4 types of data types


basic built-in data types: int, float, double, char
Enumeration data type: enum
Derived data type: pointer, array, structure, union
Void data type: void

A variable declared to be of type int can be used to contain integral values only—that is,
values that do not contain decimal places. A variable declared to be of type float can be
used for storing floating- point numbers (values containing decimal places). The double type
is the same as type float, only with roughly twice the precision. The char data type can be
used to store a single character, such as the letter a, the digit character 6, or a semicolon
similarly A variable declared char can only store character type value.
There are two types of type qualifier in c
Size qualifier: short, long
Sign qualifier: signed, unsigned

When the qualifier unsigned is used the number is always positive, and when signed is used
number may be positive or negative. If the sign qualifier is not mentioned, then by default
sign qualifier is assumed. The range of values for signed data types is less than that of
unsigned data type. Because in signed type, the left most bit is used to represent sign, while
in unsigned type this bit is also used to represent the value. The size and range of the
different data types on a 16 bit machine is given below:

Mr. P R Sali 7 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

Constants
Constant is a any value that cannot be changed during program execution. In C, any
number, single character, or character string is known as a constant. A constant is an entity
that doesn’t change whereas a variable is an entity that may change.
For example, the number 50 represents a constant integer value. The character string
"Programming in C is fun.\n" is an example of a constant character string. C constants can
be divided into two major categories:
Primary Constants
Secondary Constants
These constants are further categorized as

Numeric constant: Numeric constant consists of digits. It required minimum size of 2 bytes
and max 4 bytes. It may be positive or negative but by default sign is always positive. No
comma or space is allowed within the numeric constant and it must have at least 1 digit.
The allowable range for integer constants is -32768 to 32767. Truly speaking the range of an
Integer constant depends upon the compiler.
For a 16-bit compiler like Turbo C or Turbo C++ the range is –32768 to 32767.
For a 32-bit compiler the range would be even greater. Mean by a 16-bit or a 32- bit
compiler, what range of an Integer constant has to do with the type of compiler.

It is categorized a integer constant and real constant. An integer constants are whole
number which have no decimal point. Types of integer constants are:
Decimal constant: 0-------9(base 10)
Octal constant: 0-------7(base 8)
Hexa decimal constant: 0----9, A------F(base 16)

Mr. P R Sali 8 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

In decimal constant first digit should not be zero unlike octal constant first digit must be
zero(as 076, 0127) and in hexadecimal constant first two digit should be 0x/ 0X (such as
0x24, 0x87A). By default type of integer constant is integer but if the value of integer
constant is exceeds range then value represented by integer type is taken to be unsigned
integer or long integer. It can also be explicitly mention integer and unsigned integer type by
suffix l/L and u/U.

Real constant is also called floating point constant. To construct real constant we must
follow the rule of ,
-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. Ex.: +325.34
426.0
-32.76

To express small/large real constant exponent(scientific) form is used where number is


written in mantissa and exponent form separated by e/E. Exponent can be positive or
negative integer but mantissa can be real/integer type, for example 3.6*105=3.6e+5. By
default type of floating point constant is double, it can also be explicitly defined it by suffix
of f/F.

Character constant
Character constant represented as a single character enclosed within a single quote. These
can be single digit, single special symbol or white spaces such as ‘9’,’c’,’$’, ‘ ’ etc. Every
character constant has a unique integer like value in machine’s character code as if machine
using ASCII (American standard code for information interchange). Some numeric value
associated with each upper and lower case alphabets and decimal integers are as:
A------------ Z ASCII value (65-90)
a-------------z ASCII value (97-122)
0-------------9 ASCII value (48-59)
; ASCII value (59)

String constant
Set of characters are called string and when sequence of characters are enclosed within a
double quote (it may be combination of all kind of symbols) is a string constant. String
constant has zero, one or more than one character and at the end of the string null
character(\0) is automatically placed by compiler. Some examples are “,sarathina” , “908”,
“3”,” ”, “A” etc. In C although same characters are enclosed within single and double quotes
it represents different meaning such as “A” and ‘A’ are different because first one is string
attached with null character at the end but second one is character constant with its
corresponding ASCII value is 65.

Mr. P R Sali 9 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

Symbolic constant
Symbolic constant is a name that substitute for a sequence of characters and, characters
may be numeric, character or string constant. These constant are generally defined at the
beginning of the program as #define name value , here name generally written in upper
case for example
#define MAX 10
#define CH ‘b’
#define NAME “sony”

Variables
Variable is a data name which is used to store some data value or symbolic names for
storing program computations and results. The value of the variable can be change during
the execution. The rule for naming the variables is same as the naming identifier.
Before used in the program it must be declared. Declaration of variables specify its name,
data types and range of the value that variables can store depends upon its data types.
Syntax:
int a;
char c;
float f;

Variable initialization
When we assign any initial value to variable during the declaration, is called initialization of
variables. When variable is declared but contain undefined value then it is called garbage
value. The variable is initialized with the assignment operator such as
Data type variable name=constant;
Example: int a=20;
Or int a;
a=20;

Expressions
An expression is a combination of variables, constants, operators and function call. It can be
arithmetic, logical and relational for example:-
int z= x+y // arithmatic expression
a>b //relational
a==b // logical
func(a, b) // function call

Expressions consisting entirely of constant values are called constant expressions.


So, the expression
121 + 17 - 110
is a constant expression because each of the terms of the expression is a constant value. But
if i were declared to be an integer variable, the expression
180 + 2 – j
would not represent a constant expression.
Mr. P R Sali 10 PCI (22226)
SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

Operator
This is a symbol use to perform some operation on variables, operands or with the constant.
Some operator required 2 operands to perform operation or some required single
operation. Several operators are there those are, arithmetic operator, assignment,
increment, decrement, logical, conditional, comma, size of, bitwise and others.

1. Arithmetic Operator
This operator used for numeric calculation. These are of either Unary arithmetic operator,
Binary arithmetic operator. Where Unary arithmetic operator required only one operand
such as +,-, ++, --,!, tiled. And these operators are addition, subtraction, multiplication,
division. Binary arithmetic operator on other hand required two operand and its operators
are +(addition), -(subtraction), *(multiplication), /(division), %(modulus). But modulus
cannot applied with floating point operand as well as there are no exponent operator in c.

Operator Description Syntax


+ Addition: adds two operands x+y
– Subtraction: subtracts two operands x–y
* Multiplication: multiplies two operands x*y
/ Division (float): divides the first operand by the second x/y
Modulus: returns the remainder when first operand is divided by
% x%y
the second

Unary (+) and Unary (-) is different from addition and subtraction.

When both the operands are integer then it is called integer arithmetic and the result is
always integer. When both the operand are floating point then it is called floating arithmetic
and when operand is of integer and floating point then it is called mix type or mixed mode
arithmetic . And the result is in float type.

2. Assignment Operator
A value can be stored in a variable with the use of assignment operator. The assignment
operator(=) is used in assignment statement and assignment expression. Operand on the
left hand side should be variable and the operand on the right hand side should be variable
or constant or any expression. When variable on the left hand side is occur on the right
hand side then we can avoid by writing the compound statement. For example,
int x= y;
int Sum=x+y+z;

Mr. P R Sali 11 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

3. Increment and Decrement


The Unary operator ++, --, is used as increment and decrement which acts upon single
operand. Increment operator increases the value of variable by one .Similarly decrement
operator decrease the value of the variable by one. And these operator can only used with
the variable, but cann't use with expression and constant as ++6 or ++(x+y+z).

It again categories into prefix post fix . In the prefix the value of the variable is incremented
1st, then the new value is used, where as in postfix the operator is written after the operand
(such as m++,m--).
EXAMPLE
let y=12;
z= ++y;
y= y+1;
z= y;
Similarly in the postfix increment and decrement operator is used in the operation. And
then increment and decrement is performed.
EXAMPLE
x= 5;
y= x++;
y=x;
x= x+1;

4. Relational Operator
It is use to compared value of two expressions depending on their relation. Expression that
contain relational operator is called relational expression.
Here the value is assign according to true or false value.
a.(a>=b) || (b>20)
b.(b>a) && (e>b)
c. 0(b!=7)

Operator Description Syntax


> Greater than: True if left operand is greater than the right x>y
< Less than: True if left operand is less than the right x<y
== Equal to: True if both operands are equal x == y
!= Not equal to - True if operands are not equal x != y
Greater than or equal to: True if left operand is greater than or
>= x >= y
equal to the right
Less than or equal to: True if left operand is less than or equal to
<= x <= y
the right

Mr. P R Sali 12 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

5. Conditional Operator
It sometimes called as ternary operator. Since it required three expressions as operand and
it is represented as (? , :).
SYNTAX
exp1 ? exp2 :exp3
Here exp1 is first evaluated. It is true then value return will be exp2 . If false then
exp3.
EXAMPLE
void main()
{
int a=10, b=2
int s= (a>b) ? a:b;
printf(“value is:%d”);
}
Output:
Value is:10

6. Comma Operator
Comma operator is use to permit different expression to be appear in a situation where only
one expression would be used. All the expressions are separator by comma and are
evaluated from left to right.
EXAMPLE
int i, j, k, l;
for(i=1,j=2;i<=5;j<=10;i++;j++)

7. Sizeof Operator
Size of operator is a Unary operator, which gives size of operand in terms of byte that
occupied in the memory. An operand may be variable, constant or data type qualifier.
Generally it is used make portable program (program that can be run on different machine).
It determines the length of entities, arrays and structures when their sizes are not known to
the programmer. It is also use to allocate size of memory dynamically during execution of
the program.
EXAMPLE
main( )
{
int sum;
float f;
printf( "%d%d" ,size of(f), size of (sum) );
printf("%d%d", size of(235 L), size of(A));
}

Mr. P R Sali 13 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

8. Bitwise Operator
Bitwise operator permit programmer to access and manipulate of data at bit level.
Various bitwise operator enlisted are
one's complement (~)
bitwise AND (&)
bitwise OR (|)
bitwise XOR (^)
left shift (<<)
right shift (>>)

These operator can operate on integer and character value but not on float and double. In
bitwise operator the function showbits( ) function is used to display the binary
representation of any integer or character value.

In one's complement all 0 changes to 1 and all 1 changes to 0. In the bitwise OR its value
would obtaining by 0 to 2 bits. As the bitwise OR operator is used to set on a particular bit in
a number. Bitwise AND the logical AND.

It operates on 2operands and operands are compared on bit by bit basic. And hence both
the operands are of same type.
Logical or Boolean Operator
Operator used with one or more operand and return either value zero (for false) or one (for
true). The operand may be constant, variables or expressions. And the expression that
combines two or more expressions is termed as logical expression.
C has three logical operators:

Operator Meaning
&& AND
|| OR
! NOT

Where logical NOT is a unary operator and other two are binary operator. Logical AND gives
result true if both the conditions are true, otherwise result is false. And logical OR gives
result false if both the condition false, otherwise result is true.

2.3 Basic Input and Output in C


C language has standard libraries that allow input and output in a program.
The stdio.h or standard input output library in C that has methods for input and output.

scanf()
The scanf() method, in C, reads the value from the console as per the type specified.

Mr. P R Sali 14 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

printf()
The printf() method, in C, prints the value passed as the parameter to it, on the console
screen.

How to take input and output of basic types


The basic type in C includes types like int, float, char, etc. Inorder to input or output the
specific type, the X in the above syntax is changed with the specific format specifier of that
type.
The Syntax for input and output for these are:
Integer:
Input: scanf("%d", &intVariable);
Output: printf("%d", intVariable);

Float:
Input: scanf("%f", &floatVariable);
Output: printf("%f", floatVariable);

Character:
 Input: scanf("%c", &charVariable);
Output: printf("%c", charVariable);
// C program to show input and output

#include <stdio.h>
int main()
{
// Declare the variables
int num;
char ch;
float f;
// --- Integer ---
// Input the integer
printf("Enter the integer: ");
scanf("%d", &num);

// Output the integer


printf("\nEntered integer is: %d", num);

// --- Float ---

// Input the float


printf("\n\nEnter the float: ");
scanf("%f", &f);

Mr. P R Sali 15 PCI (22226)


SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

// Output the float


printf("\nEntered float is: %f", f);

// --- Character ---

// Input the Character


printf("\n\nEnter the Character: ");
scanf("%c", &ch);

// Output the Character


printf("\nEntered integer is: %c", ch);

return 0;
}
Output:
Enter the integer: 10
Entered integer is: 10

Enter the float: 2.5


Entered float is: 2.500000

Enter the Character: A


Entered integer is: A

Comments in C
A well-documented program is a good practice as a programmer. It makes a program more
readable and error finding become easier. One important part of good documentation is
Comments.

 In computer programming, a comment is a programmer-readable explanation or


annotation in the source code of a computer program
 Comments are statements that are not executed by the compiler and interpreter.

Two types of comments:

1. Single line comment


2. Multi-line comment

Single line Comment


Represented as // double forward slash
It is used to denote a single line comment. It applies comment to a single line only.
// single line comment
Mr. P R Sali 16 PCI (22226)
SNJB’S SHHJB Polytechnic, Chandwad

CH.2 Basics of c Programming.

Multi-line comment
Represented as /* any_text */ start with forward slash and asterisk (/*) and end with
asterisk and forward slash (*/).
It is used to denote multi-line comment. It can apply comment to more than a single line.
It is referred to as C-Style comment as it was introduced in C programming.

/*Comment starts
continues
continues
.
.
.
Comment ends*/

Mr. P R Sali 17 PCI (22226)

You might also like