Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Тема: Базовые типы данных.
Цель: Ознакомиться с базовыми типами данных.
Отчет по самостоятельному заданию.
1. Переменные, каких типов можно использовать для хранения чисел:
v –129 - signed short /*так как данное число попадает в диапазон signed short */
v 1.1 – float /*так как данное число попадает в диапазон float*/
v 129 – unsigned short /*так как данное число попадает в диапазон unsigned short */
v 32768 - unsigned short /*так как данное число попадает в диапазон unsigned short */
v –3000000 - signed long /*так как данное число попадает в диапазон signed long */
v 40000 - signed short /*так как данное число попадает в диапазон signed short */
v 25E2 - float /*так как данное число попадает в диапазон float*/
2.Найти ошибку:
v enum tag1 /*идет объявление скалярной переменной перечисляемого типа */
/*tag1 – тег или идентификатор */
{
const_1,
const_2=18, /*список переменных */
const_8,
const_0
} name1;
name1= const_3; /*данная запись не правильна, так как переменная const_3 не была описана в списке переменных, , следовательно, к ней обратиться нельзя */
v enum tag1 name2; /*далее должен следовать список переменных, но он отсутствует, а находится только переменная перечисляемого типа name2, следовательно, это ошибка, так как зарезервированное слово enum задает перечисляемый тип */
3. Чему равно значение константы перечисления const_0 из примера II.1.
Значение константы перечисления const_0 равно 20, так как значение const_2 равно 18, а по правилам значение последующих констант, не имеющих определенного константного выражения, увеличивается на 1.
4.Изобразить схематично, как будут размещены элементы массива list в памяти,
начиная с адреса O2BE.
Short list [3] [2] [4];
02BE 02C0 02C2 02C4 02C6 02C8 02CA 02CC
01 000 |
001 |
00 002 |
00 003 |
01 010 |
011 |
01 012 |
01 013 |
02CE 02D0 02D2 02D4 02D6 02D8 02DA 02DC
10 100 |
10 101 |
10 102 |
11 103 |
11 110 |
11 111 |
1 112 |
11 113 |
02DE 02E0 02E2 02E4 02E6 02E8 02EA 02EC
20 200 |
21 201 |
20 202 |
20 203 |
21 210 |
21 211 |
21 212 |
21 213 |
5. Определить трехмерный массив элементов целого короткого типа размерностью 5x8x10. Присвоить элементу, находиться во 2-ом слое, 5 строке, 2-ом столбце число 10.
Short int Mas [5] [8] [10]; /*определяется трехмерный массив целого короткого типа */
Mas [2] [5] [2] = 10; /*присваиваем элементу с индексами 2, 5, 2 значение 10*/
6. Выполнить предыдущее задание 4 с использованием указателя.
Short int Mas [5] [8] [10], *Pa; /*определяется трехмерный массив целого короткого типа и указатель на массив */
Pa=Mas;
*(Pa [2] [5] + 2*1) = 10;
*(Pa [2] + 10*5 + 2*1) = 10;
*(Pa + 2*8*5 + 10*5 + 2) = 0;
/*эквивалентные операции присваивания некоторому элементу массива при помощи указателя и адресной арифметики определенного значения */
7. Какого типа будет результат вычисления следующих выражений:
· unsigned int i=0 ; /*тип - без знаковый по умолчанию */
double j=1.1; /*тип - плавающий двойной точности */
(i*j)/0.5 /*результат - double */
· short i, j; /*знаковый короткий */
i*j /*результат – int */
· char c; /*знаковый символьный */
long e; /*знаковый длинный */
(c/e)*7.5; /*результат – long */
· float a,b; /*плавающий одинарной точности */
a – b /*результат – double */
8. Выполнить на ПЭВМ 2-е программы.
А) Массив задается обычным способом.
# include <stdio.h> /*подключение файла*/
# define KO 3 /*объявление макроопределения КО 3*/
main() /*главная функция*/
{
int mas [KO],I: /*описание целочисленного массива КО и переменной I=3*/
mas [0]=123; /*присваивание элементам массива значения */
mas [1]=456;
mas [2]=2000;
Printf(“\nАдреса переменных :”);
Printf(“%5p %5p %5p”,& mas[0], & mas [1],& mas [2]); /*печать адресов переменных */
Printf(“\nЗначения переменных :”);
Printf(“%5d %5d %5d”,mas[0], mas [1], mas [2]); /*печать значений переменных */
}
Ответы: Адреса переменных: FFF0 FFF2 FFF4
Значения переменных: 123 456 2000
Б) Массив изменяется.
# include <stdio.h> /*подключение файлов*/
# include <conio.h>
# include <alloc.h>
# define KO 3 /*объявление макроопределения КО 3*/
main() /*главная функция*/
{
int *u,I; /*выделение памяти для трех элементов, с помощью функции calloc ()*/
u*=(int) calloc (KO, sizeof(int));
u*=123;
*(u+1)=456;
*(u+2)=2000;
Printf(“\nАдреса переменных :”); /*печать адресов переменных */
Printf(“%5p %5p %5p”,u,(u+1),(u+2));
Printf(“\nЗначения переменных :”); /*печать значений переменных*/
Printf(“%5d %5d %5d”,*u, (u+1), *(u+2));
}
Ответы: Адреса переменных: 0374 0376 0378
Значения переменных: 123 456 2000
ВЫВОД: я ознакомился с базовыми типами данных, демонстрируя свои умения на лабораторной работе.
Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.
Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.
Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.
Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.
Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.
Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.