Konstanty, proměnné,výrazy
Konstanty, proměnné,výrazy
Jakou strukturu má program v jazyce C/C++?
Vložení hlavičkových souborů
Deklarace globálních proměnných a konstant
Deklarace a definice funkcí
Definice funkce main
Možné definice dalších funkcí
// Výpis pozdravu
#include <stdio.h>
#include <conio.h>
int main(){
printf("Ahoj"); //výpis textu
getch();
return 0;
}
Co jsou klíčová slova (uveďte některá)
Základní slova jazyka. Mají speciální význam.
Nelze je použít jako identifikátory (jména proměnných, konstant, funkcí,…).
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
K čemu slouží hlavičkové soubory?
Umožňují používat knihovní funkce.
Obsahují mimo jiné informace o knihovních funkcích (jejich tzv. prototypy) – např. stdio.h obsahuje mimo jiné informace o funkci printf.
Jak definujeme konstanty?
const typ jmeno=hodnota;
Příklad:
const float pi=3.14;
const – klíčové slovo
float – klíčové slovo – datový typ
pi – název konstanty
3.14 – hodnota konstanty
Jaké typy konstant znáte?
Stejné jako datové typy: int, float, char, double
Co je to konstantní řetězec?
Text v uvozovkách – např.: “Dobrý den”
Co jsou escape sekvence a kde se využívají?
Posloupnosti uvozené „\“
Ty mohou být jednoduché, kdy opačné lomítko následuje jediný znak.
Nebo následuje osmičkový či (po x) šestnáctkový kód znaku.
Tak jsme schopni zadat i znak, který se na klávesnici nenachází, ale jehož kód známe.
Přehled escape sequencí obsahuje tabulka:
posloupnost jméno význam
\a Alert (Bell) pípnutí
\b Backspace návrat o jeden znak
\f Formfeed nová stránka nebo obrazovka
\n Newline přesun na začátek nového řádku
\r Carriage return přesun na začátek aktuálního řádku
\t Horizontal tab přesun na následující tabelační pozici
\v Vertical tab stanovený přesun dolů
\\ Backslash obrácené lomítko
\' Single quote apostrof
\" Double quote uvozovky
\? Question mark otazník
\OOO ASCII znak zadaný jako osmičková hodnota
\xHHH ASCII znak zadaný jako šestnáctková hodnota
Příklady využití některých escape sekvencí
#include <stdio.h>
#include <conio.h>
int main(){
printf("Ahoj "); //výpis textu
getch();
printf("\rNazdar"); //přesun na zač. řádku
getch();
printf("\rDobr\xEC den"); //výpis ý
getch();
return 0;
}
Tabulka ASCII
21 ! 22 " 23 # 24 $ 25 % 26 & 27 ' 28 ( 29 ) 2A *
2B + 2C , 2D - 2E . 2F / 30 0 31 1 32 2 33 3 34 4
35 5 36 6 37 7 38 8 39 9 3A : 3B ; 3C < 3D = 3E >
3F ? 40 @ 41 A 42 B 43 C 44 D 45 E 46 F 47 G 48 H
49 I 4A J 4B K 4C L 4D M 4E N 4F O 50 P 51 Q 52 R
53 S 54 T 55 U 56 V 57 W 58 X 59 Y 5A Z 5B [ 5C \
5D ] 5E ^ 5F _ 60 ` 61 a 62 b 63 c 64 d 65 e 66 f
67 g 68 h 69 i 6A j 6B k 6C l 6D m 6E n 6F o 70 p
71 q 72 r 73 s 74 t 75 u 76 v 77 w 78 x 79 y 7A z
7B { 7C | 7D } 7E ~ 7F ⌂ 80 Ç 81 ü 82 é 83 â 84 ä
85 ů 86 ć 87 ç 88 ł 89 ë 8A Ő 8B ő 8C î 8D Ź 8E Ä
8F Ć 90 É 91 Ĺ 92 ĺ 93 ô 94 ö 95 Ľ 96 ľ 97 Ś 98 ś
99 Ö 9A Ü 9B Ť 9C ť 9D Ł 9E × 9F č A0 á A1 í A2 ó
A3 ú A4 Ą A5 ą A6 Ž A7 ž A8 Ę A9 ę AA ¬ AB ź AC Č
AD ş AE « AF » B0 ░ B1 ▒ B2 ▓ B3 │ B4 ┤ B5 Á B6 Â
B7 Ě B8 Ş B9 ╣ BA ║ BB ╗ BC ╝ BD Ż BE ż BF ┐ C0 └
C1 ┴ C2 ┬ C3 ├ C4 ─ C5 ┼ C6 Ă C7 ă C8 ╚ C9 ╔ CA ╩
CB ╦ CC ╠ CD ═ CE ╬ CF ¤ D0 đ D1 Đ D2 Ď D3 Ë D4 ď
D5 Ň D6 Í D7 Î D8 ě D9 ┘ DA ┌ DB █ DC ▄ DD Ţ DE Ů
DF ▀ E0 Ó E1 ß E2 Ô E3 Ń E4 ń E5 ň E6 Š E7 š E8 Ŕ
E9 Ú EA ŕ EB Ű EC ý ED Ý EE ţ EF ´ F0 F1 ˝ F2 ˛
F3 ˇ F4 ˘ F5 § F6 ÷ F7 ¸ F8 ° F9 ¨ FA ˙ FB ű FC Ř
FD ř FE ■ FF
Psaní českých znaků :
A0 á B5 Á 9F č AC Č
D4 ď 82 é 90 É D8 ě
A1 í D6 Í E5 ň D5 Ň
A2 ó E0 Ó FD ř FC Ř
E7 š E6 Š 9C ť 9B Ť
A3 ú E9 Ú 85 ů DE Ů
EC ý ED Ý A7 ž
Co jsou proměnné?
Pojmenovaná místa v paměti, do nichž můžeme ukládat hodnoty, které se během programu mohou měnit.
V jazyku C musí být všechny proměnné deklarovány.
Deklarace má tvar.
Typ_proměnné jméno_proměnné;
Jazyk C podporuje 5 základních typů dat (viz. otázku 12).
Jaké konvence musí splňovat jméno proměnné (identifikátor)?
Identifikátory jsou jména, která dáváme například proměnným, funkcím a typům .
Identifikátor se musí lišit od kteréhokoliv klíčového slova.
Identifikátor je tvořen posloupností alfanumerických znaků a podtržítka, přičemž musí být splněny následující podmínky:
prvním symbolem smí být písmeno nebo podtržítko
následuje libovolná kombinace písmen, číslic a podtržítek
Jazyk C/C++ v identifikátorech rozlišuje malá a velká písmena (je tzv. „case sensitive“)
Co jsou ukazatele?
Proměnné, které obsahují adresy jiných proměnných.
Jak lze do programu umístit komentář?
Komentáře jsou poznámky, které jsou překladačem ignorovány. Popisují význam příkazů – usnadňují orientaci v programu.
Víceřádkový komentář
/*
Toto je dlouhý komentář,
který zabírá
pět řádků.
*/
Jednořádkový komentář
printf(" Ahoj "); // výpis řetězce
Komentář lze použít také pro dočasné vynechání řádků programu.
Jaké znáte základní typy dat ?
typ jmeno;
Typ Klíčové slovo Formátová specifikace
Znak char %c
Celé číslo se znaménkem int %d %x %o
Desetinné číslo float %f
Desetinné číslo s dvojnásobnou přesností double %lf
Bez hodnoty void
Jak je v C a v C++ reprezentován typ Boolean?
V C jako int, přičemž:
pravda – true – nenulová hodnota
nepravda –false - nula
V C++ jsou zavedeny booleovské proměnné - dalším rozšířením jazyka C je datový typ bool.
Typ bool může nabývat dvou hodnot true (logická 1), false (logická 0).
Nad datovým typem bool jsou definovány logické operace“
&& (logický and),
|| (logický or),
! (negace),
^ (logický xor).
Všechny logické operace, které lze použít v jazyce C v podmínkách.
Příklady:
#include <stdio.h>
#include <conio.h>
#include <windows.h>
main(){
int a=0;
bool b=true,c=false;
while(b){
printf("Nazdar ");
Sleep(100);
}
}
bool a;
bool b = true;
int c = 20;
bool d = ((c == 20) || ( c<=5));
a = !b;
if (a)
{
. . .
}
Co je to definice a deklarace proměnných?
Deklarace – uvedení typu proměnné (viz. otázka 12).
Více proměnných lze deklarovat pomocí seznamu:
float x,y,z; // racionální proměnné
Definice – uvedení typu a hodnoty proměnné.
int a=0; // celočíselné proměnné
// Výpis hodnot proměnných – funkce printf
#include <stdio.h>
#include <conio.h>
int main(){
float x,y,z;
int a=0;
printf("%d", a);
x=1;
y=10.5;
y=123.456;
printf("%f %f %f", x,y,y);
getch();
return 0;
}
Parametry funkce printf jsou uvedeny v otázce 19.
Co jsou lokální a globální proměnné?
Proměnné lze deklarovat uvnitř funkce (lokální), nebo mimo všechny funkce (globální).
Lokální proměnné v jedné funkci nemají žádný vztah k lokálním proměnným v jiné funkci.
#include <stdio.h>
#include <conio.h>
int a=10,b=100;
main(){
int b=0;
printf("%d\n",a);
printf("%d\n",b);
printf("%d\n",::b);
}
Jak provádíme přetypování proměnné (výrazu)– uveďte příklad!
Změna typu výrazu na požadovaný typ:
Př.:
float f;
int i;
f=(float)i;
#include <stdio.h>
#include <conio.h>
main(){
int a=1,b=2;
float c;
c=(float)(a+b)/2;
printf("%f\n",c);
}
Are you 18? Come in and don't be shy!
(loveawake.ru, 19. 1. 2022 1:10)