Ceng 230 Programming with C Tansel Dökeroğlu Computer Engineering Department Spring 2015 tanseldoker@yahoo.com.tr 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 (tanseldoker@yahoo.com.tr) Until next week No cell phones Never give up