Registered users can read the full content for free
Register as a Gaohf Library member to read the complete e-book online for free and enjoy a better reading experience.
Page
1
(This page has no text content)
Page
2
VARDHAMAN COLLEGE OF ENGINEERING (AUTONOMOUS) Shamshabad – 501 218, Hyderabad DEPARTMENT OF INFORMATION TECHNOLOGY C PROGRAMMING UNIT I Computer systems: A Computer is an electronic device which performs operations such as accepts data As an input, store the data, manipulate or process the data and produce the results an output. Main task performed by a computer • Accept the data • Process or manipulate the data • Display or store the result in the form of human understanding • Store the data, instructions and results.
Page
3
A computer system consists of hardware and software. Computer hardware is the collection of physical elements that comprise a
Page
4
computer system. Computer software is a collection of computer programs and related data that provides the instructions for a computer what to do and how to do it. Software refers to one or more computer programs and data held in the storage of the computer for some purpose Basically computer software is of three main types System Software: System software is responsible for managing a variety of independent hardware components, so that they can work together. Its purpose is to unburden the application software programmer from the often complex
Page
5
details of the particular computer being used, including such accessories as communications devices, printers, device readers, displays and keyboards, and also to partition the computer's resources such as memory and processor time in a safe and stable manner. • Device drivers • Operating systems • Servers • Utilities • Window systems Programming Software: Programming Software usually provides tools to assist a programmer in writing computer programs, and software using different programming languages in a more convenient way. The tools include: • Compilers • Debuggers • Interpreters • Linkers • Text editors Application Software: Application software is developed to aid in any task that benefits from computation. It is a broad category, and encompasses Software of many kinds, including the internet browser being used to display this page. This category includes: • Business software • Computer aided design • Databases • Decision making software • Educational software • Image editing Computing Environment: Computing Environment is a collection of computers / machines, software, and networks that support the processing and exchange of electronic information meant to support various types of computing solutions. Types of Computing Environments:
Page
6
• Personal Computing Environment • Client Server Environment • Time sharing Environment • Distributed Environment Personal Computing Environment: All of the computer hardware components are tied together in our personal computer. A personal computer ( PC ) is a computer whose original sales price, size, and capabilities make it useful for individuals, and intended to be operated directly by an end user, with no intervening computer operator. People generally relate this term with Microsoft‟s Windows Operating system. Personal computers generally run on Windows, Mac or some version of Linux operating system. Desktop: Desktop computer is just another version of Personal Computer intended for regular use from a single use. A computer that can be fit on a desk can also be called as desktop.
Page
7
Time-Sharing Environment: In the time-sharing environment, all computing must be done by the central computer. The central computer the shared resources, it manage the shared data and printing. Employees in large companies often work in what is known as time sharing environment. In the time sharing environment, many users are connected to one or more computers. These computers may be mini computers and central mainframes. In this environment the output devices, auxiliary storage devices are shared by all the users.
Page
8
Client/Server Environment Client/Server computing environment splits the computing function between a central computer and user‟s computers. The users are given personal computers or work stations so that some of the computation responsibility can be moved from the central computer and assigned to the workstations. In the client/server environment the users micro computers or work stations are called the client. The central computer which may be a powerful micro computer, minicomputer or central mainframe system is known as server.
Page
9
Distributed Computing Environment A distributed computing environment provides a seamless integration of computing functions between different servers and clients. The internet provides connectivity to different servers throughout the world. This environment provides reliable, scalable and highly available network.
Page
10
COMPUTER LANGUAGES In order to communicate with the computer user also needs to have a language that should be understood by the computer. For this purpose, different languages are developed for performing different types of work on the computer. Basically, languages are divided into two categories according to their interpretation. 1. Low Level Languages. 2. High Level Languages. Low Level Languages Low level computer languages are machine codes or close to it. Computer cannot understand instructions given in high level languages or in English. It can only understand and execute instructions given in the form of machine language i.e. language of 0 and 1. There are two types of low level languages: • Machine Language. • Assembly Language Machine Language: It is the lowest and most elementary level of Programming language and was the first type of programming language to be Developed. Machine Language is basically the only language which computer Can understand. In fact, a manufacturer designs a computer to obey just one Language, its machine code, which is represented inside the computer by a String of binary digits (bits) 0 and 1. The symbol 0 stands for the absence of Electric pulse and 1 for the presence of an electric pulse . Since a computer is
Page
11
Capable of recognizing electric signals, therefore, it understand machine Language. Advantages of Machine Language i) It makes fast and efficient use of the computer. ii) It requires no translator to translate the code i.e. Directly understood by the computer Disadvantages of Machine Language: i) All operation codes have to be remembered iv) These languages are machine dependent i.e. a particular Machine language can be used on only one type of computer Assembly Language It was developed to overcome some of the many inconveniences of machine language. This is another low level but a very important language in which operation codes and operands are given in the form of alphanumeric symbols instead of 0‟s and l‟s. These alphanumeric symbols will be known as mnemonic codes and can have maximum up to 5 letter combination e.g. ADD for addition, SUB for subtraction, START,LABEL etc. Because of this feature it is also known as „Symbolic Programming Language‟. This language is also very difficult and needs a lot of practice to master it because very small English support is given to this language. The language mainly helps in compiler orientations. The instructions of the Assembly language will also be converted to machine codes by language translator to be executed by the computer.
Page
12
Advantages of Assembly Language i) It is easier to understand and use as compared to machine language. ii) It is easy to locate and correct errors. iii) It is modified easily Disadvantages of Assembly Language i) Like machine language it is also machine dependent. ii) Since it is machine dependent therefore programmer Should have the knowledge of the hardware also. High Level Languages High level computer languages give formats close to English language and the purpose of developing high level languages is to enable people to write programs easily and in their own native language environment (English). High-level languages are basically symbolic languages that use English words and/or mathematical symbols rather than mnemonic codes. Each instruction in the high level language is translated into many machine language instructions thus showing one-to-many translation Types of High Level Languages Many languages have been developed for achieving different variety of tasks, some are fairly specialized others are quite general purpose. These are categorized according to their use as a) Algebraic Formula-Type Processing . These languages are oriented
Page
13
towards the computational procedures for solving mathematical and statistical problem Examples are • BASIC (Beginners All Purpose Symbolic Instruction Code). • FORTRAN (Formula Translation). • PL/I (Programming Language, Version 1). • ALGOL (Algorithmic Language). • APL (A Programming Language). b) Business Data Processing: • These languages emphasize their capabilities for maintaining data processing procedures and files handling problems. Examples are: • COBOL (Common Business Oriented Language). • RPG (Report Program Generator b) String and List Processing : These are used for string manipulation including search for patterns, inserting and deleting characters. Examples are: • LISP (List Processing). • Prolog (Program in Logic). Object Oriented Programming Language In OOP, the computer program is divided into objects. Examples are: • C++ • Java e) Visual programming language : these are designed for building Windows- based applications Examples are: • Visual Basic • Visual Java • Visual C
Page
14
(This page has no text content)
Page
15
(This page has no text content)
Page
16
Advantages of High Level Language Following are the advantages of a high level language: • User-friendly • Similar to English with vocabulary of words and symbols • Therefore it is easier to learn. • They are easier to maintain. Disadvantages of High Level Language • A high-level language has to be translated into the machine language by a translator and thus a price in computer time is paid. • The object code generated by a translator might be inefficient Compared to an equivalent assembly language program Creating and Running Programs: There are four steps in this process. 1. Writing and editing the program using Text editor (source code). 2. Compile the program using any C compiler.(.bak file) 3. Linking the program with the required library modules(object file) 4. Executing the program. (.Exe file) Creating and Editing a C Program in C Programming Language compiler: Writing or creating and editing source program is a first step in c language.
Page
17
Source code is written in c programming language according to the type of problem or requirement, in any text editor. Saving C Program in C Programming Language: Source code is saved on the secondary storage. Source code is saved as text file. The extension of file must be ".c". Example the file name is "learn c programming language.c" Compiling C program in C Programming Language: Computer does not understand c programming language. It understands only 0 and 1 means machine language. So c programming language code is converted into machine language. The process of converting source code in to machine code is called compiling. Compiler is a program that compiles source code. Compiler also detects errors in source program. If compiling is successful source program is converted into object program. Object program is saved on disk. The extension of file is ".obj" Linking in C programming Language: There are many built in functions available in c programming language. These functions are also called library functions. These functions are stored in different header files. Loading program: The process of transferring a program from secondary storage to main memory for execution is called loading a program. A program called loader does loading. Executing program: Execution is the last step. In this step program starts execution. Its instructions start working and output of the program display on the screen.
Page
18
(This page has no text content)
Page
19
Pseudocode : is an artificial and informal language that helps programmers develop algorithms. Pseudocode is very similar to everyday English. Algorithm: An algorithm is a description of a procedure which terminates with a result. Algorithm is a step-by-step method of solving a problem. Properties of an Algorithm: 1) Finiteness: - An algorithm terminates after a finite numbers of steps. 2) Definiteness: - Each step in algorithm is unambiguous. This means that the action specified by the step cannot be interpreted (explain the meaning of) in multiple ways & can be performed without any confusion. 3) Input: - An algorithm accepts zero or more inputs 4) Output:- An algorithm should produce at least one output. 5) Effectiveness: - It consists of basic instructions that are realizable. This means that the instructions can be performed by using the given inputs in a finite amount of time. Writing an algorithm An algorithm can be written in English, like sentences and using mathematical formulas. Sometimes algorithm written in English like language is Pseudo code. Examples 1) Finding the average of three numbers 1. Let a,b,c are three integers 2. Let d is float 3. Display the message “Enter any three integers:” 4. Read three integers and stores in a,b,c 5. Compute the d = (a+b+c)/3.0 6. Display “The avg is:” , d 7. End. ☐ Example 1: Write an algorithm to determine a student‟s final grade and indicate whether it is passing or failing. The final grade is calculated as the average of four marks.
Page
20
Pseudocode :: ☐ Input a set of 4 marks ☐ Calculate their average by summing and dividing by 4 ☐ if average is below 50 Print “FAIL” else Print “PASS” ☐ Detailed Algorithm : ☐ Step 1: Input M1,M2,M3,M4 Step 2: GRADE ☐ (M1+M2+M3+M4)/4 Step 3: if (GRADE < 50) then Print “FAIL” else Print “PASS” endif Flowcharts : The pictorial representation of algorithm is called flowchart. Uses of flow chart: 1 : flow chart helps to understand the program easily. 2 : as different symbols are used to specify the type of operation performed, it is easier to understand the complex programs with the help of flowcharts. Flowchart Symbols S.NO Description Symbols 1 Flowlines : These are the left to right or top to bottom lines connection symbols. These lines shows the flow of control through the program. 2 Terminal Symbol : The oval shaped symbol always begins and ends the flowchart. Every flow chart starting and ending symbol is terminal symbol. 3 Input / Output symbol : The parallelogram is used for both input (Read) and Output (Write) is called I/O symbol. This symbol is used to denote any function of an I/O device in the program. 4 Process Symbol : The rectangle symbol is called process symbol. It is used for calculations and initialization of memory locations.
The above is a preview of the first 20 pages. Register to read the complete e-book.
AI Reading Assistant
Whole-book reading guide from stratified index samples; jump to passages in the text
AI guide
【One-Line Pitch】
A ground-up C tutorial that walks absolute beginners from "what is software?" to writing, compiling, and debugging real C programs, while still covering the classic intermediate topics (pointers, arrays, functions, file I/O) that self-taught programmers tend to skip. Best for first-time programmers, students in a first C course, and hobbyists who want one patient reference instead of scattered tutorials.
【Book Arc】
- **Opening (~0%–12%)**: Sets the stage before any code — kinds of software (system, programming, application), computing environments, the history of C from ALGOL/BCPL/B through Dennis Ritchie, and why C is portable and fast. Solves the "why does this language exist and where does it fit" question.
- **Early (~12%–31%)**: Core language mechanics: data types (basic, derived, enum, void), constants in decimal/octal/hex, `#define`, formatted vs. unformatted console I/O, the full operator set (arithmetic, relational, logical, assignment, unary, conditional, bitwise, shift), and 2's complement. Then control flow: `if`/`else`, nested `if`, `switch`, and the three loops (`while`, `do-while`, `for`).
- **Middle (~31%–54%)**: Data organization and reuse: `goto` and labels, one- and two-dimensional arrays (all four initialization styles, string termination with `\0`), matrix multiplication, character/string I/O (`getchar`, `putchar`, `gets`, `%s`), and functions — parameters, return values, and the crucial call-by-value vs. call-by-reference distinction.
- **Late (~54% onward)**: The excerpts thin out here; the remaining material appears to move into pointers, structures, and file handling, but the sampled chunks do not cover these in detail.
【Key Takeaways】
- **C is a small language with a large toolchain story** (Opening): the book spends real space on compilers, linkers, debuggers, and the `.c` → `.obj` → executable pipeline, so you understand what happens after you hit "build."
- **Data types and constants come before logic** (Early): basic vs. derived vs. enum vs. void, plus decimal/octal/hex integer constants and their prefix rules (`0`, `0x`) — small details that cause real beginner bugs.
- **Operators are the densest early chapter** (Early): nine operator categories, compound assignment shortcuts, and the prefix/postfix trap (`i++ + ++i`) that the book explicitly demonstrates with output.
- **Bitwise work requires 2's complement literacy** (Early): the book ties bitwise complement to 2's complement arithmetic rather than treating it as a magic formula.
- **Control flow is taught through complete runnable programs** (Early): odd/even checks, `switch` menus, and natural-number printing — each concept arrives with input, code, and output.
- **Arrays are memory layouts, not just syntax** (Middle): initialization styles, partial filling with `\0`, size inference, and the string-length-plus-one rule are all shown with address-style diagrams.
- **Call by value vs. call by reference is the pivot to pointers** (Middle): the swap example is the book's bridge from "functions" to "addresses," and it is worth slowing down for.
- **The book is example-driven rather than exercise-driven** (throughout): concepts are demonstrated with short programs and expected output, so you learn by reading and retyping rather than by solving problem sets.
【Reading Tips】
- **Skim the opening software/history section** if you already know what a compiler is; return to it only for the C timeline and portability rationale.
- **Deep-read the operators and control-flow chapters** — this is where the book is most concrete, and where beginners form habits that are hard to break later.
- **Retype every example and predict the output before running it**, especially the increment/decrement and bitwise examples where the printed result is counterintuitive.
- **Treat the call-by-value vs. call-by-reference section as a checkpoint**: if you cannot explain why the first swap fails and the second succeeds, reread it before moving on.
- **Do not rely on this book alone for pointers, structs, and files** — the excerpts suggest those topics are present but lightly sampled; pair it with a dedicated reference or course material for the late chapters.
【Coverage Limits】
This guide is based on 20 of 27 indexed chunks, with the sample heavily weighted toward the first half of the book. Pointers, structures, unions, dynamic memory, and file handling are not covered in the available excerpts, so their treatment here is inferred from the book's stated scope rather than verified.
Passage locations
Page 13
a Translation). • PL/I (Programming Language, Version 1). • ALGOL (Algorithmic Language). • APL (A Programming Language). b) Business Data Processing: • Thes...
View in text
Excerpt 2
pound assignment operators to assign a value to variable in order to assign a new value to a variable after performing a specified operation. Operator Exampl...
View in text
Excerpt 3
"You chose Two"); break; case 3: printf("You chose Three"); break; case 4: printf("You chose Four"); break; case 5: printf("You chose Five."); break; default...
View in text
Excerpt 4
zation with a String : consider the declaration with string initialization. char b[ ] = “COMPUTER”; Here, the string length is 8 bytes. But , string size is...
View in text
Recommended for You
{{#thumbnailUrl}}
{{/thumbnailUrl}}
{{^thumbnailUrl}}
{{/thumbnailUrl}}
Loading recommended books...
Failed to load, please try again later
Tip the Site
Scan the WeChat Pay or Alipay code to tip. No login required.
WeChat Pay
Alipay