Hitbullseye

Technical Question Bank : C Language Basics

Technical interviews are used to assess candidates for technical or specialist job positions. These interviews are conducted to test your field-specific knowledge. You are required to have a good understanding of C language basics. 
 
List of Technical Questions based on C Language Basics
  • Define local block?
  • Variables should be stored in local blocks. Yes or no?
  • A switch statement is better than multiple if statements in what all situations?
  • Can a switch statement be written without a default case?
  • Is it possible for the last case of a switch statement to skip including the break?
  • Barring the for statement, where else is the comma operator used?
  • How do you determine whether a loop ended prematurely?
  • Differentiate between goto, long jmp( ) and setjmp()?
  • Explain lvalue?
  • Can an array be an lvalue?
  • Explain rvalue?
  • Is right-to-left or left-to-right order guaranteed for operator precedence?
  • Differentiate between ++var and var++?
  • Explain the function of the modulus operator?
  • What is the most efficient way to store flag values?
  • Explain "bit masking"?
  • Are bit fields portable?
  • Is it better to bitshift a value than to multiply by 2?
  • What is meant by high-order and low-order bytes?
  • What is the way to store 16-bit and 32-bit numbers ?
  • Explain macro and its usage
  • What purpose does preprocessor fulfill for a program?
  • How can you avoid including a header more than once?
  • With the help of #include , can a file other than a .h file be included?
  • What is the benefit of using #define while declaring a constant?
  • What is the benefit of using enum while declaring a constant?
  • Why is it better to use an enum rather than a #define constant?
  • In demo versions, how are the portions of a program disabled?
  • What is better? Using a macro or using a function?
  • Explain the best way to comment out a section of code that contains comments?
  • Differentiate between #include and #include "file"?
  • Can it be defined which header file to include at compile time?
  • Is it possible that include files be nested?
  • How many levels deep can you nest include files?
  • Explain the significance of concatenation operator?
  • How do you create type-insensitive macros?
  • What are the standard predefined macros?
  • Explain the way to make a program print the line number where an error occurs?
  • Explain the way to make a program print the name of a source file where an error occurs?
  • How do you tell whether a program was compiled using C versus C++?
  • What is a pragma? What is #line used for?
  • Explain the usage of #line?
  • Explain the significance of __DATE__ and __TIME__ preprocessor commands?
  • How do you make sure that a program follows the ANSI C standard?
  • What is the procedure to override a defined macro?
  • How do you check whether a symbol is defined?
  • Do array subscripts always start with zero?
  • Can we address one element beyond the end of an array?
  • Is it possible to tell the size of an array passed to a function with the help of the size of operator?
  • What is better to navigate an array of values? To use a pointer or to use a subscripted array name?
  • Can an array tag be assigned a different address?
  • Differentiate between array_name and &array_name?
  • Why don't we use constant values to define an array's initial size?
  • Differentiate between a string and an array?
  • Is there an error if errno contains a non-zero number?
  • What is a stream?
  • How is a standard stream redirected?
  • How is a redirected standard stream restored?
  • Can we force stdout to be printed somewhere other than the screen?
  • Differentiate between text and binary modes?
  • How is it determined whether a stream function or a low-level function should be used?
  • How are the files listed in a directory?
  • How are the files' date and time listed in a directory?
  • How are the file names sorted in a directory?
  • How are the attributes of a file determined?
  • How is the PATH viewed?
  • How can a file be opened so that other programs can update it at the same time?
  • How can it be made sure that my program is the only one accessing a file?
  • How can it be prevented that another program from modify a part of a file that I am modifying?
  • How can Abort, Retry and Fail messages be avoided?
  • How do I read and write comma-delimited text?
  • Where are my variables stored in memory?
  • Is it needed for the variables to be initialized?
  • Explain the usage of a const pointer?
  • When should the register modifier be used? How does it help if at all it does?
  • When should we use the volatile modifier?
  • Is it possible for a variable to be both const and volatile?
  • When should we use the const modifier?
  • How reliable are floating-point comparisons?
  • How do you determine the maximum value that a numeric variable can hold?
  • Do any problems occur if we try to perform mathematical operations on different variable types?
  • Explain operator promotion?
  • When should we use type cast?
  • When should we not use a type cast?
  • Can a variable be declared / defined in a C header?
  • Differentiate between declaring a variable and defining a variable?
  • Can we declare static variables in a header file?
  • How does it benefit to use const for declaring constants?
  • When should a function be declared?
  • When do we prototype a function?
  • How many parameters should a function have?
  • What is a static function?
  • Is it necessary for a function to contain a return statement if it does not return a value?
  • How do you pass an array to a function by value?
  • Can the code be executed after it exits the main() function?
  • What does a function that is declared as PASCAL do differently?
  • Is it the same thing to use exit()or use return?
  • Differentiate between a string copy (strcpy) and a memory copy (memcpy)? Explain the usage of each
  • How do I remove the trailing spaces from a string?
  • How do I remove the leading spaces from a string?
  • How do I right-justify a string?
  • How do I pad a string to a known length?
  • How do I copy just a portion of a string?
  • How do I convert a number to a string?
  • How do I convert a string to a number?
  • How do you determine if two strings are the same?
  • Explain the way to print only part of a string?
  • What is indirection?
  • How many levels of pointers are possible?
  • What is a null pointer?
  • When do we use a null pointer?
  • What is a void pointer?
  • When do we use a void pointer?
  • Can pointers be subtracted from each other? When is it done?
  • Is NULL always defined as 0(zero)?
  • Is NULL always equal to 0(zero)?
  • What does it signify when a pointer is used in an if statement?
  • Can pointers be added? When is it done?
  • How do you use a pointer to a function?
  • When do you use a pointer to a function?
  • Can the array be declared at runtime?
  • Use of which of these is better: malloc() or calloc()?
  • How is an array that can hold more than 64KB of data declared?
  • Differentiate between far and near?
  • When is the far pointer used?
  • What is a stack?
  • What is a heap?
  • What happens if we free a pointer twice?
  • Differentiate between NULL and NUL?
  • What is a "null pointer assignment" error? Explain bus errors, memory faults, and core dumps?
  • How is the size of an allocated portion of memory determined?
  • How does free() know how much memory should be released?
  • Can we perform math operations on a void pointer?
  • How is an address printed?
  • Why should we use standard library functions instead of writing our own?
  • To define the standard library functions that we use, what header files do we need?
  • How are functions that take a variable number of arguments written?
  • Differentiate between a free-standing and a hosted environment?
  • Mention the standard functions available to manipulate strings?
  • How is it determined whether a character is numeric, alphabetic, and so on?
  • What is a "locale"?
  • Is there a way to jump out of a function or functions? If yes, what?
  • What is a signal? What do I use signals for?
  • Why should variable names not be started with underscores?
  • What are the math functions available for integers? For floating point?
  • What are multi-byte characters?
  • How can I manipulate strings of multi-byte characters?
 
Test Site