#include // функција main() void main() { printf("test\n"); } // Променљиве, изабрани основни атомски типови података и спецификатори конверзије void main() { int x = 1; printf("x = %d\n", x); double y = 2.3; printf("y = %f\n", y); char c = 'A'; printf("c = %c\n", c); } // Неадекватно придружени спецификатори конверзије void main() { int x = 1; printf("x = %d\n", x); double y = 2.3; printf("y = %d\n", y); // неадекватан спецификатор конверзије char c = 'A'; printf("c = %d\n", c); // ASCII } // Операције над (означеним) целим бројевима void main() { int x = 1; printf("x = %d\n", x); x = x + 1; printf("x = %d\n", x); } void main() { int x = 1; printf("x = %d\n", x); int y = x + 1; printf("y = %d\n", y); int z = x + y; printf("z = %d\n", z); } // Целобројно дељење void main() { int x = 12345; printf("x = %d\n", x); printf("x / 10 = %d\n", x / 10); // целобројни количник printf("x %% 10 = %d\n", x % 10); // остатак } // Зависност резултата примене оператора дељења од врсте броjева над коjима jе оператор примењен void main() { printf("%f\n", 1 / 2); printf("%f\n", 99 / 100); printf("%f\n", 1.0 / 2); printf("%f\n", 1 / 2.0); } // Експлицитна конверзија void main() { int x = 1; int y = 2; double z = x / y; // целобројно дељење printf("z = %f\n", z); double p = (double) x / y; // eксплицитна конверзија printf("p = %f\n", p); } // Имплицитна конверзија void main() { double x = 1.2; printf("x = %f\n", x); int y = x; printf("y = %d\n", y); double z = y; printf("z = %f\n", z); } // Функција која прихвата реални број и враћа његов квадрат double kv(double x) { return x * x; } // Функција која прихвата два реална броја и враћа већи од њих double maks2(double a, double b) { if (a > b) return a; else return b; } // Функција која прихвата три реална броја и враћа највећи од њих double maks3(double a, double b, double c) { if (a > b) if (a > c) return a; else return c; else if (b > c) return b; else return c; } // Алтернативна дефиниција претходне функције double maks3(double a, double b, double c) { return maks2(a, maks2(b, c)); } // Функција која прихвата два цела броја, и проверава да ли је први број дељив другим int deljiv(int x, int y) { if (y == 0) return 0; if (x % y == 0) return 1; else return 0; } // Алтернативна дефиниција претходне функције int deljiv(int x, int y) { return ((y != 0) && (x % y == 0)); } // Десна асоцијативност оператора додељивања вредности void main() { int x = 1; int y, z; z = y = x; printf("y = %d\n", y); printf("z = %d\n", z); } // Нетипична примена оператора доделе void main() { int x = 0; int y; if (x = 1) // овај услов је увек испуњен: уместо реалиционог оператора (==) примењен је оператор доделе (=) y = 2; else y = 3; // ова наредба се не извршава printf("y = %d\n", y); } // Збир цифара датог ненегативнoг целог броjа int f(int n) { int s = 0; while (n > 0) { s = s + n % 10; n = n / 10; } return s; } // Броj цифара датог природног броjа int f(int n) { int s = 0; while (n > 0) { s = s + 1; n = n / 10; } return s; } // Производ цифара датог ненегативнoг целог броjа int f(int n) { int s = 1; while (n > 0) { if (n % 10 == 0) return 0; s = s * (n % 10); n = n / 10; } return s; } // Обртање редоследа цифара улазног ненегативног целог броjа int f(int n) { int s = 0; while (n > 0) { s = s * 10 + (n % 10); n = n / 10; } return s; } // Факториjел датог ненегативног целог броjа int f(int n) { int s = 1; for (int i = 1; i <= n; i++) { s = s * i; } return s; } ------------------