0% found this document useful (0 votes)
43 views

CPDS Question Bank

CPDS Question bank

Uploaded by

ohmmurugan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

CPDS Question Bank

CPDS Question bank

Uploaded by

ohmmurugan
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

A.V.C.

COLLEGE OF ENGINEERING, MANNAMPANDAL

CS3353 C Programming and Data Structures

Question Bank

UNIT I: C Programming Fundamentals

1. Remembering:
o Define the different data types available in C programming.
o List the various conditional statements used in C.
2. Understanding:
o Explain the difference between single and multi-dimensional arrays.
o Describe how recursion works in C with an example.
3. Applying:
o Write a C program to calculate the factorial of a number using recursive
functions.
o Demonstrate the use of arrays to store and retrieve data for a student database.
4. Analyzing:
o Compare and contrast conditional statements with iterative loops.
o Analyze a given C program to identify how it handles variable operations and
expressions.
5. Evaluating:
o Evaluate the efficiency of recursive functions versus iterative loops in solving
problems.
o Judge the effectiveness of using multi-dimensional arrays over single-dimensional
arrays for matrix manipulation.
6. Creating:
o Design a C program that simulates a basic calculator using functions and
conditional statements.
o Develop a recursive solution for finding the greatest common divisor (GCD) of
two numbers.

UNIT II: C Programming - Advanced Features

1. Remembering:
o Define the purpose of structures and unions in C.
o List the different types of file handling modes in C.
2. Understanding:
o Explain the concept of pointers and how they relate to arrays and functions.
o Illustrate the use of enumerated data types with an example program.
3. Applying:
o Write a C program to store and display student information using structures.
o Implement a function that opens, reads, and writes data to a file in C.
4. Analyzing:
o Compare the use of structures and unions in managing memory.
o Analyze the performance of pointers in accessing array elements versus direct
indexing.
5. Evaluating:
o Evaluate the pros and cons of using pointers to functions in C.
o Judge the importance of preprocessor directives in optimizing C programs.
6. Creating:
o Design a C program that dynamically allocates memory for an array of structures
using pointers.
o Develop a file-handling system in C that stores and retrieves employee records
efficiently.

UNIT III: Linear Data Structures

1. Remembering:
o Define what an Abstract Data Type (ADT) is.
o List the basic operations of a stack.
2. Understanding:
o Explain the difference between a singly linked list and a doubly linked list.
o Describe how queues are implemented using arrays.
3. Applying:
o Write a program to implement stack operations (push, pop, and display).
o Implement a circular linked list to manage the scheduling of tasks.
4. Analyzing:
o Compare array-based and linked list-based implementations of lists.
o Analyze the behavior of a priority queue in managing tasks with different
priorities.
5. Evaluating:
o Evaluate the performance differences between stacks and queues for real-time
applications.
o Judge the suitability of using a circular queue over a standard queue in specific
use cases.
6. Creating:
o Design a data structure that can efficiently switch between stack and queue
operations using a single implementation.
o Develop a task management system using priority queues to handle different
levels of task urgency.
UNIT IV: Non-Linear Data Structures

1. Remembering:
o Define the different types of tree traversals.
o List the types of hashing techniques used in C.
2. Understanding:
o Explain the purpose of binary search trees and their key operations.
o Illustrate the concept of separate chaining in hashing with an example.
3. Applying:
o Write a program to implement a binary search tree and perform insertion and
deletion.
o Implement a hashing function with linear probing in C.
4. Analyzing:
o Compare open addressing and separate chaining as methods of collision
resolution in hashing.
o Analyze how rehashing improves the performance of hash tables when they
become full.
5. Evaluating:
o Evaluate the advantages and disadvantages of using binary trees versus binary
search trees for data management.
o Judge the effectiveness of quadratic probing in reducing collisions in a hash table.
6. Creating:
o Design an efficient hashing system using double hashing for storing and
retrieving large datasets.
o Develop a binary tree structure that can evaluate mathematical expressions.

UNIT V: Sorting and Searching Techniques

1. Remembering:
o Define the purpose of sorting algorithms.
o List the differences between linear and binary search.
2. Understanding:
o Explain the working of Quick Sort and how it partitions the data.
o Describe the key differences between merge sort and heap sort.
3. Applying:
o Write a program to implement insertion sort on an array of integers.
o Implement binary search on a sorted list of integers in C.
4. Analyzing:
o Compare the time complexity of Quick Sort and Merge Sort for large datasets.
o Analyze the best and worst-case performance scenarios of linear search.
5. Evaluating:
o Evaluate the efficiency of different sorting algorithms in terms of time and space
complexity.
o Judge the effectiveness of binary search when applied to a large dataset compared
to linear search.
6. Creating:
o Design a hybrid sorting algorithm that combines the advantages of Quick Sort and
Insertion Sort.
o Develop a search engine that uses both linear and binary search algorithms based
on dataset size.

You might also like