Download presentation
Presentation is loading. Please wait.
Published byWinfred Shelton Modified over 9 years ago
1
CSE 2541 – Advanced C Programming Instructor: Yang Zhang Zhang.863@osu.edu
2
Course info Prereq – CSE 2221 or CSE 222 Co-req – CSE 2231 Website – http://www.cse.ohio-state.edu/~zhangya/2451/
3
Brief history of C 1970’s – Unix – C, from BCPL (Thompson and Ritchie) C programming Language – Widely used like the others: Fortran, Pascal – Main form of language for system programming – Available on any machine with C compiler and library
4
Why C? Popular language – Operating systems (Win, Linux, FreeBSD) – Web servers (Apache) – Web browsers (Fox) – Mail servers (sendmail, postfix) – DNS servers (bind) – Graphics card programming (OpenCL) Programming language rankings Why? – Performance – Portability – Familiar to programmers
5
Why C? Compared to assembly language – Abstracts the hardware view (registers, memory, call stacks), making code portable and easier – Provides variables, functions, arrays, complex arithmetic, Boolean expressions Compared to other high-level languages – Maps almost directly into hardware instructions, making optimization easier – Provides a minimal set of abstractions compared to other HLLs – Like other HLLs, makes complex programming simpler (at the expense of efficiency)
6
Hello World – code /* Hello World! */ #include int main() { printf(“Hello World!\n”); return 0; }
7
C compilation model
8
Hello World – walkthrough C program: hello.c – emacs, vi, vim, pico, joe … – Plaintext only Preprocessing: hello.s, assembly code – cc -S hello.c Compilation: hello.o, a binary file – cc -c hello.s Linking: a.out or hello, an executable file – cc hello.o – cc -o hello hello.o Loading (dynamical linking) and execution:./hello –./a.out –./hello
9
Hello World – content breakdown Comment Preprocessor directive Function definition Output statement Return clause
10
#include int main() { int first, second, add; float divide; printf("Enter two integers\n"); scanf("%d%d", &first, &second); add = first + second; divide = first / (float)second; printf("Sum = %d\n",add); printf("Division = %.2f\n",divide); return 0; } Second Example
11
Second example – content breakdown Variables Function calls – Input – Output Operators Typecasting
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.