


Quizzes cover following topics :-
Practice test 1:
48 questions | 1 hour | 50% correct required to pass
Introduction to C Programming
History of C
Features of C
Structure of a C Program
Compilation and Execution Process
Basic Syntax
C Character Set
Tokens in C (Keywords, Identifiers, Constants, Strings)
Data Types in C
Variables and Constants
Operators in C (Arithmetic, Relational, Logical, Bitwise, etc.)
Precedence and Associativity of Operators
Practice test 2:
100 questions | 1 hour 40 minutes | 50% correct required to pass
Input and Output
printf() and scanf() Functions
Formatting Output
Working with getchar(), putchar(), gets(), and puts()
Control Structures
Conditional Statements (if, if-else, else-if, switch)
Looping Statements (for, while, do-while)
Jump Statements (break, continue, goto)
Nested Control Structures
Functions
Function Declaration and Definition
Function Arguments and Return Values
Recursion
Scope and Lifetime of Variables
Inline Functions
Arrays and Strings
One-dimensional Arrays
Multidimensional Arrays
Strings in C (Character Arrays)
String Manipulation Functions
Passing Arrays and Strings to Functions
Practice test 3:
75 questions | 1 hour 15 minutes | 50% correct required to pass
Pointers
Introduction to Pointers
Pointer Arithmetic
Pointers and Arrays
Pointers to Pointers
Function Pointers
Pointers and Strings
Dynamic Memory Allocation (malloc(), calloc(), realloc(), free())
Structures and Unions
Defining and Declaring Structures
Accessing Structure Members
Nested Structures
Arrays of Structures
Pointers to Structures
Unions in C
Differences between Structures and Unions
Practice test 4:
50 questions | 50 minutes | 50% correct required to pass
Enumerations and Typedef
Enumerations (enum)
Typedef in C
Differences between Enum and Define
File Handling
File Operations (fopen(), fclose(), fread(), fwrite(), etc.)
File Modes
Reading and Writing Files
Random Access in Files
Error Handling in File Operations
Practice test 5:
50 questions | 1 hour | 50% correct required to pass
Preprocessor Directives
Macros (#define)
File Inclusion (#include)
Conditional Compilation (#ifdef, #ifndef, #endif)
Other Directives (#undef, #pragma, etc.)
Memory Management
Static vs Dynamic Memory Allocation
Memory Leaks and How to Avoid Them
Using malloc(), calloc(), realloc(), and free()
Practice test 6:
99 questions | 1 hour 40 minutes | 50% correct required to pass
Advanced Topics
Command-Line Arguments
Variable Arguments (stdarg.h)
Bitwise Operations
Function Prototypes and Headers
The volatile Keyword
The restrict Keyword
Linked Lists (Singly, Doubly, Circular)
Stack and Queue Implementation
Trees and Graphs
Error Handling (errno, perror(), strerror())
C Standard Library
Commonly Used Header Files (<stdio.h>, <stdlib.h>, <string.h>, <math.h>, etc.)
Standard Library Functions (Memory, Math, String, Time, etc.)
Miscellaneous
Inline Assembly in C
C and Embedded Systems
Portability Issues
Introduction to C99 and C11 Standards
Best Practices
Writing Readable Code
Commenting and Documentation
Code Optimization Techniques
Common Pitfalls in C Programming
Questions will be look like this:
All are multiple choice questions which contain 4 options. With answer along with that explanation.
Q1. What is the lifetime of a variable declared with the static keyword inside a function?
Ans. Until the file ends
Overall explanation: A variable declared with the static keyword inside a function retains its value until the program ends.
Q2. Which of the following is the correct way to define a function that returns a pointer?
Ans. int* func()
Overall explanation: A function that returns a pointer is defined with the syntax int* func(), where int* indicates that the function returns a pointer to an integer.
Q3. What is the impact of excessive use of inline functions?
Ans. Increased code size
Overall explanation: Excessive use of inline functions can lead to increased code size because the function code is duplicated at each point of the function call, which may negate the performance benefits and could cause cache misses.
Q4. How do you declare a union in C?
Ans. union { Data; int i; float f; char c; };
Overall explanation: A union in C is declared using the union keyword followed by the union name and the members within curly braces. For example: union Data { int i; float f; char c; };. All members share the same memory space, so only one member can be used at a time.
Happy to add more Questions Will be Added Regularly!
All the very best!!