prezentaci

Transkript

prezentaci
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Základy programovánı́ v jazyku C
Jan Hora
Česká zemědělská univerzita
17. řı́jna 2011
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Prázdný program
I
Program, který nic nedělá:
int main(){
}
I
Bloky se uvozujı́ složenými závorkami.
I
Přı́kazy se v C-čku oddělujı́ střednı́kem.
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Proměnné
I
I
I
Definice proměnné obsahuje jejı́ typ a jejı́ jméno.
Definice
Popis
Přiřazenı́
int n;
celočı́selná proměnná n=43;
float f;
desetinné čı́slo
f=3.14;
char c;
znaková proměnná c=’z’;
Definici a přiřazenı́ lze provést najednou, např.: int n=43;
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Aritmetické operace
I
Definice proměnné obsahuje jejı́ typ a jejı́ jméno;
Operace
Význam
m+n
sčı́tánı́
m–n
odčı́tánı́
I
m*n
násobenı́
m/n
dělenı́
m%n zbytek při celočı́selném dělenı́
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Použitı́ aritmetických operátorů
int main(){
int a,b,c,d;
float x,y,z;
a=7; b=3;
x=7; y=3;
c=a/b;
d=b%a;
z=x/y-a/b;
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Tisk na obrazovku pomocı́ přı́kazu printf
1. Na začátku programu musı́ být direktiva
#include <stdio.h>
2. printf("Ahoj");
3. printf("Ahoj\n");
4. printf("Vysledek je %d\n", a);
5. printf("Vysledek je %d\n", a/b);
6. printf("Hodnoty jsou %f a %f\n", x,y);
7. printf("Prvni pismeno je %c\n", c);
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Vstup z klávesnice pomocı́ přı́kazu scanf
1. Na začátku programu musı́ být direktiva
#include <stdio.h>
2. scanf("%d", &n);
3. scanf("%f", &f);
4. scanf("%c", &c);
5. Pozor, před názvem proměnné musı́ být znak &.
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Výpočet BMI
#include <stdio.h>
#include <stdlib.h>
int main(){
int m,l;
printf("Zadej svoji hmotnost \n");
scanf("%d", &m);
printf("Zadej svoji vysku v centimetrech\n");
scanf("%d", &l);
printf("Vas BMI index je %f", m/((l/100)*(l/100)));
system("PAUSE");
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Správný výpočet BMI
#include <stdio.h>
#include <stdlib.h>
int main(){
int m,l;
printf("Zadej svoji hmotnost \n");
scanf("%d", &m);
printf("Zadej svoji vysku v centimetrech\n");
scanf("%d", &l);
printf("Vas BMI index je %f", m/((l/100.0)*(l/100.0)));
system("PAUSE");
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Přı́kaz if
I
Čı́sla je možné porovnávat pomocı́ operátorů
==, !=, <, >, <=, >=.
I
if (x>3) x=x-3;
I
if (x<=0) printf("Nelze spočı́tat logaritmus
záporného čı́sla.");
I
Pozor!
if (znamka = 4) printf("Student neuspěl.");
I
Správně:
if (znamka == 4) printf("Student neuspěl.");
I
if (podminka) {blok přı́kazů}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Přı́kaz if
I
if (podminka) přı́kaz; else přı́kaz;
I
if (x>y) printf("%d",x); else printf("%d",y);
Logická spojka Zápis v C
Konjunkce
&&
Disjunkce
||
Negace
!
if ((n>3) && (n<5)) printf("n bude nejspı́š čtyři");
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Podı́l
#include <stdio.h>
#include <stdlib.h>
int main(){
float x,y;
printf("Zadej x \n");
scanf("%f", &x);
printf("Zadej y\n");
scanf("%f", &y);
printf("Podı́l zadaných čı́sel je %f", x/y);
system("PAUSE");
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Podı́l
#include <stdio.h>
#include <stdlib.h>
int main(){
float x,y;
printf("Zadej x \n");
scanf("%f", &x);
printf("Zadej y\n");
scanf("%f", &y);
if (y != 0) printf("Podı́l zadaných čı́sel je %f", x/y);
else printf("Nulou nelze dělit.");
system("PAUSE");
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Přı́kaz while
I
while (podmı́nka) přı́kaz;
I
while (podmı́nka) {blok přı́kazů}
I
int i=1;
while (i<=100) { printf("%d",i); i=i+1;}
I
Mı́sto i=i+1; je možné (a běžné) psát přı́kaz i++;. Podobně
i--.
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Faktoriál
#include <stdio.h>
#include <stdlib.h>
int main(){
int n,faktorial=1;
printf("Zadej přirozené čı́slo \n");
scanf("%d", &n);
while (n>=2){
faktorial=faktorial*n;
n--;
}
printf("Faktoriál je %d", faktorial);
system("PAUSE");
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Rozklad na prvočı́sla
#include <stdio.h>
int main(){
int n; int d=2;
scanf("%d",&n);
while (d<n){
if (n%d == 0) {
printf("%d ", d);
n=n/d;
d=2;
}
else d=d+1;
}
printf("%d\n", n);
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Cyklus for
I
for (i=1;i<11;i++) printf("%d", i*i);
I
for (i=10;i>=0;i--) printf("%d", i);
I
int i,j;
int n=0;
for (i=1;i<11;i++)
for (j=1;i<11;i++) n++;
printf("%d\n", n);
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Pole
I
int znamky[8];
I
V tomto přı́padě se k jednotlivým položkám přistupuje pomocı́
znamky[0], znamky[1],..., znamky[7]
I
Použitı́ identifikátoru znamky[8] je velice častá chyba.
I
Určete, co se stane po provedenı́ této části kódu:
int znamky[8];
znamky[0]=3;
int i;
for(i=1;i<8;i++)
znamky[i]=znamky[i-1]+1;
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Pole
I
Direktiva
#define N 8
I
#define N 8
int main(){
.
.
.
int znamky[N];
znamky[0]=3;
int i;
for(i=1;i<8;i++)
znamky[i]=znamky[i-1]+1;
.
.
.
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Vı́cerozměrná pole
I
I
I
I
int tabulka[3][4];
Použitı́ např.: tabulka[2][1]=42;
Špatné použitı́:
tabulka[3][1]=42; tabulka[2,2]=42;
#define N 10
int main(){
int tabulka[N][N];
.
.
.
int i;
int soucet=0;
for(i=0;i<N;i++)
soucet=soucet+tabulka[i][i];
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Procedury a funkce
#include <stdio.h>
void chyba(){
printf("V programu doslo k chybe");
}
int main(){
int m,n,x;
scanf("%d", &m);
scanf("%d", &n);
if (n==0) chyba();
else x=m/n;
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Procedury a funkce
#include <stdio.h>
int natreti(int n){
return (n*n*n);
}
int main(){
int i;
for(i=1;i<10;i++)
printf("% d", natreti(i));
}
Jan Hora
Základy programovánı́ v jazyku C
Proměnné
Vstup a výstup
Přı́kaz if
Přı́kaz while
Procedury a funkce
int max(int a, int b){
if (a>b) return a;
else return b;
}
int main(){
int i=3;
int j=5;
int k,l;
k=max(i,j)
l=max(365,j+300);
}
Jan Hora
Základy programovánı́ v jazyku C

Podobné dokumenty

CVICˇENÍZ PARADIGMAT PROGRAMOVA´NÍI

CVICˇENÍZ PARADIGMAT PROGRAMOVA´NÍI V lekci 2 jsme vysvětlili vznik uživatelských procedur. Uživatelské procedury vznikajı́ vyhodnocovánı́m λ-výrazů a každou uživatelskou proceduru lze chápat jako trojici hodnot: seznam ar...

Více

Jazyk C patří mezi tzv

Jazyk C patří mezi tzv printf("\n Cena jednoho kilometru jizdy = %f Kc", cenak); printf("\n Cena cesty do Zlina a zpet = %f Kc", cenaz); printf("\n Cena cesty na 200 km = %f Kc", cenav); printf("\n\n Dalsi vypocet? [A/N]...

Více

Přehled předdefinovaných forem ve vykládaném dialektu LISPu

Přehled předdefinovaných forem ve vykládaném dialektu LISPu považovat za nulární funkce). Obecný tvar je ( define ( ) < tělo> ) Příklady použití :

Více

Program ke stažení v PDF

Program ke stažení v PDF PO 4.4. 19:00 PROMÍTÁNÍ - PÁDLOVÁNÍ V ZEMI LIDOJEDŮ - Jiří Hron ÚT 5.4. 19:00 POSTUPOVÁ SOUTĚŽ KAPEL NA HLAVNÍ PROGRAM MAJÁLESU - Host DayDreams (Hlinsko) ST 6.4. 20:00 Koncert kapel - MERRY PRANKT...

Více

Uvod od C, prikaz podminky (CChem_EX1)

Uvod od C, prikaz podminky (CChem_EX1) uložte ho do souboru helloworld.c V okně terminálu přejděte do složky s vytvořeným souborem helloworld.c a spusťte kompilátor: gcc -o helloworld helloworld.c Kompilátor vygeneruje spustitelný soubo...

Více

Základy obecné algebry

Základy obecné algebry Důkaz. Necht’ x ̸= 0, y ̸= 0 a xy = 0. Pak x−1 (xy)y −1 = 1 = 0, což je spor. Bud’ nynı́ R = {a1 , . . . , an } konečný obor integrity. Pak · je asociativnı́ operace s krácenı́m na konečné m...

Více

Programování I. - Střední průmyslová škola elektrotechniky a

Programování I. - Střední průmyslová škola elektrotechniky a Vnořené cykly ..........................................................................................................196 Procvičování cyklů .........................................................

Více

Polynomiáln´ı redukce 3SAT na k

Polynomiáln´ı redukce 3SAT na k dvojice literál-negace (opět by mezi nimi nebyla hrana). Uvažujme ohodnocenı́ proměnných, které 1. přiřadı́ true každé proměnné, jejı́ž vrchol je ve W , 2. přiřadı́ false každé pro...

Více