Школа 42 в Москве
Основные команды:
Школа 21
Shell - Командная строка
cd - перейти в директорию
cd .. - на одну папку выше
mkdir - создать директорию
rm -r - удалить директорию
ls -l - права и файлы в директории
cat
touch - создать
vim - редактор :w - save :q - quit
ln - hard link
ln -s sim link
chmod - назначить права
И запомните святые заклинания
- git init - инициализация гита c
- git add * - все в гит
- git commit - комит на все загруженное
- git push - загружаем
git log
git diff
git log --name-status проверить что загруженно
git add -a добавления всех файлов в комит commit
git commit -m "пишем название комета"
git push origin master пушим коммит ( загружаем в гит)
git clean имя файла (удаляем из гита файл)
git clean -f -x удаляем все что красное
Задания
Читать здесь (читать)
C Piscine C 00
Все решения после компиляции gcc проверяем через norminette
https://21-school.ru/norminette
C Piscine C 00 ex00
ft_putchar.c
#include <stdio.h> #include <unistd.h> void ft_putchar(char c) { write(1, &c, 1); } int main(void) { char c = 'c'; ft_putchar(c); }
Более правильное решение. ( Для проверки удаляем int main )
void ft_putchar(char c) { write(1, &c, 1); }
C Piscine C 00 ex01
ft_print_alphabet.c
#include <stdio.h> void ft_print_alphabet(void) { char letter; letter = 'a'; while (letter <= 'z') { putchar(letter); letter++; } } int main(void) { ft_print_alphabet(); return 0; }
Верное решение убирает % в конце строки. ft_putchar('\n');
void ft_print_alphabet(void) { int letter = 'a'; while (letter >= 'a' && letter <= 'z') ft_putchar(letter++); ft_putchar('\n'); }
C Piscine C 00 ex02
ft_print_reverse_alphabet.c
#include <stdio.h> void ft_print_reverse_alphabet(void) { char letter; letter = 'z'; while (letter >= 'a') { putchar(letter); letter--; } } int main(void) { ft_print_reverse_alphabet(); return (0); }
C Piscine C 00 ex03
ft_print_numbers.c
#include <stdio.h> #include <unistd.h> void ft_putchar(char c) { write(1, &c, 1); } void ft_print_numbers(void) { char number; number = '0'; while (number <= '9') { ft_putchar(number); number++; } ft_putchar('\n'); } int main(void) { ft_print_numbers(); }
Исправили на короткое и более правильное решение.
void ft_print_numbers(void) { int i = '48'; while (i >='47' && i <= '57') ft_putchar(i++); ft_putchar('\n'); }
C Piscine C 00 ex04
ft_is_negative.c
void ft_putchar(char c) { write(1, &c, 1); } void ft_is_negative(int n) { if (n >= 0) { ft_putchar('P'); } else { ft_putchar('N'); } } int main(void) { 18,0-1 Bot
C Piscine C 01
C Piscine C 01 ex00
- Создайте функцию, которая принимает указатель на 'int' в качестве параметра и задает значение "42" для этого 'int'.
- Вот как это должно быть объявлено:
void ft_ft(int *nbr) { *nbr = 42; }
C Piscine C 01 ex01
Создайте функцию, которая принимает "указатель на указатель на указатель на
указатель на указатель на указатель на указатель на указатель на указатель на
указатель на указатель" на 'int' в качестве параметра и устанавливает значение
" 42 " для этого 'int'.
- Вот как это должно быть обьявлено:
void ft_ultimate_ft(int *********nbr);
void ft_ultimate_ft(int *********nbr) { *********nbr = 42; }
C Piscine C 01 ex02
Создайте функцию, которая меняет местами значения двух целых чисел, адреса
которых вводятся в качестве параметров.
- Вот как это должно быть объявлено:
void ft_swap(int *a, int *b);
void ft_swap(int *a, int *b) { int temp; temp = *a; *a = *b; *b = temp; }
или
void ft_swap(int *a, int *b) { int t; t = *a; *a = *b; *b = t; }
C Piscine C 01 ex03
C Piscine C 02
C Piscine C 02 ex00
char *ft_strcpy(char *dest, char *src);
#include <stdio.h> char *ft_strcpy(char *dest, char *src) { int i; i = 0; while (src[i] != '\0') { dest[i] = src[i]; i ++; } dest[i] = src[i]; return (dest); }
C Piscine C 02 ex01
char *ft_strncpy(char *dest, char *src, unsigned int n)
#include <stdio.h> char *ft_strncpy(char *dest, char *src, unsigned int n) { unsigned int i; i = 0; while (src[i] != '\0' && i < n) { dest[i] = src[i]; ++i; } while (i < n) { dest[i] = '\0'; i++; } return (dest); }
C Piscine C 02 ex02
int ft_str_is_alpha(char *str);
#include <stdio.h> int ft_str_is_alpha(char *str) { int i; i = 0; while (str[i] != '\0') { if ((str[i] < 'A' || str[i] > 'Z') && (str[i] < 'a' || str[i] > 'z')) { return (0); break ; } i++; } return (1); }