Computer Science Notes
Computer Science Notes
4. System Development:
During the development phase, Programmers play a key role. They create and customize the
software for all the parts of the system. The actual coding and writing of the program is done at
this stage.
The overall system is broken up into number of components. Then the programmers on the
project team are assigned to specific components. The programmers write the necessary code.
Technical writers and work with the programmers to produce the technical documentation for the
system. The technical documentation includes information about software features and
programming, about the data flow and processing, about the design and layout of the necessary
hardware.
5. System Testing:
Testing is the process of executing a program with the intent of finding an error. Testing is an
integral part. The testing process move from the individual component out to the system as a
whole. The project team tests each component separately (unit testing), and then tests the
components of the system with each other (system testing).
The major objectives of Systems Testing are:
• Ensure that software does not fail.
• Verify whether the software is running according to its specification.
• Verify whether the software is built and run according to user’s expectation.
System Testing is primarily divided into two types. They are;
PROTOTYPES
Prototypes are the experimental version of new software (or information system). Prototypes are
designed to show the structure and design projected for the final product. Prototyping is used in
the development of both new hardware and software systems and new systems of information
management.
A typical Prototype consists of screens with few items like: buttons, fields and options. Each
item in the Prototype has minimal functions. By experimenting with a prototype, users become
familiar with the end product long before it is actually developed. Prototyping is an important
component of Rapid Application Development (RAD). CASE Tools are used to design
Prototypes.
System Documentation:
System manual contain the detailed technical information for each application system. It
describes each of the major functions performed by the application, the data affected by the
application and logical flow of data within the system. These manuals usually include:
• Narrative describing the purpose of the application
• Description of the files, database and records within application
• Display format and uses
• Possible sample report of the program.
The various ways of documenting are:
• Presenting in the flowchart.
• Using pseudocode
• Using the structured English and algorithms.
System Analyst:
The Systems Analysis is the process of totally understanding the current systems by collecting
the facts, diagnosing the problems, and using the facts to improve the current system. Systems
Analysis is done by the Systems Analyst.
A System Analyst is the person who is responsible for the analysis, design and implementation
of the business system to the computer. A system analyst can be described as the person who will
solve the business problem using compute technology so we need someone who is good at
problem solving, who knows about business operation and who has a strong background in
relevant areas of computer science.
Qualities (Skills / Knowledge) of System Analysts:
Expertise in system analysis and design comes with experience and time. However, there are
some essential qualities that a Systems Analysts should possess, they are:
1. Communication Skills:
The analysts must be a good communicator. The analyst is the medium through which
communication should flow smoothly. He or she must be able to gain information requirements
from users and to communicate well with programmers.
2. Problem Solving Skills:
Systems are developed to solve problem. The analyst is a problem solver. He or she views the
analysis of problem as a challenge. An analyst must have wide experience in solving problems.
The steps of solving problems:
1. Define the problem
2. Analyze problem
3. Consider alternatives for removing the cause
4. Evaluate these alternatives and try to know their benefits and disadvantages.
5. choose the best alternatives.
3. Technical Knowledge:
The analyst needs enough computer experience to program and understand the capabilities of the
computers. Analyst must be familiar with the capabilities and administration of hardware and
software products.
4. Business Knowledge: The analyst should be capable of handling the situation through skilful
application of tools and techniques. It is important for an analyst to completely understand the
business environment for which the system is being developed. They must be familiar with
existing business operations so that they can decide if a computer can do the better job.
Duties and Responsibilities of System Analysts:
The duty of the system analyst is to co-ordinate the efforts of all groups to effectively develop
and operate computer based information systems. The major duties and responsibilities of a
system analyst are as follows;
a. Defining User’s Requirements:
This particular duty is the most difficult and analyst will have to use several fact-finding
techniques like interview, questionnaire, observation and automation.
b. Prioritizing requirements by agreement:
By conducting common meeting and arriving at a agreement or consensus, analyst can prioritize
the requirements.
c. Analysis and Evaluation:
On the basis of facts and opinions, system analyst finds the best characteristics of the new or
modified system which will meet the user’s stated information needs.
d. Solving problems:
System analyst is basically a problem solver. He must study the problem in depth and suggest
alternate solutions to management.
e. Drawing up functional specifications:
The main duty of the analyst is to obtain the functional specifications of the system to be
designed and specification must be non-technical so that users and managers can understand.
f. Designing system:
One of the major duties of the analyst is to design the system and it must be understandable to
the system implementer.
g. Evaluating System:
It is analyst critical duty to evaluate a system after it has been in operation for certain period of
time.
Role of a System Analyst
Success of every system development depends on the role of system analyst. The major roles of
system analyst are:
1. Plan and develop new system or devise ways to apply existing system resources to additional
operations.
2. Keep constant track of the system and constant interaction with management, middle level
manager and working level personnel to achieve the logical and accurate perspective of the
system.
3. Use techniques like structured analysis, data modelling, information engineering,
mathematical model building, sampling and cost accounting to plan the system.
4. Specify the inputs to be accessed by the system, design the processing steps, and format the
output to meet the users need.
5. Prepare the cost benefit and return on investment analysis to help the management decide
whether implementing the propose system will be financially feasible.
6. Co-ordinate tests and observes initial use of the system to ensure that it performs as planned.
7. Prepare specification, work diagrams and structure charts for computer programmers to follow
and then work with them to ‘debug’ or eliminate errors from the system.
8. Diagnose problems, recommend solutions and determine if the program requirements have
been met.
FEASIBILITY STUDY:
Feasibility study is carried by Systems Analysts. The feasibility study or analysis carefully
examines technical, economic, operational, scheduling, legal and strategic factors of a system to
make sure that the system can be successfully developed. There major areas are considered while
determining the feasibility of a project. They are:
a. Technical Feasibility Study:
This study is done by Systems Analysts to find out whether current technical resources which are
available in the organization are capable of handling the user’s requirements. If not, then the
analysts confirm whether the technology is available in the market.
b. Economic Feasibility Study:
This study evaluates the financial aspects of the project by performing a cost benefit analysis and
addressing both tangible (real) or intangible benefits of the system. Economic or Financial
feasibility considers the following points:
• Cost of doing full system study.
• estimated cost of hardware,
• estimated cost of software tools and systems development
The concerned organization must be able to evaluate the investment before implementing the
entire system. If the system is not economically feasible, the project should not be proceed
further.
c. Operational Feasibility Study:
Once it is determined that the system is both technically and economically feasible then it has to
be concluded if it is operationally feasible.
It determines whether there will be any problems in implementing the system in its operational
environments, looks at issues such as integrating the new system with existing systems in the
organization, and assess how the system fits with the strategic business plan and strategic
information plan of the organization.
d. Schedule Feasibility Study:
It addresses the time it will take to complete the project, taking into consideration available
resources, and additional resources required, if any.
e. Legal Feasible Study:
This study takes into account factors such as copyrights, patents and government regulations.
f). Strategic Feasibility Study:
This study looks into factors such as the ability of the system to increase market share, give the
firm a competitive advantages in the marketplace, enhance the productivity of knowledge
workers and achieve other strategic goals of the organization.
Aims of Feasibility Study
The aims of feasibility study are;
• Defining the major problem areas, so that the system analyst can plan the strategy for the field
investigation.
• Discovering the areas where some specialist knowledge is required for the full investigation.
• Determining whether the objectives stated in the assignment brief are reasonably attainable
within the limitations and financial constraints period.
• Determining the approximate time required for the full investigation and there cost.
System Security:
In a common sense, security is freedom from any risk or danger. In context of computer science,
security is prevention of or protection against;
• Access to information by unauthorized people
• Unauthorized destruction or alteration of that information.
In other words, a secure system is a system on which enough trust can be put to use it together
with sensitive information. Computer Security is frequently associated with three core of areas;
a). Confidentiality: Ensuring that the data cannot be accessed by unauthorized persons.
b). Integrity: Ensuring that information is not altered by unauthorized person in a way that is not
detectable by authorized persons.
c). Authentication: Ensuring the users are the person they claim to be.
Computer Security is also defined as :
a). Physical Security: Controlling the coming and outgoing of people and materials, protection
against the elements and manuals disasters.
b). System Security: User access and authentication controls, maintaining file and file system
integrity, make backups, log keeping and auditing.
c). Personal Security: Hiring employee to background screening, monitoring and handling
departure of persons.
d). Network Security: Protecting network and telecommunication equipment, controlling access
from un-trusted.
Networking
Introduction of Networking
Today, Computer networks form the backbone of most enterprises big or small around the world.
Computer networks allow people remote to the computer to access the information available to
that computer. Computer networks are being used to provide resource sharing between systems
separated from a few to thousands of kilometers. This technology is leading many corporations
to take advantage of the reduced price and increased performance in the workplace.
The dictionary defines a network as a “group of computers and associated devices that are
connected by communications facilities.” Thus, a network can be anything from two computers
connected by a serial cable to thousands of computers connected by high-speed data
communication links dispersed throughout the world. In other words, computer network is a
group of computers and associated peripherals connected by a communications channel capable
of sharing files and other resources between several users.
Benefits of Networking:
A network provides three principle benefits: the ability to communicate, the ability to share
hardware and software, and administrative support.
a). Information sharing and communicating:
The ability to communicate and share of information, inexpensively is one fo the popular
benefits of networking technology. A network supports communication among users in ways that
other media cannot. E-mail, the most popular form of network communication, provides low-
cost, printable correspondence with the capability for forwarding, acknowledgment, storage,
retrieval, and attachments.
b). Sharing of hardware and software:
Sharing involves not only information (database records, e-mail, graphics, etc.), but also
resources (applications, printers, modems, disk space, scanners, etc.) Through its ability to share,
a network promotes collaboration. This is the main attraction of popular software called
“groupware” that is designed to allow multiple users to hold electronic meetings and work
concurrently on projects
c). Centralized administration and support:
Networking simplifies administration and support tasks. The network administrator can perform
administrative tasks on any computer on the network from just a single location. Also, it is more
efficient for personnel to support one version of OS or application than to oversee a number of
individual and unique systems and setups.
Roles o f computers in a network:
The computers in a network functions as either clients or servers. The roles of computers in a
network are;
a). Clients:
A client is a computer that uses the resources made available by a server. The client must have
sufficient processing power on its own to run applications that interact with the resources on the
server.
b). Server:
A server is a computer that makes its resources available to the network and responds to the
commands of a client. The server in a network performs a variety of complex tasks. The
following are some examples of different types of server included on many large networks:
i). File and Print Servers:
File and print servers provides file and printer resources from a centralized location. When a
client sends a request for data to the file and print server, the entire database or file is
downloaded to the computer making the request. Once the document is saved back on the server,
anyone on the network who has the proper access, or permission, may look at the file. In other
word, file and print servers are used to store and retrieve centralized file and data records.
ii). Database Servers:
Database servers can store large amount of data in a centralized location and make this data
available to users so that they do not need to download the entire database. With a database
server, the entire database stays on the server and only the results of a request are downloaded to
the computer making the request.
iii). Mail Server:
Mail server operates like database servers. Mail servers manage the e-mail services for the
network.
Types of Network:
Network models classify the network on the basis of services and geographical area.
1). Network based on services:
Based on how the computers in a network are configured and how they access information,
networks are classified into two types;
a). Peer-to-Peer Network:
In a peer-to-peer network, all computers have an equal relation to one another. There is not any
computer, which can be regarded, as superior to another computer. All computers are equal and
therefore are known as peers. Any computer in peer-to-peer network can functions as both client
and a server simultaneously. Any computer in the network is capable of accessing data, software
and other resources directly without any central controlling mechanism. Peer-to-peer network are
also called as workgroups.
Advantages of using peer-to-peer network:
• Peer-to-peer networks are easy to build and operate
• Peer-to-peer networks are inexpensive to operate
• The network software used to operate peer-to-peer networks are simple and easy to operate.
• If any computer in a peer-to-peer network fails, then the resources on only that computer
becomes unavailable without hampering the availability of resources on other computers.
Disadvantages of using peer-to-peer network:
• The required resources are difficult to find quickly because it could be in any one of the
computers.
• Peer-to-peer networks are not very secure.
• A peer-to-peer network becomes very difficult to manage and operate when the number of
computer involved exceeds 15 to 20.
b). Client-Server Network:
Client server networks have become standard models for networking. In client-server network,
there is a clear distinction between the computers depending upon their functionality; clients and
servers. Servers are powerful computers dedicated to managing files or documents (file server),
printers (print servers), web pages (web servers) etc. Client are less powerful computer on which
users do their job. Client depends upon server computers to access required resources.
Example
/* program to find the area pf a circle */
#include
#include
main( )
{
float r, a;
printf(“radius”);
scanf(“%f”, &r);
a=3.145*r*r;
printf(“area of circle=%f”, area);
}
The character set
C used the upper cases A,B,…….,Z, the lower cases a ,b,…..,z and certain special characters like
+ – * / = % & # ! ? ^ “ ‘ ~ \ ( ) = [ ] { } ; : . , _ blank space @ $ . also certain combinations of
these characters like \b, \n, \t, etc…
Identities and key words
Identities are names given to various program elements like variables, arrays and functions. The
name should begin with a letter and other charact4rs can be letters and digits and also can
contain underscore character ( _ )
Exapmle: area, average, x12 , name_of_place etc………
Key words are reserved words in C language. They have predicted meanings and are used for the
intended purpose. Standard keywords are auto, break, case, char, const, continue, default, do,
double, else enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof,
static, struct, switch, typedef, union, unsigned, void, volatile, while. (Note that these words
should not be used as identities.)
Data type
The variables and arrays are classified based on two aspects- first is the data type it stores and the
second is the type of storage. The basic data types in C language are int, char, float and double.
They are respectively concerned with integer quantity, single character, numbers, with decimal
point or exponent number and double precision floating point numbers ( ie; of larger
magnitude ). These basic data types can be augmented by using quantities like short, long, signed
and unsigned. ( ie; long int, short int, long double etc…..).
CONSTANTS
There are 4 basic types of constants . they are int4ger constants, floating-point constants,
character constants and string constants.
(a) integer constants: It is an integer valued numbers, written in three different number system,
decimal (base 10) , octal(base8), and hexadecimal(base 16).
A decimal integer constant consists of 0,1,…..,9..
Example : 75 6,0,32, etc…..
5,784, 39,98, 2-5, 09 etc are not integer constants.
An octal integer constant consists of digits 0,1,…,7. with 1st digit 0 to indicate that it is an octal
integer.
Example : 0, 01, 0756, 032, etc…..
32, 083, 07.6 etc….. are not valid octal integers.
A hexadecimal integer constant consists of 0,1, …,9,A, B, C, D, E, F. It begins with 0x.
Example: 0x7AA2, 0xAB, etc……
0x8.3, 0AF2, 0xG etc are not valid hexadecimal constants.
Usually negative integer constant begin with ( -) sign. An unsigned integer constant is identified
by appending U to the end of the constant like 673U, 098U, 0xACLFU etc. Note that
1234560789LU is an unsigned integer constant.
( b) floating point constants : It is a decimal number (ie: base 10) with a decimal point or an
exponent or both. Ex; 32.65, 0.654, 0.2E-3, 2.65E10 etc. These numbers have greater range than
integer constants.
(c) character constants : It is a single character enclosed in single quotes like ‘a’. ‘3’, ‘?’, ‘A’
etc. each character has an ASCII to identify. For example ‘A’ has the ASCII code 65, ‘3’ has the
code 51 and so on.
(d) escape sequences: An escape sequence is used to express non printing character like a new
line, tab etc. it begin with the backslash ( \ ) followed by letter like a, n, b, t, v, r, etc. the
commonly used escape sequence are
\a : for alert \n : new line : null
\b : backspace \f : form feed \? : question mark
\f : horizontal tab \r : carriage return \’ : single quote
\v : vertical tab \” : quotation mark
(e) string constants : it consists of any number of consecutive characters enclosed in double
quotes .Ex : “ C program” , “mathematics” etc……
Variables and arrays
A variable is an identifier that is used to represent some specified type of information. Only a
single data can be stored in a variable. The data stored in the variable is accessed by its name.
before using a variable in a program, the data type it has to store is to be declared.
Example : int a, b, c,
a=3; b=4;
c=a+b
Note : A statement to declare the data types of the identifier is called declaration statement. An
array is an identifier which is used to store a collection of data of the same type with the same
name. the data stored is an array are distinguished by the subscript. The maximum size of the
array represented by the identifier must be mentioned.
Example : int mark[100] .
With this declaration n, mark is an array of size 100, they are identified by nark[0], mark[1],
……….,mark[99].
Note : along with the declaration of variable, it can be initialized too. For example
int x=10;
with this the integer variable x is assigned the value 10, before it is used. Also note that C is a
case sensitive langauge. i.e. the variables d and D are different.
DECLARATIONS
This is for specifying data type. All the variables, functions etc must be declared before they are
used. A declaration tells the compiler the name and type of a variable you’ll be using in your
program. In its simplest form, a declaration consists of the type, the name of the variable, and a
terminating semicolon:
1. It makes things somewhat easier on the compiler; it knows right away what kind of storage to
allocate and what code to emit to store and manipulate each variable; it doesn’t have to try to
intuit the programmer’s intentions.
2. It forces a bit of useful discipline on the programmer: you cannot introduce variables willy-
nilly; you must think about them enough to pick appropriate types for them. (The compiler’s
error messages to you, telling you that you apparently forgot to declare a variable, are as often
helpful as they are a nuisance: they’re helpful when they tell you that you misspelled a variable,
or forgot to think about exactly how you were going to use it.)
EXPRESSION
This consists of a single entity like a constant, a variable, an array or a function name. it also
consists of some combinations of such entities interconnected by operators.
Example : a, a+b, x=y, c=a+b, x<=y etc……..
STATEMENTS
Statements are the “steps” of a program. Most statements compute and assign values or call
functions, but we will eventually meet several other kinds of statements as well. By default,
statements are executed in sequence, one after another
A statement causes the compiler to carry out some action. There are 3 different types of
statements – expression statements compound statements and control statements. Every
statement ends with a semicolon.
Example: (1) c=a + b;
(2) {
a=3;
b=4;
c=a+b;
}
(3) if (a<b)
{
printf(“\n a is less than b”);
}
Statement may be single or compound (a set of statements ).
Most of the statements in a C program are expression statements. An expression statement is
simply an expression followed by a semicolon. The lines
i = 0;
i = i + 1;
and printf("Hello, world!\n");
are all expression statements
SYMBOLIC CONSTANTS
A symbolic constant is a name that substitutes for a sequence of characters, which represent a
numeric, character or string constant. A symbolic constant is defined in the beginning of a
program by using #define, without: at the end.
Example : #define pi 3.1459
#define INTEREST P*N*R/100
With this definition it is a program the values of p, n ,r are assigned the value of INTEREST is
computed. Note : symbolic constants are not necessary in a C program.
OPERATORS AND EXPRESSIONS
ARITHMETIC OPERATORS
The basic operators for performing arithmetic are the same in many computer languages:
+ addition
– subtraction
* multiplication
/ division
% modulus (remainder)
For exponentiations we use the library function pow. The order of precedence of these operators
is % / * + – . it can be overruled by parenthesis.
Integer division :
Division of an integer quantity by another is referred to integer division. This operation results in
truncation. i.e.When applied to integers, the division operator / discards any remainder, so 1 / 2 is
0 and 7 / 4 is 1. But when either operand is a floating-point quantity (type float or double), the
division operator yields a floating-point result, with a potentially nonzero fractional part. So 1 /
2.0 is 0.5, and 7.0 / 4.0 is 1.75.
Example : int a, b, c;
a=5;
b=2;
c=a/b;
Here the value of c will be 2
Actual value will be resulted only if a or b or a and b are declared floating type. The value of an
arithmetic expression can be converted to different data type by the statement ( data type)
expression.
Example : int a, b;
float c;a=5;b=2;
c=(float) a/b
Here c=2.5
Order of Precedence
Multiplication, division, and modulus all have higher precedence than addition and subtraction.
The term “precedence” refers to how “tightly” operators bind to their operands (that is, to the
things they operate on). In mathematics, multiplication has higher precedence than addition, so 1
+ 2 * 3 is 7, not 9. In other words, 1 + 2 * 3 is equivalent to 1 + (2 * 3). C is the same way.
UNARY OPERATORS
A operator acts up on a single operand to produce a new value is called a unary operator.
(1) the decrement and increment operators – ++ and — are unary operators. They increase and
decrease the value by 1. if x=3 ++x produces 4 and –x produces 2.
Note : in the place of ++x , x++ can be used, but there is a slight variation. In both csse x is
incremented by 1, but in the latter case x is considered before increment.
(2) sizeof is another unary operator
int x, y;
y=sizeof(x);
The value of y is 2 . the sizeof an integer type data is 2 that of float is 4, that of double is 8, that
of char is 1.
RELATIONAL AND LOGICAL OPERATORS
< ( less than ), (greater than ), >= ( greater than or equal to ), = = ( equal to ) and != (not equal
to ) are relational operators.
A logical expression is expression connected with a relational operator. For example ‘b*b –
4*a*c4 has the value true k<=3 has the value false.
LOGICAL OERATORS
The relational operators work with arbitrary numbers and generate true/false values. You can
also combine true/false values by using the Boolean operators, which take true/false values as
operands and compute new true/false values. The three Boolean operators are:
&& and
|| or
! not (takes one operand; “unary”)
The && (“and”) operator takes two true/false values and produces a true (1) result if both
operands are true (that is, if the left-hand side is true and the right-hand side is true). The || (“or”)
operator takes two true/false values and produces a true (1) result if either operand is true. The !
(“not”) operator takes a single true/false value and negates it, turning false to true and true to
false (0 to 1 and nonzero to 0).
&& (and ) and || (or) are logical operators which are used to connect logical expressions.
Whereas! ( not) is unary operator, acts on a single logical expression.
For example, 1. (a-2)
2. (a2)
In the first example if a= -3 or a=6 the logical expression returns true.
ASSIGNMENT OPERATORS
These operators are used for assigning a value of expression to another identifier.
=, + =, – = , * =, /= and %= are assignment operators.
a = b+c results in storing the value of b+c in ‘a’.
a += 5 results in increasing the value of a by 5
a /= 3 results in storing the value a/3 in a and it is equivalent a=a/3
Note : 1. if a floating point number is assigned to a integer type data variable, the value will be
truncated.
Here expression 1 is a logical expression and expression 2 and expression 3 are expressions
having numerical values. If expression 1 is true, value of expression 2 is assigned to variable 1
and otherwise expression3 is assigned.
Example :
int a,b,c,d,e
a=3;b=5;c=8;
d=(ac) ? b : c;
Then d=3 and e=8
LIBRARY FUNCTIONS
They are built in programs readily available with the C compiler. These function perform
certain operations or calculations. Some of these functions return values when they are
accessed and some carry out certain operations like input, output.a library functions
accessed in a used written program by referring its name with values assigned to necessary
arguments.
Some of these library functions are : abs(i), ceil(d), cos(d), cosh(d), exp(d), fabs(d),floor(d),
getchar( ), log(d), pow(d,d’), printf( ), putchar(c), rand( ), sin(d), sqrt(d), scanf( ), tan(d),
toascii(c), toupper(c), tolower(c).
Note : the arguments i, c, d are respectively integer, char and double type.
Example:
#include
#include
#
main( )
{
float x, s;
printf(“ \n input the values of x :”);
scanf(“%f ”, &x);
s=sqrt(x);
printf(“\n the square root is %f ”,s);
}
Note that C language is case sensitive, which means ‘a’ and ‘A’ are different. Before the
main program there are statements begin with # symbol. They are called preprocessor
statements. Within the main program “ float r, a;” is a declaration statement. ‘include’ is a
preprocessor statement. The syntax is #include. it is to tell the compiler looking for library
functions, which are used in the program, included in the file, file name ( like stdio.h,
conio.h, math.h, etc…).
Page No.12
DATA INPUT OUTPUT
For inputting and outputting data we use library function .the important of these functions
are getch( ), putchar( ), scanf( ), printf( ), gets( ), puts( ). For using these functions in a C-
program there should be a preprocessor statement
#include.
[A preprocessor statement is a statement before the main program, which begins with #
symbol.]
stdio.h is a header file that contains the built in program of these standard input
output
function.
getchar function
It is used to read a single character (char type) from keyboard. The syntax is char variable
name = getchar( );
Example:
char c;
c = getchar( );
For reading an array of characters or a string we can use getchar( ) function.
Example:
#include
main( )
{
char place[80];
int i;
for(i = 0;( place [i] = getchar( ))! = ‘\n’, ++i);
}
This program reads a line of text.
Page No.13
putchar function
It is used to display single character. The syntax is
putchar(char c);
Example:
char c;
c = ‘a’;
putchar(c);
Using these two functions, we can write a very basic program to copy the input, a character
at a time, to the output:
#include
/* copy input to output */
main()
{
int c;
c = getchar();
while(c != EOF)
{
putchar(c);
c = getchar();
}
return 0;
}
scanf function
This function is generally used to read any data type- int, char, double, float, string.
The syntax is
Page No.14
scanf (control string, list of arguments);
The control string consists of group of characters, each group beginning % sign and a
conversion character indicating the data type of the data item. The conversion characters
are c,d,e,f,o,s,u,x indicating the type resp. char decimal integer, floating point value in
exponent form, floating point value with decimal point, octal integer, string, unsigned
integer, hexadecimal integer. ie, “%s”, “%d” etc are such group of characters.
An example of reading a data:
#include
main( )
{
char name[30], line;
int x;
float y;
………
…….…
scanf(“%s%d%f”, name, &x, &y);
scanf(“%c”,line);
}
NOTE:
1. In the list of arguments, every argument is followed by & (ampersand symbol) except
string variable.
2. s-type conversion applied to a string is terminated by a blank space character. So string
having blank space like “Govt. Victoria College” cannot be read in this manner. For
reading such a string constant we use the conversion string as “%[^\n]” in place of “%s”.
Example:
char place[80];
…………….
scanf(“%[^\n]”, place);
……………..
with these statements a line of text (until carriage return) can be input the variable ‘place’.
Page No.15
printf function
This is the most commonly used function for outputting a data of any type.
The syntax is
printf(control string, list of arguments)
Here also control string consists of group of characters, each group having % symbol and
conversion characters like c, d, o, f, x etc.
Example:
#include
main()
{
int x;
scanf(“%d”,&x);
x*=x;
printf(“The square of the number is %d”,x);
}
Note that in this list of arguments the variable names are without &symbol unlike in the
case of scanf( ) function. In the conversion string one can include the message to be
displayed. In the above example “The square of the number is” is displayed and is followed
by the value of x.For writing a line of text (which include blank spaces) the conversion
string is “%s” unlike in scanf function. (There it is “[^\n]”).
More about printf statement
There are quite a number of format specifiers for printf. Here are the basic ones :
%d print an int argument in decimal
%ld print a long int argument in decimal
%c print a character
%s print a string
%f print a float or double argument
%e same as %f, but use exponential notation
%g use %e or %f, whichever is better
%o print an int argument in octal (base 8)
%x print an int argument in hexadecimal (base 16)
%% print a single %
Page No.16
To illustrate with a few more examples: the call
printf(“%c %d %f %e %s %d%%\n”, ‘1’, 2, 3.14, 56000000., “eight”, 9);
would print
1 2 3.140000 5.600000e+07 eight 9%
The call
printf(“%d %o %x\n”, 100, 100, 100);
would print
100 144 64
Successive calls to printf just build up the output a piece at a time, so the calls
printf(“Hello, “);
printf(“world!\n”);
would also print Hello, world! (on one line of output).
While inputting or outputting data field width can also be specified.This is included in the
conversion string.(if we want to display a floating point number convert to 3 decimal places
the conversion string is “%.3f”).For assigning field width,width is placed before the
conversion character like “%10f”,”%8d”,”%12e” and so on…Also we can display data
making correct to a fixed no of decimal places.
For example if we want to display x=30.2356 as 30.24 specification may be “%5.2f” or
simply “%.2f”.
Page No.17
CONTROL STATEMENTS
When we run a program,the statements are executed in the order in which they appear in
the program.Also each statement is executed only once.But in many cases we may need a
statement or a set of statements to be executed a fixed no of times or until a condition
is satisfied.Also we may want to skip some statements based on testing a condition.For all
these we use control statements .
Control statements are of two types – branching and looping.
BRANCHING
It is to execute one of several possible options depending on the outcome of a logical
test ,which is carried at some particular point within a program.
LOOPING
It is to execute a group of instructions repeatedly,a fixed no of times or until a specified
condition is satisfied.
BRANCHING
1. if else statement
It is used to carry out one of the two possible actions depending on the outcome of a
logical test.The else portion is optional.
The syntax is
If (expression) statement1 [if there is no else part]
Or
If (expression)
Statement 1
else
Statement 2
Page No.18
Here expression is a logical expression enclosed in parenthesis.if expression is
true ,statement 1 or statement 2 is a group of statements ,they are written as a block using
the braces { }
Example: 1. if(x<0) printf(“\n x is negative”);
2. if(x<0)
printf(“\n x is negative”);
else
printf(“\n x is non negative”);
3.if(x=90) printf(“\n excellent”);
else if(mark>=80) printf(“\n very good”);
else if(mark>=70) printf(“\n good”);
else if(mark>=60) printf(“\n average”);
else
printf(“\n to be improved”);
SWITCH STATEMENT
It is used to execute a particular group of statements to be chosen from several available
options. The selection is based on the current value of an expression with the switch
statement.
The syntax is:
switch(expression)
{
case value1:
s1
break;
case value 2:
s2
break;
…….
……..
default:
sn
}
All the option are embedded in the two braces { }.Within the block each group is written
after the label case followed by the value of the expression and a colon. Each group ends
with ‘break’ statement. The last may be labeled ‘default’. This is to avoid error and to
execute the group of statements in default if the value of the expression does not match
value1, value2,……..
Page No.20
LOOPING
1. The while statement
This is to carry out a set of statements to be executed repeatedly until some condition is
satisfied.
The syntax is:
While (expression) statement
The statement is executed so long as the expression is true. Statement can be simple or
compound.
Example 1: #include
while(n > 0)
{
printf(“\n”);
n = n – 1;
}
Example 2: #include
main()
{
int i=1;
while(x<=10)
{
printf(“%d”,i);
++i;
}
}
Page No.21
2. do while statement
This is also to carry out a set of statements to be executed repeatedly so long as a condition
is true.
The syntax is:
do statement while(expression)
Example: #include
main()
{
int i=1;
do
{
printf(“%d”,i);
++i;
}while(i<=10);
}
THE DIFFERENCE BETWEEN while loop AND do – while loop
1. In the while loop the condition is tested in the beginning whereas in the other case it is
done at the end.
2. In while loop the statements in the loop are executed only if the condition is true.whereas
in do – while loop even if the condition is not true the statements are executed atleast once.
3. for loop
It is the most commonly used looping statement in C. The general form is
For(expression1;expression2;expression3)statement
Here expression1 is to initialize some parameter that controls the looping
action.expression2 is a condition and it must be true to carry out the action.expression3 is a
unary expression or an assignment expression.
Page No.22
Example: #include
main()
{
int i;
for(i=1;i<=10;++i)
printf(“%d”,i);
}
Here the program prints i starting from 1 to 10.First i is assigned the value 1 and than it
checks whether i<=10 If so i is printed and then i is increased by one. It continues until
i<=10.
An example for finding the average of 10 numbers;
#include
main()
{
int i;
float x,avg=0;
for(i=1;i<=10;++i)
{
scanf(“%f”,&x);
avg += x;
}
avg /= 10;
printf(“\n average=%f”,avg);
}
Note: Within a loop another for loop can come
Page No.23
Example : for(i=1;i<=10;++i)
for(j=1;j<=10;++j);
The break statement
The break statement is used to terminate4 loop or to exit from a switch. It is used in for,
while, do-while and switch statement.
The syntax is break;
Example 1: A program to read the sum of positive numbers only
#include
main()
{
int x, sum=0;
int n=1;
while(n<=10)
{
scanf(“%d”,&x);
if(x<0) break;
sum+=x;
}
printf(“%d”,sum);
}
Example 2 :A program for printing prime numbers between 1 and 100:
#include
#include
main()
{
int i, j;
printf(“%d\n”, 2);
for(i = 3; i <= 100; i = i + 1)
{
for(j = 2; j sqrt(i))
{
printf(“%d\n”, i);
break;
}
}
}
return 0;
}
Here while loop breaks if the input for x is –ve.
The continue statement
It is used to bypass the remainder of the current pass through a loop. The
loop does not terminate when continue statement is encountered, but
statements after continue are skipped and proceeds to the next pass
through the loop.
In the above example of summing up the non negative numbers when a
negative value is input, it breaks and the execution of the loop ends. In
case if we want to sum 10 nonnegative numbers, we can use continue
instead of break
Example : #include
main()
{
int x, sum=0, n=0;
while(n<10)
{
scanf(“%d”,x);
if(x<0) continue;
sum+=x;
++n;
}
printf(“%d”,sum);
}
Page No.25
GO TO statement
It is used to alter the normal sequence of program execution by
transferring control to some other part of the program .The syntax is goto
label ;
Example :
#include
main( )
{
int n=1,x,sum=0;
while(n<=10)
{
scanf(“%d” ,&x);
if(x=y)? x : y ;
return(z);
}
(3)
maximum( int x,int y)
{
int z;
z=(x>=y) ? x : y ;
printf(“\n maximum =%d”,z);
return ;
}
Note: In example (1) and (2) the function does not return anything.
Page No.28
Advantages of functions
1. It appeared in the main program several times, such that by making it a
function, it can be written just once, and the several places where it used to
appear can be replaced with calls to the new function.
2. The main program was getting too big, so it could be made (presumably)
smaller and more manageable by lopping part of it off and making it a
function.
3. It does just one well-defined task, and does it well.
4. Its interface to the rest of the program is clean and narrow
5. Compilation of the program can be made easier.
Accessing a function
A function is accessed in the program (known as calling program)by
specifying its name with optional list of arguments enclosed in parenthesis.
If arguments are not required then only with empty parenthesis.
The arguments should be of the same data type defined in the function
definition.
Example:
1) int a,b,y;
y=maximum(a,b);
2) char name[50] ;
writecaption(name);
3) arrange();
Page No.29
If a function is to be accessed in the main program it is to be defined and
written before the main function after the preprocessor statements.
Example:
#include
int maximum (int x,int y)
{
int z ;
z=(x>=y) ? x : y ;
return (z);
}
main( )
{
int a,b,c;
scanf(“%d%d”,&a,&b);
c=maximum(a,b);
printf(“\n maximum number=%d”,c);
}
Function prototype
It is a common practice that all the function programs are written after the
main( ) function .when they are accessed in the main program, an error of
prototype function is shown by the compiler. It means the computer has no
reference about the programmer defined functions, as they are accessed
before the definition .To overcome this, i.e to make the compiler aware that
the declerations of the function referred at the calling point follow, a
decleration is done in the beginning of the program immediately after the
preprocessor statements. Such a decleration of function is called prototype
decleration and the corresponding functions are called function
prototypes.
Page No.30
Example 1:
#include
int maximum(int x,int y);
main( )
{
int a,b,c;
scanf(“%d%d”,&a,&b);
c=maximum(a,b);
printf(“\n maximum number is : %d”,c);
}
int maximum(int x, int y)
{
int z;
z=(x>=y) ? x : y ;
return(z);
}
Example 2:
#include
void int factorial(int m);
main( )
{
int n;
scanf(“%d”,&n);
factorial(n);
}
void int factorial(int m)
{
int i,p=1;
for(i=1;i<=m;++i)
p*=i;
printf(“\n factorial of %d is %d “,m,p);
return( );
}
Note: In the prototype decleration of function, if it return no value, in the
place of data-type we use void. Eg: void maximum(int x,int y);
Page No.31
Passing arguments to a function
The values are passed to the function program through the arguments.
When a value is passed to a function via an argument in the calling
statement, the value is copied into the formal argument of the function
(may have the same name of the actual argument of the calling
function).This procedure of passing the value is called passing by value.
Even if formal argument changes in the function program, the value of the
actual argument does not change.
Example:
#include
void square (int x);
main( )
{
int x;
scanf(“%d”,&x);
square(x):
}
void square(int x)
{
x*=x ;
printf(“\n the square is %d”,x);
return;
}
In this program the value of x in the program is unaltered.
Page No.32
Recursion
It is the process of calling a function by itself ,until some specified
condition is satisfied. It is used for repetitive computation ( like finding
factorial of a number) in which each action is stated in term of previous
result.
Example:
#include
long int factorial(int n);
main( )
{
int n;
long int m;
scanf(“%d”,&n);
m=factorial(n);
printf(“\n factorial is : %d”, m);
}
long int factorial(int n)
{
if (n<=1)
return(1);
else
return(n*factorial(n-1));
}
In the program when n is passed the function, it repeatedly executes
calling the same function for n, n-1, n-2,………………..1.
Page No. 33
Arrays
An array is an identifier to store a set of data with common name. Note
that a variable can store only a single data. Arrays may be one dimensional
or multi dimensional.
Defining an array one dimensional arrays
Definition: Arrays are defined like the variables with an exception that
each array name must be accompanied by the size (i.e. the max number of
data it can store).For a one dimensional array the size is specified in a
square bracket immediately after the name of the array.
The syntax is
data-type array name[size];
So far, we've been declaring simple variables: the declaration
int i;
declares a single variable, named i, of type int. It is also possible to declare
an array of several elements. The declaration
int a[10];
declares an array, named a, consisting of ten elements, each of type int.
Simply speaking, an array is a variable that can hold more than one value.
You specify which of the several values you're referring to at any given
time by using a numeric subscript. (Arrays in programming are similar to
vectors or matrices in mathematics.) We can represent the array a
above with a picture like this:
eg: int x[100];
float mark[50];
char name[30];
Page No.34
Note: With the declaration int x[100],computer creates 100 memory cells
with name x[0],x[1],x[2],………,x[99].Here the same identifier x is used
but various data are distinguished by the subscripts inside the square
bracket.
Array Initialization
Although it is not possible to assign to all elements of an array at once
using an assignment expression, it is possible to initialize some or all
elements of an array when the array is defined. The syntax looks like this:
int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
The list of values, enclosed in braces {}, separated by commas, provides the
initial values for successive elements of the array.
If there are fewer initializers than elements in the array, the remaining
elements are automatically initialized to 0. For example,
int a[10] = {0, 1, 2, 3, 4, 5, 6};
would initialize a[7], a[8], and a[9] to 0. When an array definition includes
an initializer, the array dimension may be omitted, and the compiler will
infer the dimension from the number of initialisers. For example,
int b[] = {10, 11, 12, 13, 14};
Example :
int x[ ] ={0,1,2,3,4,5}; or
int x[6]={0,1,2,3,4,5};
Even if the size is not mentioned (former case) the values 0,1,2,3,4 are
stored in x[0],x[1],x[2],x[3],x[4],x[5].If the statement is like
int x[3]={0,1,2,3,4,5};
then x[0],x[1],x[2] are assigned the values 0,1,2.
Note: If the statement is like
int x[6]={0,1,2};
then the values are stored like x[0]=0, x[1]=1, x[2]=2, x[3]=0, x[4]=0 and
x[5]=0.
Page No.35
Processing one dimensional array
1. Reading arrays: For this normally we use for- loop.
If we want to read n values to an array name called ‘mark’ , the statements
look like
int mark[200],i,n;
for(i=1;i<=n;++i)
scanf(“%d”,&x[i]);
Note: Here the size of array declared should be more than the number of
values that are intended to store.
2. Storing array in another:
To store an array to another array. Suppose a and b are two arrays and we
want to store that values of array a to array b. The statements look like
float a[100],b[100];
int I;
for(i=1;i<=100;++i)
b[i]=a[i];
Problem: To find the average of a set of values.
#include
main( )
{
int x,i;
float x[100],avg=0;
printf(“\n the no: of values “);
scanf(“%d”,&n);
printf(“\n Input the numbers”);
for(i=1;i<=n;++i)
{
scanf(“%f”,&x[i]);
avg=avg+x[i];
}
avg=avg/n;
printf(“\n Average=%f”,avg);
}
Page No.36
PASSING ARRAYS TO FUNCTION
Remember to pass a value to a function we include the name of the
variable as an argument of the function.Similarly an array can be passed
to a function by including arrayname (without brackets) and size of the
array as arguments.In the function defined the arrayname together with
empty square brackets is an argument.
Ex:
(calling function)-avg=average(n,x); where n is the size of the data stored
in the array x[].
(function defined)- float average(int n,float x[]);
Now let us see to use a function program to calculate the average of a set
of values.
#include
float average(int n,float y[]);
main()
{
int n;
float x[100],avg;
printf(“\n Input the no: of values”);
scanf(“%d”,&n);
printf(“\n Input the values”);
for(i=1;i<=n;++i)
scanf(“%f”,&x[i]);
avg=average(n,x);
printf(“\n The average is %f”,avg);
}
float average(int n, float y[]);
{
float sum=0;
int i;
for(i=1;i<=n;++i)
sum=sum+y[i];
sum=sum/n;
return(sum);
}
Page No.37
Note:
1. In the function definition the array name together with square brackets
is the argument. Similarly in the prototype declaration of this function too,
the array name with square brackets is the argument
2. We know that changes happened in the variables and arrays that are in
function will not be reflected in the main (calling) program even if the
same names are usual. If we wish otherwise the arrays and variables
should be declared globally. This is done by declaring them before the
main program.
Ex:
#include
void arrange(int n,float x[]);
main();
{
………..
arrange(n,x);
…………..
}
arrange(int n,float x[]);
{
……….
return;
}
Problem : Write a program to arrange a set of numbers in ascending order
by using a function program with global declaration.
Page No.38
MULTI-DIMENSIONAL ARRAYS
Multi-dimensional arrays are defined in the samemanner as one
dimensional arrays except that a separate pairof square brackets is
required to each subscript.
Example: float matrix[20][20] (two dimensional)
Int x[10][10][5] (3-dimensional)
Initiating a two dimensional array we do as int x[3]
[4]={1,2,3,4,5,6,7,8,9,10,11,12}
Or
int x[3][4]={
{1,2,3,4};
{5,6,7,8};
{89,10,11,12};
}
NOTE: The size of the subscripts is not essential for initialization. For
reading a two dimensional array we use two for-loop.
Example:
for(i=1;i<=2;++i)
for(j=1;j<=3;++j)
scanf(“%f”,&A[i][j]);
NOTE: If x[2][3] is a two dimensional array, the memory cells are
identified with
name x[0][0],x[0][1],x[0][2],x[1][0],x[1][1] and x[1][2].
Page No.39
ARRAYS AND STRINGS.
A string is represented as a one dimensional array of character type.
Example : char name[20];
Here name is an array that can store a string of size 20.
If we want to store many strings(like many names or places) two
dimensional array is used. Suppose we want to store names of 25 persons,
then declare name as char name[25][ ].
Note that the second square bracket is kept empty if the length of string is
not specified.
If the declaration is char name[25][30], 25 names of maximum size 30 can
be
stored. The various names are identified by name[0], name[1], name[2],
……..,
name[24]. These names are read by the command
For( i=0; i<25,++i)
Scanf( “%[^\n]”, name(i));
PROBLEM: Write a program to store the names and places of students in
your class.
Page No.40
PROGRAM STRUCTURE
STORAGE CLASS
Earlier we mentioned that variables are characterized by their data type
like integer, floating point type, character type etc. Another characteristic
of variables or arrays is done by storage class. It refers to the permanence
and scope of variables or arrays within a program. There are 4 different
storage class specification in C – automatic, external, static, and register.
They are identified by the key words auto, external, static, and register
respectively.
AUTOMATIC VARIABLES
They are declared in a function. It is local and its scope is restricted to that
function. They are called so because such variables are created inside a
function and destroyed automatically when the function is exited. Any
variable declared in a function is interpreted as an automatic variable
unless specified otherwise. So the keyword auto is not required at the
beginning of each declaration.
EXTERNAL VARIABLE (GLOBAL VARIABLE)
The variables which are alive and active through out the entire program
are called external variables. It is not centered to a single function alone,
but its scope extends to any function having its reference. The value of a
global variable can be accessed in any program which uses it. For moving
values forth and back between the functions, the variables and arrays are
declared globally i.e., before the main program. The keyword external is
not necessary for such declaration, but they should be mentioned before
the main program.
STATIC VARIABLES
Share this:
Twitter
Facebook
REPLY
o uniqlobe
Apr 29, 2013 @ 09:35:00
Welcome
REPLY
o uniqlobe
May 01, 2013 @ 16:01:14
REPLY
2. hari Aryal
Mar 14, 2013 @ 10:45:22
We need all lesson note
REPLY
o uniqlobe
Apr 29, 2013 @ 09:34:24
After few weeks all lessons note will be available.
REPLY
3. indra kandel
Jul 20, 2013 @ 15:54:55
it is good for final test or examination
REPLY
4. Dinesh Pokhrel
Jul 27, 2013 @ 15:59:13
when we will get all lesson note
REPLY
5. Mohamed Sheriff
Sep 01, 2013 @ 10:42:12
I want to apply for this course,so provide me some details info on my
subject.
REPLY
6. Sohan sahani
Dec 10, 2013 @ 02:54:54
To get note to stdy
REPLY
7. Sohan sahani
Dec 10, 2013 @ 02:55:51
Nic system
REPLY
o farhan hussain
Mar 13, 2014 @ 11:57:24
o rajan
Sep 02, 2015 @ 23:43:33
Goood
REPLY
8. biwoz rana
Dec 20, 2013 @ 02:41:27
nice 1 i was find all notes
REPLY
9. saurav raut
Jan 22, 2014 @ 17:04:18
eassy to learn and study
REPLY
REPLY
13. Roshnee
May 04, 2014 @ 08:11:58
Great notes!!
REPLY
REPLY
o uniqlobe
May 26, 2014 @ 00:06:57
haha hash
REPLY
REPLY
REPLY
17. papeshh
Dec 28, 2015 @ 11:02:49
#Wouldn’t It Be Best If there would be [ DOWNLOAD ] option available ?
REPLY
18. rohit
Jan 13, 2016 @ 02:09:55
Its good note to read…………………..
REPLY
REPLY
REPLY
21. Adwit
Feb 20, 2016 @ 11:31:08
dai!!! project ko laagi chapter wise chaieko thyo.
Yo ta laast jumbled up raixa.
Halka help garnu na
REPLY
23. sagar
Apr 23, 2016 @ 13:30:23
thanks it give me wings
REPLY
REPLY
REPLY
REPLY
o Anonymous
Mar 12, 2019 @ 12:45:16
Sahi kuro
REPLY
REPLY
REPLY
REPLY
REPLY
33. Sarthak
Sep 23, 2016 @ 01:04:12
gud
REPLY
REPLY
REPLY
REPLY
REPLY
38. rajesh1
Jul 17, 2017 @ 07:32:32
thank you for every think
REPLY
39. Er Anupam Singh
Nov 24, 2017 @ 01:21:46
Plz available all the notes of class 12
REPLY
REPLY
41. Anonymous
Jan 09, 2018 @ 21:34:10
Ka baata k k ho yo
Kei pani po thaxaina
Jhan confused po vayo
Aba chai sure fail
Pass hune aasa maryo
Thnx writer lmao
REPLY
43. Anonymous
Jun 11, 2018 @ 06:33:01
Notes ramaelo xa sir tar don… hudaen kina hola vandinu na sir
REPLY
44. Jack Sparrow
Jan 04, 2019 @ 21:29:29
Best site here
REPLY
45. Anonymous
Apr 26, 2019 @ 06:31:12
Its a good thing l but it would have been a lot easier if you had separated
the chapters.
REPLY
REPLY
47. Anonymous
Feb 24, 2020 @ 13:24:07
Where are other notes
REPLY
49. Richa
Mar 11, 2020 @ 07:37:25
Omg you saved me from failing man thanskss
REPLY
Leave a Reply
Recent Posts
Economics Note of Grade 12
Admission Open
………..
Feeling Good
(no title)
(no title)
A CHILD IS BORN
THE CHILDERN WHO WAIT
WOMEN’S BUSINESS
I Have a Dream
GODS GRANDEUR
THE LAST VOYAGE OF THE GHOST SHIP
A Story
Summary of ‘Traveling Through the Dark’
Archives
March 2016
June 2014
December 2013
November 2013
April 2013
August 2012
July 2012
Categories
Uncategorized
Meta
Register
Log in
Entries feed
Comments feed
WordPress.com
Blog Stats
243,936 hits
March 2022
M T W T F S S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
« Mar
Advertisements
REPORT THIS AD