SIMPPELI OHJELMA
int main(void){
printf("Moi maailma!");
return 0;
}
funktiot
int potenssiinKaksi(int x){
int y=x*x;
return y;
}
funktiot 2
- ottaa parametriksi ja
- tuottaa tulokseksi (palauttaa)
minkä tahansa muotoista tietoa.
Funktion kutsuminen aiheuttaa
suorituksen haarautumisen.
funktiot 3
Parametrien nimien ei täydy olla samoja prototyypin
- esittelyssä
- toteutuksessa
- tai kutsuvassa funkotiossa
...mutta tietotyyppien täytyy olla samat
summa(int x,int y)
on sama kuin
summa(int a, int b)
mutta eri kuin
summa(int x,
float y)
.
(Mikko Vuorinen, Ohjelmoinnin perusteet, Metropolia 2011)
funktiot 4
C:ssä funktiolle välitetään parametrit aina
arvoina!
Eli funktioita kutsuttaessa parametrien arvot kopioidaan funktion parametreihin.
-> Jos muuttujan arvoa muuttaa funktiossa, se ei automaattisesti näy alkuperäisessä muuttujassa, joka on annettu parametriksi
funktiot 5
(Mikko Vuorinen, Ohjelmoinnin perusteet, Metropolia 2011)
#include "stdio.h"
void multiplyByThree(int n);
int main(void){
int number=3;
printf("%d",number);
printf("\n");
multiplyByThree(number);
printf("%d",number);
printf("\n");
}
void multiplyByThree(int number){
number = number * 3;
}
#include "stdio.h"
int multiplyByThree(int n);
int main(void){
int number=3;
printf("%d",number);
printf("\n");
number=multiplyByThree(number);
printf("%d",number);
printf("\n");
}
int multiplyByThree(int number){
number = number * 3;
return number;
}
Funktiot: arvon palautus
PERUSRAKENTEET
( KIELEN SYNTAKSI + VARATUT SANAT)
int main ( void ){
perusrakenteet
( kielen syntaksi + varatut sanat)
int main ( void ){
printf ("Moi maailma! ");
return 0 ;
}
OMAN FUNKTION MÄÄRITTELY
#include <stdio.h>
int main( void){ // "void" tarkoittaa: tyhjä, ei parametrejä
funktion sisältö aaltosulkuihin
int main(void) {
printf( "Moi maailma!" );
return 0;
}
VALMIIN FUNKTION KUTSUMINEN
int main(void){
printf( "Moi maailma!" );
return 0;
}
funktion suorituksen loppu
#include <stdio.h>
int main(void){
printf("Moi maailma!");
return 0; // koska funktion tyyppi yllä on int, palautettava kokonaisluku
}
kehittyneempi ohjelma
#include
/* Tämä on hieno ohjelma*/
int main(void){
int luku = 0;
printf("Moi maailma!");
scanf("%d", &luku);
printf("Luku oli: %d\n",luku);
return 0;
}
muuttujan määrittely
#include
/* Tämä on hieno ohjelma*/
int main(void){
int luku = 0;
printf("Moi maailma!");
scanf("%d", &luku);
printf("Luku oli: %d\n",luku);
return 0;
}
muuttujat?
int luku = 5;
bool kyllaTaiEi = true; // arvo: true / false
double desimaaliluku = 5.5; // liukuluku
char* teksti = "Moi maailma!";
QString teksti = "Moi tietokone.";
luvun kysyminen
#include <stdio.h> /* Tämä on hieno ohjelma*/ int main(void){ int luku; printf("Moi maailma!"); scanf("%d", &luku); printf("Luku oli: %d\n",luku); return 0; }
funktiot, joilla on monta parametria
Luetaan käyttäjän kirjoittama arvo scanf():llä
scanf()-funktio toimii seuraavasti:
scanf("%d", &luku);
1. parametri määrittää että luetaan kokonaisluku,
2. parametri kertoo mihin muuttujaan luku tallennetaan
(Parametrit erotetaan pilkulla.)
scanf: taas yksi funktio
Scanf-funktion runko voisi näyttää esimerkiksi tältä:
void scanf(char* format, int* value1){
//funktion runko
}
muuttujan arvo näytölle
#include
/* Tämä on hieno ohjelma*/
int main(void){
int luku;
printf("Moi maailma!");
scanf("%d", &luku);
printf("Luku oli: %d\n",luku);
return 0;
}
valinnaiset parametrit
Jotkut funktiot voivat ottaa yhden tai monta parametria
printf("Moi maailma!");
printf(
"Luku oli: %d\n",
luku);
ohjelmoinnin peruskäsitteet - funktiot
By Olli Savolainen
ohjelmoinnin peruskäsitteet - funktiot
- 2,663