360 likes | 499 Views
Verze 2009.02. Základní pojmy v jazyce C. 2. A1PRG - Programování - seminář Ing. Michal Heczko heczko@fai.utb.cz. Agenda. Identifikátory Klíčová slova Komentáře Konstanty a proměnné Řídicí sekvence. Identifikátory. Jména funkcí, proměnných, konstant, ...
E N D
Verze 2009.02 Základní pojmy v jazyce C 2 A1PRG - Programování - seminář Ing. Michal Heczko heczko@fai.utb.cz
Agenda • Identifikátory • Klíčová slova • Komentáře • Konstanty a proměnné • Řídicí sekvence
Identifikátory • Jména funkcí, proměnných, konstant, ... • Důležité: jazyk C je case-sensitive, tj. je třeba dávat pozor na malá a velká písmena • Vysvětlení • IDENTIFIKATOR ≠ identifikator ≠ Identifikator
Pravidla pro tvorbu identifikátorů • Skládají se z písmen, číslic nebo podtržítka • Dle normy ANSI max. 31 znaků • Nesmí začínat číslicí • Mohou obsahovat pouze znaky bez diakritiky • Nesmí obsahovat mezery • Nesmí se shodovat s klíčovým slovem (více dále)
Klíčová slova • Mají v jazyce C speciální význam a nelze je používat jako uživatelem definované identifikátory (např. jména funkcí, proměnných, konstant atd.) • Zapisují se vždy malými písmeny
Komentáře • Jsou důležitou částí zdrojového kódu • Slouží k snadnější orientaci v programu • Vhodné průběžné psaní komentářů • Mohou obsahovat znaky národní abecedy • Lze je umístit do libovolné části zdrojového kódu (při zpracování jsou odstraněny preprocesorem)
Komentáře • 2 typy komentářů: • Víceřádkové komentáře: • Uvozují se znaky: • /* pro začátek komentáře • */ pro konec komentáře • Jednořádkové komentáře: • Uvozují se znaky // na začátku řádku
Komentáře • Příklad: #include <stdio.h> #include <conio.h> intmain(void) { int x = 5; int y = 6; printf(”Výsledek: %d”,x*y); getch(); return 0; }
Komentáře • Příklad: /* Popis: Program pro sečtení dvou čísel Autor: Michal Heczko */ #include <stdio.h> #include <conio.h> … …
Komentáře … … intmain(void) { // definice proměnných int x = 5; int y = 6; // výpis součinu printf(”Výsledek: %d”,x*y); /* čeká na ukončení programu */ getch(); return 0; }
Konstanty a proměnné • Proměnná • datový objekt, jehož hodnota se v průběhu programu může měnit • Konstanta • datový objekt, jehož hodnota v průběhu programu nelze měnit
Proměnná • Datový objekt, jehož hodnota se v průběhu programu může měnit • Obecný zápis:datovýtypjméno; datovýtypjméno = hodnota; • Příklad: int i = 2; // deklarace proměnné s výchozí hodnotou int i; // deklarace proměnné i = 2; // uložení čísla 2 do prom. i
Konstanta • Datový objekt, jehož hodnota se v průběhu programu nemění • Pro definici konstant používáme direktivu #define • Obecný zápis: #definejménohodnota • Příklad: #define POCET 2 #define PI 3.14
Rozdělení konstant • Celočíselné • Reálné • Znakové • Řetězcové
Celočíselné konstanty • 3 typy: • Desítkové – posloupnost číslic, z nichž první nesmí být 0 • Osmičkové (oktalové) – číslo 0 následované posloupností osmičkových číslic • Šestnáctkové (hexadecimální) – číslo 0 následované znakem x nebo X posloupností šestnáctkových číslic (0 – 9, a – f, A – F)
Celočíselné konstanty • U datového typu long znak L nebo l na konci (doporučuje se pouze velké, možná záměna s 1). • U nezáporného typu znak U nebo u na konci. • Př.: #define MINIMUM 8000LU
Reálné konstanty • 2 způsoby zápisu: • Přímý tvar • Semilogaritmický tvar • Základní datový typ: double • Přípony: • Pro float … f nebo F • Pro long … l nebo L
Znakové konstanty • Jeden znak dané kódové tabulky (nejčastěji ASCII) • Znak je uzavřen mezi 2 apostrofy
ASCII tabulka • Kódování znaků ve VT • American Standard Code for Information Interchange • Vychází z ní většina standardů pro kódování textu v euro-americké zóně • V základu 7-bitový (128 platných znaků). 8-bitové rozšíření pro znaky národních abeced
ASCII tabulka • tisknutelné znaky: • písmena, číslice, jiné znaky (závorky, matematické znaky (+-*/% …), interpunkční znaménka (,.:; …), speciální znaky(@$~ …)) • řídící (netisknutelné) kódy: • původně určeny pro řízení periferních zařízení (např. tiskárny nebo dálnopisu).
Znakové konstanty • Způsoby zápisu: • ‘\ddd’ , kde ddd je osmičkové číslo odpovídající kódu znaku • ‘\xHH’ nebo ‘\XHH’, kde hh je šestnáctkové číslo odpovídající kódu znaku • ‘z’, kde z je znak dané kódové tabulky • ‘\e’, kde e je znak odpovídající tzv. escape sekvenci (neboli řídící sekvence)
Řetězcové konstanty • Ohraničené uvozovkami • Možno použít všechny způsoby zápisu znakových konstant • Možno použít znaky národní abecedy • Př.: #define JMENO “Michal“ #define HLAVNI_MESTO “Praha“
Řetězcové konstanty • Zřetězování dlouhých řetězců oddělených mezerami, tabulátory nebo novými řádkami
Terminálový vstup a výstup • Výpis na terminál: • Obecný zápis: • printf(řetězec, proměnná1,…,proměnnáN); • Vstup z terminálu: • Obecný zápis: • scanf(řetězec, &proměnná1, …, &proměnnáN);
Terminálový vstup a výstup • Řídící řetězec formátu • Uvozuje se znakem %, za kterým následují další znaky dle následující tabulky:
Terminálový vstup a výstup • Příklady: • printf(“Znak%c ma ASCII kod %d (%XH)\n“,’*’, ’*’, ’*’); • printf(“Je přesně %2d:%2d\n“,hodiny, minuty); • printf(“Hodnota čísla PI je %4.2f\n“,PI); • printf(“Zadejte libovolnedesetinnecislo\n“);scanf(“%f“,&x); • printf(“Zadejte 2 cela cisla\n“);scanf(“%d %d“,&a,&b);
A1PRG-s 02. Základní pojmy Děkuji za pozornost Ing. Michal Heczko heczko@fai.utb.cz 218/U3 Prezentace k dispozici na http://vyuka.fai.utb.cz