1- What is C language?

C is a mid-level and procedural programming language. The Procedural programming

language is also known as the structured programming language is a technique in which

large programs are broken down into smaller modules, and each module uses

structured code. This technique minimizes error and misinterpretation.

2- Why is C known as a mother language?

C is known as a mother language because most of the compilers and JVMs are written

in C language. Most of the languages which are developed after C language has

borrowed heavily from it like C++, Python, Rust, javascript, etc. It introduces new core

concepts like arrays, functions, file handling which are used in these languages.

3- Why is C called a mid-level programming language?

C is called a mid-level programming language because it binds the low level and high -

level programming language. We can use C language as a System programming to

develop the operating system as well as an Application programming to generate menu

driven customer driven billing system.

4- Who is the founder of C language?

Dennis Ritchie.

5- When was C language developed?

C language was developed in 1972 at bell laboratories of AT&T.

6- What are the features of the C language?

The main features of C language are given below:

 Simple: C is a simple language because it follows the structured approach, i.e., a

program is broken into parts

 Portable: C is highly portable means that once the program is written can be run

on any machine with little or no modifications.

 Mid Level: C is a mid-level programming language as it combines the low- level

language with the features of the high-level language.

 Structured: C is a structured language as the C program is broken into parts.

 Fast Speed: C language is very fast as it uses a powerful set of data types and

operators.

 Memory Management: C provides an inbuilt memory function that saves the

memory and improves the efficiency of our program.

 Extensible: C is an extensible language as it can adopt new features in the future.

7- What is the use of printf() and scanf() functions?

printf(): The printf() function is used to print the integer, character, float and string

values on to the screen.

Following are the format specifier:

 %d: It is a format specifier used to print an integer value.

 %s: It is a format specifier used to print a string.

 %c: It is a format specifier used to display a character value.

 %f: It is a format specifier used to display a floating point value.

scanf(): The scanf() function is used to take input from the user.

9- What is the use of a static variable in C?

Following are the uses of a static variable:

 A variable which is declared as static is known as a static variable. The static

variable retains its value between multiple function calls.

 Static variables are used because the scope of the static variable is available in

the entire program. So, we can access a static variable anywhere in the program.

 The static variable is initially initialized to zero. If we update the value of a

variable, then the updated value is assigned.

 The static variable is used as a common value which is shared by all the methods.

 The static variable is initialized only once in the memory heap to reduce the

memory usage.

10- What is the use of the function in C?

Uses of C function are:

 C functions are used to avoid the rewriting the same code again and again in our

program.

 C functions can be called any number of times from any place of our program.

 When a program is divided into functions, then any part of our program can

easily be tracked.

 C functions provide the reusability concept, i.e., it breaks the big task into smaller

tasks so that it makes the C program more understandable.

What is an array in C?

An Array is a group of similar types of elements. It has a contiguous memory location. It

makes the code optimized, easy to traverse and easy to sort. The size and type of arrays

cannot be changed after its declaration.

What is a pointer in C?

A pointer is a variable that refers to the address of a value. It makes the code optimized

and makes the performance fast. Whenever a variable is declared inside a program, then

the system allocates some memory to a variable. The memory contains some address

number. The variables that hold this address number is known as the pointer variable.

What is the usage of the pointer in C?

 Accessing array elements: Pointers are used in traversing through an array of

integers and strings. The string is an array of characters which is terminated by a

null character ‘\0’.

 Dynamic memory allocation: Pointers are used in allocation and deallocation of

memory during the execution of a program.

 Call by Reference: The pointers are used to pass a reference of a variable to

other function.

 Data Structures like a tree, graph, linked list, etc.: The pointers are used to

construct different data structures like tree, graph, linked list, etc.

16- What is a NULL pointer in C?

A pointer that doesn’t refer to any address of value but NULL is known as a NULL

pointer. When we assign a ‘0’ value to a pointer of any type, then it becomes a Null

pointer.

17- What is a far pointer in C?

A pointer which can access all the 16 segments (whole residence memory) of RAM is

known as far pointer. A far pointer is a 32-bit pointer that obtains information outside

the memory in a given section.

18- What is dangling pointer in C?

 If a pointer is pointing any memory location, but meanwhile another pointer

deletes the memory occupied by the first pointer while the first pointer still

points to that memory location, the first pointer will be known as a dangling

pointer. This problem is known as a dangling pointer problem.

 Dangling pointer arises when an object is deleted without modifying the value of

the pointer. The pointer points to the deallocated memory.

What is static memory allocation?

 In case of static memory allocation, memory is allocated at compile time, and

memory can’t be increased while executing the program. It is used in the array.

 The lifetime of a variable in static memory is the lifetime of a program.

 The static memory is allocated using static keyword.

 The static memory is implemented using stacks or heap.

 The pointer is required to access the variable present in the static memory.

 The static memory is faster than dynamic memory.

 In static memory, more memory space is required to store the variable.

1. For example:

2. int a[10];

The above example creates an array of integer type, and the size of an array is fixed, i.e.,

10.

21- What is dynamic memory allocation?

 In case of dynamic memory allocation, memory is allocated at runtime and

memory can be increased while executing the program. It is used in the linked

list.

 The malloc() or calloc() function is required to allocate the memory at the

runtime.

 An allocation or deallocation of memory is done at the execution time of a

program.

 No dynamic pointers are required to access the memory.

 The dynamic memory is implemented using data segments.

 Less memory space is required to store the variable.

1. For example

2. int *p= malloc(sizeof(int)*10);

The above example allocates the memory at runtime.

What is a union?

 The union is a user-defined data type that allows storing multiple types of data in

a single unit. However, it doesn’t occupy the sum of the memory of all members.

It holds the memory of the largest member only.

 In union, we can access only one variable at a time as it allocates one common

space for all the members of a union.

Can we compile a program without main() function?

Yes, we can compile, but it can’t be executed.

But, if we use #define, we can compile and run a C program without using the main()

function. For example:

1. #include<stdio.h>

2. #define start main

3. void start() {

4. printf(“Hello”);

5. }

29- What is a token?

The Token is an identifier. It can be constant, keyword, string literal, etc. A token is the

smallest individual unit in a program. C has the following tokens:

1. Identifiers: Identifiers refer to the name of the variables.

2. Keywords: Keywords are the predefined words that are explained by the compiler.

3. Constants: Constants are the fixed values that cannot be changed during the

execution of a program.

4. Operators: An operator is a symbol that performs the particular operation.

5. Special characters: All the characters except alphabets and digits are treated as

special characters.

30- What is command line argument?

The argument passed to the main() function while executing the program is known as

command line argument. For example:

1. main(int count, char *args[]){

2. //code to be executed

3. }

31- What is the acronym for ANSI?

The ANSI stands for ” American National Standard Institute.” It is an organization that

maintains the broad range of disciplines including photographic film, computer

languages, data encoding, mechanical parts, safety and more.

32- What is the difference between getch() and getche()?

The getch() function reads a single character from the keyboard. It doesn’t use any

buffer, so entered data will not be displayed on the output screen.

The getche() function reads a single character from the keyword, but data is displayed

on the output screen. Press Alt+f5 to see the entered character.