
- •Перечислите основные типы данных языка с. Объясните, что такое модификаторы и спецификаторы типов. Дайте классификацию операций в языке с. Опишите структуру программы на с.
- •Оператор "запятая" (,)
- •Объявление массивов в программе
- •Перечисляемый тип данных
- •Переименование типов typedef
- •Основная форма описания функции имеет вид:
- •Дайте определение строкового типа в c#, приведите примеры объявления и создания строк. Перечислите основные методы стандартного класса String. Приведите примеры.
- •Дайте определение понятия делегат и приведите синтаксис его объявления. Поясните цели и принципы использования делегатов в c#. Приведите пример использования делегатов.
Перечислите основные типы данных языка С. Дайте характеристику каждому типу (обозначение, назначение, занимаемый размер в байтах). Поясните, как объявляются и инициализируются константы и переменные в языке С. Раскройте понятия явного и неявного приведения типов.
(signed) char1 - байт - символы целые числа - от –128 до 127
(signed) short int - 2 байта - целые числа - от -32768 до 32767
(signed) int - зависит от реализации (в последних компиляторах обычно 4 байта) - целые числа
(signed) long int - 4 байта - целые числа - от -2147483648 до 2147483647
unsigned char - 1 байт - символы целые числа - от 0 до 255
unsigned short int -2 байта - целые числа -0 до 65535
unsigned int - зависит от реализации (в последних компиляторах обычно 4 байта) - целые числа
unsigned long int - 4 байта - целые числа - от 0 до 4294967295
float -4 байта - вещественные числа - от 1.175494351e–38 до 3.402823466e+38
double -8 байт - вещественные числа - от 2.2250738585072014e–308 до 1.7976931348623158e+308
long double - зависит от реализации - вещественные числа
Инициализировать переменную в языке С можно прямо в операторе объявления:
int i=32;
int count=3, pass=-34;
Объявление переменной выглядит так:
тип переменная1, переменная2,...;
явное и неявное приведения типов.
При явном приведении указывается тип переменной, к которому необходимо преобразовать исходную переменную.
При неявном приведении преобразование происходит автоматически, по правилам, заложенным в данном языке программирования.
Перечислите основные типы данных языка с. Объясните, что такое модификаторы и спецификаторы типов. Дайте классификацию операций в языке с. Опишите структуру программы на с.
Основные типы даннах: (signed) char, (signed) short int, (signed) int, (signed) long int, unsigned char, unsigned char, unsigned short int, unsigned int, unsigned long int, float, double, long double.
|| --- логическое ИЛИ
&& --- логическое И
? : --- условие
== != ----- равенство/неравенство
< > <= >= -- --- отношения
<< >> ---- сдвиг влево и вправо
& --- адрес
Sizeof ---- размер
++ -- -- положительное и отрицательное приращение
f(…) ---- вызов функции
a[k] ---- индексы
= += -= *= /= %= <<= >>= &= ^= |= ----- присваивание
Структура программы
Объявление глобальных переменных int main(список параметров) { последовательность операторов } тип_возвращаемого_значения f1(список п { последовательность операторов } тип_возвращаемого_значения f2(список п { последовательность операторов } ... тип_возвращаемого_значения fN(список п { последовательность операторов } |
Спецификатор типа - одно или несколько ключевых слов, определяющие тип объявляемой переменной. В языке СИ имеется стандартный набор типов данных, используя который можно сконструировать новые (уникальные) типы данных.
В качестве модификаторов при объявлении указателя могут выступать ключевые слова const, near, far, huge. Ключевое слово const указывает, что указатель не может быть изменен в программе. Размер переменной объявленной как указатель, зависит от архитектуры компьютера и от используемой модели памяти, для которой будет компилироваться программа. Указатели на различные типы данных не обязательно должны иметь одинаковую длину.
Перечислите операторы выбора языка программирования С. Охарактеризуйте и запишите синтаксис каждого из операторов. Укажите, для чего используются данные операторы. Перечислите операторы повтора. Поясните принцип работы каждого из операторов.
Оператор ( функция ) выбора switch — case — default
Это еще один вид оператора условия ( выбора ). Его лучше использовать если, допустим, нам надо вывести дни недели, т.е. когда у нас не одно, а множество условий выбора.
switch( определенное значение) { case значение1: //тело break; ... ... case значениеN: //тело break; default: // тело Таких операторов выбора case может быть очень много, так как это просто различные варианты значений. Но работать будет именно тот оператор case, который будет равен нашему "определенному значению"
Оператор выбора default будет выполняться, если ни один из операторов выбора case не содержит нужного числа. Т.е. если ничего не совпало с "определенным значением", то будет выполняться оператор по умолчанию - default. Да, и двоеточие в конце операторов case значение: и default: являются обязательными
Оператор break является своего рода остановкой выполнения условия, т.е. с помощью него мы сразу же завершаем выполнение нашего оператора выбора и дальше продолжаем выполнение программы.
Циклы for, while, do while.
Любой цикл предназначен для много кратного исполнения одного участка кода. Цикл for в своем простейшем исполнении позволяет задать определенное количество выполнений кода. Синтаксис:
for(инициализация переменных; условия; шаг цикла)
{для 2 и более действий нужны фигурные скобки;}
Циклы while и do-while, единственное отличие от for в том что в них проверяется условие выполнения, ни объявить, ни изменить переменную в конструкции while нельзя.Поэтому чтобы выйти из цикла нужно изменять переменные внутри самого цикла,
так чтобы условие стало ложным.
Синтаксис:
while(условие){для 2 и более действий нужны фигурные скобки;}
do{всегда нужны скобки;}while(условие)
Опишите работу оператора передачи управления. Приведите примеры использования операторов передачи управления. Опишите принцип работы оператора запятая, а также оператора тернарной альтернативы. Приведите примеры их применения. Опишите варианты использования функций ввода/вывода информации на экран в языке Си.
break - прерывает текущую итерацию цикла и осуществляет выход из цикла
for(i=0;i<m-1;i++) { for(j=i+1;j<m;j++) if(a[i]==a[j]) break; if(j==m) k++; }
continue - прерывает текущую итерацию цикла и начинает новую
while (i > 0 )
{ x = f(i); if (x == 1) continue; y = x*x; }
return - выход из функции (если функция типа void, иначе используется return
<значение>, где <значение> - возвращаемый функцией результат соответствующего типа)
if (k==0) return k+s;
goto <метка> - переход на метку (на помеченный оператор)
if ( errorcode > 0 )
goto exit;
***
exit: return(errorcode);