prezentaci
Transkript
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
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...
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]...
Přehled předdefinovaných forem ve vykládaném dialektu LISPu
považovat za nulární funkce).
Obecný tvar je
( define (
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...
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...
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...
Programování I. - Střední průmyslová škola elektrotechniky a
Vnořené cykly ..........................................................................................................196
Procvičování cyklů .........................................................
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...