Top Banner
Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department Algorithms and Programming
63

Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

Sep 26, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

Chapter 2: Overview of C

General form of a C program

C language elements

Maltepe University

Computer Engineering Department

Algorithms and Programming

Page 2: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

http://www.ee.hacettepe.edu.tr/~alkar/ELE108

Page 3: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

(Info only)

Page 4: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

(Info only)

Page 5: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

(Info only)

Page 6: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department
Page 7: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

See L3_7_skeleton.C as a template for C programs.

Page 8: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department
Page 9: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department
Page 10: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department
Page 11: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department
Page 12: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department
Page 13: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

13

Page 14: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department
Page 15: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department
Page 16: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

16

Statement Comments - Do/Don’t

Say why, don’t paraphrase the code:

NO: /* subtract one from sheep */

sheep = sheep - 1;

YES: /* account for the sheep that

the big bad wolf just ate.*/

sheep = sheep - 1;

Page 17: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

17

Page 18: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

18

Page 19: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

19

Page 20: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

20

Page 21: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

21

Page 22: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

22

Page 23: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

23

Page 24: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

24

Page 25: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

25

Page 26: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

26

Page 27: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

27

Page 28: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

28

Page 29: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

See L3_29_C Dilinde Kullanılan Karakter Tipleri.docx and L3_29_C Data Types_Range

of values.docx for more details.

Also see programs L3_29_DataTypesSizeRanges.c and L3_29_StackOverFlow.c

Not 5 but 5.0

Not “A”

29

Page 30: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

30

Memory example

Variable declarations in C int i = 12; double gasPrice = 1.799; char bang = ‘!’;

Picture:

i

gasPrice

bang

12

1.799

‘!’

(int)

(double)

(char)

Page 31: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

31

Page 32: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

32

Page 33: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

33

Page 34: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

printf( "format-string", expression1, expression2 ... );

See L3_34_Printf_YerTutucuÖrnek.JPG

34

Page 35: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

35

Escape Sequences (Character Constants)

Escape Sequence Represents

\a Bell (alert)

\b Backspace

\f Formfeed

\n New line

\r Carriage return

\t Horizontal tab

\v Vertical tab

\' Single quotation mark

\ " Double quotation mark

\\ Backslash

\? Literal question mark

\ ooo ASCII character in

octal notation

\x hh ASCII character in

hexadecimal notation

http://msdn.microsoft.com/en-us/library/h21280bw(v=vs.80).aspx

Page 36: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

See L3_36_YertutucuOrnek.c 36

Page 37: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

37

Page 38: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

Examples

This code:

int x=3;

printf("%d is a prime number.\n", 43);

printf("43 plus 59 in decimal is %d.\n", 43+59);

printf(“Here %s go.", “you\n”);

printf(“\nA character %c a decimal number%d%s", ‘T’,x,”…”);

Produces this output:

43 is a prime number.

43 plus 59 in decimal is 102.

Here you

go.

A character T a decimal number 3... 38

See L3_38_printf1.c, L3_38_printf2.c

Page 39: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

• %10.2f _ _ _ _ 1 2 3 . 5 5 double

• %10.4f _ _ 1 2 3 . 5 5 0 0

• %.2f 1 2 3 . 5 5

• %10d _ _ _ _ _ _ _ 4 7 5 int

• %-10d 4 7 5 _ _ _ _ _ _ _

• %10c _ _ _ _ _ _ _ _ _ a char

39

Output Format Examples

See L3_39_BiçimliÇıktı.c program

Page 40: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

Do NOT forget & sign! 40

Page 41: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

41

space (‘ ’), tab (‘\t’), newline (‘\n’) are “whitespace”

Whitespace is skipped by scanf for int (“%d”), and double

(“%lf”)

This means the user can type spaces before a number

and they are ignored

Not skipped for char input “%c”

each character typed, including spaces, is used

Whitespace

Page 42: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

42

•Basic rule:

–% placeholders in the format must match variables

in the input list

– MUST! match one-for-one in number, order, and

type.

int studentID ;

double grade ;

scanf (“%d %lf”, &studentID , &grade ) ;

Multiple Inputs

Page 43: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

43

Page 44: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

44

#include <stdio.h>

int main()

{

int x;

float y;

double z;

printf("Bir tamsayi ve iki adet de reel sayi girin:");

scanf("%d%f%lf",&x,&y,&z);

printf("x=%d y=%f z=%f",x,y,z);

return 0;

}

Sample – (See L3_44_scanf1.c)

Page 45: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

45

#include <stdio.h>

int main()

{

int x;

float y;

double z;

printf("Bir tamsayi ve iki adet de reel sayi girin:");

scanf("%d%f",&x,&y);

printf("x=%d y=%f z=%f",x,y,z);

printf("\nhafizadan aliyor kalan degerleri\n");

scanf("%lf",&z);

printf("x=%d y=%f z=%f",x,y,z);

return 0;

}

Sample – (See L3_44_scanf2.c)

Page 46: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

46

Sample – (See L3_44_scanf3.c)

#include <stdio.h>

int main()

{

int sayi;

char harf;

printf("Bir tamsayi ve bir karakter girin: ");

scanf("%d%c",&sayi,&harf);

printf("sayi=%d harf=%c=\n",sayi,harf);

printf("sayi=%d harf=%d=",sayi,harf);

return 0;

}

Karakter okumadan önce sayı okunursa hafızada kalan whitespace

karakterlerini temizlemek gerekir.

Page 47: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

47

Sample – (See L3_44_scanf4.c)

#include <stdio.h>

int main()

{

int sayi;

char harf;

printf("Bir tamsayi ve bir karakter girin: ");

scanf("%d %c",&sayi,&harf);//Karakter okumadan önce

//boşluk ekleyip hafiza temizlenir

printf("sayi=%d harf=%c",sayi,harf);

return 0;

}

Page 48: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

See slide 10. 48

Page 49: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

49

Page 50: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

50

Page 51: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

51

Page 52: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

52

Page 53: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

53

Page 54: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

54

Page 55: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

55

Page 56: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

56

Page 57: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

57

Page 58: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

58

Page 59: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

59

Page 60: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

60

Page 61: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

61

Page 62: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

DO

Use plenty of comments - but not too many

Use white space

Use indentation

Choose descriptive names

Use named constants

DON’T

be terse, tricky

place speed above correctness, simplicity

use “magic numbers”

62

Style Summary: Clarity is Job #1

Page 63: Algorithms and Programming Chapter 2: Overview of C ... · Chapter 2: Overview of C General form of a C program C language elements Maltepe University Computer Engineering Department

63