Thursday 18 February 2021

Lec3: Data Types in C

 

Data Types in C

C has various data types to store data in program. C program can store integer, decimal number, character(alphabets), string(words or sentence), list etc. using various data types.


We need to specify the data type of variable(identifier) to store any data in it.


1. Primitives (Primary) Data Types

These data types store fundamental data used in the C programming.

  1. 1.int
  2. It is used to store integer values. C program compiled with GCC compiler (32-Bit) can store integers from -2147483648 to 2147483647. The size of int is compiler dependent. It takes 4 bytes in a 32-bit compiler such as GCC.

    intmyIntegerValue = 100;

  1. char
  2. It stores single character such as ‘a’, ‘Z’, ‘@’ etc. including number, symbol or special character. It takes 1 byte (8-bits) to store each character.

    charmyCharacter = 'A';

    Note: Every character has a corresponding ASCII value to it ranging from -128 to 127. Numbers as a character has their corresponding ASCII values too. For example, ‘1’ as char has ASCII value 49, ‘A’ has ASCII value 65.

  3. float
  4. It stores real numbers with precision upto 6 decimal places. It takes 4 bytes of memory and is also known as floating point number.

    floatmyFloatingValue = 100.6543;
  5. double
  6. It stores real numbers with precision upto 15 decimal places. It takes 8 bytes of memory.

    doublemyDoubleValue = 180.715586;


———————

Modifiers in C

These are keywords in C to modify the default properties of int and char data types. There are 4 modifiers in C as follows.

Modifiers In C

Modifiers In C

  1. short
  2. It limits user to store small integer values from -32768 to 32767. It can be used only on intdata type.

    shortintmyShortIntegerValue = 18;
  3. long
  4. It allows user to stores very large number (something like 9 Million Trillion) from -9223372036854775808 to 9223372036854775807. Syntax “long long” is used instead of “long int”.

    longlongmyLongIntegerValue = 827337203685421584;
  5. signed
  6. It is default modifier of int and char data type if no modifier is specified. It says that user can store negative and positive values.

    signedintmyNegativeIntegerValue = -544;signedintmypositiveIntegerValue = 544;/* Both of the statements have same meaning even without "signed" modifier*/
  7. unsigned
  8. When user intends to store only positive values in the given data type (int and char).

    unsignedintmyIntegerValue = 486;

———————-

Suze of program:







Wednesday 17 February 2021

Lec2_1: tokens, keywords, constant......

What are Tokens?

 C language syntax specify rules for sequence of characters to be written in C language. In simple language it states how to form statements in a C language program - How should the line of code start, how it should end, where to use double quotes, where to use curly brackets etc.

The rule specify how the character sequence will be grouped together, to form tokens. A smallest individual unit in C program is known as C Token. Tokens are either keywords, identifier, constants, Variables or any symbol which has some meaning in C language. A C program can also be called as a collection of various tokens.


In the following program,

#include 
int main()
{
    printf("Hello,World");
    return 0;
}

if we take any one statement:

printf("Hello,World");

Then the tokens in this statement are→ printf("Hello,World") and ;.

So C tokens are basically the building blocks of a C program.

————————————————————

What are Keywords in C?


