36
Liza Fireman Tutorial #3 Summer 2005

Liza Fireman Tutorial #3 Summer 2005. Liza Fireman Keywords whilevolatilevoidunsigned uniontypedefswitchstruct staticsizeofsignedshort returnregisterLongint

  • View
    221

  • Download
    0

Embed Size (px)

Citation preview

Liza Fireman

Tutorial #3

Summer 2005

Liza Fireman

Keywords

unsignedvoidvolatilewhile

structswitchtypedefunion

shortsignedsizeofstatic

intLongregisterreturn

floatforgotoif

doubleelseenumextern

constcontinuedefaultdo

breakautocasechar

Liza Fireman

Names – legal or not?

the_one

temp

do_it!

intro2cs

drink-me

1st_street

counter

!is not legal -is not legal

1 can not be first

Liza Fireman

Names – legal or not?

int the_num, the_Num;

double Double;

double main;

int printf;

Liza Fireman

Significat names

cst = wh * pphr + prt;

pt = cst * (1 + v);

total_cost = work_hours * price_per_hour + parts_cost;payment = total_cost * (1 + vat);

Liza Fireman

2021222324252627

Types

2 bytes = 16 bits 32,000

4 bytes = 32 bits 2,000,000,000

short int long≥ ≥

00001101 =20 + 22 + 23 = 1 + 4 + 8 = 13

Liza Fireman

Hello World Program

2 bytes = 16 bits 65,000

4 bytes = 32 bits 4,000,000,000

unsigned short unsigned int unsigned long

Liza Fireman

Types

float double long double≥ ≥

מנטיס±ה

חזקה = ± מנטיסה 10 חזקה

Liza Fireman

Types

5000 , -30

256L , 30l

256U , 30u

12300ul 1234567UL

1.5 , -3.0, 4.2e5 , 10e-60

36.7F , 4.2e+5f

36.7L , .5l

Liza Fireman

Characters - ASCII

55‘7’

56‘8’

57‘9’

58’:‘

59’;‘

60‘<‘

61‘=‘

65‘A’

66‘B’

67‘C’

68‘D’

69‘E’

70‘F‘

71‘G‘

97‘a’

98‘b’

99‘c’

100‘d’

101‘e’

102‘f‘

103‘g‘

Liza Fireman

chars

#include <stdio.h>

int main()

{

char ch = ‘a’;

char ch2 = 67;

}

Liza Fireman

chars

#include <stdio.h>int main(){

char ch = 65;printf(“%d\n”, ch);printf(“%c”, ch);

} 65A

Liza Fireman

chars

#include <stdio.h>

int main()

{

printf(“%c %d\n”, 97, 97);

}

a 97

Liza Fireman

chars

#include <stdio.h>

int main()

{

printf(“%c %d\n”, ‘b’, ‘b’);

}

b 98

Liza Fireman

chars

#include <stdio.h>

int main()

{

printf(“%c %c %c\n”, ‘b’, ‘b’+1, ‘b’ + 2);

}

b c d

Liza Fireman

chars

#include <stdio.h>

int main()

{

char letter;

printf("Enter a lowercase letter: ");

scanf("%c", &letter);

printf("In uppercase: %c", (letter - 'a') + 'A');

} Enter lowercase letter: f

In uppercase: F

Liza Fireman

getchar

#include <stdio.h>int main(){

char letter;printf("Enter a lowercase letter: ");letter = getchar();printf("In uppercase: %c", (letter - 'a') + 'A');

}

Liza Fireman

Types

char → short → int → long → float → double → long double

7 / 3

7.0 / 3

7 / 3.0

=0

Liza Fireman

Types

int apples = 30, children = 12;double juice_from_apple = 0.1;double tot_orange_juice = 5.4;

double liters_per_cup = 0.3; double orange_juice_per_child = tot_orange_juice /

children;double apple_juice_per_child = (apples / children) *

juice_from_apple;double total_juice_per_child =

orange_juice_per_child + apple_juice_per_child;

double / int int * double

double + double

int / int

