Despite being well-nig 50 years old, C is lul leading the programming scene from the forefront. The programing language not only has a wide variety of applications but is also the inspiration for a variety of modern, powerful computer programming languages, so much as Java, C#, and Python.
Although there are very few speculate profiles these days that only require a high-level technique in C, most programming jobs necessitate for a good understanding of the basic concepts of the C programing language. So, many programming job interviews involve C Question questions and answers.
Best C Question Questions and Answers
If you'Re preparing for a C programming interview questions, then you've landed at the rightmost spot. Here are 40+ best C interview questions to supporte you get weaving for that job audience or to simply ego-assess how good you've gotten with the general-purpose, adjective programming language:
Basic Level Interview Questions
Question: List some of the well-nig strategic features of the C scheduling language.
Reply: C supports a plethora of heavy features. Most important among them are:
- Extensibility - Capable of adopting new features.
- Fast - Support for system programming allows faster digest and execution compared to popular high-level languages like Java and Python.
- Memory Management - Comes with intrinsical memory management for saving memory and optimizing memory use.
- Inferior Programing Terminology - Binds the gap between a machine-level voice communication and a tall-level language. It can be utilized for system programming as well as application programming.
- Platform independence/Portability - A C political program in writing for one machine give notice run on some other machines with little to no modifications.
- Simpleness - Follows the structured approach. Facilitates breaking down a enormous, complex program into smaller, sovereign, and easy-to-bring off modules (sub-programs).
Answer: Header files store the definitions and hardening of rules governing different constitutional functions of the C programming language. For example, the printf() and scanf() functions are distinct in the stdio.h head file.
Every header file contains a set of predefined functions, meant to make programming in C simpler. You involve to include the specific header file in your C program to be healthy to use the functions characterized in it. For instance, you posterior't practice printf() and scanf() functions without including the stdio.h header file.
When a coping file out is included doubly in a C program, the second one gets unnoticed. In actual, the #, called the let in guard, preceding a header file ensures that it is enclosed only when once during the compilation process.
Question: What do you know about the C language, and who fictional it and when?
Solvent: The C language is one and only of the to the highest degree commonly used computer programing languages. The language is used by giving step by stride instruction manual, which makes it a proceedings language. It is quite a widely utilized language that helps in implementation systematic computer programing, lexical unsettled scope, and perennial. C language, which is among the most hot languages, had its stock in the early 1970s in US. Information technology was developed by American computer scientist Dennis M. Ritchie at Bell Laboratories. Since then, it has served mankind in the optimum possible mode and has helped in developing several system applications.
Question: Why is C language known as "The mother of programming languages"?
Answer: The C language is normally called the "The engender of programming languages" American Samoa information technology is the words that forms the bases of programing. It is a time-honoured words and has been widely accustomed develop some of the just about significant compilers and kernels. C speech is atomic number 3 immemorial equally the hills, and most of the modern languages are nada but an version from the C languages.
Question: What are the advantages of victimization C language over other computer programing languages?
Solution: C language has the edge over the separate programming language, which certainly makes it "The overprotect of programming language." Much of the benefits of using C language are stated below:
Middle – Take down Words: As the C spoken language is in the midway of a high-horizontal language and low-level language, it brings put together the features of some of them. So this distinctive feature of the language makes it possible to be secondhand for low as well as high-level programming.
- Structured Level Language: C voice communication is a structured programming language that allows a labyrinthian plan to be pronged into simpler programs titled the functions. Olibanum making it quite user friendly.
- Vitrine Oversensitive Language: Information technology is a case thin-skinned language out-of-pocket to which the lower and the upper berth case letters are treated differently.
- Portable Language: C language is a extremely pliable spoken language that enables IT to be used for scripting scheme applications, which makes it a part of many well known operating systems.
- Powerful and Timesaving Linguistic communication: It is a easy language and can effectively operate along games, graphics, enterprise applications, applications that need some calculations, etc.
Question: What are roughly of the limitations of C language?
Answer: As everything has a finite potential, sol the C linguistic communication stands in no exception. The chase are close to of the drawbacks of C languages:
- Concept of OOPs: C language prohibits the concept of OOPs as it is based on the procedural approach. (Inheritance, Polymorphism, Encapsulation, Abstraction, Data Concealing).
- Foot race Time Checking: C voice communication does not do the running checking which means that errors are not detected after every line of secret writing, but only once the concluded coding is done making information technology awkward to even off the bugs
- Concept of the Namespace: C linguistic process does not exhibit the property of Namespace, and so there cannot be two variables with the same name in the C language program.
- Lack of Exception Manipulation: The language doesn't exhibit the polar feature of exception treatment. The feature of exclusion handling doesn't allow the user to observe the errors and bugs while compiling the cipher.
- Insufficient Level for Abstraction: C language doesn't have a same wide information manipulation capacity, which poses a threat to the protection of the language.
Question: What is the aim of the intense () function in C?
Answer: The main () function in C language to the inlet to the C broadcast. It is the entry signal where the treat of execution of the program starts. When the execution of the C program initiates, the ascendence of the program is directed towards the main () function. It is mandatory that every C linguistic communication program has a main () function. Although it is the operate that indicates the programming process, it is not the first function to constitute executed.
Call into question: What sack equal understood by variable and constant?
Response: In C language, both constant and variable is wide used patc artful a program. The major difference is betwixt variables, and staunch is that variable can alter its assigned value at any point of the program. In line, the apprais of the constant remains unaltered during the entire platform. The value of the constant is locked during the execution of the program. For example, the prize of pi can be set apart as a constant during the entire run over of the program.
Question: Distinguish between the header file within angular braces < > and double quotes ".
Answer: Quite a difference is noticed when the heading file is placed within the angular orthodontic brace < > and in the double-quotes. If the lintel file is placed within the angular braces < >, then the compiler finds out the specific header file only within the built-in include track. Just if the header file is placed in the double quotes, "past the compiler tries to locate the peculiar header file primarily in the current working directory, and if it cannot embody settled there, then it searches in the built-in included path.
Question: Does a C computer programme compile without the of import() function succeeds in compilation? What about its writ of execution?
Answer: Yes, a C program can be compiled even without adding the main() function. However, it will not execute without the main() work.
Question: Enumerate the basic information types in C ?
Suffice: There are 5 first data types in C:
- int - Stores an integer number
- float - Stores a decimal bi
- double - Stores a decimal fraction number with the highest precision
- cleaning lady - Stores a single character
- void - Stores nobelium value
Question: What do you mean aside backward keywords? How many reserved keywords are there in C?
Answer: Words that are restricted for general use while authorship a program, i.e., for using as a name for a varying, function, structure, etc. are called reserved keywords. Reserved keywords, also called reserved names, take in special meanings, i.e., they are already distinct for something. The C programming language has the following 32 reserved keywords:
- machine
- jailbreak
- case
- cleaning lady
- const
- continue
- default
- act
- double
- else
- enum
- extern
- float
- for
- goto
- if
- int
- extended
- record
- return
- short-stalked
- signed
- sizeof
- motionless
- struct
- switch
- typedef
- labor union
- unsigned
- void
- volatile
- while
Question: How are globose variables different from static variables?
Answer: Global variables are variables with global scope, i.e., they are handy throughout the program, unless shadowed. These variables are defined outdoor a occasion or computer code block. Static variables are variables allocated statically, i.e., their value can't be changed. Information technology is fixed for the entire range of a program. They can glucinium defined after-school as well as indoors functions. Moreover, they can be accessed from anyplace inside the curriculum.
Question: Please compare static memory storage allocation with dynamic memory allocation?
Answer: Following are the important differences 'tween static and dynamic modes of memory allocation:
Memory increase:
In dynamic memory allocation, memory can beryllium exaggerated while executing the program. This is not the case; however, with the static memory allocation where the option of increasing memory during program carrying out is not available.
Retentiveness requirement
Static memory allocation needs more retention blank space compared to dynamic memory allocation.
In use in
Arrays use of goods and services static memory allocation piece linked lists use projectile memory allocation.
When does it happen?
Static memory allocation takes place at compile-time, while can-do computer storage assignation happens at runtime.
Question: Can you explain retentiveness leak in C? Why should it be addressed?
Answer: Memory leak happens when a memory created in a heap remains undeleted. This can atomic number 82 to additive memory usage and, thus, bear upon the performance of a program. This is exactly wherefore the issue of memory leak must be addressed.
Question: Please excuse what do you understand aside while(0) and spell(1)?
Answer: piece(0) means that the looping conditions will always be mistaken, i.e., the code indoors the while loop will not be dead. On the opposite, while(1) is an infinite closed circuit. Information technology runs unceasingly until future across a break statement mentioned explicitly.
Note: Any non-zipp integer inside the brace of the while loop will give an countless curl. For example, while(-22) and while(24) leave both concede an infinite loop.
Question: Explain the role of protected access specifier?
Answer: The privacy of a protected keyword lies somewhere between the keywords tete-a-tete and open . If a class is marked as protected, IT can be accessed by its appendage functions, classes derived with public operating theater protected access, privately derived classes and friends of the class that declared these members.
Question: What is the keyword volatile used for?
Answer: Volatile prevents the compiler from optimizing the variable Oregon object dubitable. Any code ass change the variable's ((for example, wind)) value outside the scope of current code at any metre. This implies that the compiler has to keep the value of a volatile variable all told the local anesthetic copies of the variable.
Question: Explain the aim of the 'delete' operator?
Do: Delete removes all the objects created away the new facial expression, i.e. frees storage in the heap space. The array objects are deleted using the [] operator:
delete[] array;
NULL or nothingness Pointer fire be deleted as:
delete ptr;
The same is applicable for user-defined information types also. For example,
int *var = new int;
delete var;
Question: Explain the purpose of extern repositing specifier.
Answer: The extern repositing specifier helps declare objects that can be ill-used by many source files. It describes a variable that is externally formed. The definition can come out at the rootage of a occlusion or outside a function. There is only incomparable declaration of the extern variable. If whatsoever other exemplify is institute, it is considered the same as the first one. Extern variables stool have block range OR file scope depending on where they are defined.
Interrogate: Define preprocessor.
Resolution: A preprocessor is a programme that produces an output which is used aside other plan arsenic an input. For example, translation is a preprocessing footmark after which the code is sent for compilation.
Question: What are command-line arguments?
Answer: To control a program from outside, we supply the command line arguin parameter to the plan when the principal method acting is invoked. The syntax is:
int main(int argc, char *argv[])
where argc, argv are command-line arguments.
Question: List out the differences between reference and Cursor?
Reference | Cursor |
It is an alternative bring up for a variable. | Stores the address of a protean. |
Professed using * : int *ptr. | Declared using & : int &refvar. |
Cannot have null values. | Can have zilch values assigned. |
Can represent accessed through go by treasure. | Uses surpass reference. |
Must be initialized upon annunciation, i.e. int &ref; will give an error. | Nary need for initialization during declaration itself, i.e. int *ptr is correct. |
Shares unchanged memory come up to as the innovative variable and takes up some quad on the stack. | Has its size and memory name and address connected the stack. |
Question: Excuse the versatile OOPs concepts in C++?
Answer: The OOPs concepts in C++ are:
- Class (object): Class is an entity that represents something. It has attributes and functions. For example, Cable car can be class having model, discolor, size etc. as attributes and functions can be something look-alike isSecondHand() or isAutomatic() etc. An object is a new instance of a class that represents the actual respect. An object is created using the new operator.
- Encapsulation : The binding of totally the properties and functions is known as encapsulation. For instance, a class force out encapsulate all the properties of similar objects.
- Polymorphism: This concept allows reuse of functionality with modifications. There are two types: Overloading, Overriding.
- Inheritance: A class that takes properties and methods from its parents is same to inherit the parent family. For example, Henry Ford is a type of Railway car and can exercise the commons properties and methods of the class Car. Indeed, it can come into the year Car.
- Abstractedness: It means showing only the high-altitude details to the end-user and hiding the actual implementation details.
Read in detail about OOPs concepts.
Question: Write a program to print Hello World! Without using the semicolon.
Answer: We can do thusly by using the if statement without the condition:
#admit <stdio.h>
#include <conio.h>
void briny()
{
if
(
printf("Hello Populace!")
)
}
Output: Hello World!
Question: Explain the varied types of Pleomorphism in C++ with examples.
Answer: In that respect are two types of Polymorphism, i.e. motionless and dynamic. Method overloading is an example of still polymorphism and method acting preponderating is an example of dynamic pleomorphism.
- Compile-time (static binding): In this, we feature deuce functions with the Saami, but the number of arguments (parameters) is incompatible. Settled on the keep down of parameters, the compiler decides which of the functions has to be called. Such a type is called function/operator overloading. Model:
int heart(int a, int b){ c = a+b; return c;}
int sum(int x, int y, int z){ v = x+y+z; return v;}
In the main function, we can call any:
sum1 = sum(9,5);
sum2 = sum(9,5,3);
Note that the function to be called is distinct during compile fourth dimension.
- Runtime (dynamic binding): Therein, the synoptical function is award in both the parent and the child class. When the instance of either of the classes is created during runtime, then the accurate method acting is called. The child family thence overrides the social occasion existing in the nurture class with its have particularized carrying out. Example:
sort A{
invalid run(){cout<<"I am in superclass A";}
}
class B: public A{
void run(){cout<<"I am in subclass B";}
}
In our main function, we can call the functions as:
A a;
a.tally();
B b;
b.go();
The first call will print the message "I am in superclass A" and the second will publish "I am in subclass B".
Inquiry: Examples of Namespace in C++?
Resolution: A namespace is distinct as:
namespace myNmspace
{
int a, b; //entities
}
If the variables a &adenosine monophosphate; b are to be accessed from outside the namespace, then we have to use the reach operator (::) as: myNmspace :: a.
If we want to employ a namespace in the current realm, we use the keyword exploitation A follows: victimisation namespace myNmspace;
Question: Excuse the various operations performed by the Pointer with examples.
Answer: A Spanish pointer stores the address of a variable. Suppose,
int x = 2;int *y; // Spanish pointer declaration – atomic number 102 value assigned, this is titled wild Pointer
y = &x; // dea of x stored in pointer y
This leave store the address of x into y. Note that we use the '&ere;' symbolization to get the plow.
If No address is present to be allotted, we can taper the Pointer to Cypher:
int *y = NULL; // This is known as null Spanish pointer
A void pointer is wont to store the address of any type of variable. Information technology can be created as:
void *y = NULL;
A cursor send away be used as a replacement for the varying value using '*' symbol. For example,
z = *y+1 is equivalent to z = x+1.
We rear end perform equality check with pointers:
int *a, *b; if a=b, and then both are pointing to the same variable.
We can buoy perform increment and decrease, for example, y++, y-- .
Question: Give some important differences between new() and malloc()?
Answer:
unaccustomed() | malloc() |
It is an operator. | It is a function. |
Returns a data type. | Returns void Spanish pointer. |
Memory is allocated with default values done constructor. | Memory is not initialized; the default esteem is scraps. |
New can be overloaded. | Cannot constitute overloaded. |
The allocations cannot be resized. | Allocations can be resized victimisation realloc. |
Interview: Explain the difference betwixt delete and delete[]?
Respond: Delete removes a single object from store, whereas delete[] is victimised for de-allocating memory of an array of objects. The grandness of having edit[] is that if we birth a pointer (sound out ptr) to an array of size 10 (new myarr[10]) and simply give erase ptr, since we Don River't know how many objects ptr is pointing to, and thus delete volition only delete the first item. The left over 9 items will non be deleted. This will cause a storage leak. Good example:
// delete
int *volt-ampere = virgin int;
delete var;
// delete[]
int *arr = new int[1];
delete[] arr;
Question: State the difference between prefix growth and postfix increment.
Answer: In prefix increment, the esteem of the variable is incremented before the platform execution. The variable is incremented post the program death penalty in postfix increment.
++a <- Prefix growth
a++ <- Postfix increment
Liaise Level Interview Questions
Question: Delight explain the conception of Dangling Pointer in C? In how many ways can a pointer play a Dangling Cursor?
Answer: A pointer that points to a memory location that is already deleted is titled a hanging arrow. As per other definition, a dangling cursor is a pointer that points to a dereferenced memory location. A pointer acts as a dangling cursor in three cases:
- Deallocation of memory board
- When the local variable isn't static
- When the variable goes out of scope
Initially, the dangling arrow holds a valid store address. Later, however, the held address is released.
The Hanging Pointer Problem:
When A pointer is pointing to a memory location, and a B pointer deletes the memory inhabited by the A arrow, then the A Spanish pointer still points to the memory localisation, which is no longer ready. This is named the hanging pointer problem.
Question: How is the zilch pointer different from a void arrow?
Answer: A pointer is initialized equally NULL when its value isn't known at the time of resolution. Generally, NULL pointers do non point to a effectual location. Unlike NULL pointers, void pointers are general-purpose pointers that do non have any data eccentric associated with them. Void pointers can contain the address of any type of variable. So, the data type that a void pointer points to can cost anything.
#include <stdio.h>
#include <conio.h>
avoid briny()
{
int a = 22;
int *notnullpointer = &a;
int *nullpointer1; // Null because there is no initialization.
int *nullpointer2 = 0; // Goose egg because initialized with 0.
if (notnullpointer == 0) printf ("\nNot null pointer is null.");
else printf ("\nNot aught cursor is non nothing.");
if (nullpointer1 == 0) printf ("\nNull Spanish pointer 1 is null.");
other printf ("\nNull pointer 1 is not null.");
if (nullpointer2 == 0) printf ("\nNull pointer 2 is null.");
else printf ("\nNull pointer 2 is not nil.");
printf ("\nNot null pointer has stored the turn to %d.", ¬nullpointer);
printf ("\nNull pointer 1 has no valid address.");
printf ("\nNull pointer 2 has no valid speech.");
}
Output:
Not null arrow is not null.
Naught pointer 1 is cipher.
Null arrow 2 is nix.
Non null pointer has stored the computer address 2054804456.
Void pointer 1 has no valid address.
Null pointer 2 has no valid address.
Unlike NULL pointers, void pointers are general-purpose pointers that do not have any data character related with them. Vitiate pointers can contain the address of any type of variable. So, the data type that a void Spanish pointer points to can be anything. For example:
int x = 22;
charr b = ' a ';
void *vp = &x; // Here the void pointer is holding destination of int x
vp = &b; // Here the void cursor is holding address of char b
Doubt: What do you understand by a Spanish pointer on a pointer in C?
Do: A pointer along a pointer is a pointer containing the address of whatsoever other pointer. It is a form of multiple indirections. The archetypal pointer contains the address of the second cursor, which points to the location of the actual value.
Interrogative: Please explain calloc() and malloc() functions?
Answer: calloc() and malloc() are library functions used for allocating memory dynamically, i.e., the memory is allocated during runtime from the heap segment. Just in case of prospering memory allotment, a pointer to the memory parry is returned. In scenarios where allocation fails, the deuce functions return a NULL value. Outstanding differences between the calloc() and malloc() functions are:
Accessing the content
If we try to access the content of memory while victimisation the malloc() function, we can get either the segmentation fault mistake or garbage values. Doing the same will get 0 in the character of calloc() function.
Initialisation
The malloc() function allocates the memory and returns a pointer to the kickoff of the block. It doesn't initialize the allocated memory. The calloc() function, along the other terminate, not only allocates the memory simply also initializes the allocated retention block to 0.
Number of arguments
Unequal the malloc() subprogram, the calloc() function has two arguments:
- The number of blocks that are to be allocated
- The size of each memory block
Question: Compare arrays with pointers in the C programming language?
Answer: Following are the various differences 'tween arrays and pointers in C:
- Definition - An regalia is a form of data structure that stores quadruple, homogeneous elements at neighboring memory locations. A arrow, all the same, is a changeable that stores or points to the memory address of another protean.
- Initialization - It is possible to initialize arrays at the definition. Pointers, however, can't represent initialized at the definition.
- Sizing - While a pointer can store the address of but a uniform unsettled, an set out is capable of storing multiple elements. The sum up number of elements stored by arrays is determined away the set out size.
Question: What are the important differences between a complex body part and a union in C?
Answer: Following are the iii grand differences between a structure and a union in the C programming language:
- For the same data type, a structure requires more memory than a union.
- Modifying the value of a extremity of a structure doesn't pretend other members. Doing the same in a union, however, results in affecting all the members of the unionised.
- While only one element can be accessed at one time in the union, information technology is potential to entree all elements of a structure simultaneously.
Check out the in-depth equivalence of union vs. structure in C.
Question: How is pass value different from a pass away reference?
Answer: Elapse by value and pass reference are too called call aside value and squall by reference, respectively. In the visit by value, values are commit/passed to the function as parameters. Pass past value is victimised when there is a requirement of non modifying the genuine parameters. Address pertaining to the actual parameters are send/passed to the function in the call by reference. Pass by reference is misused when there is a take for modifying the actualized parameters. Changes made to the arguments in the called function are not reflected in the vocation function in a drop dead by value. Opposite to this, changes made to the arguments in the called function are reflected in the calling function in a go by reference.
Acknowledge or so pass by reference in particular.
Question: Is #include " stdio.h " correct? What's the difference between using < > and " " for including the cope file?
Answer: Yes, #include "stdio.h" is correct. The dispute between using angle brackets (<>) and double quotes (" ") for including a header file is the way in which the compiler searches for the particular header file.
When we use square-shaped brackets, the compiling program searches for the header file only within the built-in include course. When, withal, double quotes are misused, the compiler searches for the header file first in the current working directory, and then in the intrinsical include path when not found in the current working directory.
Inquiry: How will you resolve the orbit of a global symbol?
Answer: We can use the medical extern storage specifier for resolving the scope of a world symbol. The medical extern keyword is used for extending the visibility or scope of variables and functions. Atomic number 3 C functions are visible end-to-end the program by default, its use with function declaration or definition is not required.
Interrogation: When DO we use the register keyword?
Answer: The register repositing specifier, i.e., the register keyword, is secondhand for storing a variable in the machine register. This is typically misused for heavily-used variables to the likes of a loop control variable. The main aim behind using the register keyword is to speed-in the lead the program by minimizing variable access time.
Motion: What do you understand by rvalue and ivalue?
Answer: The expression on the left of the assignment manipulator (=) is called an ivalue. An rvalue is an expression on the right lateral of the naming manipulator, and it is allotted to an ivalue.
For representativ,
int a = 25;
int a is the ivalue in the above-mentioned example spell 25 is the rvalue. While an ivalue persists beyond a single saying, the rvalue doesn't persist beyond the expression using it.
Question: How are actual parameters different from formal parameters?
Answer: Actualized parameters are the ones that are sent to the function at the calling stop. Formal parameters, however, are the ones that are received during the function definition. A formal parameter is an identifier used in some purpose to typify the value that is passed into the function by a caller. This actual appreciate that is passed into the function aside a caller is the real parameter.
Black-tie parameters are bound to an actual value as long as their function is astir. The formal parameters do non store any values when the function returns to its caller. For Example:
#include <stdio.h>
#include <conio.h>
int totalsum(int a, int b, int c) // Formal parameters
{
int total;
total = a + b +c;
return total;
}
int main()
{
int sum;
int a = 22; int m = 24; int p = 28; // Actual parameters
marrow = totalsum(a, m, p);
printf ("The total sum is %d.", sum);
}
Output signal :
The total sum is 74.
Another major eminence between actual parameters and formal parameters is that patc the last mentioned are forever variables, the former lavatory constitute expressions, function calls, or even numbers game. For example, in the above deterrent example, the following are also valid actual parameters (in the function call to totalsum):
sum = totalsum (10+15, 12*2, 56/2); // Actual parameters are expressions.
sum = totalsum (a, (int) sqrt(576), p); // One of the actual parameters is a occasion call.
sum = totalsum (22, 24, 28); // Actual parameters are numbers.
Question: Delight explain a ego-referential structure.
Resolution: A self-referential social system contains the same bodily structure pointer multivariate as its component. In other run-in, information technology is a data social structure in which the pointer points to the structure of the Sami data character. A self-denotative structure is used in Graphs, Tons, Linked Lists, Trees, et cetera.
Question: What do you translate away standard scheduling?
Answer: Modular access to programming involves dividing an intact program into independent, interchangeable sub-programs, i.e., functions and modules for accomplishing the desired functionality. Each of the functions or modules involved in standard programming has everything required for death penalty a one-woman aspect of the desired functionality of the entire program.
Question: Delight explain tokens in C.
Answer: Tokens are the smallest, indivisible by units of a C computer programme with distinct meanings. Following are the versatile types of tokens in C:
- Constants - Immobile values that posterior't be changed during the program execution.
- Identifiers - This refers to the name of the functions, variables, arrays, structures, etc.
- Keywords/Upstage Names - Predefined words with special meanings that buttocks't be in use as shifting names.
- Operators - Symbols that tell the C compiler to perform taxon logical, mathematical, Oregon relational operations.
- Special Characters - Every last characters excluding the alphabets and digits are special characters.
Question: What make you sympathize by the C preprocessor?
Answer: The C compiler automatically uses the C preprocessor for transforming the program, i.e., playing certain things before the actual compilation starts. The C preprocessor is a macro processor because IT enables defining brief abbreviations for longer constructs, titled macros.
Question: Please explain bit fields in C.
Answer: Bit fields are variables definite with a predefined width (sizing) inside a structure. The general syntax of a piece field is:
struct {
type [member_name] : width ;
};
type - Integer type, such arsenic int and signed int, deciding how a bit field's appreciate is interpreted.
member-name - Name of the bit field.
width - Number of bits in the bit field. Must be to a lesser degree operating theatre up to the bit breadth of the specific whole number type.
Question: What are command line arguments in C?
Answer: Command personal line of credit arguments are the parameters passed to the main() function in a C program during program execution of instrument. The typical use of command-cable arguments is to fulfill the need of dominant the program from outside.
Respect the following code,
#let in <stdio.h>
#admit <conio.h>
void main (int numofargs, char *args[])
{
//encode
}
In the main() function, the count of the command rail line arguments is given out by the numofargs. The operating organization updates it automatically. The args is a pointer array holding pointers of char type. These point to the (command ancestry) arguments supplied to the program.
Note: When no control-stoc arguments are passed to the political program, the numofargs parametric quantity will exist 1. args[0] holds the name of the C program, args[1] points to the first command-line argument, and args[n] points to the last command-line disputation.
Interrogation: Briefly explain the various file opening modes in C?
Answer: Files are staring in a C program using the fopen() role. It is defined in the stdio.h header file. The general syntax of fopen() is:
ptr = fopen ("file address", "mode");
It is possible to open a file in the following 12 polar opening modes in a C program:
- r - Opens a file for reading.
- rb - Opens a file for reading in binary mode.
- w - Opens a file for writing.
- wb - Opens a file for writing in binary way.
- a - Opens a file for appending i.e. adding data to the end of the file.
- ab - Opens a file in for appending in binary mood.
- r+ - Opens a file for both reading and writing.
- rb+ - Opens a file for some reading material and writing in double star mode.
- w+ - Opens a file for both reading and writing.
- wb+ - Opens a file for both reading and penning in binary manner.
- a+ - Opens a file for some reading and appending.
- Av+ - Opens a file for both reading and appending in binary mode.
Pass on for r, rb, r+, and rb+ modes; the file is created if it is not found when tried to open in other modes. The fopen() returns NULL if the file doesn't subsist in these 4 file out starting modes.
Question: Compare localised variables and global variables.
Answer: Following are the various differences between the local anaesthetic and globular variables:
1. Resolution
Local variables are declared inside a routine, patc global variables are the variables declared outside the functions.
2. Lifespan
The life of a local variable is fastened with the social function block where IT is declared. The variable is destroyed when the use exits. Global variables remain for the whole lifetime of the program.
3. Scope
The scope of a local variable is confined to the function OR computer code kibosh where it is declared. Global variables have globose scope, i.e., they are on tap throughout the program.
4. Entrepot
Unless specified explicitly, local variables are stored in a push-down storage. The entrepot for a global variable is decided by the compiler itself.
Question: What is a static variable? Why do we need it?
Answer: A variable whose value is fixed and stern't be metamorphic during program death penalty, i.e., it retains the stored value between multiple social function calls, is called a static variable. The keyword static represents a static variable. A still variable star is initially initialized to 0. When the valuate is updated, it gets assigned to the static adaptable. It is initialized only once in the memory mess. We use a static variable to:
- Reduce remembering consumption
- Sharing a common valuate across all functions
Interrogative: Please explain recursion in C.
Answer: Recursion is the process when a function calls itself, directly or indirectly. Such a function is titled a recursive purpose. There are two phases involved with a recursive function:
- Winding phase - It starts when the recursive operate calls itself and ends erstwhile the discipline is reached.
- Unwinding phase - Starts when the condition is reached, i.e., when the winding phase ends, and ends when the control returns to the original song.
Question: Can you write a C program to go over whether an entered number is efflorescence or not?
Answer:
#include <stdio.h>
#include <conio.h>
avoid main()
{
int a, i, b=0, signal flag=0;
printf("Enter a number: ");
scanf("%d",&a);
b=a/2;
for(i=2;i<=b;i++)
{
if(a%i==0)
{
printf("The issue you entered is non a prime number!");
droop=1;
break;
}
}
if(flag==0)
printf("The number you entered is a prime bi.");
getch();
}
Sample outturn:
Enter a number: 22
The telephone number you entered is not a prime number!
Question: Please write a program for finding out the mathematical product of a given number using recursion.
Answer:
#include <stdio.h>
#include <conio.h>
lasting factorial (int n)
{
if (n==0)
return 1;
else
return (n * factorial(n-1)); //recursion
}
vacuum main()
{
int number;
long fact;
printf("Enter a number: ");
scanf("%d", &enumerate);
fact = factorial(number);
printf("The mathematical product of %d is %ld!\n", number, fact);
getch();
}
Sampling output:
Enter a total: 5
The factorial of 5 is 120!
Advanced Tier Audience Questions
Question: What is a far Spanish pointer in C?
Answer: A Former Armed Forces pointer is a 32-bit pointer equal to of accessing all the 16 segments, i.e., the whole residence memory of RAM. It hind end access information outside the computer memory in a given segment. To apply the far Spanish pointer, IT is obligatory to:
- Apportion the sector register to store data address in the segment, and
- Store another sphere cross-file within the most late sector
Question: Delight explain the machine keyword in C.
Answer: car is the nonpayment storage class of all the variables declared exclusive a cipher block or use. Hence, local variables can also be referred to as machine-controlled or motorcar variables. If no more value is stored in an machine variable, and so it gets a garbage value. Auto variables are called so because these variables allocate and deallocate store upon entering and exiting the code block or work in which they are avowed, respectively. Typically, in that location is atomic number 102 need to mention the auto keyword explicitly.
Wonder: Why do we employment the sprintf() function?
Answer: The sprintf() function is called string print. We use the sprintf() use to store the output connected a character buffer specified in the function, i.e., transferring information to the buffer. The general sentence structure of the subroutine is:
int sprintf
(char *str, const char*string,.....);
The sprintf() function returns the total number of characters present in the string along. Here is an example demonstrating the enjoyment of the sprintf() function:
#let in <stdio.h>
#include <conio.h>
int main()
{
charwoman buffer[25];
sprintf(buffer, "This string is now stored in the buffer."); /* Using the sprintf() function for storing the string in the buffer.*/
printf("%s", buffer);
int n = sprintf(buffer, "This draw is now stored in the buffer.");
printf("\nThe total number of characters in the drawing string is %d.", n); // The sprintf() part returns the total number of characters in the stored string.
return 0;
}
Output: This string is now stored in the buffer.
The totality number of characters in the string is 40.
Question: Tell the difference betwixt getch() and getche() functions.
Answer: Both getch() and getche() functions are used for reading a single character from the keyboard. The difference between the ii, nevertheless, lies in terms of displaying the output. The getche() function displays the data, the entered character, connected the output projection screen spell the getch() function doesn't. Use Altitude+F5 to see the entered character.
Call into question: Explain the difference between nearly, cold, and huge pointers.
Answer: Any virtual address has the selector and offset. Spell a near pointer doesn't have explicit chooser, far and immense pointers manage. Playing pointer arithmetic on the far pointer doesn't result in modifying the selector. It does, yet, in the caseful of a large pointer.
Question: Please define typecasting.
Answer: Typecasting is the process of converting i information type into other. It is of two types:
1. Implicit type casting - Also known as an reflexive conversion, implicit type conversion is performed automatically by the C compiler, i.e., IT doesn't require a casting operator. For example:
#let in <stdio.h>
#include <conio.h>
invalidate main ()
{
int x = 22;
ice-cream float b = x; //implicit type rebirth
printf("%f", b);
}
Output: 22.000000
2. Explicit type casting - Unlike implicit case conversion, explicit type casting is performed by the programmer. A type casting operator is used for telling the compiler to win over (retch) one data typecast into another. For instance:
#include <stdio.h>
#include <conio.h>
void main ()
{
float x = 22.22;
int b = (int) x; //explicit type conversion
printf("%d", b);
}
Output signal: 22
Hera, (int) is the typecasting operator.
Call into question: Pen a C program to check whether an entered number is palindrome or not.
Answer: A palindrome count is ace that reads the same, whether forwards OR back.
#include<stdio.h>
#include<conio.h>
void main()
{
int n, r, sum total=0, temp;
printf("Enter a come: ");
scanf("%d",&adenylic acid;n);
temporary worker=n;
while(n>0)
{
r=n%10;
core=(sum*10)+r;
n=n/10;
}
if(temp==sum)
printf("IT is a palindrome number!");
else
printf("It is non a palindrome number!");
getch();
}
Sample output:
Enter a issue: 12321
It is a palindrome number!
Question: What rear end be understood from the nada pointer and a dangling pointer?
Answer: Thither is a considerable difference that can be noticed in the null and the dangling pointer. The cypher pointer does non specifically point to anything. That is, information technology points to nothing. Whereas the suspension pointer is the one who initially holds a valid address, but later connected, that valid dea gets discharged.
Question: What are the discrete shipway of passing parameters to the function and state along with which is to be used when?
Answer: There are in the main two ways of cursory parameters to the function which are listed as follows:
- Call by Reference- Therein technique, the address of the actual parametric quantity is sent instead of the values. It is chosen in the slip when the user doesn't want the true parametric quantity to cost altered with the formal parameter.
- Call by Value- In this technique, we only send values to the functions as the parameters. It is Chosen in the case the user does want the actual parameter to cost altered with the formal parameter but just to be put-upon.
Question: What is the utilisation of #undef preprocessor?
Answer: Every bit per the C programing language, the main aim of the #undef directional is that it acts as a guide to the preprocessor to get rid of every last the definitions for the detail large. If a macro is non-specific, and #ifdef directional on that specified macro will read the result as false.
Enquiry: What do you mean past increments and decrement statements in C programming you bet we can make that increment and decrement statements?
Answer: There are basically two types of statements, increment and decrease that are supported by C. In that location are basically two ways by which we can lend oneself both the statements in C programming. The first one is using the increment manipulator that is ( ++ ) and the other is decrease operator ( -- ).
For example: if we use ( x ++ ), then this means to open command of increment the value of x with a rate of 1.
Question: List the difference between the root and object code.
Answer:
- Source code: Source codes usually get a dominate from the programmer and these codes are causative instructing the computer regarding what to execute? With extension .C we can save this code in C programming.
- Object code: With the extension. OBJ, we can save the object code in C computer programing. This is the John Roy Major difference between the two codes.
Doubtfulness: Elaborate the process by which we can hold quote quality (and) in output screen in C programming?
Solvent: We all know that applying quotation role is the part of printf statement an in govern to use this character in output screen, you can buoy use the format of specifiers/ ' this is for a singular quote and /" for a look-alike citation.
Interview: What doh you mean by nested grummet in C programming?
Answer: When the one loop gets into the other loop and starts running that closed circuit is known as nested loop. The outer loop will specifies the count of multiplication the inner grummet will perform its function and every time the get-go loop performs its tasks.
Question: What is the use of modulus operation in C programming?
Answer: Modulus operator in C programing is selfsame important operator in that programming because this modulus cognitive operation tell the division operation in the programming function. It essentially shows the residual prize left after the naval division betwixt two numbers. IT is described with the symbol of (%).
For exemplar:
- 20 % 3 = 2, this volition comprise expressed as, when we divided 20 past 3 we are left with the remainder of 2.
- 11 % 2 =1, this means that when we divided 11 aside 2 we get the oddment of 1.
Question: What is the general phase that is supported by C scheduling? Explicate its concept in point.
Solution: It commences its operation with the preprocessor directives and these directives execute a lot of role like IT trusty for specifying the header files and IT as wel tells about the constants to be victimised in the C programming process. This whole process is followed aside the of import function of this programming and that is the drift function. This purpose performs the variable declaration and the virtually important computer program statements.
Doubtfulness: Random file access in C programing plays a very important start out. Why? list some of its merits.
Answer - We all know that in every computer we store a large amount of significant information and all time we take a lot of time in determination the key content from the large database but this random access file helps in solving this problem.
- It helps to happen the key data quicker from a plumping database.
- It helps indirectly shifting to target address when there are a lot of addresses in the programming.
Question: What is the role of bodily structure types in C programming?
Suffice: Major persona played away structure types in C programing is to store the records. These records are stored according to their field types. This helps us to easily place the phonograph record at the time of urgent search because we will find all the records in a particular field folder. This helps to save prison term and money.
Question: Is C language is a middle-level linguistic communication? If yes then why is it so?
Answer: Yes C language is known to be a middle-level language. This is because it has a very unique and interesting feature that makes it to act care a higher-level language. But at the same time, it facilitates to manipulation low-level methods in interacting with hardware. It also supports the use of the English eccentric of quarrel in its functioning. All such feature makes it to act arsenic high-level language. What is more, it has a unique feature of storing the memory structure.
Question: What are the functions of reserve words in C scheduling? Elaborate on them.
Answer: Standard C language library has fated words stored in it all much words are known as book words. Every much lyric are unique and have a different meaning so they cannot be used for any other kind of purpose rather than its original purpose. Some of the examples are void and restoration etc.
Wonder: What are the different control structures that is followed in the C programming?
Answer: In C programming we usually follow ternion types of control structures and that are episode, selection and repeating.
- Succession: this control structure follows the path that runs from a top off to bottom in the process of execution of a curriculum and this flow is in sequence.
- Selection: Therein, the codes are dead on the conditions of valuation as being trusty or spurious.
- Repeat: In this, the program statement will follow the steps of repetition. The separate list of repetition is named a iteration body structure.
Question: What is the exact meaning of debugging in C programming?
Answer: Debugging means the process that helps in allocating the errors in the programming. It Crataegus oxycantha stop the process of death penalty. In order to solve this process of performance, debugging bequeath identify those errors and will remove those errors and complications. So information technology plays a very central role in the execution unconscious process of C programming. So it plays a selfsame important role in the execution process of C programming.
Answer: Comments are basically used to give feedback or remarks in a program. All such comments are accustomed get instant information regarding the program that the user is using. These comments have no limit as it stool follow of one telephone circuit and it may be of several lines and we can place these lines in whatsoever place of the computer program.
Question: What is the role of the algorithm in C programming? Elaborate that theatrical role.
Solution: In order to find the solution to whatsoever job, we have to make over the algorithm in order to get step aside whole tone solutions. It fundamentally gives the ides of the starting and ending of any program, so IT gives a kind of blueprint. It also tells close to the computation of the treat in a program.
Enquiry: What is the exact meaning of phrase structure error?
Answer: The mistakes that occur in the programming language is called sentence structure error. It usually takes place when the command is misspelt by the program and because of that, it performs the wrong function. IT can also come abou when the command is to be given in lower case but aside mistake, it is relinquished in the upper event. Moreover, sometimes we make use of wrong symbols. All much problem and mistakes bring errors in the C programming.
Question: Wherefore do we generate haphazard symbol in the C programming?
Answer: Basically rand() command is wont to bring forth the random symbol in the C programming.
For model- if we give the command for anyNum touch to rand(), in that case, it will generate an integer in list that commence from 0, IT should be considered that the number is a variable of typewrite integer.
Dubiousness: What is the exact signification of C language in computer science?
Answer: C is a heart-even out language that is also far-famed as a structural programing language. because information technology has a very singular boast that makes it to act like a high-layer language. Merely simultaneously, it facilitates to utilization low methods in interacting with ironware. It also supports the use of the English type of lyric in its functional. All such feature makes it to act as upper-level language. Moreover, information technology has a unique feature of storing the memory structure.
Question: Excuse fast speed and memory management as a unique feature of C nomenclature?
Answer:
- Fast speed: The operators and data types utilized in C programming are very in effect and powerful that increases the rush of employed. Thence it helps in attachment astir the hotfoot.
- Memory management: It has a very unique feature of in progress memory board that ass handle a large amount of data very effectively and efficiently. This helps in improving the overall performance of C programming.
Head: For which purpose do we role the function in C programming?
Answer: The use of functions are given American Samoa follows-
- It does not set aside the duplication of codes and information in the program. It means the rewriting of the same codes is avoided.
- The function of C programming is also called any come of times and that can be from any grade from our program.
- The function helps in trailing any kind of program very easy and this can only happen when the program is divided into functions.
- It is very easy to break the big tasks into a littler one thus it performs the unique function of reusability. This process of breaking down of data makes the C programming more apprehensible.
Query: What are the different types of recursion supported by C programming? Also, explicate its types.
Answer - The process in which the function of C programming calls itself, that process is called recursion and the function that calls itself is known away the identify of recursion procedure in C programming. This recursion is of 2-phase. The first cardinal is the winding phase and past is unwinding form.
- Winding Phase: When we reach a condition in the end patc the function calls itself, then it is called a winding phase.
- Unwinding Stage: It starts when train-leg is reached, in this case, the control returns to its original call.
Question: What are the different types of array that are supported by C computer programming?
Answer - When the elements of similar types are laid together then that degree is called array and it supports nonstop memory location. It is also responsible for making the work of coding quite an easy and it also makes that codification sorted. These are array are generally of two types. The first one is one dimension array and other is a two-dimensional regalia.
- One dimension raiment: Here elements are stored in a process of sequence that is one element is stored after some other.
- Multi dimension array: The condition when the array contains to a higher degree one array, that billet is called a multi-dimension raiment.
Question: Explain the role of the union in C programming.
Answer: Closed basically allows the user to store multiple types of data in a single unit and information technology is a sort of user-defined data. Its unique feature is that it does not store the memory of all the data entered into a program simply information technology stores in the memory of the largest member only. This helps to work out the problem of overloading memory. In this, we can single have access to one rather inconsistent erstwhile.
Question: Explain the meaning and role of the auto keyword in the C programming?
Answer: Every section variable function latter-day in C programming is called automatic Beaver State motorcar variable. It is very great to have sex that topical anaestheti variables are those variable that is inside the function auction block. The other name of the localised variable is the auto variable. If the local anaesthetic time value does not hold any key value in it then information technology will only if show the drivel value.
Question: Explain the condition retentivity wetting and why information technology is important to know about this term in C programming?
Solution: Memory leak in C programming takes place when the computer storage is kept on storing in the memory space without deleting any data that had been used up in the treat of coding. In such a situation there may be a chance of memory leak. This volition emphatically leaven harmful for the user if the user has a daemon and servers in the program. This can news leak the data to the competitors and other rivalry firms.
Question: What answer you know about logical errors and bring out the difference 'tween syntax and logical errors.
Answer:
- Logical errors: Logical errors always issue rate in ramification physical process and can pass it very easily but in that case, we wish non get the desired results. Such errors occurred when we pass the wrong formula into code.
- Phrase structure error: The mistakes that pass off in the programing language is called syntax error. It ordinarily takes place when the command is misspelt by the course of study and because of that, it performs the wrong function. It can as wel come abou when the command is to be precondition in lower case but by mistake, it is given in the amphetamine case. Moreover, sometimes we progress to use of wrong symbols. All such problem and mistakes get errors in the C programming.
Question: What is the exact role played away sequential access file in C programming?
Answer - Its main affair in C programming is to store and retrieve the data in the file and past transforming that file into different forms. These are always arranged and stored in sequential order. Ready to begin access to one and only particular file, we are facilitated by reading only one data at once.
Enquiry: What is the importance of linked list in the C programming?
Answer: When nodes are siamese with each other in a list that list is called a coupled list. This list can sole comprise created by using the pointers. This helps in devising efficient consumption of the retentiveness space in a programme.
Interrogative: Explain the pregnant of queue and FIFO in C programming?
Answer: Queue is a sort of data structure present in the C scheduling and all the data present in this queue is stored in the data format named FIFO. The full form of FIFO is first-in-first-out. In all queue, the early data is available on the first line.
Question: How binary trees are standardised to the linked lists?
Answer: Here multiple trees are the lengthiness of the linked lists and connected lists are the nodes which are connected with each other in a lean that list is called a linked number. This list can exclusive be created aside using the pointers. This helps in making high-octane use up of the computer storage space in a curriculum. The positional representation system list besides takes the use of two-pointers and those pointers are right and left pointers. So fundamentally every node has two pointers at the ends.
Concise
That sums up our list of the 40+ best C audience questions. How many answers you already knew? Let us know via comments. Is in that respect some wrong/outdated information in the article? We'd be much appreciative for sharing the aforementioned with us and making the article better. Want to step-up your C skills? Or care to learn C?
If you neediness to brush u your C programming skills before the interview, feel free to check out these best C tutorials and this C Programming For Beginners udemy row.
Interrogatory questions related to information structure and past concepts is the norm in C interviews. Consider this helpful book for facing an question involving such questions 189 Programming Interview Questions.
People are also reading:
- Best C Certifications
- Best C Courses
- Difference Between Pass by Consultation and Pass by Pointer
- Information Types in C
- Divergence between Float and Double
- Quick Sort in C
- Head to Head Comparison between C and C++
- Binary Search in C
- Top-quality MVC Interview Questions
- Best JSP Interview Questions
DOWNLOAD HERE
50+ Best C Interview Questions & Answers in 2022 [Updated] Free Download
Posted by: morseervand.blogspot.com