Keywords are preserved words that have special meaning in C language. The meaning of C language keywords has already been described to the C compiler. These meaning cannot be changed. Thus, keywords cannot be used as Variables names because that would try to change the existing meaning of the keyword, which is not allowed.(Don't worry if you do not know what variables are, you will soon understand.) There are total 32 keywords in C language. 

autodoubleintstruct
breakelselongswitch
caseenumregistertypedef
constexternreturnunion
charfloatshortunsigned
continueforsignedvolatile
defaultgotosizeofvoid
doifstaticwhile


———————————————


What are Identifiers?

In C language identifiers are the names given to variables, constants, functions and user-define data. These identifier are defined against a set of rules.


Rules for an Identifier

  1. An Identifier can only have alphanumeric characters(a-z , A-Z , 0-9) and underscore(_).
  2. The first character of an identifier can only contain alphabet(a-z , A-Z) or underscore (_).
  3. Identifiers are also case sensitive in C. For example name and Name are two different identifiers in C.
  4. Keywords are not allowed to be used as Identifiers.
  5. No special characters, such as semicolon, period, whitespaces, slash or comma are permitted to be used in or as Identifier.


When we declare a variable or any function in C language program, to use it we must provide a name to it, which identified it throughout the program, for example:

int myvariable = 10;

Here myvariable is the name or identifier for the variable which stores the value 10 in it.




Variables in C Language


When we want to store any information(data) on our computer/laptop, we store it in the computer's memory space. Instead of remembering the complex address of that memory space where we have stored our data, our operating system provides us with an option to create folders, name them, so that it becomes easier for us to find it and access it.

Similarly, in C language, when we want to use some data value in our program, we can store it in a memory space and name the memory space so that it becomes easier to access it.

The naming of an address is known as variable. Variable is the name of memory location. Unlike constant, variables are changeable, we can change value of a variable during execution of a program. A programmer can choose a meaningful variable name. Example : average, height, age, total etc.


Datatype of Variable

variable in C language must be given a type, which defines what type of data the variable will hold.

It can be:

  • char: Can hold/store a character in it.
  • int: Used to hold an integer.
  • float: Used to hold a float value.
  • double: Used to hold a double value.
  • void

Rules to name a Variable

  1. Variable name must not start with a digit.
  2. Variable name can consist of alphabets, digits and special symbols like underscore _.
  3. Blank or spaces are not allowed in variable name.
  4. Keywords are not allowed as variable name.
  5. Upper and lower case names are treated as different, as C is case-sensitive, so it is suggested to keep the variable names in lower case.


Declaration  and initialisation 

Declaring, Defining and Initializing a variable

Declaration of variables must be done before they are used in the program. Declaration does the following things.

  1. It tells the compiler what the variable name is.
  2. It specifies what type of data the variable will hold.
  3. Until the variable is defined the compiler doesn't have to worry about allocating memory space to the variable.
  4. Declaration is more like informing the compiler that there exist a variable with following datatype which is used in the program.
  5. A variable is declared using the externkeyword, outside the main() function.
extern int a;
extern float b;
extern double c, d;

Defining a variable means the compiler has to now assign a storage to the variable because it will be used in the program. It is not necessary to declare a variable using extern keyword, if you want to use it in your program. You can directly define a variable inside the main()function and use it.

To define a function we must provide the datatype and the variable name. We can even define multiple variables of same datatype in a single line by using comma to separate them.

int a;
float b, c;

Initializing a variable means to provide it with a value. A variable can be initialized and defined in a single statement, like:

int a = 10;

Let's write a program in which we will use some variables.

#include <stdio.h>

// Variable declaration(optional)
extern int a, b;
extern int c;

int main () {

    /* variable definition: */
    int a, b;
 
    /* actual initialization */
    a = 7;
    b = 14;
    /* using addition operator */
    c = a + b;
    /* display the result */
    printf("Sum is : %d \n", c);
    
    return 0;
}

Sum is : 21


Difference between Variable and Identifier?

An Identifier is a name given to any variable, function, structure, pointer or any other entity in a programming language. While a variable, as we have just learned in this tutorial is a named memory location to store data which is used in the program.

IdentifierVariable
Identifier is the name given to a variable, function etc.While, variable is used to name a memory location which stores data.
An identifier can be a variable, but not all indentifiers are variables.All variable names are identifiers.
Example:
// a variable
int studytonight;
// or, a function
int studytonight() { 
    .. 
}
Example:
// int variable
int a;
// float variable
float a;





Tuesday 16 February 2021

Lec1: Printf Format specifier part 1

Printf Format specifier part 1 


The \n used in the printf statements is called an escape sequence. In this case it represents a newline character. After printing something to the screen you usually want to print something on the next line. If there is no \n then a next printf command will print the string on the same line. Commonly used escape sequences are:

  • \n (newline)
  • \t (tab)
  • \v (vertical tab) —remaining 
  • \f (new page) — remaining
  • \b (backspace) —remaining
  • \r (carriage return) —remaining 
  • \n (newline)
  • //
  • \\
  • \’
  • \”
  • \%

Program:


Monday 15 February 2021

lec1.1 : inside computer & basic electronic

 MotherBoard :



A motherboard provides connectivity between the hardware components of a computer, like the processor (CPU), memory (RAM), hard drive, and video card. There are multiple types of motherboards, designed to fit different types and sizes of computers.
Each type of motherboard is designed to work with specific types of processors and memory, so they don't work with every processor and type of memory. However, hard drives are mostly universal and work with the majority of motherboards, regardless of the type or brand.

RAM: 
HDD:
I/O:
N<>S Bridge:
CMOS:

lec1: Computer basic (C & C++)

 

Before getting into programming, we first check what is a computer?

So the computer is an electronic device that accepts some input, processed it, and gives some output.

But here we want an output that we want, So in order to take the desired output from computer, we will require specific logic to be performed based on input, that is a computer program.

For an user, any electronic device accepts some input and performs its work.
Lets take an example of a LED bulb, it can be used as a light source, so the desired output from a bulb is light.
We can control it by adding a simple switch.
We can on and off switch to get the work done of a bulb, because it has only 2 states on and off.



(ON=1 OFF=0)


Now lets take a bit complex electronic device,
A seven segment display.

It can be used to display a digit, So it has 10 states in total.
0 to 9. 



To get desired output from this we will require multiple switches as an inputs.











To make a counter from it, we require certain circuit logic to perform we can call it a program for seven segment.


Similarly a computer is an electronic device which is very much complex then these devices and have many complex circuits and switches in computer's main part we call it CPU (Central Processing Unit), that we need to turn on and off to get required output.

To perform required task from this CPU, we give signals to it. these signals  are the Instructions and combination of multiple instructions are nothing but computer program.

But we do not always write direct instructions, yes because it will be always difficult for everyone to write program directly for CPU instructions. Instead we write program in some high level programming languages like C, C++, Java, Python, Java script etc.
These program then converted into actual CPU instructions and we get the required output.

Thanks for reading, feel free to ask questions in comments.





other link/Doc :