C Programming Interview Questions And Answers For Experienced
Q. Why N++ Executes Faster Than N+1?
The expression n++ requires a single machine instruction such as INR to carry out the increment operation whereas n+1 requires more instructions to carry out this operation.
Q. Differentiate Between A Linker And Linkage?
A linker converts an object code into an executable code by linking together the necessary build in functions. The form and place of declaration where the variable is declared in a program determine the linkage of variable.
Q. What Is Storage Class And What Are Storage Variable?
A storage class is an attribute that changes the behavior of a variable. It controls the lifetime, scope and linkage. There are five types of storage classes.
Q. How Do You Print An Address?
The safest way is to use printf or sprintf) with the %P specification. That prints a void pointer . Different compilers might print a pointer with different formats. Your compiler will pick a format thats right for your environment.
If you have some other kind of pointer and you want to be very safe, cast the pointer to a void*:
Q. What Does It Mean When A Pointer Is Used In An If Statement?
Any time a pointer is used as a condition, it means Is this a non-null pointer? A pointer can be used in an if, while, for, or do/while statement, or in a conditional expression.
Q. Is Null Always Defined As 0?
Q. How Do You Print Only Part Of A String?
What Is The Difference Between Hard Real
A Hard real-time system strictly adheres to the deadline associated with the task. If the system fails to meet the deadline, even once, the system is considered to have failed. In case of a soft real-time system, missing a deadline is acceptable. In this type of system, a critical real-time task gets priority over other tasks and retains that priority until it completes.
When Does The Compiler Not Implicitly Generate The Address Of The First Element Of An Array
The compiler does not implicitly generate the address of the first element of an array whenever an array name appears: as an operand of the sizeof operator as an operand of & operator as a string literal initialize for a character array
Get a clear understanding of C Array in this engrossing C tutorial.
Recommended Reading: How To Handle A Phone Interview
Explain Recursion A Popular Topic In C Programming
Recursion is a concept which is often used in a programming language. It allows you to call a function itself continuously. You have to put conditions to terminate the recursive function calls otherwise, it will go to a loop.
In the following dummy code, you can see that a function, fact is a recursive calling itself. And the main function has declared it.
void fact // recursive function which is calling itself void main // main function to define and declare the recursive function
It is good to use this concept to write the codes for the task, which could be divided into sub-tasks. For example, the tasks like sorting, searching and traversing where you have to visit the list to find the specific number or location.
Tower of Hanoi, factorial, and Fibonacci are some evergreen problems where you can use recursion.
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.
Read Also: Google Cloud Platform Interview Questions
How To Check The Equality Of Two Arrays
You will be given two arrays and you have to check whether the 2 arrays are equal or not.
First, you have to check the lengths of two given arrays. When the length of both arrays is the same, we compare corresponding elements of both arrays. Both the arrays will be considered equal If all corresponding pairs of elements are equal. If the arrays are big in size this method will be time-consuming therefore this method is not recommended to check the equality of two arrays. You can also use the in-built equals method of Arrays class but in the interview, the interviewer may ask you to compare two arrays without using in-built functions therefore this method will help you at that time.
If Class D Is Derived From A Base Class B When Creating An Object Of Type D In What Order Would The Constructors Of These Classes Get Called
The derived class has two parts, a base part, and a derived part. When C++ constructs derived objects, it does so in phases. First, the most-base class is constructed. Then each child class is constructed in order until the most-child class is constructed last. So the first Constructor of class B will be called and then the constructor of class D will be called.
During the destruction exactly reverse order is followed. That is destructor starts at the most-derived class and works its way down to base class.So the first destructor of class D will be called and then the destructor of class B will be called.
You May Like: How To Watch Oprah’s Interview With Harry And Meghan
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.
The above example creates an array of integer type, and the size of an array is fixed, i.e., 10.
How To Compare Two Strings In C
We can compare two strings using the in-built function strcmp which returns 0 if the two strings are equal or identical, negative integer when the ASCII value of first unmatched character is less than the second, and positive integer when the ASCII value of the first unmatched character is greater than the second. Lets understand through code.
#include < stdio.h> #include < string.h> void main
The result of comparing the first and second string will be 0 as both the strings are identical. However, the result of comparing the first and third strings will be 32 as the ASCII code of b is 98 and B is 66.
Recommended Reading: How To Prepare For A System Design Interview
What Is An Lvalue
An lvalue is an expression to which a value can be assigned. The lvalue expression is located on the left side of an assignment statement whereas an rvalue is located on the right side of an assignment statement.Each assignment statement must have an lvalue and an rvalue. The lvalue expression must refer a storable variable in memory. It cannot be a constant.
What Is The Difference Between An Array And A List
- A list is made up of heterogeneous elements, whereas an array is made up of homogenous components.
- Memory allocation in an array is static and continuous, whereas memory allocation in a list is dynamic and unpredictable.
- Users of Array do not need to keep track of the next memory allocation, whereas users of List must keep track of the next memory allocation location.
You May Like: What Questions Are Asked In Citizenship Interview
What Are The C++ Access Specifiers
In C++ there are the following access specifiers:
Public: All data members and member functions are accessible outside the class.
Protected: All data members and member functions are accessible inside the class and to the derived class.
Private: All data members and member functions are not accessible outside the class.
What Is A Sequential Access File
When writing programs that will store and retrieve data in a file, it is possible to designate that file into different forms. A sequential access file is such that data are saved in sequential order: one data is placed into the file after another. To access a particular data within the sequential access file, data has to be read one data at a time, until the right one is reached.
Also Check: How To Pass Interview Assessment Test
What Is A Memory Leak In C
While writing an application, the developer has allocated some memory which he missed to deallocate after use. This results in unused allocated memory – and such phenomenon is referred to as a memory leak in C. Unused allocated memory could affect the system’s performance and cause the speed to be slower. As a best practise, it is important to release all allocated memory after usage
What Are The Characteristics Of A Friend Function
- The function isn’t part of the class to something that is been added as a buddy.
- Because it isn’t in the scope of that class, it can’t be called using the object.
- It can be used without the object, just like any other function.
- It can’t get at the member names simply, so it has to utilise an object name and the dot membership, operator.
- It might be stated in either the private or public sections.
What Is Segmentation Fault In C
A segmentation fault is a common problem that causes programs to crash. A core file also associated with a segmentation fault that is used by the developer to finding the root cause of the crashing .
Generally, the segmentation fault occurs when a program tried to access a memory location that is not allowed to access or tried to access a memory location in a way that is not allowed .
Write A Hollow Square Pattern In C Language
#include < stdio.h> main else printf } printf } }
Enter the number of rows:10* * * * * * * * * ** ** ** ** ** ** ** ** ** * * * * * * * * *
Recommended Reading: Help Desk Specialist Interview Questions
What Happens If A Header File Is Included Twice
If a header file is included twice, the compiler will process its contents twice, resulting in an error. You can use guards to prevent a header file from being included multiple times during the compilation process. Thus, even if a header file with the proper syntax is included twice, the second one will be ignored.
What Is The Structure
- The structure is a user-defined data type that allows storing multiple types of data in a single unit. It occupies the sum of the memory of all members.
- The structure members can be accessed only through structure variables.
- Structure variables accessing the same structure but the memory allocated for each variable will be different.
Syntax of structure
Let’s see a simple example.
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.
Syntax of union
Let’s see a simple example
value of a is 1085485921value of b is 5.600022value of ch is a
In the above example, the value of a and b gets corrupted, and only variable ch shows the actual output. This is because all the members of a union share the common memory space. Hence, the variable ch whose value is currently updated.
What Is Typecasting In C
Typecasting refers to converting a variables data type into another data type explicitly by the programmer.
Type conversion can be performed in two ways:
Performed by the C compiler automatically, without any manual/programmer indication.
Example: It is performed by the compiler during the execution of an expression where two or more data types are present. The small data types are converted into large data types so that data is preserved without any loss.
Explicit type conversion or typecasting
It is deliberately performed by the programmer in the code by mentioning the required data type and this is known as typecasting in C.
Example: In the below example, we have deliberately changed the type of c from float to int by writing the expected data type in brackets before the variable name c.
|They are declared inside a function, their scope is limited to that particular function.||They are declared outside a function, their scope is throughout the program.|
|When uninitialised, they store any garbage value.||When uninitialised, they store the default value as zero.|
|To pass the value of local variables from one function to another, parameter passing is required.||Parameter passing is not required, because the scope is throughout the program, in all functions.|
|If any changes are made to a local variable the changes are not reflected in other functions.||If any changes are made to a global variable the changes are reflected in all functions, at all places in the program.|
Recommended Reading: Sql And Python Interview Questions
Things To Know While Preparing For C Interview Questions And Answers
Any development job requires coding knowledge of the C language. Most employers start with basic C programming questions in the interview.
Here you will get to know about the best C language interview questions and answers that will help you get a job very easily. You should know how to face technical questions and impress the employer.
In addition, you must stay prepared for the interview by looking at the most asked C interview questions and answers. Keep the demand of the employer in mind to crack the interview.
Get to know what they need from you as a C programmer and prepare with questions according to that.
What Is The C Programming Language
C is a procedural and mid-level programming language. The structured programming language, often known as the procedural programming language, is a strategy for breaking down big programmes into smaller modules, each of which employs structured code. This method reduces the chances of misinterpretation and inaccuracy. More information is available.
Also Check: How To Watch Prince Harry And Meghan Interview
Can You Tell Us Something About The Dangling Pointers In Embedded C
Dangling pointers are clearly aberrations that arise due to the obliteration of a referencing object. It is known as dangling because the pointer is essentially pointing to a ghost memory, one that is not at its disposal. Consequently, it gives rise to what is known as the segmentation fault.
How Many Stacks Are Required To Implement A Queue
Two stacks are required to implement a Queue.
- For Enqueue: Take two stacks S1 and S2 and perform push on S1.
- For Dequeue: If S2 is empty, pop all the elements from S1 and push it to S2. The last element you popped from S1 is an element to be dequeued. If S2 is not empty, then pop the top element in it.
You May Like: How To Ace Interview Questions And Answers
How To Round Off Numbers In C
The process of making a number simpler to use but keeping the new value close to the old one is called rounding off. For example, 1.76521 round off to 1.7 or 1.76. In C to do the same we have round function. The usage of the function is depicted in the code below.
#include < stdio.h> #include < math.h> void main
What Are The Functions And Their Types
The function is a block of code that is used to perform a task multiple times rather than writing it out multiple times in our program. Functions avoid repetition of code and increase the readability of the program. Modifying a program becomes easier with the help of function and hence reduces the chances of error. There are two types of functions:
- User-defined Functions: Functions that are defined by the user to reduce the complexity of big programs. They are built only to satisfy the condition in which the user is facing issues and are commonly known as tailor-made functions.
- Built-in Functions: Library functions are provided by the compiler package and consist of special functions with special and different meanings. These functions give programmers an edge as we can directly use them without defining them.
For more information, refer to the article Functions in C
Don’t Miss: What To Do In A Phone Interview
What Is A Structure
The structure is a keyword that is used to create user-defined data types. The structure allows storing multiple types of data in a single unit. The structure members can only be accessed through the structure variable.
Name: Kamlesh_JoshiRoll_No: 27 Address: HaldwaniBranch: Computer Science And Engineering
For more information, refer to the article Structure in C
What’s The Distinction Between A Local And A Global Variable In C
The distinctions between a local variable and a global variable are as follows:
|A variable declared within a function or block is known as a local variable.||A global variable is a variable that is declared outside of a function or block.|
|A variable’s scope is available within the function in which it is declared.||The scope of a variable can be accessed at any time during the programme.|
|Variables can only be retrieved from within the function in which they are declared.||Variables can be accessed by any statement in the programme.|
|A variable’s life begins when the function block is entered and ends when it is exited.||A variable’s life lasts till the programme is run.|