quilltech.in

Shop

C Programming

March-2025 | ISBN: 978-93-6786-411-1

by: Prof.(Dr.) Rashel Sarkar | Mr. Ronak Pravinchandra Joshi | Dr. A. Vijayaraj | Mrs. R. Karthiga | Dr. T. Prabakaran

Overview of the book

The book begins by highlighting the significance of the C programming language, tracing its history back to its development in 1972 by Dennis Ritchie at Bell Labs. C’s enduring popularity is attributed to its versatile features such as low-level memory access, high speed, and general-purpose applicability. The book explains how C played a critical role in the development of UNIX and contrasts its evolution from its early days through its modern standards, including ANSI C and C99. These sections emphasize how C has shaped today’s programming landscape and remains fundamental in both system and application software development.

Next, the book introduces the basic structure of a C program, explaining the importance of maintaining a clear and logical flow in writing code. It discusses the various sections that make up a C program, such as documentation, preprocessor, definition, global declarations, the main function, and user-defined functions. Each of these parts is explained with examples, illustrating their purpose and how they contribute to the overall execution of a program. By understanding this structure, programmers are able to write more organized and error-free code.

The process of executing a C program is thoroughly examined in the following chapters. The book walks readers through the steps involved, from preprocessing and compiling to assembling, linking, and loading the program. These stages are explained in detail to provide an understanding of how C code transitions from written instructions into executable machine code, a critical aspect of programming that often goes unnoticed by beginners.

The book continues by covering constants, variables, and data types in C, essential components for managing data in a program. It explains how to define and use constants, including integer, floating-point, character, and string constants, and explores the various data types available in C, such as basic types (int, char, float, double) and derived types like arrays, pointers, and structures. The proper use of these data types is crucial for ensuring efficient memory use and program performance, making this chapter fundamental for beginners.

Input and output operations are another essential aspect of C programming. The book explains how to handle user input using functions like getchar() and scanf(), and output using putchar() and printf(). Special attention is given to formatted input and output, showing how to control the display of data using format specifiers, which helps users control the flow of information in their programs.

Operators and expressions form a critical part of the book, with an in-depth explanation of how to perform calculations and comparisons in C. Arithmetic, relational, logical, and assignment operators are all covered in detail, with numerous examples illustrating how these operators are used in expressions to evaluate conditions, perform computations, and manipulate data. Understanding these operators is essential for any C programmer, as they form the building blocks of logic in programming.

Functions are explored next, highlighting their importance in modular programming. The book explains how to define and call functions, discussing parameters, return types, and the concept of local and global variables. The scope of variables in different functions is also addressed, helping readers understand how data can be shared or isolated within a program to maintain structure and prevent errors.

Advanced features of C, including pointers, structures, and unions, are then introduced. Pointers are explained as variables that store memory addresses, allowing direct manipulation of memory. Structures and unions are discussed as ways to group related variables under a single name, providing the flexibility to create more complex data types. These topics are key to understanding dynamic memory management and handling sophisticated data structures in C.

Finally, the book concludes with a focus on error handling and debugging in C. It explains methods for detecting and managing errors in programs and provides practical techniques for debugging. This section is essential for ensuring that programs are robust, reliable, and capable of handling unexpected situations gracefully. The tools and strategies discussed here will help programmers troubleshoot issues and refine their code for optimal performance.

Click the link below to access the index

About the Authors'

Prof.(Dr.) Rashel Sarkar

Prof. (Dr.) Rashel Sarkar is a Professor in the Department of Computer Science and Engineering at The Assam Royal Global University, Assam. With over 19+ years of teaching and administrative experience, he holds a PhD, Master of Technology (M.Tech), and Bachelor of Engineering (B.E) in Computer Science & Engineering (CSE).

Prof. Sarkar has published 40 papers in prestigious Scopus journals, IEEE, Springer, and various conferences. He has also published and granted 22 patents, including 11 Indian patents, 6 Indian design grants, and 5 UK patent grants in the domains of Artificial Intelligence, Machine Learning, Natural Language Processing, and Genetic Algorithms. He has contributed to four book chapters in Springer Nature and international conferences and has authored three books. Additionally, he has been involved in several projects funded by DSTS, EDII, and AICTE.

