Comments Off on LOGIC DEVELOPMENT





Unit 3: Logic Development

  • Problem Analysis
  • Variables
  1. Declaration of variables
  2. Assigning Values to variables
  • Expressions and Manipulation
  1. Arithmetic Expression
  2. Evaluation of Expression
  • Data types
    1. Integer
    2. Floating Point
    3. Void
    4. Character
  • Operators
  1. Arithmetic Operator
  2. Relational Operator
  3. Logical Operator
  4. Assignment Operator
  5. Increment & decrement Operator
  6. Conditional Operator
  7. Bitwise Operator
  8. Special Operator
  • I/O Statements (printf & scanf)
  • Assignment Statement


  • Problem Analysis in LOGIC DEVELOPMENT
  • It consists of both review and detailed task analysis in order to minimize wastage of time, money, manpower and material. It also consists of processing the input and output data, the general structure of input and output data, representation of various mathematical equations etc.
  • In problem analysis, given problem is divided into sub programs. This process is repeated until, you get a set of sub problems that are small, easy to understand and manage. After developing solution to each small problem, integrating their solution properly gives total solution


Documentation Section
Link Section
Definition Section
Global Declaration Section
Main() Function Section


Declaration Part


Executable Part


Subprogram section


Function 1

Function 2                          (User defined functions)


Function n


Character set: The characters that can be used to form words, numbers and expressions depend upon the computer on which the program is run is known as character set.


The characters in c are grouped into following categories:

Letters [A…. Z, a…z]

Digits [0…. 9]

