1 / 56

Operatorer

Operatorer. Operand(er). Operator och operand. 3 + 2. Aritmetiska operatorer i C. Aritmetiska operatorer i C. + addition - subtraktion · multiplikation / division % modulo-operatorn , resten vid positiv heltals-division - negation, unär operator. Exempel.

niyati
Download Presentation

Operatorer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operatorer

  2. Operand(er)

  3. Operator och operand 3 + 2

  4. Aritmetiskaoperatorer i C

  5. Aritmetiskaoperatorer i C + addition - subtraktion · multiplikation / division % modulo-operatorn , resten vid positiv heltals-division - negation, unär operator

  6. Exempel Aritmetiskaoperatorer i C + addition - subraktion · multiplikation / division % modulo-operatorn , resten vid positiv heltals-division - negation, unär operator

  7. Aritmetiskaoperatorer i Cexempel

  8. Aritmetiskaoperatorer i Cexempel negation -2

  9. Aritmetiskaoperatorer i Cexempel negation, addition -2+4

  10. Aritmetiskaoperatorer i Cexempel negation, addition, division -2+4 / 2

  11. Aritmetiskaoperatorer i Cexempel negation, addition, division, multiplikation -2+4 / 2*3

  12. Aritmetiskaoperatorer i Cexempel negation, addition, division, multiplikation, subtraktion -2+4 / 2*3- 1

  13. detta är ett uttryck Aritmetiskaoperatorer i Cexempel negation, addition, division, multiplikation, subtraktion -2+4 / 2*3- 1

  14. detta är ett uttryck Aritmetiskaoperatorer i Cexempel negation, addition, division, multiplikation, subtraktion -2+4 / 2*3- 1 uttryck i C har ett värde av en viss typ, i detta fall 3 ( int )

  15. detta är ett uttryck Aritmetiskaoperatorer i Cexempel negation, addition, division, multiplikation, subtraktion -2+4 / 2*3- 1 uttryck i C har ett värde av en viss typ, i detta fall 3 ( int ) #include <stdio.h> int main( void ) { printf( "Uttrycket -2+4/2*3-1 = %d",-2+4/2*3-1 ); return 0; } OP1.EXE

  16. Aritmetiskaoperatorer i Cexempel negation, addition, division, multiplikation, subtraktion -2+4 / 2*3- 1 operatorernas prioritet är den vanliga matematiska

  17. Aritmetiskaoperatorer i Cexempel vill man ändra prioritetsordning så gör man det med parenteser negation, addition, division, multiplikation, subtraktion (-2+4 ) / 2*3- 1 operatorernas prioritet är den vanliga matematiska

  18. Aritmetiskaoperatorer i Cexempel vill man ändra prioritetsordning så gör man det med parenteser negation, addition, division, multiplikation, subtraktion (-2+4 ) / 2*3- 1 operatorernas prioritet är den vanliga matematiska #include <stdio.h> int main( void ) { printf( "Uttrycket (-2+4)/2*3-1 = %d",(-2+4)/2*3-1 ); return 0; } OP2.EXE

  19. Aritmetiskaoperatorer i Cexempel ett varningens ord om division, och som också brukar dyka upp som tentamensfråga .....

  20. Aritmetiskaoperatorer i Cexempel vad tror du 9/2 är?.....

  21. Aritmetiskaoperatorer i Cexempel vad tror du 9/2 är?.....

  22. Aritmetiskaoperatorer i Cexempel hmm, ja det är väl 4,5? vad tror du 9/2 är?.....

  23. Aritmetiskaoperatorer i Cexempel vad tror DU ?

  24. Aritmetiskaoperatorer i Cexempel prova ! OP3.EXE #include <stdio.h> int main( void ) { printf( "Uttrycket 9/2 = %f", (double)(9/2) ); return 0; }

  25. Aritmetiskaoperatorer i Cexempel division av två heltal (int) i C ger ett heltal som svar. Om man vill ha ett flyttal (double ) som svar så ordnas detta genom att göra antingen divisor eller dividend till en double. Sätt till en decimalpunkt, här! #include <stdio.h> int main( void ) { printf( "Uttrycket 9/2 = %f", (double)(9/2) ); return 0; }

  26. Aritmetiskaoperatorer i Cexempel så ja!Testa! #include <stdio.h> int main( void ) { printf( "Uttrycket 9/2 = %f", (double)(9/2.) ); return 0; } OP4.EXE

  27. Aritmetiskaoperatorer i Cexempel hmm, men vad gör den där modulo-grejen? %

  28. Aritmetiskaoperatorer i Cexempel den ger resten vid heltalsdivision, kika på nästa sida! hmm, men vad gör den där modulo-grejen? %

  29. Aritmetiskaoperatorer i Cexempel multiplikation t ex 7*3 är ju detsamma som att addera 7 3 ggr (7+7+7).På motsvarande sätt betyder 7/3 ”hur många ggr går det att subtrahera 3 från 7” (7-3-3). Det går två hela ggr och så får man resten 1Denna rest får man fram med %. Provkör exemplet! #include <stdio.h> int main( void ) { printf( "Uttrycket 7%%3 = %d", 7%3 ); return 0; } OP5.EXE

  30. Aritmetiskaoperatorer i Cexempel multiplikation t ex 7*3 är ju detsamma som att addera 7 3 ggr (7+7+7).På motsvarande sätt betyder 7/3 ”hur många ggr går det att subtrahera 3 från 7” (7-3-3). Det går två hela ggr och så får man resten 1Denna rest får man fram med %. Provkör exemplet! OBS! dubbla % ! #include <stdio.h> int main( void ) { printf( "Uttrycket 7%%3 = %d", 7%3 ); return 0; } OP5.EXE

  31. Aritmetiskaoperatorer i C undrar hur man gör med de där?

  32. Aritmetiskafunktioner i C då räcker det inte med operatorer utan man får plocka fram det tunga artilleriet nämligen funktioner !

  33. Exempel Aritmetiskafunktioner i C några funktioner ur math.h double acos (double ); double asin (double ); double atan (double ); double ceil (double ); double cos (double ); double cosh (double ); double exp (double ); double fabs (double ); double floor (double ); double log (double ); double log10 (double ); double pow (double , double ); double sin (double ); double sinh (double ); double sqrt (double ); double tan (double ); double tanh (double );

  34. Aritmetiskafunktioner i Cexempel #include <stdio.h> #include <math.h> int main( void ) { printf( "Uttrycket pow(2,16)-1 = %0.0f", pow(2,16)-1 ); return 0; } OP6.EXE

  35. Aritmetiskafunktioner i C några funktioner ur stdlib.h int abs(int ); long labs(long );

  36. ”Öka eller minska med ett” -operatorn

  37. ”Öka eller minska med ett” -operatorn I C ökas (eng.increment) resp minskas (eng. decrement) en heltalsvariabel med värdet 1 på följande sätt, #include <stdio.h> int main( void ) { int i=0, j=5; printf( "Variabelvärden: i = %d \n", i ); printf( "Variabelvärden: j = %d \n", j ); printf( "Uttrycket \t ++i = %d och j++ = %d \n", ++i, j++ ); printf( "Variabelvärden: i = %d \n", i ); printf( "Variabelvärden: j = %d \n", j ); return 0; } operatorn ++ som prefix-operator som innebär att i:s värde ökas med ett innan uttrycket beräknas ++ som postfix-operator, j:s värde ökas med ett efter det attuttrycket beräknats OP7.EXE

  38. ”Öka eller minska med ett” -operatorn På motsvarande sätt fungerar ”minska med ett”-operatorn #include <stdio.h> int main( void ) { int i=0, j=5; printf( "Variabelvärden: n = %d \n", i ); printf( "Variabelvärden: i = %d \n", j ); printf( "Uttrycket \t --i * j-- = %d \n", --i * j--); printf( "Variabelvärden: n = %d \n", i ); printf( "Variabelvärden: i = %d \n", j ); return 0; } operatorn -- som prefix-operator som innebär att i:s värde minskas med ett innan uttrycket beräknas -- som postfix-operator, j:s värde minskas med ett efter det attuttrycket beräknats OP8.EXE

  39. Jämförelseoperatorer

  40. Jämförelseoperatorer < ”mindre än” - operatorn > ”större än” - operatorn <= ”mindre än eller lika med” - operatorn >= ”större än eller lika med” - operatorn == ” lika med” - operatorn ( OBS! dubbelt = ) != ” skilt från” - operatorn

  41. Exempel Jämförelseoperatorer < ”mindre än” - operatorn > ”större än” - operatorn <= ”mindre än eller lika med” - operatorn >= ”större än eller lika med” - operatorn == ” lika med” - operatorn ( OBS! dubbelt = ) != ” skilt från” - operatorn

  42. Jämförelseoperatorerexempel eftersom du gör så här måste det betyda att jämförelseuttrycken har ett heltalsvärde!? #include <stdio.h> int main( void ) { int i=0, j=5; printf( "Variabel i = %d och j = %d \n\n", i, j ); printf( "Uttrycket: \t i == j får vördet %d \n", i == j); printf( "och \t\t i != j får värdet %d \n", i!=j ); return 0; } provsmaka! OP9.EXE

  43. Exempel Jämförelseoperatorerexempel • detta betyder att ett falskt villkorsuttryck har värdet 0 , • i detta fall har ( i == j ) värdet 0 • och ett sant värdet 1, • i detta fall har ( i!=j ) värdet 1

  44. #include <stdio.h> #define DELAY 1000000L int main( void ){ long i; while ( 1==1 ) { printf("A"); for ( i=1; i < DELAY ; i++ ) ; printf("\tn"); for ( i=1; i < DELAY ; i++ ) ; printf("\td"); for ( i=1; i < DELAY ; i++ ) ; printf("\te"); for ( i=1; i < DELAY ; i++ ) ; printf("\tr"); for ( i=1; i < DELAY ; i++ ) ; printf("\ts"); for ( i=1; i < DELAY ; i++ ) ; printf("\r \t \t \t \t \t \r"); for ( i=1; i < DELAY ; i++ ) ; } return 0; } Iteration i Cexempel 1 minns ni det här exemplet?För att få en oändlig loopkan man lika gärna skriva while ( 1 ).

  45. Tilldelningsoperatorerde vanligaste

  46. Tilldelningsoperatorerde vanligaste enkel tilldelning =x = y *3 sammansatt tilldelning, två blir en += x += 3 är detsamma som x = x + 3 -= x -= 3 är detsamma som x = x - 3 *=x *= 3 är detsamma som x = x * 3 /= x /= 3 är detsamma som x = x / 3 %=x %= 3 är detsamma som x = x % 3

  47. Tilldelningsoperatorerde vanligaste tilldelning sker från höger till vänster , x ¬ 3 enkel tilldelning =x = y *3 sammansatt tilldelning, två blir en += x += 3 är detsamma som x = x + 3 -= x -= 3 är detsamma som x = x - 3 *=x *= 3 är detsamma som x = x * 3 /= x /= 3 är detsamma som x = x / 3 %=x %= 3 är detsamma som x = x % 3

  48. Tilldelningsoperatorerde vanligaste eftersom tilldelning betraktas som ett uttryck så har uttrycket ett värde, i detta fall 10. Det går även att göra multiplatilldelningar från höger till vänster . #include <stdio.h> int main( void ) { int i=0, j=5; printf( "Variabel i = %d och j = %d \n\n", i, j ); printf( "Uttrycket: \t i = j = 2 * j får vördet %d \n", i = j = 2 * j ); printf( "och \t\t i = %d och j = %d \n", i, j); return 0; } OP10.EXE

  49. Villkorsoperatornden enda operatorn med tre operander

  50. Villkorsoperatornden enda operatorn med tre operander minns ni det här exemplet?I detta program användsvillkorsoperatorn.

More Related