Liza Fireman

Types

int apples = 30, children = 12;

double juice_from_apple = 0.1;

double tot_orange_juice = 5.4;

double liters_per_cup = 0.3; …

int minimum_cups_per_child = total_juice_per_child / liters_per_cup;

double / double

int = double

Liza Fireman

casting

#include <stdio.h>int main(){

double d;d = (double)3 / 2;

}

Liza Fireman

casting

#include <stdio.h>

int main()

{int x = 2;

printf(“%lf”, (double)x);

}

Liza Fireman

casting

#include <stdio.h>int main(){

int cake_num = 5, children = 3;

double cake_per_child =

}

cake_num / children

Liza Fireman

casting

#include <stdio.h>int main(){

int cake_num = 5, children = 3;

double cake_per_child =

}

)double(cake_num / children

Liza Fireman

casting

#include <stdio.h>int main(){

int cake_num = 5, children = 3;

double cake_per_child =

}

cake_num / (double)children

Liza Fireman

casting

#include <stdio.h>int main(){

int cake_num = 5, children = 3;

double cake_per_child =

}

)double)(cake_num / children(

Liza Fireman

operators

a+ba-ba*ba/ba%b

a==ba!=ba<ba>ba<=ba>=b

a=ba+=ba-=ba*=ba/=ba%=b

a&&ba||b

a++++aa----a

Liza Fireman

Operatorsאסוציאטיביותאופרטורים

משמאל לימין. >- [] ()

! ~ ++ -- + - * & (type) sizeofמימין לשמאל

משמאל לימין* / %

משמאל לימין+ -

משמאל לימין>> <<

משמאל לימין> >= < <=

משמאל לימין== !=

משמאל לימין&

משמאל לימין^

משמאל לימין|

משמאל לימין&&

משמאל לימין||

מימין לשמאל?:

מימין לשמאל= += -= */ /= %= &= ^= |= >>= <<=

משמאל לימין,

Liza Fireman

Operatorsint main(){ char c; int t = 5, s = 7 ; double x = 8.5, y = 7.2 ; c = 'a' ; t = c + 1; c = t; printf("c = %c\n", c); t = (t - 'a' + 3) * x; s = s * y; printf("t = %d , s = %d\n", t , s); …}

c=bt = 34 s = 50

‘a’ + 1 = ‘b’ = 98‘b’ - ‘a’ + 3 = 1 + 3 = 4

4 * 8.5 = 34 7 * 7.2 = 50.4

Liza Fireman

Operatorsint main(){ char c; int t = 5, s = 7 ; double x = 8.5, y = 7.2 ; … x = (int)(y * s); y = (int)y * s; printf(“x = %lf , y = %lf\n", x , y); return 0 ;}

x=360.000000, y=350.000000

7.2 * 50 = 3607 * 50 = 350

Liza Fireman

Operators

int x , y;

x = 8 ;

y = ++x;

printf(“x = %d y = %d”,x ,y);

x=9, y=9

x= x + 1; y = x;

Liza Fireman

Operators

int x , y;

x = 8 ;

y = x++;

printf(“x = %d y = %d”, x ,y);

x=9, y=8

y = x; x= x + 1;

Liza Fireman

Operators

int n = 5, x , y;

x = n++;

y = ++n;

printf(x = %d , y = %d , x , y ) ;

x=5, y=7

Liza Fireman

Operators

int x = 5, y ;

y = -x + x ;

y = ++x ;

y = x++ ;

x = ++x + x++ ;

-5 + 5 = 0

x = 7, y = 6

x = 6, y= 6

Liza Fireman

Int and double

10 + 20 – 5 – 2

10 * 20 / 8 / 5

10 + 20 * 5

x = 4; y = 5;

z = y += x *= 5;

=23

=5 =110

Liza Fireman

getchar

#include <stdio.h>int main(){

char ch;ch = getchar();if ((ch >= ‘a’ && ch <= ‘z’) || (ch >= ‘A’ && ch <= ‘Z’)

printf(“a letter”);else

printf(“not a letter”);}