Unit 1
1. Explain the concept of computer-based problem solving. Describe the steps involved in solving a
problem using a computer.
2. Discuss the different phases in problem solving using computers. Explain problem definition, analysis,
algorithm development, coding, testing, and documentation.
3. What is an algorithm? Explain the characteristics of a good algorithm and illustrate with an example.
4. Define flowcharts. Explain their importance in computer-based problem solving with suitable
examples.
5. Explain the role of computers in problem solving. Discuss the advantages and limitations of using
computers for solving problems.
6. Explain the various stages involved in program design. Discuss top-down and bottom-up approaches.
7. Discuss the important issues in program implementation. Explain coding standards, debugging,
testing, and documentation.
8. Explain different types of program errors. Discuss syntax errors, logical errors, and runtime errors with
examples.
9. All algorithms discussed in the first Unit.
Unit 2
1. Explain the basic data types in C. Discuss their sizes, ranges, and applications with suitable examples.
2. What are type modifiers in C? Explain how basic data types can be modified using `short`, `long`,
`signed`, and `unsigned` with examples.
3. Define identifiers and variables in C. Explain the rules for naming identifiers and the different types of
variables with examples.
4. Discuss type qualifiers and constants in C. Explain `const`, `volatile`, and different types of constants
with examples.
5. Explain various operators in C. Classify them and describe arithmetic, relational, logical, assignment,
and bitwise operators with examples.
6. What are expressions in C? Explain different types of expressions and operator precedence with
suitable examples.
7. Explain selection statements in C. Discuss `if`, `if-else`, nested `if`, and `switch` statements with syntax
and examples.
8. Describe iteration statements in C. Explain `for`, `while`, and `do-while` loops with examples and
compare them.
9. What are jump statements in C? Explain `break`, `continue`, `goto`, and `return` with examples.
10. Explain the concept of structured programming. Discuss how functions help in designing structured
programs.
11. Describe the basics of functions in C. Explain function declaration, definition, and function call with
examples.
12. What are user-defined functions? Explain different categories of functions based on arguments and
return values.
13. Discuss parameter passing techniques in C. Explain call by value and call by reference with suitable
examples.
14. Explain scope and scope rules in C. Differentiate between local and global variables.
15. What are storage classes in C? Explain `auto`, `register`, `static`, and `extern` with examples.
16. Explain recursion in C. Describe recursive functions with suitable examples and discuss advantages
and limitations.
17. What are standard library functions in C? Explain their importance and give examples from
commonly used libraries.
18. Explain preprocessor directives in C. Discuss `#include`, `#define`, macros, conditional compilation,
and their uses.
Unit 3
1. Define arrays in C. Explain the concept, declaration, initialization, and memory representation of
arrays with suitable examples.
2. Explain how arrays are used in C programs. Discuss accessing, modifying, and traversing array
elements with examples.
3. Discuss inter-function communication using arrays. Explain how arrays are passed to functions and
how they are processed inside functions.
4. Explain various applications of arrays in C. Illustrate with examples such as searching, sorting, and
storing data sets.
5. Write an essay on two-dimensional arrays in C. Explain declaration, initialization, memory
representation, and matrix operations with examples.
6. What are multidimensional arrays? Explain their concept and general form of declaration with
suitable examples.
7. Explain the concept of strings in C. How are strings stored and represented in memory? Illustrate
with examples.
8. Discuss C strings and their implementation using character arrays. Explain string declaration,
initialization, and termination.
9. Explain string input and output functions in C. Discuss commonly used functions for reading and
writing strings with examples.
10. What are arrays of strings? Explain their declaration, initialization, and applications with suitable
examples.
11. Explain string manipulation functions in C. Discuss commonly used library functions for string
handling with examples.
12. Compare character arrays and strings in C. Explain their differences and usage scenarios.
Unit IV
1. Define pointers in C. Explain their declaration, initialization, and usage with suitable examples.
2. Explain pointer arithmetic in C. Discuss increment, decrement, addition, subtraction, and
comparison operations with examples.
3. Discuss the use of pointers for inter-function communication. Explain how pointers help in
modifying actual parameters inside functions.
4. What are pointers to pointers? Explain their concept, declaration, and applications with examples.
5. Explain the relationship between arrays and pointers in C. Illustrate how arrays are accessed using
pointers.
6. Differentiate between an array of pointers and a pointer to an array. Explain with suitable
examples.
7. What is a void pointer? Explain its concept, typecasting, and applications in C.
8. Explain pointers to functions in C. Discuss their declaration, syntax, and practical applications.
9. What are command line arguments? Explain how they are handled using pointers in C with
examples.
10. Explain dynamic memory allocation in C. Discuss the functions used for dynamic memory
management and their syntax.
11. Describe the dynamic memory allocation functions in C. Explain allocation, deallocation, and
memory management with examples.
12. Discuss programming applications of pointers. Explain how pointers are used in dynamic arrays,
structures, and efficient memory handling.
Unit V
1. Explain user-defined data types in C. Discuss `typedef` and enumerated types with suitable
examples.
2. Define a structure in C. Explain the syntax, declaration, and initialization of structures with
examples.
3. How are structure members accessed? Explain different methods of accessing structure members
with examples.
4. What are nested structures? Explain their concept and usage with suitable examples.
5. Discuss arrays of structures in C. Explain declaration, initialization, and applications with examples.
6. Explain how structures are passed to functions. Discuss passing individual members and entire
structures with examples.
7. What are pointers to structures? Explain their declaration and usage, including accessing members
through pointers.
8. Explain self-referential structures in C. Discuss their importance and applications.
9. Differentiate between structures and unions. Explain memory allocation and usage differences with
examples.
10. Explain unions in C. Discuss declaration, initialization, and applications with suitable examples.
11. Explain the concept of file handling in C. Discuss the need and advantages of using files in
programming.
12. Describe different modes of file operations in C. Explain various file opening modes with examples.
13. Differentiate between text files and binary files. Explain their characteristics and applications.
14. Explain file input/output operations in C. Discuss commonly used file handling functions with
suitable examples.
15. Write an essay on file processing in C. Explain file opening, reading, writing, closing, and error
handling.