Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS115 Introduction to Programming

Similar presentations

Presentation on theme: "CS115 Introduction to Programming"— Presentation transcript:

1 CS115 Introduction to Programming
Inst. Senem Kumova Metin Textbook : A Book on C, A. Kelly and I.Pohl Lecture Notes : Office hours : TBA Office : 408 Senem Kumova Metin

2 WHAT is LANGUAGE ? Senem Kumova Metin

3 WHAT is PROGRAMMING?? scheduling or performing a task or / and event WHAT is COMPUTER PROGRAMMING?? creating a sequence of steps for a computer to follow in performing a task Senem Kumova Metin

A set of rules, symbols, and special words used to construct a computer program Senem Kumova Metin

5 Programming language rules consist of:
Rules of Syntax which specify how valid instructions are written in the language (like natural language rules subject + verb +object ) Rules of Semantics which determine the meaning of the instructions (what the computer will do) (like natural language rules A book has bitten a car ) Senem Kumova Metin

6 A COMPUTER PROGRAM ? A set of machine instructions which in turn are represented as sequences of binary digits ( … ) The execution sequence of a group of machine instructions is known as the flow of control. Senem Kumova Metin

7 FLOW OF CONTROL x > 0 print x int x and int y x = y+1 x = y-1
SCENARIO : you have 2 integers : x,y if x is greater than 0 then do x= y+ 1; else do x= y-1; print the value of x int x and int y x > 0 YES NO x = y+1 x = y-1 print x Senem Kumova Metin

8 Will we write codes in binary ??
SCENARIO : you have 2 integers : x,y if x is greater than 0 then do x= y+ 1; else do x= y-1; print the value of x 000…110001 100010….01 YES NO 10… Senem Kumova Metin

9 ASSEMBLY LANGUAGE Assembly language (or assembler code) was our first attempt at producing a mechanism for writing programs that was more palatable to ourselves movl #0x1,n compare: cmpl #oxa,n cgt end_of_loop acddl #0x1,n bra compare end_of_loop: Of course a program written in assembly code, in order to “run”, must first be translated (assembled) into machine code. Senem Kumova Metin

10 HIGH LEVEL LANGUAGE From the foregoing we can see that assembler language is not much of an improvement on machine code! A more problem-oriented (rather than machine-oriented) mechanism for creating computer programs would also be desirable. Hence the advent of high(er) level languages starts with the introduction of “Autocodes”, and going on to Algol, Fortran, Pascal, Basic, Ada, C, etc. Senem Kumova Metin

11 PROGRAM PROCESSING A program written in a high level language (source code) can only be run in its machine code equivalent format. SOURCE CODE  MACHINE CODE There are two ways of achieving this: Interpretation, and Compilation Senem Kumova Metin

12 1. INTERPRETATION Interpretation requires the use of a special program that reads and reacts to source code. Such a program is called an interpreter. During interpretation run-time errors may be detected and “meaningful” error messages produced. Senem Kumova Metin

13 2. COMPILATION Compilation requires the use of a special program (called a compiler) that translates source code into object code. SOURCE CODE  OBJECT CODE Sometimes various library files must be “linked in” using another special program called a linker, which produces executable code. OBJECT CODE  MACHINE CODE Senem Kumova Metin

14 LIBRARIES Libraries (in computer programming terms) contain chunks of precompiled (object) code for various functions and procedures that come with a programming language that requires compilation For example functions and procedures to facilitate I/O. Senem Kumova Metin

15 Why C? Native language of UNIX
Standard development language for personal computers Portable (can be moved to other machine !) Powerful set of operators and powerful libraries (some operators: ++,--….) Basis for Java, C++….. Senem Kumova Metin

16 A SHORT BREAK ! 20 min … Senem Kumova Metin

17 INTRODUCTION TO C Your First C programs
Basic I/O functions : printf / scanf Including libraries Writing comments Defining variables …. if statements Senem Kumova Metin

18 Learn printf #include <stdio.h> // library file void main(void)
{ printf("from sea to shining C\n"); } Senem Kumova Metin

19 Learn printf #include <stdio.h> void main(void) {
printf("from sea ”); printf(“to shining C\n"); } Senem Kumova Metin

20 Learn printf / scanf #include <stdio.h> void main(void) {
int x=0; printf(“x= %d”,x); // print x = 0 scanf(“%d”,&x); /* scan the value from screen and assign this value to x */ printf(“%d”,x); } Senem Kumova Metin

21 Comments /* Ignored part by the compiler */
// Ignored part by the compiler (only this line) void main() { //….. } Senem Kumova Metin

22 Comments Comments are arbitrary strings of symbols placed between the delimiters /* and */ Comments are not tokens but white spaces for the C compiler a) /* a comment */ c)   /**********    *  a comment *    ************/ b)    /*     * a comment     */ d)  /*************/      /*  a comment */     /*************/ Senem Kumova Metin

23 Variables and Assignment
#include<stdio.h> void main(void) { int kurus; // declarations of variables (int is a keyword, takes integer values) int lira=0; // declaration and initialization of a variable int toplam_kurus; lira =13; // Assignment statement, “=“ is the assignment operator kurus=56; // Assignment printf(“ Money is %d lira %d kurus\n”, lira, kurus); // printf statement toplam_kurus = lira*100+ kurus; printf(“ \n Total kurus is %d kurus\n”, toplam_kurus); // first part of the printf statement is a control string } Senem Kumova Metin

24 Variables and Assignment
OUTPUT: Money is 13 lira 56 kurus Total kurus is 1356 kurus Senem Kumova Metin

25 The use of #define #include<stdio.h> #define PI 3.14
/* Lines starting with # are called preprocessing directives Preprocessor first changes all occurences of identifier PI to 3.14 */ #include<stdio.h> #define PI 3.14 void main(void) { printf(“PI equals : %f\n”,PI); // %f is used for floating numbers } Senem Kumova Metin

26 If Statements C CODE SCENARIO/ MISSION : void main()
{ int x; int y; if( x>0) x=y+1; else x=y-1; printf(“%d”, x); } SCENARIO/ MISSION : you have 2 integers : x,y if x is greater than 0 then do x= y+ 1; else do x= y-1; print the value of x Senem Kumova Metin

27 if statements int mymaximum( int a , int b) { if(a>b) return a;
MISSION : Write a function called mymaximum that gets 2 integer values (as input parameters) and returns back the greater one int mymaximum( int a , int b) { if(a>b) return a; else return b; } Senem Kumova Metin

28 Functions and if statements
#include <stdio.h> int mymaximum(int a, int b); // FUNCTION PROTOTYPE void main(void) { int max, x, y =7; // DECLARE 3 VARIABLES, INITIALIZE Y printf("please give the value for x: "); scanf("%d",&x); // GET THE VALUE OF VARIABLE X max= mymaximum(x,y); // CALL TO THE MYMAXIMUM FUNCTION printf("Maximum = %d",max); // PRINT THE OUTPUT } int mymaximum( int a , int b) // DEFINE SUB-FUNCTION { if(a>b) return a; else return b; } Senem Kumova Metin

Download ppt "CS115 Introduction to Programming"

Similar presentations

Ads by Google