没有合适的资源?快使用搜索试试~ 我知道了~
Computer Fundamentals and Programming in C(2nd) 无水印pdf
需积分: 10 9 下载量 104 浏览量
2017-09-21
19:17:00
上传
评论
收藏 16.7MB PDF 举报
温馨提示
试读
514页
Computer Fundamentals and Programming in C(2nd) 英文无水印pdf 第2版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
资源推荐
资源详情
资源评论
1
Pradip Dey
Manas Ghosh
COMPUTER FUNDAMENTALS
AND
PROGRAMMING IN C
Second Edition
RCC Institute of Information Technology
RCC Institute of Information Technology
3
Oxford University Press is a department of the University of Oxford.
It furthers the University’s objective of excellence in research, scholarship,
and education by publishing worldwide. Oxford is a registered trade mark of
Oxford University Press in the UK and in certain other countries.
Published in India by
Oxford University Press
YMCA Library Building, 1 Jai Singh Road, New Delhi 110001, India
© Oxford University Press 2006, 2013
The moral rights of the author/s have been asserted.
First Edition published in 2006
Second Edition published in 2013
All rights reserved. No part of this publication may be reproduced, stored in
a retrieval system, or transmitted, in any form or by any means, without the
prior permission in writing of Oxford University Press, or as expressly permitted
by law, by licence, or under terms agreed with the appropriate reprographics
rights organization. Enquiries concerning reproduction outside the scope of the
above should be sent to the Rights Department, Oxford University Press, at the
address above.
You must not circulate this work in any other form
and you must impose this same condition on any acquirer.
ISBN-13: 978-0-19-808456-3
ISBN-10: 0-19-808456-0
Typeset in Times New Roman
by Pee-Gee Graphics, New Delhi
Printed in India by Rajkamal Electric Press, Kundli, Haryana
Preface to the First Edition
C stands out among general-purpose programming languages
for its unrivaled mix of portability, power, exibility,
and elegance. The language has block structures, stand-
alone functions, a compact set of keywords, and very few
restrictions. Like any low-level language, C allows the
programmer to manipulate bits, bytes, and memory addresses,
among other features. Like any high-level language, C also
supports various data types to provide a higher level of
abstraction to programmers, thereby making coding easier.
C provides features for writing and separately compiling,
shorter programs that can be linked together to form a large
program. For all these reasons, it is a versatile language
suited for projects of various sizes in both systems as well as
applications programming.
ABOUT THE BOOK
This book is intended for a one-semester introductory course
on computers and programming in C. The rst few chapters
of the book impart adequate knowledge of number systems,
Boolean logic, hardware, and software of computer systems
with particular emphasis on the personal computer. The book
assumes no prior programming experience in C or any other
language. Once the readers grasp the preliminary topics, it
then becomes easier for them to delve into the process of
creating algorithms for solving problems and implementing
them using C.
Throughout the text it has been our endeavor to keep the
level of explanations and denitions as lucid as possible.
Figures have been included in the text to clarify the
discussions on the features of C. Almost all the features of C
have been illustrated with examples. Though every attempt
has been made to avoid and check errors, we will be grateful
to readers if they can point out any that may have crept in
inadvertently.
AcKNOwlEdgEMENTS
We express our gratitude to Dr J. Debroy, Principal,
RCC Institute of Information Technology, Kolkata, for
encouraging us to write this book. We are also grateful to the
staff of Oxford University Press for the cooperation, interest,
and assistance extended to us for this book. We thank our
colleague Mr Manas Sinharoy for assisting us in preparing the
manuscript in time. We are also thankful to Mr Tapas Kumar
Tunga and Mr P.N. Pathak for extending their services to us
during the preparation of the manuscript. We wish to thank
Vijay Kumar R. Zanvar and Jayasimha Ananth for the article
on pointers and arrays as also Thomas Jenkins for the article
on recursion, both of which have served as a guide during the
development of this manuscript.
Manas Ghosh
PradiP dey
Preface to the Second Edition
Evolution of ideas is a never-ending process. New technology
and changing needs have a profound inuence on computing
requirements, which in turn lead to continuous enhancements
of the power and scope of computers as well as programming
languages.
One of the latest technologies soon to be launched is the
32-core CPUs from Intel and AMD. Intel has named this 32-
core processor ‘Kelifer’, which is a combination of 32 brains
that can work for the user at one time. These CPUs will be
built around a paradigm that will allow them to have plug-in
and add-on abilities. Then there are other possibilities such as
gesture-based remote controls and smartphone applications
to open car doors.
Another computing application that has had a profound
impact on every aspect of our lives is the Internet. Today,
more than 2.4 billion people use the Internet, according to
Internet World statistics, and the numbers are still growing.
Some industries, such as music and newspapers, have been
all but destroyed, even as it has created whole new lines of
business, such as search engines and social media. The Boston
Consulting Group estimated recently that if the Internet were
a country, it would rank as the world’s fth-largest economy.
Naturally, then, programming languages are also being
updated to keep pace with these technological leaps. C is
one of the most widely used programming languages of all
time. Its modern standard C99 (an informal name for ISO/
IEC 9899:1999) extends the previous version (C90) with new
language and library features, and helps programmers make
better use of available computer hardware and compiler
technology. The new features include inline functions, several
new data types, and new header les. Hence, with the new
features suggested by the C99 committee, C has expanded
its scope and range of applications. With the development
of embedded systems, the frontiers of C have moved further,
to evolve as a very effective programming language for
programming embedded systems.
ABOUT THE BOOK
Computer fundamentals and programming in C is an
introductory course at most universities offering engineering
and science degrees, and aims to introduce the basic
computing and programming concepts to students. The
general course objectives are to enable the student to learn
the major components of a computer system, know the
correct and efcient ways of solving problems, and learn to
program in C.
This second edition of Computer Fundamentals and
Programming in C, designed as a textbook for students of
engineering (BE/BTech), computer applications (BCA/
MCA), and computer science (BSc), offers an improved
coverage of the fundamental concepts of computing and
programming. It offers several new topics and chapters,
programming updates based on the recommendations
proposed by the C99 committee in relevant chapters, and
many other useful pedagogical features.
A special effort has been made to simplify existing
treatments and better explain concepts with the help of
improved illustrations and examples containing appropriate
comments. Further, most chapters now include notes, check
your progress sections, key terms with brief denitions,
frequently asked questions with answers, and project
questions. These will aid the reader in understanding the
concepts and their practical implementations.
NEw TO THE SEcONd EdiTiON
C99 features highlighted wherever relevant in the text
2 New chapters: Introduction to Software; Internet and
the World Wide Web
Extensive reorganization of the computer fundamentals
and functions chapters
Note, Check Your Progress sections, Key Terms, Fre-
quently Asked Questions, and Project Questions in most
of the chapters
Improved explanation of algorithms and codes, and new
in-text examples
New sections such as working with complex numbers,
variable length arrays, searching and sorting algorithms,
pointer and const qualier, and applications of linked
lists
ExTENdEd cHApTEr MATEriAl
Chapter 1 Extensively rewritten sections on classication
of computers, anatomy of a computer, memory revisited,
introduction to operating systems, and operational overview
of a CPU
iv
Preface to the Second Edition
Chapter 8 New sections on
• Compilation model of a C program
• Philosophy of main() function
• The concept of Type qualiers
• How integers are stored in memory
Chapter 10 New sections on different forms of loop and
moving out from a nested loop
Chapter 12 News sections on
• Scope, storage class and linkages
• Inline function
• Different sorting and searching methods along with the
analysis of time and space complexity
Chapter 13 New sections on
• Pointer and const Qualier
• Constant parameter
• Returning pointer from a function
cOvErAgE
Chapter-wise details of content coverage are as follows:
Chapter 1 traces the history of development of computers.
The chapter also identies the different generations and
the various categories of computers. It briey describes the
basic hardware units and software modules in a computer,
with particular reference to the personal computer. A brief
description on the start-up process of a personal computer is
also included.
Chapter 2 presents the concept of number systems. The rules
and methods applied in number system conversions are
explained and demonstrated with appropriate examples. It
then deals with arithmetic operations of addition, subtraction,
multiplication, and division of binary numbers with examples.
It also describes the various binary codes used in computers.
Chapter 3 introduces Boolean algebra. It denes Boolean
variables and the various laws and theorems of Boolean
algebra. The formation of Boolean expressions, Boolean
functions, and truth tables along with the methods of
simplifying Boolean expressions are also demonstrated. It
presents the different forms in which Boolean expressions
can be expressed and represented.
Finally,
the chapter discusses logic gates and explains
how these are realized using electronic devices. It also
demonstrates how Boolean expressions can be realized using
logic gates.
Chapter 4 identies the different types of software and the
various categories of programming languages available.
The roles played by the compiler, linker, and loader in the
development of programs are highlighted.
Chapter 5 explains the concept of programs and programming.
The chapter also denes and explains the key features of
algorithms. The signicance of an algorithm in developing a
program for solving a problem has also been explained. The
chapter then discusses some convenient tools and techniques
for building and representing algorithms. It also discusses the
strategy of problem solving.
Chapter 6 begins with the history of evolution of the Internet
and the world wide web. It briey discusses the nature of
information transported and the protocols used within the
Internet. It introduces the concept of web page, web browser,
web server, IP address, and search engines. The chapter
concludes by describing the different types of Internet
connections followed by the various applications of the
Internet.
Chapter 7 introduces operating systems. It briey traces the
history of development of operating systems. It explains the
functions of an operating system and identies the component
of operating systems in general. The chapter discusses the
different types of operating systems that exist. Some popular
operating systems such as UNIX and MSDOS have been
discussed.
Chapter 8 introduces the basic components of C. The
keywords and standard data types available in C and the
type conversion rules have been discussed. The use of
basic operators in C and expressions involving variables
and operators has been explained. The basic structure of a
standard C program has also been explained. Some common
commands used in MSDOS and UNIX to compile and run
programs in C have been discussed in this chapter.
Chapter 9 discusses the input and output statements in C that
are commonly used for the console. It presents the single
character non-formatted input/output functions and the
formatted input/output functions scanf() and printf().
Chapter 10 presents the decision and loop constructs available
in C as also the special constructs that are mostly used with
them. It throws light on the reasons behind the choice of
control constructs for problem solving. Several examples
have been given to illustrate the use of these constructs.
Chapter 11 discusses arrays and strings. It explains how
arrays of different dimensions are initialized, referred to,
used, and printed. The available string arrays and string
library functions have been dealt in detail with an adequate
number of illustrations. The chapter also illustrates how the
input and output functions available in C accept and print
strings and arrays.
Chapter 12 deals with functions in C. It explains the need of
functions in a program. It explains the different components of
a function and the method of passing and returning variables
剩余513页未读,继续阅读
资源评论
yinkaisheng-nj
- 粉丝: 763
- 资源: 6953
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 全卷积网络基于voc2012数据集简单pytorch实现
- pycharm的一些介绍-用于更好的学习python
- 基于C++的程序设计大赛天梯赛L2答案(天梯赛)
- 基于python实现的三次样条插值和均值插值法实现
- Python语言教程2-python批量图片大小处理-多文件夹
- Python语言教程1-python批量图片重命名,将后缀某几个不想要的字去除
- Space Combat Kit 太空战斗套件Unity游戏开发插件资源unitypackage C#
- Universal Device Preview 通用设备预览Unity游戏开发插件资源unitypackage
- Paladin Anim Set 圣骑士动画集Unity游戏动作动画插件资源unitypackage
- 计算机财务管理期末考报表部分题目及答案.doc
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功