User Tools

Site Tools


courses:programming:topic1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
courses:programming:topic1 [2016/09/20 13:42]
tatyana.berlenko
courses:programming:topic1 [2022/12/10 09:08] (current)
Line 11: Line 11:
           * editor, compiler, linker           * editor, compiler, linker
         * gcc         * gcc
-        * git+        * git (кратко)
         * make         * make
       * Модель вычислений в архитектуре Фон-Неймана       * Модель вычислений в архитектуре Фон-Неймана
Line 20: Line 20:
       * Исполнение программ. Компиляция и интерпретация.       * Исполнение программ. Компиляция и интерпретация.
       * О языке C. Процесс компиляции программы. ​       * О языке C. Процесс компиляции программы. ​
-      * Введение в синтаксис. Составные элементы программы. ​+      * Введение в синтаксис. Составные элементы программы. Hello World.
       * Справочные материалы:​       * Справочные материалы:​
         * **KRC** Керниган,​ Ритчи. Язык программирования Си         * **KRC** Керниган,​ Ритчи. Язык программирования Си
Line 28: Line 28:
         * **KRC** главы 1-3. Изучить,​ подготовить вопросы.         * **KRC** главы 1-3. Изучить,​ подготовить вопросы.
         * **GIT** 1.1--1.3, 2.*         * **GIT** 1.1--1.3, 2.*
- 
-=== Практика 1: Лабораторная работа №1 === 
- 
-Задание:​ 
- 
-1. Создайте проект,​ состоящий из пяти файлов:​ main.c,​ print_str.c,​ get_name.c,​ print_str.h,​ get_name.h в каталоге,​ имя которого содержит Ваше имя, Фамилию и номер лабораторной (например,​ ivanov_ivan_1). 
-  * Файл get_name.c должен содержать описание функции,​ которая считывает из входного потока имя пользователя и возвращает его. 
-  * Файл get_name.h должен содержать прототип функции,​ которая считывает из входного потока имя пользователя и возвращает его. 
-  * Файл print_str.c должен содержать описание функции,​ которая принимает в качестве аргумента строку и выводит её (функция ничего не возвращает). 
-  * Файл print_str.h должен содержать прототип функции,​ которая принимает в качестве аргумента строку и выводит её (функция ничего не возвращает). 
-  * Файл main.c содержит главную функцию,​ которая вызывает функцию из файла get_name.h,​ добавляет к результату выполнения функции строку "​Hello,​ " и передает полученную строку в функцию вывода строки из print_str.h. 
- 
-2. После того, как Ваш проект будет готов, создайте для него Makefile. 
-    
-**В результате:​** 
-  - Ваш проект,​ включающий в себя три файла .c, два файла .h и Makefile, должен быть выложен в репозиторий: ​   
-     - [[https://​github.com/​moevm/​pr1-2016-6304|для группы 6304]] ​ 
-     - [[https://​github.com/​moevm/​pr1-2016-6303|для группы 6303]] 
-  - Должен быть создан pullrequest в ветку master. 
-    ​ 
-//​__Файлы,​ созданные в процессе компиляции выкладывать не требуется!__//​ 
-    
-==== Дополнительная информация для выполнения лабораторной работы:​ ==== 
- 
-Заголовочный файл стандартной библиотеки,​ который содержит функции консольного ввода/​вывода:​ 
- 
-<code c> 
-stdio.h 
-</​code>​ 
- 
-Заголовочный файл стандартной библиотеки,​ который содержит функции обработки строк и управления памятью:​ 
- 
-<code c> 
-string.h 
-</​code>​ 
- 
- 
-Прототип функции вывода строки str: 
-<code c> 
-int puts(const char *str); 
-</​code>​ 
- 
-Прототип функции конкатенации строк: 
-<code c> 
-char * strncat( char * destptr, char * srcptr, size_t num ); 
-</​code>​ 
-Функция добавляет первые num символов строки srcptr к концу строки destptr, плюс символ конца строки. Если строка srcptr больше,​ чем количество копируемых символов num, то после скопированных символов неявно добавляется символ конца строки. [[http://​cppstudio.com/​post/​698/​|Подробнее]] ​ 
- 
- 
-Описание функции для ввода массива символов name (предполагается,​ что строка не содержит более 80 символов):  ​ 
-<code c>  ​ 
-char* get_name(){ 
-    char* name = (char*)malloc(80*sizeof(char));​ 
-    int i = 0; 
-    char ch; 
-    while ((ch = getchar()) != '​\n'​) 
-    { 
-      name[i] = ch; 
-      i++; 
-    } 
-    name[i] = '​\0';​ 
-    return name; 
-}  ​ 
-</​code>​ 
- 
- 
- 
- 
courses/programming/topic1.1474378940.txt.gz · Last modified: 2022/12/10 09:08 (external edit)