
- •Char * gets(char *buffer);
- •Int puts(const char *string);
- •For (выражение 1; выражение 2; выражение 3) тело цикла;
- •Int massiv[100];
- •Тип имя_массива[размер второго измерения][размер первого измерения];
- •Объявление строк в си
- •Char имя[длина];
- •Char str[21];
- •Int fclose(file *file);
- •Void vvod()
- •Void show()
- •Void __fastcall tForm1::Button1Click(tObject *Sender)
- •Void __fastcall tForm1::Button2Click(tObject *Sender)
- •Void __fastcall tForm1::Button3Click(tObject *Sender)
- •Int oklad;
Задачи к срезу по дисциплине «Конструирование программ и языки программирования»:
Привести типы файлов, используемых в программах на С.
Описать структуру программы на С.
Составить
программу решения задачи: Вычислить
значение функции
.
Значения
x,
y
ввести с клавиатуры, результат вывести
на экран.
Файлы, содержащие текст программы на С/С++ должны иметь расширение .с(.cpp) (файл проекта (программы)); откомпилированная программа имеет расширение .exe и является исполняемой; заголовочные файлы библиотек имеют расширение .h.
Структура программы
Простейшая структура программы такова:
Синтаксис подключения заголовочных файлов:
#include <имя заголовочного файла.h> - подключение библиотек
main() Функция, означающая начало программы – точку входа
{ Здесь начинается функция
.....;
.....;Здесь помещаются инструкции, которые должен выполнить компьютер
.....;
} Здесь функция заканчивается
Последовательность инструкций, составляющих функцию, часто называют телом функции.
Целый и вещественный типы данных.
Приведите формы записи этих типов на языке С.
Составить
программу решения задачи: Вычислить
значение функции
.
Значения
x,
y
ввести с клавиатуры, результат вывести
на экран.
Основные типы:
Целочисленные: не имеют дробной части: 25, -15
char - символьный
short - короткий целый
int - целый
long – длинный целый
Вещественные: -5.6, 31.28, -1.09e+4
float – занимает в памяти 32 бита
double – двойной точности (занимает в памяти 64 бита)
Объявление переменных:
int a; - целочисленной а; а=25
float x; - вещественной х; х=31.28
Понятие константы и переменной.
Объяснить правила приоритета в языке С.
Составить
программу решения задачи: Вычислить
значение функции
.
Значения
x,
y
ввести с клавиатуры, результат вывести
на экран.
Константы в С предназначены для хранения данных, которые специально или случайно нельзя изменить. Суть констант заключается в том, что их можно использовать в вычислениях, при выводе данных, но саму константу перезаписать как переменную нельзя. Пример объявления констант: const double pi=3.14;
Примеры различных форм записи целых констант:
Десятичная – 10
Восьмеричная – 012
Шестнадцатеричная - 0xa или 0XA
Константы с плавающей точкой: 15.75 1.575E1
Символьная константа: 'D', ' '.'
Переменная – это именованная область памяти. В переменную можно записывать данные и считывать. Данные, записанные в переменной, называются значением переменной. Для того, чтобы использовать переменную, ее сначала нужно объявить:
int a; // объявляем переменную a типа int a = 5; // записываем в переменную a число 5
Вычисления выражений выполняется по определенным правилам преобразования, группировки и приоритета, которые зависят от используемых в выражениях операций, наличию круглых скобок и типов данных операндов. Выражения с более приоритетными операциями вычисляются первыми.
Выражения строятся в соответствии с приоритетами операций.
В языке программирования Си, определен порядок выполнения арифметических операций.
Операции в скобках
Функции (типа sqrt, cos и другие)
Умножение, деление, остаток от деления (слева направо, как в обычной жизни)
Сложение вычитание (слева направо, как в обычной жизни)
#include <iostream.h>
#include <math.h>
#include <conio.h>
main()
{
int x,y;
double b;
cout << "x,y:";
cin >> x >> y;
b=pow(y,3)/(2+pow(cos(pow(x,2)),2));
cout<<"b="<<b;
getch();
}
Стандартные функции управления форматированным вводом-выводом в ANSI C.
Объяснить формат записи функций управления форматированным вводом-выводом.
Составить
программу решения задачи: Вычислить
значение функции
.
С использованием функций форматированного
ввода-вывода значения x, y ввести с
клавиатуры, результат вывести на экран.
Стандартные функции управления форматированным вводом-выводом в ANSI C – в файле <stdio.h>.
Функция printf() выводит форматированные данные в стандартный поток (экран)
Каждый элемент формата состоит из нескольких полей:
%[флаг][ширина][точность][модификатор_типа] тип_формата
Тип формата:
d – значением аргумента является десятичное целое число
s – значением аргумента является строка символов
f – значением аргумента является вещественное десятичное число с плавающей точкой
Ширина – в данном поле устанавливается минимальная ширина поля в символах. Если число подлежащих выводу символов меньше, чем указано в этом поле, то слева и справа добавляются пробелы для достижения указанного значения. Если перед числом стоит нуль, то вместо пробелов добавляются нули.
Точность – задает число подлежащих выводу десятичных знаков и должно начинаться точкой. Действие поля зависит от типа данных.
Флаг:
- |
Выравнивание влево выводимого числа в пределах выделенного поля. Если этот знак не указан, то по умолчанию производится выравнивание вправо. |
+ |
Выводится знак числа. Знак минус при отрицательных значениях числа выводится всегда и не зависит от наличия данного флага. |
И др.
Функция scanf() выполняет форматированный ввод данных из входного потока.
Ее синтаксис:
%[*][ширина][точность] тип_формата
% - символ начала спецификатора формата.
Если после % стоит *, то вводимое поле не присваивается ни одной из переменных, указанных в списке параметров.
Ширина – положительное десятичное число, которое определяет минимальную ширину поля в символах.
Точность – это поле задает точность для преобразуемых величин.
Стандартные функции ввода-вывода символьной строки в ANSI C.
Объяснить формат записи функций управления форматированным вводом-выводом.
Составить программу решения задачи: Ввести с клавиатуры две произвольные строки, объединить их, вывести на экран полученную строку и ее длину. Использовать стандартные функции ввода-вывода символьной строки.
Для ввода и вывода строк в библиотеке stdio.h содержатся специализированные функции gets и puts.
Функция gets предназначена для ввода строк и имеет следующий заголовок:
Char * gets(char *buffer);
*buffer – указатель на строку
Функция puts предназначена для вывода строк и имеет следующий заголовок:
Int puts(const char *string);
*string– указатель на строку
#include <stdio.h>
#include <conio.h>
#include <string.h>
main()
{
char s1[25];
char s2[25];
int d;
puts("Stroka 1:");
gets(s1);
puts("Stroka 2:");
gets(s2);
d=strlen(strcat(s1,s2));
printf("Stroka:%s; Dlina:%d",s1,d);
getch();
}
Записать общий вид оператора условного перехода if.
Объяснить схему его выполнения.
Составить
программу решения задачи: Вычислить
значение функции
.
Значение x ввести с клавиатуры, результат
вывести на экран.
Имеются две формы записи условного оператора:
Сокращенная if (логическое условие) оператор1
полная if (логическое условие) оператор1 else оператор2
В первом случае вычисляется логическое условие, стоящее в скобках и, если оно истинно, то выполняется оператор1. Иначе (условие ложно) – выполнения действий передается на директиву (оператор), следующий за оператором условного перехода
Во втором случае, если логическое условие – истинно, то выполняется оператор 1, если оно ложно – выполняется оператор 2, который находится после else.
Логическое условие м.б. составным (исходя из условия задачи), т.е. объединено логическими операциями: && (логическое «И»); || (логическое «ИЛИ»); == (равно); != (не равно).
Следует помнить, что:
По веткам «истина» и «ложь» всегда следует по 1 директиве (оператору) языка. Если необходимо реализация программы, где используется более 1-ой директивы, то используют составной оператор (операторные скобки): {…..}.
Записать общий вид оператора выбора switch.
Объяснить схему его выполнения.
Составить программу решения задачи: Вычислить значение функции с использованием оператора switch:
.
Значение k
ввести с клавиатуры, результат вывести
на экран.
Оператор-переключатель switch (переключатель), вызывает передачу управления к одному из нескольких операторов, в зависимости от значения выражения переключатель. Оператор имеет форму:
switch (выражение) {
case выражение: оператор1; break;
case выражение: оператор2; break;
……………………………..
case выражение: оператор n; break;
………………
default: оператор;}
Выражение, следующее за ключевым словом switch в круглых скобках, может быть любым выражением, допустимыми в языке С, значение которого должно быть целым типом.
Схема выполнения оператора switch следующая:
Вычисляется выражение в круглых скобках;
Вычисленные значения последовательно сравниваются с константными выражениями, следующими за ключевыми словами case;
Если одно из константных выражений совпадает со значением выражения, то управление передается на оператор, помеченный соответствующим ключевым словом case;
Если ни одно из константных выражений не равно выражению, то управление передается на оператор, помеченный ключевым словом default, а в случае его отсутствия управление передается на следующий после switch оператор.
Особенность использования оператора switch: конструкция со словом default может быть не последней в теле оператора switch. Ключевые слова case и default в теле оператора switch существенны только при начальной проверке, когда определяется начальная точка выполнения тела оператора switch. Все операторы, между начальным оператором и концом тела, выполняются вне зависимости от ключевых слов, если только какой-то из операторов не передаст управления из тела оператора switch. Таким образом, программист должен сам позаботится о выходе из case, если это необходимо. Чаще всего для этого используется оператор break.
Записать общий вид оператора выбора for.
Объяснить схему его выполнения.
Составить программу решения задачи: Из чисел от 10 до 99 вывести те, сумма цифр которых равна n (0 < n < 18). Значение n ввести с клавиатуры, результат вывести на экран.