Special characters [@, #, $,!  Etc.]

White spaces [Blank space, tab, new line]


Trigraph characters:

They are the sequences to provide a way to enter certain characters that are not available on some keyboard. Each trigraph sequences consist of three characters (two question marks followed by another character).




?? =                 #Number sign

?? (                  [Left bracket

??)                   ] Right bracket


In a c program the smallest individual units are known as c tokens LOGIC DEVELOPMENT


Six types of tokens:

  1. Keywords: if, while, int
  2. Constants: -15.5,12,100
  3. Identifiers: main, amount
  4. Strings: “abc”, “year”
  5. Special symbols: [], {}
  6. Operators: +, -, *, /


  1. All keywords have fixed meaning and these meanings can’t be changed. They serve as basic building blocks for program statements.
  2. Identifiers refer to the name of variables, functions and arrays. These are user-defined names and consist of a sequence of letters and digits, with a letter as a first character.


Rules for Identifiers:  

  1. First character must be an alphabet.
  2. Must consist of only letters, digits or underscore.
  3. Only first 31 characters are significant.
  4. Cannot use a keyword.
  5. Must not contain white space.


Constants in c refer to fixed values that do not change during the execution of a program LOGIC DEVELOPMENT




  • Numeric
  • Integer
  • Real



  • Single character
  • String constant


Backslash character constants




\a Audible alert
\b Backspace
\n New line
\t Horizontal tab
\v Vertical tab
\0 Null


  • Variables:

A variable is a data name that may be used to store data value.

A variable name can be chosen by the programmer in a meaningful way so as to reflect its function or nature in the program.


Rules for Variables:

  • First character must be an alphabet.
  • Must consist of only letters, digits or underscore.
  • Only first 31 characters are significant.
  • Cannot use a keyword.
  • Must not contain white space.


Syntax to Declare Variable:

<DATA TYPE> <Variable name>;



  • int I;
  • float j;
  • chat c;


Assigning Value to Variable:

  • i = 20;
  • j = 20.36;
  • c = ‘a’;


Data types:

  • Primary data type
  • Derived data type
  • User defined data type


Basic data types


Data type Range
char -128 to 127
int -32768 to 32767
float 3.4e-38 to 3.4e+38
double 1.7e-308 to 1.7e+308




This int keyword is used to declare integers, whole numbers either positive or negative. Most of the compilers treat this with a size of 2 bytes. i.e., integer of 16 bits length. The following statement shows how the variables of int type are declared.

  • int var1;
  • int var11 = 10; //initialization





This keyword float is used to declare floating-point decimal numbers. A sample declaration would be,

  • float var2;



This data type is used to represent double precision floating point number.



This keyword is used to declare characters. The size of each character is 8 bits. i.e., 1 byte. The characters that can be used with this data type are ASCII characters.


  • Expression and Manipulation:
  • Arithmetic Expression
    • An arithmetic expression is a combination of variables, constants & operators arranged as per the syntax of the language.


  • Evaluation of Expression using Arithmetic Operators
    • Expression are evaluated using an assignment statement of the form :


Variable = expression


Variable is any valid C variable name. When the statement is encountered the expression is evaluated first and the result will be replaced to variable.


X = a * b + c;

Y = a / b * c;

  • Operators:

An operator is a symbol that tells the computer to perform certain mathematical or logical manipulation. Operators are used in C language program to operate on data and variables. C has a rich set of operators, which can be classified as LOGIC DEVELOPMENT


  • Arithmetic operators
  • Relational Operators
  • Logical Operators
  • Assignment Operators
  • Increment and Decrement Operators
  • Conditional Operators

Arithmetic Operators

All the basic arithmetic operations can be carried out in C. All the operators have almost the same meaning as in other languages. Both unary and binary operations are available in C language. Unary operations operate on a single operand, therefore the number 5 when operated by unary – will have the value –5.


Operator Meaning
+ Addition or Unary Plus
Subtraction or Unary Minus
* Multiplication
/ Division
% Modulus Operator


Examples of arithmetic operators are

x+ y
x – y
-x + y
a * b + c
-a * b

here a, b, c, x, y are known as operands. The modulus operator is aj special operator in C language, which evaluates the remainder of the operands after division


Relational Operators

Using relational operators we can direct the computer to compare two variables. The C relational operators are summarized below, with their meanings. Pay particular attention to the equality operator; it consists of two equal signs, not just one.


Operator Meaning
< less than
<= less than or equal to
> greater than
>= greater than or equal to
== equal to
! = not equal to


A simple relational expression contains only one relational operator and takes the following form.


Exp1 relational operator exp2
Where exp1 and exp2 are expressions, which may be simple constants, variables or combination of them. Given below is a list of examples of relational expressions and evaluated values.
6.5 <= 25         TRUE
-65 > 0             FALSE
10 < 7 + 5        TRUE

Relational expressions are used in decision making statements of C language such as if, while and for statements to decide the course of action of a running program


Logical Operators

Logical operators in C, as with other computer languages, are used to evaluate expressions, which may be true or false. Expressions that involve logical operations are evaluated and found to be one of two values: true or false.


Logical Operators
Operator Meaning Example of Use Truth Value
&& AND (exp 1) && (exp 2) True if exp 1 and exp 2 are BOTH true.
|| OR (exp 1) || (exp 2) True if EITHER (or BOTH) exp 1 or exp 2 are true.
! NOT ! (exp 1) Returns the opposite truth-value of exp 1; if exp 1 is true,! (exp 1) is false; if exp 1 is false,! (exp 1) is true.

Logical AND (&&)

This operator is used to evaluate 2 conditions or expressions with relational operators simultaneously. If both the expressions to the left and to the right of the logical operator is true then the whole compound expression is true.

a > b && x = = 10
the expression to the left is a > b and that on the right is

x == 10 the whole expression is true only if both expressions are true i.e., if a is greater than b and x is equal to 10.


Logical OR (||)

The logical OR is used to combine 2 expressions or the condition evaluates to true if any one of the 2 expressions is true.

a < m || a < n

The expression evaluates to true if any one of them is true or if both of them are true. It evaluates to true if a is less than either m or n and when a is less than both m and n.


Logical NOT (!)

The logical not operator takes single expression and evaluates to true if the expression is false and evaluates to false if the expression is true. In other words it just reverses the value of the expression.


! (x >= y) the NOT expression evaluates to true only if the value of x is neither greater than or equal to y

Assignment Operators

The Assignment Operator evaluates an expression on the right of the expression and substitutes it to the value or variable on the left of the expression.



x = a + b

Here the value of a + b is evaluated and substituted to the variable x.
In addition C has a set of shorthand assignment operators of the form.

var oper = exp;
Here var is a variable, exp is an expression and oper is a C binary arithmetic operator. The operator oper = is known as shorthand assignment operator



x + = 1 is same as x = x + 1


Shorthand assignment operators

Statement with simple
assignment operator
Statement with
shorthand operator
a = a + 1 a += 1
a = a – 1 a -= 1
a = a * (n+1) a *= (n+1)
a = a / (n+1) a /= (n+1)
a = a % b a %= b

The advantages of using shorthand assignment operators:

  1. What appears on the left hand side need not be repeated and therefore it becomes easier to write.
  2. The statement is more concise and easier to read.
  3. The statement is more efficient.

Increment and Decrement Operators

The increment and decrement operators are one of the unary operators, which are very useful in C language. They are extensively used in for and while loops. The syntax of the operators is given below

  • ++ Variable name
  • variable name++
  • Variable name
  • Variable name —

The increment operator ++ adds the value 1 to the current value of operand and the decrement operator – – subtracts the value 1 from the current value of operand. ++Variable name and variable name++ mean the same thing when they form statements independently; they behave differently when they are used in expression on the right hand side of an assignment statement.
Consider the following

m = 5;
y = ++m; (prefix)

in this case the value of y and m would be 6

Suppose if we rewrite the above statement as

m = 5;
y = m++; (post fix)
Then the value of y will be 5 and that of m will be 6. A prefix operator first adds 1 to the operand and then the result is assigned to the variable on the left. On the other hand, a postfix operator first assigns the value to the variable on the left and then increments the operand.


you are reading LOGIC DEVELOPMENT article from c programming language. You can also check few more article on c programming language.


Conditional Operator

The conditional operator consists of 2 symbols the question mark (?) and the colon (:)
the syntax for a ternary operator is as follows.

exp1? exp2: exp3
the ternary operator works as follows
exp1 is evaluated first. If the expression is true then exp2 is evaluated & its value becomes the value of the expression. If exp1 is false, exp3 is evaluated and its value becomes the value of the expression. Note that only one of the expressions is evaluated.

For example

a = 10;
b = 15;
x = (a > b)? a: b

Here x will be assigned to the value of b. The condition follows that the expression is false therefore b is assigned to x.

  • I/O Statements:
  • Printf

Printf function is used to display data on the screen.

Data can be number, character, string, etc.



printf (“ control string “ , variable1, variable2, …);


Example :

printf(“Hello World”);

printf(“Value of sum is : %d”, sum);


1st example prints Hello World  on  output screen.

2nd example prints value of sum is : <value of sum variable>

  • Scanf

Scanf function is used to get data from the user.

Data can be number, character, string, etc.


Syntax :

scanf (“ control string “ , &variable1, &variable2, …);


Example :

Printf(“Enter value of no1”);

scanf(“%d”, &no1);

  • Assignment Statements :

Value can be assigned to variable using assignment operator ( = ).


Syntax :

<Variable name> = constant;


Example :

i = 5;

We can write multiple assignment statement in one line using semicolon( ; ).


e.g.      i = 0; j = 5; k = -10;


hope you like my LOGIC DEVELOPMENT article on C programming language. Click on next link to download in pdf format.


Download Tutorial in PDF Format


Check C Programming Tutorials and Sample Code