His research interests include Artificial Intelligence, Machine Learning, Natural Language Processing, Data Science, Information Security, and Genetic Algorithms. He is a life member of the Indian Society for Technical Education (ISTE), with membership number LM 80425.

Mr. Ronak Pravinchandra Joshi

Mr. Ronak Pravinchandra Joshi is currently an Assistant Professor at the Shree C.J.Patel institute of Computer Management (BCA) ,Visnagar and also working Cloudgen Service as Mobile Developer work from home and a Ph.D. scholar at Sankalchand Patel University, Visnagar. He completed his Master’s in Computer Applications in 2021 and his Bachelor’s in Computer Applications in 2019. With expertise in Flutter, Android development, and Java, Ronak has gained valuable experience as a Flutter Developer Trainee. He has authored a research paper on cross-platform development with Flutter, published at the Sardar Patel Institute of Economic and Social Research. His commitment to continuous learning is evident through his participation in various certification courses on platforms like Coursera and NPTEL, and his active role in workshops on Machine Learning and AI. The book “Data Mining – Practical Strategies & Applications ” has been published on Amazon with ISBN: 978-81-976277-7-4 , second book named “Advancing Cybersecurity with Artificial Intelligence” has been published on Amazon with ISBN:978-81-979918-9-9 third book named “Data structure using C ” has published with ISBN :- 978-93-6786-554-5 and fourth book is “Engineering Mathematics” with ISBN : 978-93-6786-737-2 and recently starting new role like IT experts it’s tech various topics to reaserch and easy teach students so Ronak’s contributions to both academia and the industry highlight his passion for mobile programming and problem-solving.

Dr. A. Vijayaraj

Dr. A.Vijayaraj is an Associate Professor in the Department of Information Technology, R.M.K Engineering College, RSM Nagar, Kavaraipettai, Gummidipoondi Taluk Chennai. He obtained his Bachelor’s degree from Bharathidhasan University in 1997 and his Master of Engineering in CSE from Sathyabama University in 2005. He obtained his Ph.D. from Anna University Chennai. His area of specialization is Computer Networks and communications, Mobile Computing, Information Retrieval, and Knowledge Management. He has 25 years of teaching experience from various Engineering Colleges during tenure he was Awarded Best Teacher Award thrice. He is a Member of IEEE, CSI, ISTE, IAENG, ICST, UACEE, IASTER and CSTA. He organized number of Workshops, Faculty development programs, Seminars, National and International conferences. He has written 6 books and 15 patents. He has Published 50 papers in (SCI and Scopus) reputed journals and 30 Papers published in IEEE International conferences.

Mrs. R. Karthiga

Mrs. Karthiga. R is an Assistant Professor in the Department of Computer Science and Engineering, St. Joseph’s Institute of Technology, Old Mahabalipuram Rd, Kamaraj Nagar, Semmancheri, Chennai. She obtained her Bachelor’s degree from Saveetha Engineering College Affiliated to Anna University in 2012 and her Master of Technology in IT from Sathyabama University in 2014. Her area of specialization is C, C++, Java Programming, Web Technology. She has 3 years of teaching experience. She is a Member of CSI. She has Published 5 Papers in IEEE International conferences.

Dr. T. Prabakaran

Dr. T. Prabakaran, Professor & HOD of Computer Science and Engineering, Joginpally B.R. Engineering College, Moinabad, Hyderabad. He obtained his Bachelor’s degree from Bharathiar University, Tamilnadu, and a Master’s degree in Computer Science and Engineering from Anna University, Chennai. Then he obtained a Doctorate in Computer Science and Engineering from Anna University, Chennai. He has 6 years of Software industry experience and 20 years of Teaching experience. He published 35 papers in international journal publications and 6 book publications and 5 patents.  He organized various conferences, FDPs, Workshops, and Guest Lectures for faculty and Students. He received the Best Teaching Faculty award in 2019 from the International Association for Science and Technical Education. He has Professional Society memberships from CSI, ISTE, and IEEE. He is a reviewer of many international journal publications. Also, he has the responsibility of Institution level coordinator for NAAC, NBA, Autonomous, ISO, and IQAC. His research area includes wireless sensor networks, Web application development, Artificial Intelligence, Machine Learning, and Data Science.

REGISTER

Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy.