week_1 - METU Computer Engineering

Download Report

Transcript week_1 - METU Computer Engineering

Ceng 230 Programming with C
Tansel Dökeroğlu
Computer Engineering Department
Spring 2015
[email protected]
Web pages
Official web site of the course
ceng230.ceng.metu.edu.tr
My personal C lecture web site:
http://www.ceng.metu.edu.tr/~e1451970/
"All the high-school students will be taught
the fundamentals of computer technology will
become proficient in binary arithmetic and will be
trained to perfection in the use of the computer
languages “
Science fiction writer Isaac Asimov's Predictions
For 2014 From in 1960s
• COMPUTER
– Device capable of performing computations and making logical decisions
– Computers process data under the control of sets of instructions called
computer programs
• Hardware
– Various devices comprising a computer
– Keyboard, screen, mouse, disks, memory, CD-ROM, printer, and processing
units
• Software
– Programs that run on a computer
– Microsoft Windows, Microsoft Office, Internet Explorer
Conceptual Structure of a Computer System
CPU (Central Processing Unit)
• Process and manipulate information stored in memory.
• It can be divided into two units: CU (Control Unit) and
ALU (Arithmetic Logic Unit)
• CU coordinates activities of the computer and controls
other devices of computer.
• ALU processes arithmetical and logical instructions.
Bit and Byte
A bit is a single numeric value, either '1' or '0', that encodes a
single unit of digital information.
A byte is a sequence of bits; usually eight bits equal one byte.
Byte = 8 bits
KiloByte (KB) = 1,024 Bytes
MegaBytes (MB) = 1,024 KB
GigaByte (GB) = 1,024 MB
TeraByte (TB) = 1,024 GB
Memory
• Store information (data + instructions)
• A sequence of memory cells.
• Store, retrieve, update
– changing the pattern of 0 and 1s in memory cells
– copying these patterns into some internal registers
• Stored information in memory is volatile.
Binary System
• Hardware can only deal with binary digits, 0 and 1.
• Must represent all numbers, integers or floating
point, positive or negative, by binary digits, called
bits.
• Can devise electronic circuits to perform arithmetic
operations: add, subtract, multiply and divide, on
binary numbers.
Binary System
• Decimal system: made of 10 digits, {0,1,2, . . . , 9}
41 = 4×101 + 1×100
255 = 2×102 + 5×101 + 5×100
• Binary system: made of two digits, {0,1}
00101001 = 0×27 + 0×26 + 1×25 + 0×24
+1×23 + 0×22 + 0×21 + 1×20
= 32 + 8 +1 = 41
11111111 = 255, largest number with 8
binary digits, 28-1
ASCII Table
American Standard Code for Information Interchange
History of C
•C
– Developed by Denis M. Ritchie at AT&T Bell Labs in
1972 as a systems programming language
– Used to develop UNIX
– Used to write modern operating systems
– Hardware independent (portable)
• Standardization
– Many slight variations of C existed, and were incompatible
– Committee formed to create a "unambiguous, machine
independent“ definition
– Standard created in 1989, updated in 1999
Other High-level Languages
– C++
• Superset of C, and provides object-oriented capabilities
– Java
• Create web pages with dynamic and interactive content
– Fortran
• Used for scientific and engineering applications
– Cobol
• Used to manipulate large amounts of data
– Pascal
• Intended for academic use
Flow chart of a program (Algorithm)
In mathematics and computer science, an algorithm is a step-bystep procedure for calculations.
C language
development environment
Devc++ to write C code
http://www.bloodshed.net/devcpp.html
printf( "Welcome to \%d", (3/2) );
Output is : 1
! exclamation mark
Use search engines while studying for errors or sample codes
Useful links for C programming
http://www.programmingsimplified.com/c-program-examples
http://www.tutorialspoint.com/cprogramming/
http://www.wikihow.com/Learn-to-Program-in-C
http://www.programiz.com/c-programming/examples
Homework
Install BloodshedC++ compiler to your computer
Write a C program that prints your name, surname and mail
adress to the screen.
Send the C file to my address ([email protected])
Until next week
No cell phones
Never give up